.solitaire-shortcut{top:530px}
.solitaire-desktop-icon{position:relative;width:48px;height:48px;filter:drop-shadow(1px 2px 1px #19354d70)}
.solitaire-desktop-icon img{display:block}
.sol-window{width:min(620px,calc(100% - 40px));height:min(600px,calc(100% - 30px));left:50%;top:50%;z-index:7;font-size:12px}
.sol-caption-icon{object-fit:contain;flex:none}

/* ---- Table ---- */
.sol-table{position:relative;flex:1;min-height:0;overflow:auto;background:#008000;border-top:1px solid #aca899}
.sol-sizer{position:relative;overflow:hidden;margin:0 auto}
.sol-board{position:absolute;left:0;top:0;transform-origin:0 0;user-select:none;-webkit-user-select:none;touch-action:none}
.sol-slot{position:absolute;width:71px;height:96px;border:1px solid #003c00;border-radius:4px;box-shadow:inset 1px 1px #00a000}
.sol-slot.is-s.can-recycle::after{content:"";position:absolute;left:16px;top:28px;width:28px;height:28px;border:5px solid #00c800;border-radius:50%}

/* ---- Cards ---- */
.sol-card{position:absolute;left:0;top:0;width:71px;height:96px;transition:transform .12s ease-out}
.sol-card.is-dragging{transition:none}
.sol-face,.sol-back{position:absolute;inset:0;border:1px solid #000;border-radius:4px;overflow:hidden}
.sol-face{display:none;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif}
.sol-card.is-up .sol-face{display:block}
.sol-card.is-up .sol-back{display:none}
.sol-face.is-red{color:#d40000}
.sol-index{position:absolute;left:2px;top:3px;min-width:14px;font:700 13px/12px Arial,sans-serif;text-align:center;letter-spacing:-1px}
.sol-index.is-bottom{left:auto;top:auto;right:2px;bottom:3px;transform:rotate(180deg)}
.sol-pip{position:absolute;transform:translate(-50%,-50%);font-size:17px;line-height:1}
.sol-pip.is-flipped{transform:translate(-50%,-50%) rotate(180deg)}
.sol-pip.is-ace{font-size:42px}
.sol-court{position:absolute;inset:15px 14px;border:1px solid currentColor;background:#f6e7b9 url(pigeon.jpg) center/cover}

/* ---- Hints: cards flash inverted, like a selected card in the original ---- */
.sol-card.is-hint .sol-face,.sol-card.is-hint .sol-back{animation:sol-hint .55s steps(1) 4}
.is-hint-target{animation:sol-hint-target .55s steps(1) 4;border-radius:4px}
.sol-slot.is-hint-target{outline:3px solid #ffde00;outline-offset:1px}
@keyframes sol-hint{0%{filter:invert(1)}50%{filter:none}}
@keyframes sol-hint-target{0%{outline:3px solid #ffde00;outline-offset:1px}50%{outline:3px solid transparent}}

/* ---- Card backs ---- */
.sol-back{background:#fff}
.sol-back::before{content:"";position:absolute;inset:3px;border-radius:2px}
.sol-board[data-back="pigeon"] .sol-back::before,.sol-back[data-preview="pigeon"]::before{background:url(pigeon.jpg) center/cover;box-shadow:inset 0 0 0 3px #1d4ea8,inset 0 0 0 4px #fff}
.sol-board[data-back="blue"] .sol-back::before,.sol-back[data-preview="blue"]::before{background:repeating-linear-gradient(45deg,transparent 0 3px,#ffffff55 3px 4px),repeating-linear-gradient(-45deg,transparent 0 3px,#ffffff55 3px 4px),#1d4ea8}
.sol-board[data-back="red"] .sol-back::before,.sol-back[data-preview="red"]::before{background:repeating-linear-gradient(60deg,transparent 0 5px,#ffd0d088 5px 6px),repeating-linear-gradient(-60deg,transparent 0 5px,#ffd0d088 5px 6px),#b81d1d}
.sol-board[data-back="green"] .sol-back::before,.sol-back[data-preview="green"]::before{background:repeating-linear-gradient(0deg,#16702a 0 4px,#2c9a44 4px 8px);box-shadow:inset 0 0 0 2px #0d4a1a}

/* ---- Win animation, status bar and dialogs ---- */
.sol-celebration{position:absolute;left:0;top:0;z-index:2000;cursor:pointer}
.sol-status{gap:0;padding-right:16px}
.sol-status>span:first-child{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sol-status>#sol-score,.sol-status>#sol-time{flex:none;min-width:80px;padding:0 6px;border-left:1px solid #c0bdaf;white-space:nowrap}
.sol-options-body{grid-template-columns:1fr 1fr}
.sol-options-body fieldset{display:grid;gap:5px;margin:0;padding:6px 10px 8px;border:1px solid #d0d0bf;border-radius:3px}
.sol-options-body legend{padding:0 3px;color:#0046d5}
.sol-timed{grid-column:1/-1}
.sol-backs{display:flex;flex-wrap:wrap;gap:10px}
.sol-back-choice{position:relative;width:75px;height:100px;padding:0;border:2px solid transparent;border-radius:6px;background:none}
.sol-back-choice .sol-back{inset:0}
.sol-back-choice[aria-pressed="true"]{border-color:#316ac5;box-shadow:0 0 0 1px #316ac5}
.sol-again-text{margin:0;font-size:13px}
.sol-help-body{max-width:380px}
.sol-help-body p{margin:0;line-height:1.45}

@media(max-width:600px){
  .solitaire-shortcut{top:104px;left:4px}
  .sol-window{left:50%;top:55%;width:calc(100% - 16px);height:calc(100% - 126px);min-height:300px}
}
@media(max-height:510px){
  .solitaire-shortcut{left:106px;top:10px}
  .sol-window{top:50%;height:calc(100% - 16px)}
}
