*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:IBM Plex Sans KR,Apple SD Gothic Neo,system-ui,sans-serif;font-size:15px;line-height:1.6;transition:background-color .16s}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 15% 0%, var(--bg-glow-a), transparent 70%), radial-gradient(70% 55% at 100% 100%, var(--bg-glow-b), transparent 70%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:fixed;inset:0}h1,h2,h3,h4{font-family:var(--display-font,"Noto Serif KR", "Apple SD Gothic Neo", serif);color:var(--text);text-wrap:balance;margin:0}p{margin:0}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}input,select{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.btn{will-change:transform;transition:transform 90ms,filter .12s,box-shadow 90ms,background-color .12s;position:relative}.btn:not(:disabled):active{filter:brightness(.95);transform:scale(.97)translateY(1px)}.btn-accent{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-fill) 82%, #fff) 0%, var(--accent-fill) 55%, color-mix(in srgb, var(--accent-fill) 88%, #000) 100%);box-shadow:inset 0 1px 0 #ffffff38, 0 3px 0 color-mix(in srgb, var(--accent-fill) 70%, #000), 0 6px 14px #5e3a1e38}.btn-accent:not(:disabled):active{box-shadow:inset 0 1px 0 #ffffff29, 0 0 0 color-mix(in srgb, var(--accent-fill) 70%, #000), 0 2px 6px #5e3a1e2e;filter:none;transform:translateY(3px)}.btn-ink{box-shadow:0 2px #00000059}.btn-ink:not(:disabled):active{transform:translateY(2px);box-shadow:0 0 #00000059}.btn-surface,.btn-paper{box-shadow:var(--shadow-card)}.pressable{transition:transform 90ms,filter .12s}.pressable:active{filter:brightness(.97);transform:scale(.985)}:root[data-motion=off] .btn,:root[data-motion=off] .pressable{transition:none}:root[data-motion=off] .btn:not(:disabled):active,:root[data-motion=off] .pressable:active{transform:none}
:root{--display-font:"Gothic A1", "IBM Plex Sans KR", system-ui, sans-serif;--paper:#f3f1ec;--surface:#fffdf9;--surface-alt:#e7edf6;--border:#d8d6cc;--border-weak:#e9e6dd;--border-strong:#9fb4d4;--divider:#e1ded5;--chrome:#ebe8e0;--accent:#1f4a86;--accent-fill:#1f4a86;--accent-dark:#15345f;--accent-on-dark:#e0b44c;--text:#172122;--text-body:#3c4748;--text-muted:#626c6d;--text-disabled:#8a9293;--ink:#132426;--ink-border:#28393b;--on-ink:#f4f1ea;--on-ink-muted:#a8b4b5;--on-ink-accent:#e0b44c;--danger:#b2372c;--danger-bg:#fbebe9;--danger-border:#e9c2bd;--xp:#d9a53c;--xp-dark:#9d761b;--flame:#e2622b;--bg-glow-a:#f0c56a2e;--bg-glow-b:#17666b1a;--track-off:#d8d6cc;--knob-off:#fffdf9;--shadow-card:0 2px 0 #1721220f;--shadow-float:0 18px 40px #1721221f;--locked-opacity:.6;--felt:#27466f;--felt-deep:#172c49;--felt-text:#eaf5f3;--felt-muted:#eaf5f3b8;--card-bg:#fffcf4;--card-edge:#cfc6b2;--card-court:#f4ecd9;--pip-spade:#17181c;--pip-heart:#c7282c;--pip-diamond4:#1c62c4;--pip-club4:#1c8544;--wild:#d99a1e;--back:#1f4a86;--back-line:#f0c56a8c;--select:#e0b44c;--book-clean:#c7282c;--book-dirty:#17181c;--peg-0:#d33a32;--peg-1:#2f74d6;--peg-2:#e0b12e;--wood:#8a5a2e;--wood-deep:#5e3a1a;--wood-hole:#2e1b0b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#15191a;--surface:#1e2425;--surface-alt:#1f2836;--border:#2f3739;--border-weak:#293032;--border-strong:#435a7c;--divider:#293032;--chrome:#1a1f20;--accent:#9ec0f0;--accent-fill:#2c5da3;--accent-dark:#c9dbf5;--text:#f1eee8;--text-body:#c6cdcd;--text-muted:#8f9a9b;--text-disabled:#6c7677;--ink:#1a1f20;--ink-border:#2f3739;--danger:#e0796d;--danger-bg:#2e1f1d;--danger-border:#5c332d;--bg-glow-a:#f0c56a1f;--bg-glow-b:#0006;--track-off:#2f3739;--knob-off:#8f9a9b;--shadow-float:0 18px 40px #00000059;--felt:#223d61;--felt-deep:#122238;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#15191a;--surface:#1e2425;--surface-alt:#1f2836;--border:#2f3739;--border-weak:#293032;--border-strong:#435a7c;--divider:#293032;--chrome:#1a1f20;--accent:#9ec0f0;--accent-fill:#2c5da3;--accent-dark:#c9dbf5;--text:#f1eee8;--text-body:#c6cdcd;--text-muted:#8f9a9b;--text-disabled:#6c7677;--ink:#1a1f20;--ink-border:#2f3739;--danger:#e0796d;--danger-bg:#2e1f1d;--danger-border:#5c332d;--bg-glow-a:#f0c56a1f;--bg-glow-b:#0006;--track-off:#2f3739;--knob-off:#8f9a9b;--shadow-float:0 18px 40px #00000059;--felt:#223d61;--felt-deep:#122238;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-table=baize]{--felt:#2f6a45;--felt-deep:#1d4a2e}:root[data-table=wine]{--felt:#6e2433;--felt-deep:#4b1622}:root[data-table=oak]{--felt:#9a7446;--felt-deep:#72532f}:root[data-table=night]{--felt:#1e2229;--felt-deep:#121519}.card{filter:drop-shadow(0 1px 1.5px #00000059);border-radius:8px;padding:0;transition:top .14s,transform .14s;display:block}.card-face-bg{fill:var(--card-bg);stroke:var(--card-edge);stroke-width:1.2px}.card-court{fill:var(--card-court)}.card-rank{font-family:IBM Plex Sans KR,system-ui,sans-serif}.card-wild{fill:var(--wild)}.card-joker{fill:#7a2a8a;font-family:IBM Plex Sans KR,system-ui,sans-serif}.card-joker-star{fill:#7a2a8a;opacity:.85}.card-back-bg{fill:var(--back);stroke:#0d1c33;stroke-width:1.2px}.card-back-inner{fill:none;stroke:var(--back-line);stroke-width:2px}.card-back-line,.card-back-edge{stroke:var(--back-line)}.hand-card{cursor:pointer}.hand-card:disabled{cursor:default}.card-selected{filter:drop-shadow(0 0 0 var(--select)) drop-shadow(0 3px 6px #0006)}.card-selected svg .card-face-bg{stroke:var(--select);stroke-width:5px}.card-hint svg .card-face-bg{stroke:#37a0ff;stroke-width:5px}:root[data-motion=off] .card{transition:none}.play-shell{max-width:760px;padding-top:max(env(safe-area-inset-top), 12px);background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-deep) 100%);min-height:100dvh;color:var(--felt-text)}@media (max-width:899px){.play-shell{max-width:none;padding-left:10px;padding-right:10px}}.play-top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.play-back{color:var(--felt-text);padding:0 6px;font-size:30px;line-height:1}.play-round{min-width:0;color:var(--felt-text);white-space:nowrap;flex:1;font-size:14px;font-weight:700;line-height:1.25}.play-round small{color:var(--felt-muted);font-size:12px;font-weight:500;display:block}.play-top .look-btn,.play-top button[aria-label]{flex:none}.play-score{white-space:nowrap;background:#00000038;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.seats{gap:6px;margin-bottom:8px;display:flex}.seat{background:#0003;border:1px solid #ffffff1f;border-radius:12px;flex:1;min-width:0;padding:6px 8px;font-size:12.5px}.seat-active{border-color:var(--select);box-shadow:0 0 0 1px var(--select)}.seat-partner .seat-name:after{content:" 🤝"}.seat-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:2px 6px;font-weight:700;display:flex}.seat-name .seat-tag{margin-left:0}.seat-info{color:var(--felt-muted);gap:8px;display:flex}.seat-foot-on{color:var(--select);font-weight:700}.seat-dots:after{content:" …";animation:1s steps(3,end) infinite hfDots}@keyframes hfDots{50%{opacity:.3}}.area-label{letter-spacing:.04em;color:var(--felt-muted);justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.area-empty{color:var(--felt-muted);margin:0 0 4px;font-size:12.5px}.their-area,.our-area{background:#00000024;border-radius:14px;margin-bottom:8px;padding:8px 10px 10px}.our-area{background:#0003}.middle{align-items:center;gap:12px;margin:6px 0 10px;display:flex}.piles{gap:10px;display:flex}.pile{color:var(--felt-text);justify-items:center;gap:4px;display:grid}.pile-label{color:var(--felt-muted);font-size:11.5px}.pile-discard{position:relative}.pile-empty{border:2px dashed #ffffff59;border-radius:8px;width:100%;height:100%;display:block}.pile-lock{font-size:16px;position:absolute;top:-6px;right:-6px}.pile-glow .card{box-shadow:0 0 0 3px var(--select);border-radius:8px}.log{min-width:0;color:var(--felt-muted);flex:1;font-size:12.5px;line-height:1.45}.log-new{color:var(--felt-text);font-weight:600}.melds .meld{color:var(--felt-text);justify-items:center;display:grid;position:relative}.meld-card{filter:drop-shadow(0 1px 1.5px #00000059);border-radius:7px;display:block}.meld-count{font-size:12px;font-weight:800}.meld-count small{opacity:.7;font-weight:500}.meld-wilds{background:var(--wild);color:#2a1d00;border-radius:999px;padding:1px 5px;font-size:10.5px;font-weight:800;position:absolute;top:-6px;right:-6px}.meld-stamp{letter-spacing:.06em;background:#fffcf4;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:900;position:absolute;top:30%;left:50%;transform:translate(-50%)rotate(-14deg)}.meld-clean .meld-stamp{color:var(--book-clean);border:2px solid var(--book-clean)}.meld-dirty .meld-stamp{color:var(--book-dirty);border:2px solid var(--book-dirty)}.meld-staged{outline:2px dashed var(--select);outline-offset:3px;border-radius:8px}.meld-target{outline:3px solid var(--select);border-radius:8px}.status-line{text-align:center;color:var(--felt-muted);margin:6px 0;font-size:14.5px;font-weight:600}.status-mine{color:var(--felt-text)}.hint-line{text-align:center;background:#00000040;border-radius:10px;margin-bottom:6px;padding:6px 10px;font-size:13.5px}.perm-line{text-align:center;color:var(--select);margin-top:6px;font-size:13px}.hand{margin:6px 0 10px}.actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.actions .btn{flex:30%;min-height:46px}.score-table{border-collapse:collapse;width:100%;font-size:14px}.score-table th,.score-table td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff2e;padding:5px 4px}.score-table th:first-child{text-align:left;font-weight:500}.score-total th,.score-total td{font-weight:800}.house-toggle{border-top:1px solid var(--border-weak);width:100%;color:var(--text);justify-content:space-between;align-items:center;padding:12px 0;font-size:15px;font-weight:600;display:flex}.felt-card{background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-deep) 100%);color:var(--felt-text);border-radius:20px;padding:20px}.rec-row{border-top:1px solid var(--border-weak);justify-content:space-between;gap:10px;padding:11px 16px;font-size:14px;display:flex}.rules-table{border-collapse:collapse;width:100%;font-size:14px}.rules-table td,.rules-table th{border-bottom:1px solid var(--border-weak);text-align:left;padding:6px 4px}:root[data-easy=on]{--text-body:#2b3334;--text-muted:#4a5354;--text-disabled:#687071;--border:#c6c3b7;--felt-muted:#eaf5f3e6;--card-edge:#9e937c;--border-weak:#d6d3c8}@media (prefers-color-scheme:dark){:root[data-easy=on]:not([data-theme=light]){--text-body:#e0e5e5;--text-muted:#b5bebf;--text-disabled:#8f999a;--border:#4a5456;--border-weak:#3b4446}}:root[data-easy=on][data-theme=dark]{--text-body:#e0e5e5;--text-muted:#b5bebf;--text-disabled:#8f999a;--border:#4a5456;--border-weak:#3b4446}:root[data-easy=on] .seat,:root[data-easy=on] .log,:root[data-easy=on] .area-label{font-size:13.5px}.rec-dot{background:var(--chrome);width:30px;height:30px;color:var(--text-muted);border-radius:9px;flex:none;place-items:center;font-size:16px;display:grid}.rec-dot.rec-won{background:var(--felt);color:#fff}.rec-grid{grid-template-columns:minmax(0,1.9fr) .8fr .7fr .9fr .6fr;gap:6px;display:grid}@media (max-width:480px){.rec-grid{grid-template-columns:minmax(0,1.9fr) .8fr .7fr .9fr}.rec-streak{display:none}}.fair-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.fair-table th,.fair-table td{border-bottom:1px solid var(--border-weak);text-align:right;padding:7px 4px}.fair-table th:first-child{text-align:left;font-weight:500}.fair-table thead th{color:var(--text-muted);font-size:12px;font-weight:600}.fair-list{color:var(--text-body);margin:12px 0 0;padding-left:18px;font-size:12.5px;line-height:1.6}.seed-input{letter-spacing:.12em;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-size:16px}.play-menu{color:var(--felt-text);background:#0003;border-radius:10px;padding:4px 8px;font-size:22px;line-height:1}.score-sub{opacity:.75;font-size:11px;font-weight:400;display:block}.reveal-toggle{width:100%;color:inherit;background:#ffffff1f;border-radius:12px;margin-top:12px;padding:10px;font-size:14px;font-weight:600;display:block}.reveal{gap:10px;margin-top:10px;display:grid}.reveal-seat{background:#0000002e;border-radius:12px;padding:8px 10px}.reveal-name{justify-content:space-between;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.reveal-name span{opacity:.8;font-weight:500}.reveal-sub{opacity:.8;margin-bottom:4px;font-size:11.5px}.reveal-cards{flex-wrap:wrap;gap:3px;display:flex}.reveal-card{width:30px;height:42px;display:block}.reveal-seed{opacity:.8;text-align:center;font-size:12px}.home-hero-fan{background:#ffffff1f;border-radius:16px;place-items:center;width:58px;height:58px;display:grid}.rules-body p,.rules-body li{color:var(--text-body);margin-bottom:8px;font-size:15px;line-height:1.7}.rules-body ol,.rules-body ul{padding-left:20px}.rules-example{background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-deep) 100%);border-radius:14px;flex-wrap:wrap;justify-content:center;gap:16px;margin:10px 0 12px;padding:14px 12px;display:flex}.rules-row{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.rules-cards{display:flex}.rules-card{filter:drop-shadow(0 1px 1.5px #00000059);width:40px;height:56px;margin-left:-14px;display:block}.rules-card:first-child{margin-left:0}.rules-cap{color:var(--felt-text);text-align:center;max-width:150px;font-size:12px}:root[data-easy=on] .rules-card{width:50px;height:70px}.tut-felt{background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-deep) 100%);border-radius:16px;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 10px;padding:22px 12px 14px;display:flex}.tut-card{filter:drop-shadow(0 1px 2px #00000059);display:block}.tut-option{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:15px;font-weight:600;display:flex}.tut-option-ok{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.tut-mini{flex:none;display:flex}.tut-mini-card{width:28px;height:40px;margin-left:-12px;display:block}.tut-mini-card:first-child{margin-left:0}@keyframes tutGlow{0%,to{filter:drop-shadow(0 0 2px #e0b44ce6)drop-shadow(0 1px 2px #00000059)}50%{filter:drop-shadow(0 0 9px #e0b44c)drop-shadow(0 1px 2px #00000059)}}.tut-glow{animation:1.4s ease-in-out infinite tutGlow}.tut-glow svg .card-face-bg{stroke:#e0b44c;stroke-width:6px}.tut-glow-btn{box-shadow:0 0 0 3px #e0b44c,0 0 14px #e0b44cb3!important}:root[data-motion=off] .tut-glow{filter:drop-shadow(0 0 5px #e0b44c);animation:none}.tut-do{color:var(--accent);margin-top:10px;font-size:15px;font-weight:700;line-height:1.6}.tut-trump{text-align:center;margin-top:12px;font-size:13.5px;font-weight:700}.tut-count{text-align:center;color:var(--text-muted);margin-top:6px;font-size:13.5px;font-weight:600}.tut-rows{flex-direction:column;align-items:center;gap:12px}.tut-panel{background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-deep) 100%);color:var(--felt-text);border-radius:16px;margin-top:14px;padding:14px}.tut-off{opacity:.45}.tut-map{color:var(--felt-text);flex-direction:column;align-items:center;gap:10px}.tut-map-mid{align-items:center;gap:10px;display:flex}.tut-map-table{border:2px dashed #eaf5f366;border-radius:12px;width:64px;height:44px}.tut-seat{background:#ffffff1f;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:700;display:inline-block}.tut-seat-us{color:#1b1a14;background:#e0b44cd9}.tut-map-legend{gap:8px;margin-top:4px;display:flex}.tut-trick{color:var(--felt-text);flex-direction:column;align-items:stretch;gap:2px;padding-top:12px}.tut-trick .trick{width:100%;margin:0 auto}.tut-trick-seat,.tut-trick-trump{text-align:center;color:var(--felt-muted);font-size:12.5px;font-weight:700}.tut-trick-trump{color:#e0b44c}.tut-trick-sides{color:var(--felt-muted);justify-content:space-between;font-size:12.5px;font-weight:700;display:flex}.pegboard{margin-bottom:8px}.pegboard svg{display:block}.peg-wood{fill:var(--wood);stroke:var(--wood-deep);stroke-width:2px}.peg-hole{fill:var(--wood-hole)}.peg-game{fill:var(--wood-hole);stroke:#e0b44c;stroke-width:1.2px}.peg-skunk{fill:#1b0f05}.peg-skunk-line{stroke:#f2e6c9;stroke-width:1.2px;stroke-dasharray:2 2;opacity:.7}.peg-scores{color:var(--felt-muted);flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:13px;display:flex}.peg-score i{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.peg-score b{color:var(--felt-text);font-variant-numeric:tabular-nums;font-size:16px}.peg-lead b{color:#e0b44c}.seat-dot{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.seat-tag{background:#ffffff29;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700}.seat-dealer{color:#2a1a05;background:#e0b44c}.seat-crib{color:#e0b44c;margin-left:4px;font-size:11px}.card-row{align-items:flex-end;display:inline-flex}.mini-card{filter:drop-shadow(0 1px 1.5px #00000059);border-radius:6px;flex:none;display:block}.mini-hl{outline:3px solid var(--select);border-radius:7px}.card-dim{filter:grayscale(.6)brightness(.72)}.middle{gap:6px;margin:6px 0 8px;display:grid}.play-area{align-items:center;gap:14px;display:flex}.starter-crib{flex:none;gap:12px;display:flex}.pile{justify-items:center;gap:4px;display:grid}.pile small,.cut-slot small{color:var(--felt-muted);font-size:11px}.count-area{flex:1;gap:4px;min-width:0;display:grid}.count-big{font-family:var(--display-font);color:var(--felt-text);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1}.count-big small{color:var(--felt-muted);margin-left:2px;font-size:16px}.log-peg{min-height:2.9em}.cut-area{text-align:center}.cut-cuts{justify-content:center;gap:14px;display:flex}.cut-slot{justify-items:center;gap:4px;display:grid}.middle-note{color:var(--felt-muted);margin-top:8px;font-size:13px}.show-title{font-family:var(--display-font);margin-bottom:8px;font-size:19px;font-weight:700}.breakdown-cards{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:8px;display:flex}.breakdown-starter{justify-items:center;gap:2px;display:grid}.breakdown-starter small{opacity:.8;font-size:11px}.breakdown-items{margin:0;padding:0;font-size:14px;list-style:none}.breakdown-items li{cursor:default;border-bottom:1px solid #ffffff24;justify-content:space-between;gap:10px;padding:5px 2px;display:flex}.breakdown-items b{font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown-none{opacity:.85;font-size:14px}.breakdown-total{text-align:right;margin-top:6px;font-size:15px}.breakdown-total b{margin-left:6px;font-size:22px}.show-claim{margin:8px 0;font-size:14px}.claim-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;display:grid}.claim-btn{min-height:44px;color:inherit;font-variant-numeric:tabular-nums;background:#ffffff1f;border-radius:10px;font-size:17px;font-weight:700}.claim-note{opacity:.75;margin-top:8px;font-size:12px}.skunk-badge{color:#3a2410;background:#f2e6c9;border-radius:999px;margin-top:6px;padding:3px 10px;font-size:13px;font-weight:800;display:inline-block}.coach{background:#00000038;border-radius:14px;margin-top:10px;padding:10px 12px}.coach-head{justify-content:space-between;gap:8px;margin-bottom:6px;font-weight:700;display:flex}.coach-head small{color:var(--felt-muted);font-weight:500}.coach-row{width:100%;color:var(--felt-text);text-align:left;border-top:1px solid #ffffff1f;align-items:center;gap:10px;padding:6px 4px;display:flex}.coach-best{background:#e8c07a29;border-radius:8px}.coach-nums{flex:1;font-size:12.5px;display:grid}.coach-nums small{color:var(--felt-muted)}.coach-net{font-variant-numeric:tabular-nums;font-size:18px}.coach-note{color:var(--felt-muted);margin-top:6px;font-size:11.5px}.setup-note{color:var(--text-muted);margin:6px 0 18px;font-size:12.5px}.rules-example .breakdown,.tut-breakdown{color:var(--felt-text);width:100%}.tut-breakdown{background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-deep) 100%);border-radius:14px;margin-top:12px;padding:12px}.rules-example{flex-direction:column;align-items:stretch}.rules-example .rules-cap{text-align:left;max-width:none;font-weight:700}.scoreline{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;display:flex}.score-chip{color:var(--felt-muted);background:#00000038;border-radius:999px;padding:4px 12px;font-size:13.5px}.score-chip b{color:var(--felt-text);font-variant-numeric:tabular-nums;font-size:16px}.score-chip small{color:#e0b44c;font-weight:700}.score-me{box-shadow:0 0 0 1px #e0b44c99}.score-target{color:var(--felt-muted);margin-left:auto;font-size:12px}.seat-count{color:var(--felt-muted);font-size:12px}.seat-bid{background:#ffffff24;border-radius:999px;padding:1px 7px;font-size:12px;font-weight:700}.seat-bid-win{color:#231a05;background:#e0b44c}.seat-trump{color:#e0b44c;font-size:15px;font-weight:800}.play-middle{display:block}.trick{max-width:320px;height:200px;margin:4px auto 6px;position:relative}.trick-card{filter:drop-shadow(0 2px 3px #0006);border-radius:7px;transition:transform .16s;display:block;position:absolute}.trick-s{bottom:0;left:50%;transform:translate(-50%)}.trick-n{top:0;left:50%;transform:translate(-50%)}.trick-w{top:50%;left:14%;transform:translateY(-50%)}.trick-e{top:50%;right:14%;transform:translateY(-50%)}.trick-win{border-radius:8px;outline:3px solid #e0b44c}.trick-label{color:#e0b44c;white-space:nowrap;background:#00000059;border-radius:999px;padding:3px 8px;font-size:12.5px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auction{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.auction-chip{background:#e0b44c38;border-radius:999px;padding:3px 9px;font-size:13px}.auction-pass{opacity:.8;background:#ffffff1a}.bid-help{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin-bottom:10px;font-size:12.5px;display:grid}.bid-suit b{margin-right:3px;font-size:15px}.bid-nomar{opacity:.55}.bid-stepper{justify-content:center;align-items:center;gap:18px;display:flex}.step-btn{width:48px;height:48px;color:inherit;background:#ffffff24;border-radius:50%;font-size:24px;font-weight:700}.bid-amount{font-family:var(--display-font);text-align:center;font-variant-numeric:tabular-nums;min-width:80px;font-size:36px;font-weight:800}.bid-signal{width:100%;color:inherit;background:#e0b44c2e;border-radius:12px;margin-top:8px;padding:10px;font-size:13.5px;font-weight:600;display:block}.suit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.suit-btn{color:inherit;background:#ffffff1a;border-radius:14px;justify-items:center;gap:2px;padding:10px 6px;font-size:13.5px;display:grid}.suit-btn:disabled{opacity:.4}.suit-btn small{opacity:.8;font-size:11.5px}.suit-glyph{font-size:30px;line-height:1}.suit-1 .suit-glyph,.suit-2 .suit-glyph{color:#ff7a7a}.meld-seats{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.meld-list .card-row{flex-wrap:wrap;row-gap:4px;max-width:100%;padding-left:18px}.meld-seat{background:#ffffff0f;border-radius:12px;padding:8px 10px}.meld-who{justify-content:space-between;margin-bottom:4px;font-weight:700;display:flex}.meld-list ol{margin:6px 0 0;padding:0;font-size:13.5px;list-style:none}.meld-list li{border-bottom:1px solid #ffffff1f;justify-content:space-between;gap:10px;padding:3px 0;display:flex}.meld-total{text-align:right;margin-top:4px;font-size:13.5px}.meld-none{opacity:.75;font-size:13px}.widow{color:var(--felt-muted);justify-content:center;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.counter{color:var(--felt-text);background:#00000038;border-radius:14px;margin-top:10px;padding:10px 12px}.counter-head{margin-bottom:6px;font-weight:700}.counter table{border-collapse:collapse;text-align:center;width:100%;font-size:13px}.counter th{width:28px;font-size:16px}.counter td small{color:var(--felt-muted);font-size:11px;display:block}.counter-trump{background:#e0b44c29}.counter-gone{opacity:.35}.review{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.review li{align-items:center;gap:8px;font-size:12.5px;display:flex}.review-n{text-align:right;opacity:.7;width:20px}.score-table td.lost{opacity:.6;text-decoration:line-through}.variant-list{gap:8px;margin-bottom:8px;display:grid}.variant{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;gap:2px;padding:12px 14px;display:grid}.variant b{font-size:15px}.variant span{color:var(--text-muted);font-size:12.5px}.variant-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.seat-info{flex-wrap:wrap;align-items:center;gap:4px 6px}.over-xp{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.over-xp .xp-chip{color:#f2c86a;background:#00000038}
@keyframes gcSheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes gcFadeIn{0%{opacity:0}to{opacity:1}}.sheet-backdrop{z-index:50;background:#14181c73;justify-content:center;align-items:flex-end;animation:.14s ease-out gcFadeIn;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:88vh;color:var(--text);border:1px solid var(--border);padding:18px 20px max(env(safe-area-inset-bottom), 18px);box-shadow:var(--shadow-float);border-bottom:none;border-radius:22px 22px 0 0;animation:.2s ease-out gcSheetUp;overflow-y:auto}@media (min-width:900px){.sheet-backdrop{align-items:center}.sheet{border-bottom:1px solid var(--border);border-radius:22px;padding-bottom:20px}}:root[data-motion=off] .sheet,:root[data-motion=off] .sheet-backdrop{animation:none}.stat-tile{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:14px;align-items:center;gap:8px;min-width:0;padding:9px 12px;display:flex}.stat-big{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;line-height:1.15;display:block}.stat-sub{color:var(--text-muted);white-space:nowrap;font-size:10.5px;display:block}.flame{transform-origin:50% 90%;font-size:22px;line-height:1;animation:1.6s ease-in-out infinite gcFlame;display:inline-block}.flame-lg{font-size:40px}.flame-dim{filter:grayscale()opacity(.45);animation:none}@keyframes gcFlame{0%,to{transform:scale(1)rotate(-3deg)}50%{transform:scale(1.12)rotate(3deg)}}.xp-chip{background:color-mix(in srgb, var(--xp) 22%, transparent);color:var(--xp-dark);border:1px solid color-mix(in srgb, var(--xp) 55%, transparent);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}:root[data-theme=dark] .xp-chip{color:#f2c86a}.progress-xp{background:linear-gradient(90deg, var(--xp), #f2c86a)}.badge-icon{background:var(--chrome);border-radius:50%;place-items:center;width:62px;height:62px;font-size:34px;line-height:1;display:inline-grid}.badge-on .badge-icon{background:radial-gradient(circle at 35% 30%, #fbe6b3, var(--xp) 70%, var(--xp-dark));box-shadow:0 4px 12px color-mix(in srgb, var(--xp) 45%, transparent)}.rank-badge{background:radial-gradient(circle at 35% 30%, #fbe6b3, var(--xp) 70%, var(--xp-dark));width:96px;height:96px;box-shadow:0 10px 28px color-mix(in srgb, var(--xp) 45%, transparent), inset 0 -4px 0 #0000001f;border-radius:50%;place-items:center;margin:0 auto 14px;font-size:50px;animation:.42s cubic-bezier(.2,1.4,.4,1) gcPop;display:grid}.rank-badge-sm{width:64px;height:64px;margin:0;font-size:32px;animation:none}@keyframes gcPop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.rank-card{background:var(--surface);width:min(92vw,380px);color:var(--text);border:1px solid var(--border-strong);text-align:center;box-shadow:var(--shadow-float);border-radius:24px;margin-bottom:12vh;padding:26px 22px 22px;animation:.22s ease-out gcSheetUp}.sheet-backdrop:has(.rank-card){align-items:center}.reward-xp{left:50%;top:calc(env(safe-area-inset-top) + 18px);z-index:60;background:radial-gradient(circle at 35% 30%, #fbe6b3, var(--xp) 70%, var(--xp-dark));color:#3d2a08;box-shadow:0 8px 22px color-mix(in srgb, var(--xp) 50%, transparent);pointer-events:none;border-radius:999px;padding:8px 18px;font-size:18px;font-weight:800;animation:1.3s ease-out forwards gcXp;position:fixed;transform:translate(-50%)}@keyframes gcXp{0%{opacity:0;transform:translate(-50%)translateY(14px)scale(.6)}18%{opacity:1;transform:translate(-50%)translateY(0)scale(1.1)}30%{transform:translate(-50%)translateY(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-16px)scale(.9)}}.reward-toast{left:50%;top:calc(env(safe-area-inset-top) + 14px);z-index:60;background:var(--ink);width:min(92vw,400px);color:var(--on-ink);border:1px solid var(--ink-border);box-shadow:var(--shadow-float);cursor:pointer;border-radius:18px;align-items:center;gap:12px;padding:11px 14px;animation:.26s cubic-bezier(.2,1.2,.4,1) gcToastIn;display:flex;position:fixed;transform:translate(-50%)}.reward-toast-icon{background:#f4f1ea1a;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:24px;display:grid}@keyframes gcToastIn{0%{opacity:0;transform:translate(-50%)translateY(-24px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.confetti{z-index:55;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:2px;animation:2s ease-in forwards gcConfetti;position:absolute;top:-12px}@keyframes gcConfetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.7;transform:translateY(105vh)rotate(720deg)}}:root[data-motion=off] .flame,:root[data-motion=off] .rank-badge,:root[data-motion=off] .reward-toast,:root[data-motion=off] .rank-card{animation:none}:root[data-motion=off] .confetti{display:none}:root[data-easy=on]{zoom:1.22}:root[data-easy=on] .easy-hide{display:none!important}:root[data-easy=on] .label{letter-spacing:.06em;font-size:13px}:root[data-easy=on] .tabbar a{font-size:12.5px!important;font-weight:600!important}:root[data-easy=on] .btn{min-height:48px!important}:root[data-easy=on] .stat-sub{font-size:12px}:root[data-easy=on] .status-strip{grid-template-columns:1fr 1fr!important}:root[data-easy=on] .status-strip>:nth-child(2){grid-area:1/1/auto/-1}:root[data-easy=on] .stat-big{white-space:nowrap}:root[data-easy=on] .game-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid!important}@media (min-width:900px){:root[data-easy=on]{zoom:1.15}}.label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.shell{max-width:640px;padding:max(env(safe-area-inset-top), 26px) 22px 24px;margin:0 auto}.stack{gap:12px;display:grid}.tabbar{display:flex}.web-header,.only-desktop{display:none}@media (min-width:900px){.web-header{background:var(--chrome);border-bottom:1px solid var(--divider);z-index:20;align-items:center;gap:22px;height:62px;padding:0 44px;display:flex;position:sticky;top:0}.only-desktop{display:block}.only-desktop.trust-row{display:flex}.only-mobile{display:none!important}.shell{max-width:1180px;padding:44px 56px 56px}.home-grid{grid-template-columns:1fr 380px;align-items:start;gap:36px;display:grid}.home-two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.home-three{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.play-grid{grid-template-columns:280px minmax(0,1fr) 300px;align-items:start;gap:0;display:grid}.play-col-l{border-right:1px solid var(--divider);padding-right:26px}.play-col-c{padding:0 26px}.play-col-r{border-left:1px solid var(--divider);padding-left:26px}.tabbar{display:none}.app-body{padding-bottom:0!important}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
