/* ---------- solitaire ---------- */
.sol-wrap{display:flex;justify-content:center;width:100%;flex:1}
.sol{--cw:80px;--ch:112px;position:relative;user-select:none;-webkit-user-select:none;touch-action:none}
.sol .slot{position:absolute;width:var(--cw);height:var(--ch);border:1.5px dashed rgba(180,150,115,.35);border-radius:calc(var(--cw) * .09);display:grid;place-items:center;color:rgba(180,150,115,.45);font-size:calc(var(--cw) * .42)}
.sol .slot[data-from="s"]{cursor:pointer}
.sol .slot .sre{font-size:calc(var(--cw) * .5)}
.sol .slot .scount{position:absolute;bottom:4px;right:6px;font-size:calc(var(--cw) * .17);color:var(--tan);z-index:3;font-family:var(--display)}
.sol .slot.fslot span{opacity:.8}
.sc{position:absolute;width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .09);box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.45)}
.sc.up{background:linear-gradient(160deg,#3b2f25 0%,#2c231b 55%,#261e17 100%);border:1px solid rgba(180,150,115,.55);box-shadow:inset 0 0 0 calc(var(--cw) * .035) rgba(22,18,15,.55),inset 0 0 0 calc(var(--cw) * .05) rgba(239,168,82,.18),0 2px 5px rgba(0,0,0,.55);cursor:pointer;font-family:var(--display)}
.sc.up.red{color:#ff8a66}.sc.up.blk{color:#f2e6d6}
.sc .ci{position:absolute;left:7%;top:4%;display:flex;flex-direction:column;align-items:center;line-height:.95;font-weight:700;font-size:calc(var(--cw) * .25);letter-spacing:-.02em;text-shadow:0 1px 0 rgba(0,0,0,.4)}
.sc .ci i{font-style:normal;font-size:.82em}
.sc .cs{position:absolute;right:8%;bottom:5%;font-size:calc(var(--cw) * .5);line-height:1;opacity:.85;text-shadow:0 1px 0 rgba(0,0,0,.45)}
.sc.back{background:radial-gradient(circle at 50% 50%,rgba(239,168,82,.22),transparent 60%),repeating-linear-gradient(45deg,#17120e 0 4px,#241b14 4px 8px);border:2px solid #b4874f;box-shadow:inset 0 0 0 2px #120e0b,inset 0 0 0 3px rgba(239,168,82,.35),0 1px 3px rgba(0,0,0,.5)}
.slot .sc.back{position:static}
.sc.under{filter:brightness(.8)}
.sc.lit{box-shadow:0 0 0 2.5px var(--pc),0 0 10px var(--pc);animation:sollit 2.2s ease-out forwards}
@keyframes sollit{0%,60%{box-shadow:0 0 0 2.5px var(--pc),0 0 10px var(--pc)}100%{box-shadow:0 0 0 0 transparent,0 1px 3px rgba(0,0,0,.45)}}
.sc.drag{z-index:1000 !important;box-shadow:0 10px 24px rgba(0,0,0,.6);cursor:grabbing}
.sc.shake{animation:solshake .3s}
@keyframes solshake{25%{translate:-4px 0}75%{translate:4px 0}}
.sol.done .sc.up{cursor:default}
.sol-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sol-count{font-family:var(--display);letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.sol-count b{color:var(--amber);font-size:1.2em}
.sol-foot .btn{flex:none;padding:10px 18px}
.sol.dealing{pointer-events:none}
.sol.predeal .sc[data-pos]{visibility:hidden}
