.sound-toggle{background:var(--btn,#00000040);width:36px;min-width:36px;height:36px;color:var(--ink,#fff);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.sound-toggle svg{width:20px;height:20px}.sound-toggle[aria-pressed=true]{opacity:.7}.sound-toggle:focus-visible{outline:3px solid var(--focus,#ffd54a);outline-offset:2px}:root{--lamp:radial-gradient(ellipse 70% 50% at 50% 42%, #fffae121, transparent 70%);--vignette:radial-gradient(ellipse 120% 90% at 50% 45%, transparent 55%, #00000080)}.card{width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .08);border:1px solid var(--card-edge,#c9cfc6);background:var(--card,#fdfdfb);font:inherit;padding:0;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000059,0 5px 12px #00000038}button.card{cursor:pointer}.card:not(.back){background-image:repeating-linear-gradient(0deg,#00000005 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#00000004 0 1px,#0000 1px 3px)}.card:after{content:"";border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(155deg,#fff3,#fff0 28%),linear-gradient(#0000 88%,#0000000f);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff80}.card.back:after{box-shadow:none;background:linear-gradient(155deg,#ffffff47,#fff0 38%)}.card{container-type:inline-size}.card .face{pointer-events:none;background:50%/100% 100% no-repeat;display:none;position:absolute;inset:0}@container (width>=72px){.card .face{display:block}.card .corner,.card .pip{display:none}}@container (width>=44px) and (width<=71.99px){.card .face.court{background-position:50% 58%;background-size:150% 142%;border-radius:4px;display:block;inset:30% 7% 5%;box-shadow:inset 0 0 0 1px #0000001f}.card .face.court~.pip{display:none}.card .pip:has(~.face.court){display:none}}.card.red{color:var(--red,#c0262d)}.card.black{color:var(--black,#16181a)}.card .corner{letter-spacing:-.02em;font-weight:700;line-height:1;font-size:calc(var(--cw) * .24);position:absolute;top:3%;left:6%}.card .pip{font-size:calc(var(--cw) * .5);line-height:1;position:absolute;bottom:4%;right:8%}.card.back{background:var(--card-back-image,repeating-linear-gradient(45deg, var(--back-a,#2d4f9e) 0 6px, var(--back-b,#22407f) 6px 12px)) center / 100% 100% no-repeat;border:2px solid var(--card,#fdfdfb)}.card:focus-visible{outline:3px solid var(--focus,#ffd54a);outline-offset:1px}:root{--felt:#2a3a5c;--felt-edge:#141c2e;--accent:#ffd36b;--accent-ink:#2a1d00;--focus:#ffd36b;--ink:#f6f3ea;--ink-soft:#d8d3c4;--rail:#6b4a1f;--rail-hi:#c89a4a;--btn:#0000004d;--btn-on:var(--accent);--btn-on-ink:var(--accent-ink);--dialog:#fbf8f1;--dialog-ink:#1d1a14;--dialog-soft:#5e5748;--dialog-line:#0000001f;--cw:70px;--ch:98px;--rail-w:clamp(5px, 1.4vw, 12px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dialog:#221d15;--dialog-ink:#f3eee2;--dialog-soft:#b7ae9b;--dialog-line:#ffffff24}}:root[data-theme=dark]{--dialog:#221d15;--dialog-ink:#f3eee2;--dialog-soft:#b7ae9b;--dialog-line:#ffffff24}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--lamp), var(--vignette), var(--felt-texture,none), radial-gradient(ellipse at 50% 38%, var(--felt), var(--felt-edge));color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app.gr{height:100dvh;padding:calc(var(--rail-w) + 6px) calc(var(--rail-w) + 8px) calc(var(--rail-w) + 6px);box-shadow:inset 0 0 0 var(--rail-w) var(--rail), inset 0 0 0 calc(var(--rail-w) + 1px) var(--rail-hi), inset 0 0 0 calc(var(--rail-w) + 3px) #00000073;grid-template:"bar""opp""table"minmax(0,1fr)"hand"/minmax(0,1fr);justify-items:center;gap:6px;display:grid;position:relative;overflow:hidden}.gr-bar{grid-area:bar;align-items:center;gap:8px;width:100%;min-width:0;padding-top:2px;display:flex}.gr-brand{align-items:center;gap:6px;min-width:0;display:flex}.gr-brand h1{letter-spacing:.5px;white-space:nowrap;text-shadow:0 1px 2px #00000080;margin:0;font:700 17px/1 Georgia,Times New Roman,serif}.gr-info{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.gr-score{color:var(--ink);background:#00000040;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:15px;display:inline-flex}.gr-score i{opacity:.6;font-style:normal}.btn{font:inherit;color:var(--ink);background:var(--btn);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;min-height:36px;padding:7px 13px;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #0000004d}.btn:disabled{opacity:.45;cursor:default}.btn[aria-pressed=true]{background:var(--btn-on);color:var(--btn-on-ink);font-weight:700}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.btn.primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.btn.primary.gin{color:#1d1a14;box-shadow:0 0 0 2px var(--accent), 0 2px 10px #ffd36b99;background:#fff}.sound-toggle{flex:none;width:36px;height:36px}.gr-opp{grid-area:opp;justify-content:center;width:100%;display:flex}.gr-pod{background:#0000002e;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:100%;padding:6px 12px;transition:box-shadow .25s,background .25s;display:flex}.gr-pod.turn{box-shadow:0 0 0 2px var(--accent), 0 0 18px #ffd36b59;background:#00000047}.gr-pod-head{align-items:center;gap:8px;font-size:13px;display:flex}.gr-tag{text-transform:uppercase;letter-spacing:.6px;color:var(--accent);border:1px solid;border-radius:999px;padding:1px 6px;font-size:10px}.gr-mini{--cw:28px;--ch:39px;display:flex}.gr-mini .card{flex:none}.gr-mini .card+.card{margin-left:calc(var(--cw) * -.72)}.gr-table{grid-area:table;grid-template-rows:auto auto;grid-template-columns:auto auto;place-content:center;align-items:center;gap:14px 18px;width:100%;min-height:0;padding:4px 0;display:grid}.gr-mid{grid-column:1/-1}.gr-stock,.gr-pile{width:var(--cw);height:var(--ch);cursor:pointer;border-radius:calc(var(--cw) * .08);background:0 0;border:0;padding:0;position:relative}.gr-stock:disabled,.gr-pile:disabled{cursor:default}.gr-stock .card,.gr-pile .card{position:absolute;top:0;left:0}.gr-stock .card:nth-child(2){translate:2px -2px}.gr-stock .card:nth-child(3){translate:4px -4px}.gr-stock.ready,.gr-pile.ready{box-shadow:0 0 0 3px var(--accent), 0 0 18px #ffd36b80}.gr-stock.ready .card:last-of-type{animation:1.6s ease-in-out infinite gr-breathe}.gr-count{color:var(--ink);pointer-events:none;background:#0009;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;bottom:-6px;right:-4px}.gr-pile .card.under{opacity:.85}.gr-pile.empty{border:2px dashed #ffffff59}.gr-stock:focus-visible,.gr-pile:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.gr-mid{text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.gr-status{text-shadow:0 1px 2px #0009;min-height:1.3em;margin:0;font-weight:600}.gr-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.gr-handwrap{flex-direction:column;grid-area:hand;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.gr-meter{min-height:18px;font-size:12px}.gr-dw{color:var(--ink-soft);background:#00000059;border-radius:999px;padding:2px 10px}.gr-dw.low{color:var(--accent)}.gr-dw.gin{color:#1d1a14;background:#fff;font-weight:700}.gr-hand{width:100%;height:calc(var(--ch) + 14px);z-index:0;justify-content:center;align-items:flex-end;padding-top:14px;display:flex;position:relative}.gr-hand .card{flex:none;transition:translate .15s,box-shadow .15s}.gr-hand .card.meld{box-shadow:0 1px 3px #0006, 0 0 0 2px color-mix(in srgb, var(--accent) 75%, #fff)}.gr-hand .card.group-start{border-top-left-radius:calc(var(--cw) * .08)}.gr-hand .card.dead{filter:saturate(.8)brightness(.9)}.gr-hand .card.drawn:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 6px var(--accent);border-radius:50%;position:absolute;top:-9px;left:50%;translate:-50%}.gr-hand .card.selected{box-shadow:0 0 0 3px var(--accent), 0 8px 16px #00000080;translate:0 -12px;z-index:40!important}.gr-hand .card.knockable.selected{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--accent), 0 8px 16px #00000080}.gr-hand .card.locked{filter:grayscale(.6)brightness(.92);outline-offset:-4px;outline:2px dashed #0006}.gr-hand .card:focus-visible{outline:3px solid var(--focus);outline-offset:1px;z-index:41!important}.gr-hidden{text-shadow:0 1px 3px #000c;pointer-events:none;z-index:50;place-items:center;font-weight:700;display:grid;position:absolute;inset:14px 0 0}.overlay{z-index:30;background:#0806028c;place-items:center;padding:12px;display:grid;position:absolute;inset:0;overflow:auto}.overlay[hidden]{display:none}.overlay.gate{background:radial-gradient(ellipse at 50% 40%, var(--felt), var(--felt-edge) 75%)}.overlay.menu{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080602b3}.overlay.later{animation:.9s step-end both gr-later}@keyframes gr-later{0%{opacity:0}to{opacity:1}}.dialog{background:var(--dialog);color:var(--dialog-ink);text-align:center;border-radius:16px;flex-direction:column;gap:12px;width:min(100%,440px);max-height:100%;padding:18px 20px;display:flex;overflow:auto;box-shadow:0 12px 40px #00000080}.dialog h2{margin:0;font:700 20px/1.2 Georgia,Times New Roman,serif}.dialog p{color:var(--dialog-soft);margin:0}.overlay .dialog .btn:not(.primary):not([aria-pressed=true]){color:var(--dialog-ink);background:color-mix(in srgb, var(--dialog-ink) 9%, transparent);box-shadow:none}.gr-menu-actions{background:var(--dialog);flex-wrap:wrap;justify-content:center;gap:10px;margin-top:-6px;padding-top:6px;display:flex;position:sticky;bottom:0}.gr-logo svg{width:min(100%,220px);height:auto}.gr-tagline{font-size:13px}.gr-seg{flex-direction:column;align-items:center;gap:4px;display:flex}.gr-seg-label{text-transform:uppercase;letter-spacing:.8px;color:var(--dialog-soft);font-size:12px}.gr-seg-row{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.btn.seg{min-width:56px}.gr-gate-cards{--cw:44px;--ch:62px;justify-content:center;display:flex}.gr-gate-cards .card+.card{margin-left:-24px;rotate:6deg}.gr-sub{font-weight:600}.gr-final{text-align:left;flex-direction:column;gap:4px;display:flex}.gr-final-row{border-radius:8px;justify-content:space-between;gap:10px;padding:4px 8px;display:flex}.gr-final-row.win{background:color-mix(in srgb, var(--accent) 22%, transparent)}.gr-note{font-size:12px}.gr-sum{text-align:left;flex-direction:column;gap:8px;display:flex}.gr-sum-row{border-top:1px solid var(--dialog-line);flex-direction:column;gap:4px;padding-top:8px;display:flex}.gr-sum-head{justify-content:space-between;align-items:center;font-size:13px;display:flex}.gr-pts{color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:1px 8px;font-weight:700}.gr-sum-cards{--cw:40px;--ch:56px;flex-wrap:wrap;gap:6px;display:flex}.gr-sum-group{background:color-mix(in srgb, var(--dialog-ink) 8%, transparent);border-radius:6px;padding:2px;display:inline-flex}.gr-sum-group.dead{outline:1px dashed var(--dialog-line);background:0 0}.gr-sum-group .card+.card{margin-left:-14px}.gr-sum-group .card.laid{box-shadow:0 0 0 2px var(--accent)}@keyframes gr-breathe{0%,to{translate:4px -4px}50%{translate:4px -8px}}@media (max-width:420px){.gr-brand h1{font-size:15px}.gr-info>span:first-child{display:none}.btn{padding:6px 10px}}@media (orientation:landscape) and (max-height:560px){#app.gr{padding:calc(var(--rail-w) + 3px) calc(var(--rail-w) + 6px);grid-template:"bar bar""opp table"minmax(0,1fr)"hand hand"/auto minmax(0,1fr);gap:4px 10px}.gr-opp{align-self:center;width:auto}.gr-pod{padding:4px 8px}.gr-mini{--cw:22px;--ch:31px}.gr-table{grid-template-rows:auto;grid-template-columns:auto auto minmax(0,max-content);gap:10px 12px;padding:0}.gr-mid{grid-column:auto}.gr-hand{height:calc(var(--ch) + 10px);padding-top:10px}.gr-meter{min-height:14px;font-size:11px}.btn{min-height:34px;padding:4px 10px}.sound-toggle{width:34px;height:34px}.dialog{gap:8px;padding:10px 14px}.gr-sum-cards{--cw:32px;--ch:45px}.gr-sum-row{gap:2px;padding-top:5px}.gr-final-row{padding:2px 8px}.gr-note{display:none}.gr-logo svg{width:150px}.gr-tagline{display:none}}@media (max-height:300px) and (min-aspect-ratio:1){#app.gr{gap:2px 8px;padding:4px 8px}.gr-brand h1{font-size:13px}.gr-info,.gr-opp{display:none}.gr-status{font-size:11px}.gr-hand .card.selected{translate:0 -6px}.gr-meter{display:none}}@media (prefers-reduced-motion:reduce){.gr-stock.ready .card:last-of-type,.overlay.later{animation:none}.gr-hand .card{transition:none}}
