.game{--u:1px;position:relative;padding:12px;border-radius:var(--radius);background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.08),transparent 55%),linear-gradient(180deg,var(--felt) 0%,var(--felt-deep) 100%);border:1px solid #0C3B2D;box-shadow:0 2px 4px rgba(16,62,50,.2),0 16px 36px rgba(16,62,50,.22);color:var(--white);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.game :focus-visible{outline-color:var(--gold)}.game [hidden]{display:none!important}.game-bar{display:grid;gap:8px}.bar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.seg{display:inline-flex;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-sm);overflow:hidden;background:rgba(0,0,0,.14)}.seg button{min-height:44px;padding:0 14px;background:none;border:0;border-left:1px solid rgba(255,255,255,.2);color:var(--white);font-size:14px;font-weight:500;white-space:nowrap}.seg button:first-child{border-left:0}.seg button[aria-pressed="true"]{background:linear-gradient(180deg,#EBD49C,var(--gold-deep));color:#1B2A22;font-weight:700;box-shadow:inset 0 -3px 0 rgba(27,42,34,.55)}.seg-suits{flex:1 1 auto}.seg-suits button{flex:1}.meters{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;margin:0;font-size:14px}.meters div{display:flex;gap:6px;align-items:center}.meters dt{color:#CFE2DA}.meters dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.tool{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.34);border-radius:var(--radius-sm);background:rgba(0,0,0,.12);color:var(--white);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}.tool:hover{background:rgba(255,255,255,.12);color:var(--white)}.tool:disabled,.tool.is-disabled{opacity:.45;cursor:not-allowed}.tool[aria-pressed="true"]{background:rgba(255,255,255,.2);border-color:var(--gold)}.tool-gold{background:linear-gradient(180deg,#EBD49C,var(--gold-deep));color:#1B2A22;border-color:var(--gold-deep);font-weight:700}.tool-gold:hover{color:#1B2A22;background:linear-gradient(180deg,#F0DBA8,#D1AE63)}.actions{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.actions .tool{grid-column:span 2;padding:0 6px}.actions .tool:nth-child(n+4){grid-column:span 3}.game.is-fullscreen [data-act="copy"]{display:none}.resume{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:8px;padding:8px 12px;border-radius:var(--radius-sm);background:rgba(0,0,0,.22);border:1px solid var(--gold);font-size:14px}.resume strong{flex:1 1 160px}.board-wrap{margin-top:12px}.tableau{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;align-items:start;min-height:calc(var(--u) * 330)}.col{position:relative;--k:1;min-height:calc(var(--u) * 140);border-radius:calc(var(--u) * 7)}.col .card{cursor:pointer}.col .card.down,.col .card.is-locked{cursor:default}.col .card.after-down{margin-top:calc(var(--u) * -140 + var(--u) * 20 * var(--k))}.col .card.after-up{margin-top:calc(var(--u) * -140 + var(--u) * 42 * var(--k))}.col .card:not(:last-child) .corner-pip{display:block}.col .card.is-locked{filter:brightness(.9)}.col.is-drop{outline:3px dashed var(--gold);outline-offset:2px}.slot{display:block;width:100%;height:calc(var(--u) * 140);padding:0;border:2px dashed rgba(255,255,255,.4);border-radius:calc(var(--u) * 7);background:rgba(0,0,0,.1)}.col .card.is-selected{transform:translateY(calc(var(--u) * -9));border-color:var(--gold-ink);box-shadow:0 0 0 3px var(--gold),0 8px 16px rgba(0,0,0,.4);z-index:2}.col .card.is-selected::after{content:"";position:absolute;right:0;top:0;border-style:solid;border-width:0 calc(var(--u) * 22) calc(var(--u) * 22) 0;border-color:transparent var(--gold-ink) transparent transparent}.col .card.is-dragging{opacity:.25}.is-hint-from{animation:hint-pulse 1s ease-in-out 3;box-shadow:0 0 0 3px #FFFFFF,0 0 0 6px var(--gold)!important;z-index:2}.is-hint-to{outline:3px dashed var(--white);outline-offset:2px}@keyframes hint-pulse{50%{transform:translateY(calc(var(--u) * -6))}}.game.is-calm .is-hint-from{animation:none}.game.is-calm .col .card.is-selected{transform:none}.drag-ghost{position:fixed;left:0;top:0;z-index:100;pointer-events:none;--k:1}.drag-ghost .card{box-shadow:0 10px 24px rgba(0,0,0,.45)}.game.is-compact .card .pips,.game.is-compact .card .court{display:none}.game.is-compact .card .mini{display:grid}.game.is-compact .card .ace{padding-top:calc(var(--u) * 40);font-size:calc(var(--u) * 44)}.game.is-compact .card.r10 .idx{font-size:calc(var(--u) * 35)}.game.is-compact .card .idx{font-size:calc(var(--u) * 40);left:calc(var(--u) * 5);top:calc(var(--u) * 4)}.game.is-compact .card .idx .pip{font-size:calc(var(--u) * 24)}.game.is-compact .card .corner-pip{display:none}.game.is-compact .card.up.s-spades:not(.x),.game.is-compact .card{border-radius:calc(var(--u) * 9)}.game.is-zoomed .board-wrap{overflow:auto;overscroll-behavior:contain;max-height:78vh;border-radius:var(--radius-sm)}.game.is-zoomed .tableau{width:210%;gap:6px;padding:4px}.board-foot{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:14px}.runs-label{font-size:13px;color:#CFE2DA;margin-bottom:6px}.runs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;max-width:640px;--u:.4px}.run-slot{display:grid;place-items:center;aspect-ratio:5 / 7;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:rgba(255,255,255,.35);font-size:18px;overflow:hidden}.run-slot.is-done{border-color:var(--gold)}.run-slot .card{width:100%;height:100%;border-radius:5px;box-shadow:none}.run-slot .card .court,.run-slot .card .corner-pip{display:none}.run-slot .card .idx{font-size:15px;left:3px;top:3px}.run-slot .card .idx .pip{font-size:11px}.stock{display:grid;gap:8px;justify-items:center;padding:0;border:0;background:none;color:var(--white);--u:.56px}.stock .packs{display:flex;min-height:calc(var(--u) * 140);padding-left:calc(var(--u) * 70)}.stock .pack{width:calc(var(--u) * 100);margin-left:calc(var(--u) * -70);flex:none}.stock .label{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:130px;padding:0 18px;border:2px solid var(--gold);border-radius:10px;font-weight:700;font-size:15px}.stock:hover:not(:disabled) .label{background:rgba(255,255,255,.12)}.stock:disabled{opacity:.5;cursor:not-allowed}.stock.is-hint-to{outline-offset:6px;border-radius:10px}.status{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:12px;padding:8px 12px;border-radius:var(--radius-sm);background:rgba(0,0,0,.2);font-size:15px;-webkit-user-select:text;user-select:text}.status::before{content:"";flex:none;width:20px;height:20px;background:var(--gold);-webkit-mask-image:url("../img/icon-info.svg");mask-image:url("../img/icon-info.svg");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.status.is-error{border-left:4px solid var(--gold);font-weight:600}.fs-note{margin-top:8px;font-size:14px}.fs-note a,.game-missing a{color:var(--gold)}.opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.opts .tool{font-size:13px}.game-noscript{padding:24px;text-align:center}.game-missing{display:grid;gap:12px;justify-items:center;padding:40px 16px;text-align:center}.game-missing h2{color:var(--white);font-size:22px}.game.is-missing .game-bar,.game.is-missing .board-wrap,.game.is-missing .board-foot,.game.is-missing .status,.game.is-missing .opts,.game.is-missing .resume{display:none}.game dialog{width:min(92vw,420px);padding:24px;border:0;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.4);-webkit-user-select:text;user-select:text}.game dialog::backdrop{background:rgba(8,28,22,.62)}.game dialog h2{font-size:22px}.game dialog p{margin-top:8px;color:var(--muted)}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:20px}.dialog-actions .btn{min-height:44px;padding-inline:18px}.game.theme-classic{background:#0B7A3E;border-color:#07532A;border-radius:6px}.game.theme-classic .card{border-radius:calc(var(--u) * 4);background:#FFFFFF;border-color:#8C8C8C;font-family:"Times New Roman",Times,serif}.game.theme-classic .card.red{color:#C8102E}.game.theme-classic .card.down{border-color:#10264F;background:repeating-linear-gradient(45deg,rgba(255,255,255,.22) 0 1px,transparent 1px calc(var(--u) * 6)),repeating-linear-gradient(-45deg,rgba(255,255,255,.22) 0 1px,transparent 1px calc(var(--u) * 6)),#2B4C8C;box-shadow:inset 0 0 0 calc(var(--u) * 3.5) #FFFFFF,inset 0 0 0 calc(var(--u) * 5) #10264F,0 1px 2px rgba(0,0,0,.35)}.game.theme-classic .card .court{background:#FFFFFF;border-color:currentColor}.game.theme-classic .tool,.game.theme-classic .seg{border-radius:3px}.game.theme-classic .stock .label{border-radius:3px}.game.theme-classic .slot,.game.theme-classic .run-slot{border-radius:3px}.game:fullscreen,.game.is-fullscreen{width:100vw;height:100vh;overflow:auto;border-radius:0;padding:16px}.game:-webkit-full-screen{width:100vw;height:100vh;overflow:auto;border-radius:0;padding:16px}.page-focus main{padding:8px 0 16px}.page-focus .wrap-game{max-width:1680px}.page-focus .game{min-height:calc(100vh - 150px)}.focus-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:4px 0 10px}.focus-head h1{font-size:22px}.focus-head p{color:var(--muted);font-size:14px}@media (min-width:640px){.game{padding:18px}.tableau{gap:8px}.actions{display:flex;flex-wrap:wrap}.actions .tool,.actions .tool:nth-child(n+4){padding:0 14px}.seg-suits{flex:0 0 auto}.stock{--u:.8px}.runs{--u:.6px;gap:8px}.run-slot{font-size:24px;border-radius:8px}}@media (min-width:960px){.game{padding:16px 18px 20px}.tableau{gap:1.3%;min-height:calc(var(--u) * 300)}.runs{gap:12px}.stock{--u:.95px}[data-act="zoom"]{display:none}}@media (min-width:1200px){.game-bar{grid-template-columns:auto 1fr;align-items:center}.game-bar .actions{justify-content:flex-end;flex-wrap:nowrap}.actions .tool,.actions .tool:nth-child(n+4){padding:0 11px}.seg button{padding:0 11px}.meters{gap:4px 12px}}@media (orientation:landscape) and (max-height:520px){.page-focus .site-head .wrap{min-height:48px}.page-focus .focus-head{display:none}.game-bar{grid-template-columns:auto 1fr}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.actions .tool span{display:none}.actions .tool{min-width:44px;padding:0 12px}}@media (prefers-reduced-motion:reduce){.is-hint-from{animation:none}.col .card.is-selected{transform:none}}