:root{--bg: #10141c;--felt-1: #1b2735;--felt-2: #131b26;--ink: #e8edf5;--muted: #8b98ad;--line: #2a3546;--accent: #4da3ff;--accent-soft: rgba(77, 163, 255, .18);--up: #4ade80;--down: #f87171;--card-face: #f7f9fc;--card-ink: #171b22;--card-red: #d63c4a;--card-heart: var(--card-red);--card-diamond: var(--card-red);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--veil: 13, 18, 27;--veil-deep: 10, 15, 23;--surface: #171e2a;--surface-raised: #202b3a;--surface-hover: #26364a;--surface-sunken: #151c27;--glow: #1c2636;--on-accent: #06213d;--accent-hover: #6bb4ff;--nil-bg: #3a2530;--nil-line: #5a3644;--danger-bg: #2a1d24;--danger-line: #4a2b36;--on-danger: #2a0b0f;--warn: #f0a63c;--on-warn: #2a1a06;--card-edge: rgba(0, 0, 0, .28);--card-panel: #eef2f8;--card-back-1: #24334a;--card-back-2: #1a2434;--card-back-edge: #0d131c;--bright: #ffffff;--card-lift: 0 1px 2px rgba(0, 0, 0, .4), 0 7px 16px rgba(0, 0, 0, .42);--card-lift-high: 0 2px 4px rgba(0, 0, 0, .45), 0 16px 30px rgba(0, 0, 0, .55);--tier-easy: #f2c94c;--tier-hard: #f2994a;--tier-expert: #eb5757;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font:15px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{overscroll-behavior:none}#app.landing-root{overflow-y:auto}.landing-root,.lobby{user-select:none;-webkit-user-select:none}.landing-root input,.lobby input,h1.code,.code-hint,.options-root,.options-root *{user-select:text;-webkit-user-select:text}.landing-root{display:flex;justify-content:center;height:100%;padding:24px;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(120% 90% at 50% 0%,var(--glow) 0%,var(--bg) 60%)}.landing{width:min(420px,100%);margin:auto;display:flex;flex-direction:column;gap:18px}.landing.lobby{width:min(680px,100%)}.landing header{text-align:center;margin-bottom:4px}.landing h1{margin:0;font-size:clamp(30px,7vw,42px);font-weight:650;letter-spacing:-.02em}.landing h1 span{color:var(--muted);font-weight:400}.landing header p{margin:6px 0 0;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.field input,.field select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;outline:none;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}#code{text-transform:uppercase;letter-spacing:.35em;font-size:20px;font-weight:600;text-align:center}.join{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}button{font:inherit;font-weight:550;border-radius:10px;border:1px solid transparent;padding:12px 18px;cursor:pointer;transition:transform 90ms ease,background .12s,border-color .12s;touch-action:manipulation}button:active{transform:translateY(1px)}.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.primary:hover{background:var(--accent-hover)}.secondary{background:var(--surface-raised);color:var(--ink);border-color:var(--line)}.secondary:hover{border-color:var(--accent)}.primary.armed{background:var(--warn);color:var(--on-warn);border-color:var(--warn)}.primary.armed:hover{background:var(--warn);filter:brightness(1.08)}.note{margin:0;font-size:13px;color:var(--muted);opacity:0;transition:opacity .14s}.note.visible{opacity:1}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{margin:0;text-align:center;font-size:12px;color:var(--muted)}kbd{background:var(--surface-raised);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:11px}.table-root{user-select:none;-webkit-user-select:none;position:relative;height:100%;width:100%;overflow:hidden;background:radial-gradient(70% 55% at 50% 42%,var(--felt-1) 0%,var(--felt-2) 100%)}.surface{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:manipulation;-webkit-touch-callout:none}.solo-root .surface{touch-action:none}.card{position:absolute;left:0;top:0;width:100px;height:140px;margin-left:-50px;margin-top:-70px;border-radius:8px;transform-origin:50% 50%;will-change:transform,opacity;transition:opacity .18s ease;backface-visibility:hidden}.card .face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:linear-gradient(168deg,#ffffff 0%,var(--card-face) 42%,#eef2f8 100%);color:var(--card-ink);border:1px solid rgba(0,0,0,.25);box-shadow:var(--card-lift);display:grid;place-items:center;overflow:hidden}.card.vector>.art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:8px;box-shadow:var(--card-lift);display:block}.card.vector .idx-r{font:700 17px/1 ui-sans-serif,system-ui,sans-serif;text-anchor:start}.card.vector .court-r{font:700 21px/1 ui-serif,Georgia,serif;text-anchor:middle}.card.red .face{color:var(--card-red)}.card.hearts .face{color:var(--card-heart)}.card.diamonds .face{color:var(--card-diamond)}.card.trick-winner .face,.card.vector.trick-winner>.art{box-shadow:0 2px 4px #0006,0 20px 38px #000000b8}.card.trick-winner .face,.card.vector.trick-winner>.art{transform:scale(1.07)}.card.trick-winner{z-index:400}.card.trick-lost .face,.card.vector.trick-lost>.art{filter:brightness(.58) saturate(.7)}.card.trick-lost .face,.card.vector.trick-lost>.art{transform:scale(.975)}.card.trick-lost .face,.card.vector.trick-lost>.art{transition:filter .22s ease}.card .corner{position:absolute;top:6px;left:7px;display:flex;flex-direction:column;align-items:center;line-height:.95;font-weight:700}.card .corner .r{font-size:21px}.card .corner .s{font-size:16px}.card .corner:last-of-type{top:auto;left:auto;bottom:6px;right:7px;transform:rotate(180deg)}.card .pip{font-size:52px;line-height:1;font-weight:600}.card.court .pip{font-size:46px;font-weight:700}.card .pip-sub{position:absolute;bottom:30px;font-size:20px;opacity:.75}.card.back .face{background:linear-gradient(160deg,var(--card-back-1) 0%,var(--card-back-2) 100%);border-color:var(--card-back-edge)}.card.back .pattern{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:5px;background:repeating-linear-gradient(45deg,var(--card-back-lat) 0 1.5px,transparent 1.5px 9px),repeating-linear-gradient(-45deg,var(--card-back-lat) 0 1.5px,transparent 1.5px 9px);box-shadow:inset 0 0 0 1px var(--card-back-rule)}.card.playable{cursor:pointer}.card.playable .face,.card.vector.playable>.art{box-shadow:var(--card-lift-high)}.card.ornate.playable>.art,.card.english.playable>.art{filter:drop-shadow(0 2px 3px rgba(0,0,0,.36)) drop-shadow(0 10px 18px rgba(0,0,0,.34))}.card.ornate.dimmed>.art,.card.english.dimmed>.art{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3)) brightness(.55) saturate(.6);transform:scale(.86)}.card.dimmed .face,.card.vector.dimmed>.art{filter:brightness(.55) saturate(.6);transform:scale(.86)}@media (hover: hover) and (pointer: fine){.card.ornate.playable:hover>.art,.card.english.playable:hover>.art{transform:translateY(-9px);filter:drop-shadow(0 2px 5px rgba(0,0,0,.45)) drop-shadow(0 20px 32px rgba(0,0,0,.55))}.card.playable:hover .face,.card.playable.vector:hover>.art{transform:translateY(-9px);box-shadow:0 2px 5px #00000073,0 22px 38px #00000094}.card.playable:hover{z-index:300}}.card .face,.card.vector>.art{transition:transform .14s ease,box-shadow .14s ease}.card.ornate>.art,.card.english>.art{transition:transform .14s ease,filter .14s ease}.card.ornate,.card.english{background:none}.card.ornate>.art,.card.english>.art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.32)) drop-shadow(0 5px 9px rgba(0,0,0,.28));pointer-events:none;-webkit-user-select:none;user-select:none}.scoretable{width:100%;border-collapse:collapse;margin:2px 0 6px;font-variant-numeric:tabular-nums}.scoretable th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650;text-align:left;padding:2px 8px 4px;border-bottom:1px solid var(--line)}.scoretable td{padding:5px 8px;border-bottom:1px solid var(--line);font-size:13px}.scoretable tbody tr:last-child td{border-bottom:none}.scoretable th+th,.scoretable td+td{border-left:1px solid var(--line);text-align:right;font-weight:650}.tier.easy{color:var(--tier-easy)}.tier.hard{color:var(--tier-hard)}.tier.expert{color:var(--tier-expert)}.human{font-weight:650}.badge{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 11px;border-radius:999px;background:rgba(var(--veil-deep),.72);border:1px solid var(--line);font-size:12px;white-space:nowrap;pointer-events:none;z-index:900;transition:opacity .16s,border-color .16s,background .16s}.badge{max-width:var(--badge-max, 200px)}.badge .who{font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge .tally{color:var(--muted);font-size:11px}.badge.active{border-color:var(--accent);background:#4da3ff29;box-shadow:0 0 0 3px var(--accent-soft)}.badge.reviewable{cursor:help}.badge.reviewable:hover{border-color:var(--ink)}.panel.review{background:rgba(var(--veil),.25);border-color:#2a35466b;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);position:absolute;left:50%;bottom:50%;transform:translate(-50%,40%) scale(.97);z-index:1200;text-align:center;opacity:0;pointer-events:none;transition:opacity .11s ease,transform .11s ease}.review.visible{opacity:1;transform:translate(-50%,50%) scale(1)}.panel.review h3,.panel.review p,.panel.review .rev-seat>span{color:var(--ink);text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.7)}.review p{margin:8px 0 0;font-size:12px;font-weight:500}.review p b{color:var(--bright)}.rev-cards{display:flex;gap:10px}.rev-seat{display:flex;flex-direction:column;align-items:center;gap:5px}.rev-seat>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.card.mini{position:relative;left:auto;top:auto;margin:0;width:54px;height:76px;transform:none!important;border-radius:5px}.card.mini .face{border-radius:5px;box-shadow:0 3px 8px #0006}.card.mini .corner .r{font-size:12px}.card.mini .corner .s{font-size:9px}.card.mini .corner{top:3px;left:4px}.card.mini .corner:last-of-type{bottom:3px;right:4px;top:auto;left:auto}.card.mini .pip{font-size:27px}.card.mini .pip-sub{display:none}.card.mini.won .face{box-shadow:0 3px 8px #0006,0 0 0 2px var(--up)}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;padding:calc(14px + var(--safe-top)) 14px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.panel{pointer-events:auto;background:rgba(var(--veil),.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:210px;box-shadow:0 10px 30px #0006}.panel h3{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600}.panel .row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:baseline;padding:3px 0}.panel .row i{grid-column:1 / -1;font-style:normal;font-size:11px;color:var(--muted)}.panel .row b{font-variant-numeric:tabular-nums;font-size:16px}.panel .row.target{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.panel .row b.up{color:var(--up)}.panel .row b.down{color:var(--down)}.panel.prompt,.panel.summary{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:280px;text-align:center}.panel.prompt p{margin:0 0 10px;color:var(--muted);font-size:13px}.bids{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.bids button{min-width:42px;padding:9px 10px;background:var(--surface-raised);color:var(--ink);border-color:var(--line)}.bids button:hover{border-color:var(--accent);background:var(--surface-hover)}.bids button.nil{background:var(--nil-bg);border-color:var(--nil-line)}@media (max-width: 560px){.panel.prompt{top:calc(var(--hand-top, 72%) - 112px);transform:translate(-50%,-100%);min-width:0;width:min(94vw,380px);padding:8px 10px}.panel.prompt h3{margin-bottom:6px}.panel.prompt p{margin-bottom:6px;font-size:12px}.bids{gap:5px}.bids button{min-width:0;flex:1 1 calc(100% / 7 - 5px);padding:9px 4px;font-size:13px}.panel.prompt .bids button[data-action=blind]{flex:1 1 45%;font-size:12px}}.panel.summary button.go{margin-top:12px;width:100%;background:var(--accent);color:var(--on-accent)}.panel.summary .actions{display:flex;gap:8px;margin-top:12px}.panel.summary .actions button{flex:1}.panel.summary .actions button.go{margin-top:0}.panel.summary .actions button[data-action=exit]{background:var(--surface-raised);color:var(--ink);border-color:var(--line)}.panel.perf{position:absolute;right:14px;top:62px;font-variant-numeric:tabular-nums}@media (max-width: 560px),(max-height: 480px){.hud{padding:calc(8px + var(--safe-top)) 8px 8px}.options{grid-template-columns:1fr}.panel{min-width:0;padding:7px 9px;font-size:12px;border-radius:10px}.panel.scores{max-width:min(56vw,240px)}.panel.scores h3{display:none}.panel.scores .scoretable{margin:0 0 2px}.panel.scores .scoretable thead{display:none}.panel.scores .scoretable td{padding:2px 6px;font-size:12px}.panel.scores .scoretable td:first-child{padding-left:0;max-width:36vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel h3{font-size:10px;margin-bottom:5px}.panel .row{padding:3px 0}.panel .row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel .row b{font-size:13px}.panel .row i{font-size:10px}.panel .row.target{margin-top:4px;padding-top:5px}.panel .row.bank b{font-size:12px}.panel .row>span .stars{display:none}.panel.scores .row.target{display:flex;gap:4px;align-items:baseline;margin:4px 0 0;padding:4px 0 0;border:none;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.panel.scores .row.target b{font-size:10px;color:var(--muted)}.panel.scores .row.target+.row.bank{border-top:none;margin-top:0;padding-top:2px}}@media (max-height: 480px){.panel{padding:6px 8px}.panel h3{margin-bottom:3px}.panel .row i{font-size:9px}.panel .row b{font-size:12px}.panel.scores{display:flex;align-items:center;gap:10px;max-width:none;padding:4px 10px}.panel.scores h3{display:none}.panel.scores .scoretable{width:auto;margin:0}.panel.scores .scoretable thead{display:none}.panel.scores .scoretable td{padding:1px 7px;font-size:11px}.panel.scores .scoretable td:first-child{padding-left:0;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel.scores .row{display:flex;align-items:baseline;gap:6px;padding:0;margin:0;border:none}.panel.scores .row i{font-size:9px}.panel.scores .row b{font-size:12px}.panel.scores .row>span{max-width:30vw}}.lobby header{margin-bottom:2px}.eyebrow{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}h1.code{margin:4px 0 10px;font-size:clamp(44px,12vw,64px);letter-spacing:.16em;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);text-shadow:0 0 30px var(--accent-soft),0 0 12px var(--accent-soft)}button.small{padding:6px 10px;font-size:12px;border-radius:8px}.seatlist{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surface-sunken)}.seatrow{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;min-height:44px}.seatrow.mine{background:var(--accent-soft);box-shadow:inset 0 0 0 1px #4da3ff59}.seatrow .pos{font-size:11px;color:var(--muted);min-width:92px}.seatrow .occupant i{color:var(--muted);font-style:normal}.seatrow .occupant i.off{color:var(--down);font-size:11px}.seatrow .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:active{transform:none}@media (max-width: 560px){.seatrow{grid-template-columns:1fr auto}.seatrow .pos{grid-column:1 / -1;min-width:0}}.card.picked .face,.card.vector.picked>.art{box-shadow:0 12px 22px #0000008c,0 0 0 2.5px var(--up)}.panel .picked{margin:0 0 10px;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.panel .row i.shot{display:inline;font-size:11px;color:var(--up);margin-left:6px}.options{grid-template-columns:1fr 1fr}.options .wide{grid-column:1 / -1}.settings-host{position:fixed;top:calc(14px + var(--safe-top));right:14px;z-index:2000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.cog{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:10px;background:rgba(var(--veil),.78);border:1px solid var(--line);color:var(--muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .14s,border-color .14s,transform .2s ease}.cog:hover{color:var(--ink);border-color:var(--accent)}.settings-host.open .cog{color:var(--ink);border-color:var(--accent);transform:rotate(45deg)}.settings-panel{width:min(280px,calc(100vw - 28px));background:rgba(var(--veil),.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 14px 34px #00000080}.settings-panel[hidden]{display:none}.settings-panel h3{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600}.setting{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 0;cursor:pointer;border-top:1px solid var(--line)}.setting:first-of-type{border-top:none}.setting input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}.setting.choice{grid-template-columns:1fr auto;align-items:center}.setting.choice select{background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;cursor:pointer}.setting.choice select:hover{border-color:var(--accent)}.setting span{display:flex;flex-direction:column;gap:2px}.setting b{font-weight:550;font-size:14px}.setting i{font-style:normal;font-size:12px;color:var(--muted);line-height:1.35}.stars{margin-left:5px;font-size:.82em;letter-spacing:.5px;vertical-align:baseline}.stars.easy{color:var(--tier-easy)}.stars.hard{color:var(--tier-hard)}.stars.expert{color:var(--tier-expert)}.panel.prompt.docked{left:50%;top:calc(var(--hand-top, 72%) - 112px);bottom:auto;transform:translate(-50%,-100%);display:flex;align-items:center;gap:14px;padding:9px 12px;min-width:0;white-space:nowrap;text-align:left}.panel.prompt.docked .lead{display:flex;flex-direction:column;line-height:1.2}.panel.prompt.docked .lead b{font-size:14px;font-weight:600}.panel.prompt.docked .lead i{font-style:normal;font-size:11px;color:var(--muted)}.panel.prompt.docked .picked{margin:0;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.panel.prompt.docked button.go{margin:0;width:auto;padding:9px 14px}@media (max-width: 420px){.panel.prompt.docked{gap:10px;padding:8px 10px}.panel.prompt.docked .lead i{display:none}}.settings-panel .actions-row{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.settings-panel .leave{width:100%;background:var(--danger-bg);border-color:var(--danger-line);color:var(--ink)}.settings-panel .leave:hover{border-color:var(--down)}.settings-panel .leave.confirming{background:var(--down);color:var(--on-danger);border-color:var(--down)}.parked{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:14px;text-align:center}.parked h2{margin:2px 0 10px;font-size:30px;letter-spacing:.16em;font-variant-numeric:tabular-nums}.parked-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.parked .hint{margin-top:8px}.corner-stack{position:fixed;left:14px;bottom:14px;z-index:1800;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}@media (max-width: 560px) and (orientation: portrait){.corner-stack{left:auto;right:14px;bottom:auto;top:calc(54px + var(--safe-top));align-items:flex-end}}.corner-stack>*{pointer-events:auto}.corner-button{border-radius:10px;background:rgba(var(--veil),.7);border:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:inherit;opacity:.6;transition:opacity .14s,border-color .14s,color .14s}.corner-button:hover{opacity:1;border-color:var(--accent)}.corner-button[hidden]{display:none}.fullscreen-button,.pause-button{display:grid;place-items:center;width:34px;height:34px;padding:0}.fullscreen-button.on{opacity:1;color:var(--accent);border-color:var(--accent)}.room-badge{display:flex;align-items:baseline;gap:7px;padding:6px 11px}.room-badge .tag{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.room-badge .value{font-size:15px;font-weight:650;letter-spacing:.14em;color:var(--ink)}.seatrow .occupant i.holding{color:var(--accent);font-size:11px}.seatrow .acts button.open{border-color:var(--accent);color:var(--accent)}.seatrow .levels{display:inline-flex}.seatrow .levels button.level{padding:5px 7px;border-radius:0;margin-left:-1px;background:var(--surface-sunken)}.seatrow .levels button.level:first-child{border-radius:7px 0 0 7px;margin-left:0}.seatrow .levels button.level:last-child{border-radius:0 7px 7px 0}.seatrow .levels button.level .stars{margin-left:0;opacity:.45}.seatrow .levels button.level:hover .stars{opacity:.8}.seatrow .levels button.level.active{background:var(--surface-hover);border-color:var(--line);position:relative;z-index:1}.seatrow .levels button.level.active .stars{opacity:1}.seatrow .acts button.locked{color:var(--muted)}.panel.summary .review{display:flex;align-items:center;gap:10px;margin-top:10px}.panel.summary .review .bar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.panel.summary .review .bar i{display:block;height:100%;background:var(--accent);transition:width .2s linear}.panel.summary .review .countdown{font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);min-width:34px;text-align:right}.badge.timed{aspect-ratio:1;border-radius:50%;justify-content:center;min-width:74px;padding:6px;gap:0}.badge.timed .who{font-size:11px}.badge.timed .tally{font-size:12px;font-weight:650;color:var(--ink)}.badge.timed:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:999px;padding:5px;background:conic-gradient(from -90deg,var(--ring, var(--accent)) calc(var(--pct, 0) * 1%),rgba(255,255,255,.13) 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.badge.free{--ring: var(--muted)}.badge.warn{--ring: var(--warn)}.badge.urgent{--ring: var(--down)}.badge .countdown{font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1.1}.badge.timed .countdown{position:absolute;top:100%;left:50%;transform:translate(-50%,7px);padding:2px 8px;border-radius:999px;background:rgba(var(--veil-deep),.82);border:1px solid var(--ring, var(--line));font-size:12px;box-shadow:0 2px 6px #00000073}.badge.free .countdown{color:var(--muted)}.badge.warn .countdown{color:var(--warn)}.badge.urgent .countdown{color:var(--down)}.panel .row.bank{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.panel .row.bank b{font-variant-numeric:tabular-nums;font-size:14px}.panel .row.bank.low b{color:var(--down)}.standin{margin-left:5px;padding:1px 5px;border-radius:5px;background:var(--warn);color:var(--on-warn);font-style:normal;font-weight:700;font-size:9px;letter-spacing:.06em;vertical-align:middle}.badge .standin{font-size:8px;padding:0 4px}.seatrow .occupant .standin{color:var(--on-warn)}.pause-button.paused{opacity:1;color:var(--warn);border-color:var(--warn)}.pause-banner{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:1400;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:rgba(var(--veil-deep),.92);border:1px solid var(--warn);box-shadow:0 6px 20px #00000080;font-size:13px}.pause-banner[hidden]{display:none}.pause-banner .tag{font-weight:700;color:var(--warn);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.pause-banner .what{color:var(--muted)}.seatdiamond{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto;gap:10px;padding:18px 30px;align-items:stretch;justify-items:stretch}.seatdiamond .pos-top{grid-area:1 / 2}.seatdiamond .pos-left{grid-area:2 / 1}.seatdiamond .pos-right{grid-area:2 / 3}.seatdiamond .pos-bottom{grid-area:3 / 2}.seatdiamond .seatrow{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:10px 8px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.seatdiamond .seatrow.mine{border-color:var(--accent)}.seatdiamond .seatrow .pos{min-width:0}.seatdiamond .seatrow .occupant{line-height:1.3}.seatdiamond .seatrow .acts{justify-content:center}.seatdiamond .seatrow .acts button{padding:5px 9px;font-size:11px}.seatdiamond .seatrow .occupant i.holding,.seatdiamond .seatrow .occupant i.off{display:block;font-size:10px}.seatdiamond .seatrow .occupant{font-size:14px}.seatdiamond:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(70% 70% at 50% 40%,var(--felt-1) 0%,var(--felt-2) 100%);border:1px solid var(--line);box-shadow:inset 0 0 0 6px #0000002e,inset 0 14px 40px #00000040;opacity:.8}.seatdiamond .seatrow,.seatdiamond .tablecenter{position:relative;z-index:1}.seatdiamond .tablecenter{grid-area:2 / 2;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center}.seatdiamond .tablecenter .hint{max-width:160px;font-size:12px;margin:0}@media (max-width: 520px){.seatdiamond{display:flex;flex-direction:column;padding:0}.seatdiamond:before{display:none}.seatdiamond .tablecenter{order:-1}.seatdiamond .tablecenter button{width:100%}}.options-toggle{display:flex;align-items:center;justify-content:center;gap:8px}.options-toggle .count{padding:1px 7px;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--line);font-size:11px;color:var(--muted)}.options-screen{width:min(960px,100%)}.options-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left}.options-head h2{margin:0;font-size:18px;font-weight:600}.options-head .code-hint{font-size:12px;letter-spacing:.14em;color:var(--muted);font-weight:650;padding-right:42px}@media (max-width: 560px){.options-head{grid-template-columns:auto 1fr}.options-head .code-hint{display:none}.options-head h2{font-size:16px;padding-right:42px}}.optpanel{columns:3 250px;column-gap:22px;padding:14px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.optgroup{display:flex;flex-direction:column;gap:2px}details.optgroup:not([open]){display:block}.optpanel>.optgroup{break-inside:avoid;margin:0 0 14px}.optgroup summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:4px 0;-webkit-user-select:none;user-select:none}.optgroup summary::-webkit-details-marker{display:none}.optgroup summary:before{content:"";width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);transition:transform .14s ease;flex:0 0 auto}details.optgroup[open]>summary:before{transform:rotate(45deg)}.optgroup summary i{font-style:normal;font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 7px;line-height:1.5}details.optgroup[open]>summary i{display:none}.optgroup h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:650}.opt{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);cursor:pointer}.opt:first-of-type{border-top:none}.opt.toggle{grid-template-columns:auto 1fr}.opt span{display:flex;flex-direction:column;gap:1px;min-width:0}.opt b{font-weight:550;font-size:13px}.opt i{font-style:normal;font-size:11px;color:var(--muted);line-height:1.3}.opt .optname{flex-direction:row;align-items:center;gap:7px}.opt .tip{position:relative;display:inline-flex}.opt .tip .info{width:17px;height:17px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:none;color:var(--muted);font-family:Georgia,serif;font-style:italic;font-size:11px;line-height:1;cursor:help}.opt .tip .info:hover,.opt .tip.open .info{color:var(--accent);border-color:var(--accent)}.opt .tipbody{position:absolute;bottom:calc(100% + 9px);left:-8px;width:max-content;max-width:min(250px,74vw);padding:8px 11px;border-radius:9px;background:var(--surface-raised);border:1px solid var(--line);color:var(--ink);font-size:12px;line-height:1.45;font-weight:400;box-shadow:0 8px 22px #00000073;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:40}.opt .tip:hover .tipbody,.opt .tip:focus-within .tipbody,.opt .tip.open .tipbody{opacity:1;pointer-events:auto}@media (hover: hover) and (pointer: fine){.opt .tip .info{display:none}.opt .tip{position:static}.opt .optname{position:relative}.opt .optname:has(.tip){cursor:help}.opt .optname:has(.tip)>b{text-decoration:underline dotted;text-decoration-color:#9fae9f80;text-underline-offset:3px}.opt .optname:hover .tipbody{opacity:1;pointer-events:auto}}// Everyday rules first,rarities last -- the order alone says it,so // the joker deck is not the second thing a new host reads. const common = inGroup.filter((f) => !f.niche); const niche = inGroup.filter((f) => f.niche); const row = (f: RuleField) => fieldHtml(f,section.values[f.key],section.scope,section.defaults?.[f.key]); const rows = [...common,...niche].map(row).join(""); .opt select option.def{font-weight:700}.opt select,.opt input[type=number]{background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 7px;font:inherit;font-size:12px;max-width:148px;cursor:pointer}.opt select:hover,.opt input[type=number]:hover{border-color:var(--accent)}.opt input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer}.spectator-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:#0d121beb;border:1px solid var(--accent);box-shadow:0 6px 20px #00000080;font-size:12px;max-width:min(92vw,420px);flex-wrap:wrap}.spectator-bar[hidden]{display:none}.spectator-bar .tag{font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.spectator-bar .what{color:var(--muted)}.spectator-bar button.small{padding:4px 10px;font-size:12px}.spectator-bar button.ghost{background:transparent;border-color:transparent;color:var(--muted);padding:4px 7px}.spectator-bar button.ghost:hover{color:var(--ink);border-color:var(--line)}.felt{position:absolute;left:0;top:0;border-radius:46%/38%;background:radial-gradient(68% 62% at 50% 42%,#ffffff0e,#ffffff06 55%,#fff0);box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 14px 60px #00000059;pointer-events:none;z-index:0}@keyframes broke{0%{box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 14px 60px #00000059,inset 0 0 0 0 var(--broke-tint)}35%{box-shadow:inset 0 0 0 1px var(--broke-edge),inset 0 14px 60px #00000059,inset 0 0 90px 10px var(--broke-tint)}to{box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 14px 60px #00000059,inset 0 0 0 0 var(--broke-tint)}}.felt.broke-spades,.felt.broke-hearts{animation:broke .9s ease-out 1}.felt.broke-spades{--broke-tint: rgba(120, 150, 190, .22);--broke-edge: rgba(150, 180, 220, .4)}.felt.broke-hearts{--broke-tint: rgba(214, 60, 74, .22);--broke-edge: rgba(230, 90, 105, .45)}.felt.won-pulse{animation:broke 1.4s ease-out 1;--broke-tint: rgba(240, 200, 90, .2);--broke-edge: rgba(244, 214, 130, .42)}.felt.moon-pulse{animation:broke 1.4s ease-out 1;--broke-tint: rgba(190, 210, 250, .2);--broke-edge: rgba(210, 226, 255, .42)}.setting.moments{grid-template-columns:1fr;cursor:default}.momentrow{display:flex;gap:6px}.momentrow button{flex:1;padding:6px 4px;font-size:12px;font-weight:600;border-radius:7px;border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);cursor:pointer}.momentrow button:hover{background:var(--surface-hover)}.particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:460}.particles i{position:absolute;top:-12px;left:var(--x);width:var(--size);height:var(--size);border-radius:2px;opacity:0;animation:particleFall var(--dur) ease-in var(--delay) 1 forwards}.particles.win i{background:linear-gradient(135deg,#f4d682,#d9a83c);box-shadow:0 0 6px #f4d68280}.particles.moon i{border-radius:50%;background:radial-gradient(circle,#eaf2ff,#b8ccf0 70%);box-shadow:0 0 8px #d2e2ff99}.particles.nil i{border-radius:50%;background:radial-gradient(circle,#e4efe8,#a9c9b6 70%)}@keyframes particleFall{0%{transform:translate(0) rotate(0);opacity:0}8%{opacity:1}to{transform:translate(var(--drift),78vh) rotate(var(--spin));opacity:0}}@media (prefers-reduced-motion: reduce){.particles{display:none}}@keyframes tremor{0%{transform:translate(0)}20%{transform:translate(3px,-2px)}40%{transform:translate(-3px,2px)}60%{transform:translate(2px,1px)}80%{transform:translate(-1px,-1px)}to{transform:translate(0)}}.table-root.tremor{animation:tremor .34s linear 1}.table-caption{position:absolute;left:50%;top:18%;transform:translate(-50%,-50%);padding:8px 22px;border-radius:999px;background:#0a0f17c7;border:1px solid var(--line);color:var(--ink);font-size:17px;font-weight:650;letter-spacing:.02em;white-space:nowrap;opacity:0;pointer-events:none;z-index:450}.table-caption.show{animation:captionIn 2.4s ease-out 1 forwards}.table-caption.hearts{color:#f0a2ab;border-color:#d63c4a73}.table-caption.spades{color:#b9cbe8;border-color:#96b4dc73}.table-caption.moon{color:#d8e4ff;border-color:#d2e2ff73}.table-caption.win{color:#f4d682;border-color:#f4d68273}.table-caption.nil-made{color:#cfe3d8;border-color:#bee8cd66}.table-caption.lose{color:var(--muted)}@keyframes captionIn{0%{opacity:0;transform:translate(-50%,-30%)}8%{opacity:1;transform:translate(-50%,-50%)}82%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-62%)}}@media (prefers-reduced-motion: reduce){.felt.broke-spades,.felt.broke-hearts,.felt.won-pulse,.felt.moon-pulse,.table-root.tremor{animation:none}.table-caption.show{animation:none;opacity:1}}.setting.sound{grid-template-columns:1fr auto;align-items:center}.soundrow{display:flex;align-items:center;gap:8px}.soundrow .mute{display:grid;place-items:center;width:28px;height:28px;padding:0;border-radius:8px;background:var(--surface-raised);border:1px solid var(--line);color:var(--ink)}.soundrow .mute:hover{border-color:var(--accent)}.soundrow .mute.off{color:var(--muted);border-color:var(--line);opacity:.75}.soundrow input[type=range]{width:96px;accent-color:var(--accent);cursor:pointer}.soundrow input[type=range]:disabled{opacity:.4;cursor:not-allowed}@keyframes wentNil{0%{box-shadow:0 0 #d63c4a00}8%{box-shadow:0 0 0 4px #d63c4a99,0 0 24px 7px #d63c4a57}22%{box-shadow:0 0 0 2px #d63c4a4d,0 0 14px 3px #d63c4a29}36%{box-shadow:0 0 0 4px #d63c4a99,0 0 24px 7px #d63c4a57}72%{box-shadow:0 0 0 3px #d63c4a73,0 0 18px 5px #d63c4a3d}to{box-shadow:0 0 #d63c4a00}}.badge.went-nil{animation:wentNil 3.2s ease-out 1}@media (prefers-reduced-motion: reduce){.badge.went-nil{animation:none}}@keyframes nilBroke{0%{box-shadow:0 0 #f8717100}10%{box-shadow:0 0 0 5px #f87171b3,0 0 30px 9px #f8717166}30%{box-shadow:0 0 0 2px #f871714d,0 0 16px 4px #f871712e}50%{box-shadow:0 0 0 4px #f871718c,0 0 22px 6px #f871714d}to{box-shadow:0 0 #f8717100}}.badge.nil-broke{animation:nilBroke 2.6s ease-out 1}@media (prefers-reduced-motion: reduce){.badge.nil-broke{animation:none}}.options-actions{display:flex;gap:10px;flex-wrap:wrap}.options-actions #optsDone{flex:1;min-width:160px}.preset-save{display:flex;gap:8px;flex:1;min-width:260px}.preset-save[hidden]{display:none}.preset-save input{flex:1;min-width:0;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;outline:none;transition:border-color .12s,box-shadow .12s}.preset-save input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}option.mine{color:var(--accent);font-weight:650}.solo-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-touch-callout:none;touch-action:none;user-select:none;-webkit-user-select:none}#app.solo-root.lounge,.solo-root.lounge{background:radial-gradient(120% 90% at 50% 30%,#16402c,#113023 45%,#0c2318 75%,#081a10)}.solo-root.lounge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(63deg,rgba(255,255,255,.016) 0 2px,transparent 2px 4px),repeating-linear-gradient(-63deg,rgba(0,0,0,.02) 0 2px,transparent 2px 4px);pointer-events:none}#app.solo-root.slate,.solo-root.slate{background:radial-gradient(120% 90% at 50% 30%,#223046 0%,var(--felt-2) 70%,var(--bg) 100%)}.solo-root .surface{position:absolute;top:0;right:0;bottom:0;left:0}.solo-root{--card-lift: 0 1px 2px rgba(0, 0, 0, .3), 0 5px 11px rgba(0, 0, 0, .26);--card-lift-high: 0 2px 3px rgba(0, 0, 0, .32), 0 10px 20px rgba(0, 0, 0, .34)}.solo-slot{position:absolute;left:0;top:0;display:grid;place-items:center}.solo-slot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;border:1.5px solid rgba(255,255,255,.14);background:#0000001a;pointer-events:none}.solo-slot span{font-size:26px;color:#ffffff38;font-weight:600}.solo-slot.stock{cursor:pointer}.solo-slot.stock span{font-size:34px}.card.facedown .face,.card.vector.facedown>.art,.card.ornate.facedown>.art,.card.english.facedown>.art{visibility:hidden}.card.facedown:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:8px;background:linear-gradient(160deg,var(--card-back-1) 0%,var(--card-back-2) 100%);border:1px solid var(--card-back-edge);box-shadow:0 1px 2px #00000059}.card.facedown:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:2;border-radius:4px;background:repeating-linear-gradient(45deg,var(--card-back-lat) 0 1.5px,transparent 1.5px 9px),repeating-linear-gradient(-45deg,var(--card-back-lat) 0 1.5px,transparent 1.5px 9px);box-shadow:inset 0 0 0 1px var(--card-back-rule)}.card.english.facedown:after{top:0;right:3.35%;bottom:0;left:3.35%}.card.ornate.facedown:after{top:1.55%;right:0;bottom:1.55%;left:0}.solo-root.deck-english .solo-slot:after{top:0;right:3.35%;bottom:0;left:3.35%}.solo-root.deck-ornate .solo-slot:after{top:1.55%;right:0;bottom:1.55%;left:0}.card.dragging{pointer-events:none}.card.dragging .face,.card.vector.dragging>.art{box-shadow:0 4px 8px #0006,0 26px 44px #0009}@keyframes soloFlip{0%{transform:scaleX(.12)}to{transform:scaleX(1)}}.card.flip .face,.card.vector.flip>.art{animation:soloFlip .2s ease-out 1}@media (prefers-reduced-motion: reduce){.card.flip .face,.card.vector.flip>.art{animation:none}}.solo-options .opt{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0}.solo-options .hint{margin:10px 0 0;font-size:12px}@keyframes soloDeny{0%,to{margin-left:-50px}25%{margin-left:-56px}55%{margin-left:-45px}80%{margin-left:-52px}}.card.deny{animation:soloDeny .22s ease-out 1}@media (prefers-reduced-motion: reduce){.card.deny{animation:none}}.solo-stats{position:absolute;top:calc(8px + var(--safe-top));left:14px;display:flex;gap:18px;pointer-events:none}.solo-stats .stat{display:flex;gap:6px;align-items:baseline}.solo-stats .stat i{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c}.solo-stats .stat b{color:#ffffffeb;font-variant-numeric:tabular-nums;font-size:15px}.solo-actions{position:absolute;top:calc(8px + var(--safe-top));right:64px;display:flex;gap:8px}.solo-actions button{background:#00000047;color:#ffffffd9;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer}.solo-actions button:hover:not(:disabled){background:#00000073}.solo-actions button:disabled{opacity:.4;cursor:default}@media (max-width: 620px){.solo-actions{top:auto;right:12px;left:12px;bottom:calc(10px + var(--safe-bottom))}.solo-actions button{flex:1;padding:9px 12px}}.solo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#060a0873;z-index:500}.solo-overlay .panel{min-width:240px}.landing .solo-buttons{display:flex;gap:10px}.landing .solo-buttons button{flex:1}#app.landing-root.feltroom{padding-top:calc(10px + var(--safe-top))}#app.feltroom,.feltroom{--felt-1: #17331f;--felt-2: #0d2013;--card-back-1: #223028;--card-back-2: #161e1a;--card-back-edge: #0a120d;--veil: 14, 24, 18;--veil-deep: 9, 18, 13;--bg: #0a1811;--surface: #12211a;--surface-raised: #182b21;--surface-hover: #1e352a;--surface-sunken: #0d1a13;--line: #2b4233;--accent: #c99a52;--accent-hover: #d8ac66;--accent-soft: rgba(179, 137, 74, .18);--on-accent: #1d1405;--glow: #16281e;--ink: #e7efe6;--muted: #9fae9f;--cr-accent1: #c4954e;--cr-accent2: #9c7136;--cr-on-accent: #1d1405;--cr-sel: #b3894a;--cr-sel-soft: rgba(179, 137, 74, .16);--cr-line: rgba(205, 180, 135, .2);--cr-line-strong: rgba(208, 182, 136, .38);--cr-ink: #e7efe6;--cr-muted: #9fae9f;color:var(--cr-ink);background:radial-gradient(120% 70% at 50% 0%,rgba(182,138,74,.09) 0%,transparent 55%),radial-gradient(140% 110% at 50% 15%,#113023,#0c2318 55%,#071610)}.settings-host.feltroom{background:none}.feltroom .seatdiamond .seatrow,.feltroom .seatlist .seatrow{border-radius:999px;padding-left:22px;padding-right:22px}.feltroom .seatnum{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--cr-line-strong);color:var(--cr-muted);background:none;font:inherit;font-style:normal;font-size:13px;font-weight:700;padding:0}.feltroom button.seatnum.sittable{cursor:pointer;color:var(--cr-sel);border-color:var(--cr-sel)}.feltroom button.seatnum.sittable:hover{box-shadow:0 0 0 4px var(--cr-sel-soft);background:var(--cr-sel-soft)}.feltroom .pos .partner{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--cr-sel);border:1px dashed var(--cr-line);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:2px}.feltroom .seatrow .acts button.icon{display:inline-flex;align-items:center;justify-content:center;width:30px;padding:5px 0}.feltroom .seatrow .acts button.icon.open{color:var(--cr-sel);border-color:var(--cr-sel)}.feltroom .seatdiamond .seatrow .acts{flex-wrap:wrap;row-gap:5px}.feltroom .seatdiamond .seatrow .acts .levels{flex-basis:100%;justify-content:center}.feltroom i.holding svg{vertical-align:-1px;margin-right:2px}.feltroom #start.primary{border-radius:999px;position:relative}.feltroom #start.primary:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:inherit;border:1.5px dashed rgba(29,20,5,.35);pointer-events:none}@media (min-width: 521px){.feltroom .seatdiamond .tablecenter #start.primary{width:138px;height:138px;border-radius:50%;padding:12px;white-space:normal;line-height:1.3;font-size:15px;background:radial-gradient(95% 95% at 50% 24%,#dcb06a 0%,var(--cr-accent1) 42%,var(--cr-accent2) 100%);border:1px solid rgba(72,49,18,.9);box-shadow:0 10px 22px #00000080,0 2px 5px #00000059,inset 0 1px #ffeecd80,inset 0 -12px 18px #4a300c59;text-shadow:0 1px 0 rgba(255,235,195,.4);transition:transform .12s ease,box-shadow .12s ease}.feltroom .seatdiamond .tablecenter #start.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 28px #0000008c,0 3px 6px #00000059,inset 0 1px #ffeecd8c,inset 0 -12px 18px #4a300c52}}.feltroom .lobby .code-hint{color:var(--cr-sel)}#app.feltroom.slate,.feltroom.slate{--felt-1: #1b2735;--felt-2: #131b26;--card-back-1: #24334a;--card-back-2: #1a2434;--card-back-edge: #0d131c;--veil: 13, 18, 27;--veil-deep: 10, 15, 23;--bg: #10141c;--surface: #171e2a;--surface-raised: #202b3a;--surface-hover: #26364a;--surface-sunken: #151c27;--line: #2a3546;--accent: #4da3ff;--accent-hover: #6bb4ff;--accent-soft: rgba(77, 163, 255, .18);--on-accent: #06213d;--glow: #1c2636;--ink: #e8edf5;--muted: #8b98ad;--cr-accent1: #4f8fd4;--cr-accent2: #33689f;--cr-on-accent: #071c30;--cr-sel: #4da3ff;--cr-sel-soft: rgba(77, 163, 255, .16);--cr-line: rgba(139, 152, 173, .22);--cr-line-strong: rgba(160, 178, 205, .4);--cr-ink: #e8edf5;--cr-muted: #8b98ad;color:var(--cr-ink);background:radial-gradient(120% 70% at 50% 0%,rgba(77,163,255,.07) 0%,transparent 55%),radial-gradient(140% 110% at 50% 15%,#1b2735,#131b26 55%,#0c111a)}.feltroom.slate .title span{color:#8fb8e8}.feltroom.slate .primary{background:linear-gradient(180deg,var(--cr-accent1),var(--cr-accent2))}.feltroom.slate .primary:hover{background:linear-gradient(180deg,#5d9cdf,#3b74af)}.feltroom.slate #start.primary:before{border-color:#071c3066}.feltroom.slate .seatdiamond .tablecenter #start.primary{background:radial-gradient(95% 95% at 50% 24%,#6aa6e2 0%,var(--cr-accent1) 42%,var(--cr-accent2) 100%);border-color:#10273fe6;text-shadow:0 1px 0 rgba(205,228,252,.35)}.feltroom .watermarks{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.feltroom .watermarks s{position:absolute;text-decoration:none;line-height:1;font-size:min(64vw,420px);color:#fff;opacity:.024}.feltroom .watermarks .m1{top:36%;left:-12%;transform:rotate(-13deg)}.feltroom .watermarks .m2{top:64%;right:-14%;transform:rotate(11deg);color:#d95763;opacity:.04}.feltroom .landing.menu{max-width:600px;display:flex;flex-direction:column;gap:13px;position:relative;padding-top:0;margin:0 auto auto}.feltroom .hero{position:relative;height:236px}.feltroom .pool{position:absolute;left:50%;top:8%;width:88%;height:90%;transform:translate(-50%);background:radial-gradient(50% 55% at 50% 50%,var(--cr-sel-soft) 0%,transparent 70%)}.feltroom .fancard{position:absolute;left:50%;top:68px;width:94px;height:133px;border-radius:9px;transform-origin:50% 135%;box-shadow:0 7px 16px #0000008c;background:linear-gradient(150deg,#202b26,#161e1a);border:1px solid #0a120d}.feltroom .fancard:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:6px;border:1px solid var(--dim)}.feltroom .fidx{position:absolute;top:7px;left:9px;line-height:1.02;font-weight:700;font-size:20px;color:var(--s);display:flex;flex-direction:column;align-items:center}.feltroom .fidx small{font-size:14px}.feltroom .fpip{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font-size:48px;color:var(--s);opacity:.9;line-height:1}.feltroom .c1{transform:translate(-50%) rotate(-34deg)}.feltroom .c2{transform:translate(-50%) rotate(-11.5deg)}.feltroom .c3{transform:translate(-50%) rotate(11.5deg)}.feltroom .c4{transform:translate(-50%) rotate(34deg)}.feltroom .di{--s: #d5b06a;--dim: rgba(213, 176, 106, .35)}.feltroom .cl{--s: #7cc79b;--dim: rgba(124, 199, 155, .3)}.feltroom .he{--s: #d95763;--dim: rgba(217, 87, 99, .35)}.feltroom .sp{--s: #b9cbe8;--dim: rgba(185, 203, 232, .3)}.feltroom .title{position:absolute;left:0;right:0;top:146px;z-index:2;text-align:center;font-family:Fraunces,Georgia,Times New Roman,serif;font-weight:700;font-size:clamp(26px,8vw,33px);color:#f4f1e6;text-shadow:0 1px 2px rgba(4,10,7,.95),0 3px 10px rgba(4,10,7,.9),0 10px 34px rgba(4,10,7,.85)}.feltroom .titlerule{position:absolute;left:50%;top:138px;transform:translate(-50%);width:min(200px,56vw);z-index:2;display:flex;align-items:center;gap:8px;color:#d8b573}.feltroom .titlerule:before,.feltroom .titlerule:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(216,181,115,.75))}.feltroom .titlerule:after{background:linear-gradient(90deg,rgba(216,181,115,.75),transparent)}.feltroom .titlerule s{text-decoration:none;font-size:13px;line-height:1;text-shadow:0 1px 2px rgba(4,10,7,.9)}.feltroom .title:before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:115%;height:190%;transform:translate(-50%,-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(5,12,8,.62) 0%,rgba(5,12,8,.28) 55%,transparent 78%)}.feltroom .subtitle{text-align:center;color:var(--cr-muted);font-size:13px;margin:0}.feltroom .tilegrid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:4px}.feltroom .gametile{aspect-ratio:1.28;border-radius:15px;border:1.5px solid var(--cr-line-strong);background:#0a140e80;color:var(--cr-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font:inherit;cursor:pointer;padding:0}.feltroom .gametile b{font-size:14.5px;font-weight:650}.feltroom .gametile .glyph{font-size:36px;line-height:1}.feltroom .gametile:hover{background:#101e16a6}.feltroom .gametile.sel{border-color:var(--cr-sel);box-shadow:0 0 0 3px var(--cr-sel-soft)}.feltroom .g-sp{color:#b9cbe8}.feltroom .g-he{color:#d95763}.feltroom .minicards{position:relative;width:46px;height:34px;display:block}.feltroom .minicards i{position:absolute;display:block;width:20px;height:27px;border-radius:3px}.feltroom .minicards .cell{border:1.5px dashed rgba(124,199,155,.6);background:transparent}.feltroom .minicards .cell+.cell{left:13px}.feltroom .minicards .mini{background:linear-gradient(150deg,#223028,#17211b);border:1px solid rgba(0,0,0,.5)}.feltroom .minicards .mini.up:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:2px;background:radial-gradient(40% 30% at 50% 40%,rgba(213,176,106,.9) 0%,transparent 70%)}.feltroom .minicards>.mini.up{left:26px;border-color:#d5b06a8c}.feltroom .gametile[data-game=freecell] .mini.up{border-color:#7cc79b8c}.feltroom .gametile[data-game=freecell] .mini.up:after{background:radial-gradient(40% 30% at 50% 40%,rgba(124,199,155,.9) 0%,transparent 70%)}.feltroom .minicards .down{left:0}.feltroom .minicards .o2{left:9px;top:3px}.feltroom .minicards .o3{left:18px;top:6px;border-color:#d5b06a8c}.feltroom .menu .summary{display:flex;justify-content:space-between;align-items:center;border:1.5px dashed var(--cr-line);border-radius:10px;background:#080f0b66;padding:11px 14px;font-size:13.5px;color:var(--cr-muted);font:inherit;cursor:pointer;width:100%;text-align:left}.feltroom .menu .summary b{color:#d3ddd0;font-weight:650}.feltroom .menu .summary .chev{color:var(--cr-sel)}.feltroom .expand{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-radius:10px}.feltroom button.primary.big{padding:17px;font-size:16px}.feltroom .primary{background:linear-gradient(180deg,var(--cr-accent1),var(--cr-accent2));color:var(--cr-on-accent);border:none}.feltroom .primary:hover{background:linear-gradient(180deg,#d0a25c,#a87c3e)}.feltroom .secondary{background:#101c15d9;border:1.5px solid var(--cr-line-strong);color:var(--cr-ink)}.feltroom .secondary:hover{background:#16261ce6;border-color:var(--cr-sel)}.feltroom .actionsplit{display:grid;grid-template-columns:1fr auto;gap:10px}.feltroom .joingroup{display:flex;gap:8px}.feltroom .joingroup #join{flex:1}.feltroom .joingroup input{width:104px;text-align:center;text-transform:uppercase;letter-spacing:.15em;font-weight:650;padding:12px 8px;border-radius:10px;border:1.5px solid var(--cr-line);background:#080f0b66;color:var(--cr-ink);font-size:14px;outline:none}.feltroom .joingroup input:focus{border-color:var(--cr-sel);box-shadow:0 0 0 3px var(--cr-sel-soft)}.feltroom .field>span{color:var(--cr-muted)}.feltroom .field input,.feltroom .field select{background:#080f0b66;border:1.5px solid var(--cr-line);color:var(--cr-ink)}.feltroom .field input:focus,.feltroom .field select:focus{border-color:var(--cr-sel);box-shadow:0 0 0 3px var(--cr-sel-soft)}.feltroom .hint.perf{text-align:center;margin-top:2px}.feltroom .hint{color:#9fae9fb3}.feltroom .acctlink{background:none;border:none;padding:4px;font:inherit;font-size:12px;color:var(--cr-muted);cursor:pointer;text-align:center}.feltroom .acctlink:hover{color:var(--cr-sel);text-decoration:underline}.feltroom .account-screen{max-width:420px;display:flex;flex-direction:column;gap:12px}.feltroom .menulinks{display:flex;justify-content:center;gap:4px}.feltroom .menulinks .acctlink{flex:none}.feltroom .menulinks .acctlink+.acctlink:before{content:"·";color:var(--cr-muted);margin-right:8px;pointer-events:none}.feltroom .stats-screen{max-width:480px;display:flex;flex-direction:column;gap:12px}.feltroom .stattabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.feltroom .stattab{font:inherit;font-size:13px;padding:8px 4px;cursor:pointer;border-radius:10px;border:1.5px solid var(--cr-line);background:rgba(var(--veil),.4);color:var(--cr-muted)}.feltroom .stattab.sel{color:var(--cr-ink);border-color:var(--cr-sel);box-shadow:0 0 0 3px var(--cr-sel-soft)}.feltroom .statwindows{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.feltroom .statwin{font:inherit;font-size:12px;padding:5px 12px;cursor:pointer;border-radius:999px;border:1px solid var(--cr-line);background:none;color:var(--cr-muted)}.feltroom .statwin.sel{color:var(--cr-on-accent);background:var(--cr-sel);border-color:var(--cr-sel)}.feltroom .statrows{display:flex;flex-direction:column;border:1.5px solid var(--cr-line);border-radius:12px;background:rgba(var(--veil),.4);padding:4px 14px}.feltroom .statrow{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-top:1px solid var(--cr-line);font-size:13.5px;color:var(--cr-muted)}.feltroom .statrow:first-child{border-top:none}.feltroom .statrow b{color:var(--cr-ink);font-variant-numeric:tabular-nums}.feltroom .account-screen form{display:flex;flex-direction:column;gap:12px}.feltroom .googleslot{display:flex;justify-content:center;min-height:44px}.feltroom .orline{display:flex;align-items:center;gap:10px;margin:2px 0;color:var(--cr-muted);font-size:12px}.feltroom .orline s{text-decoration:none;height:1px;flex:1;background:var(--cr-line)}.feltroom .account-screen .subtitle{text-align:left}.feltroom .note{color:var(--cr-muted)}.feltroom .parked{border:1.5px solid var(--cr-line-strong);background:#0a140e80}@media (max-width: 699px){#app.feltroom{padding:calc(2px + var(--safe-top)) 20px 12px}.feltroom .landing.menu{gap:9px}.feltroom .hero{height:162px}.feltroom .fancard{top:20px;width:84px;height:119px}.feltroom .fidx{font-size:18px}.feltroom .fidx small{font-size:13px}.feltroom .fpip{font-size:43px}.feltroom .title{top:90px;font-size:clamp(24px,7.2vw,30px)}.feltroom .subtitle{font-size:12px}.feltroom .gametile{aspect-ratio:1.7;gap:5px}.feltroom .gametile .glyph{font-size:28px}.feltroom .gametile b{font-size:13.5px}.feltroom button.primary.big{padding:13px;font-size:15px}.feltroom .joingroup input{padding:10px 8px}.feltroom .joingroup #join,.feltroom .secondary{padding:11px 14px}.feltroom .menu .summary{padding:9px 14px;font-size:13px}.feltroom .field input,.feltroom .field select{padding:10px 12px}.feltroom .parked{padding:8px 12px 10px}.feltroom .parked h2{margin:0 0 6px;font-size:24px;letter-spacing:.28em}.feltroom .parked .eyebrow{font-size:10px;margin:0 0 2px}.feltroom .parked .hint{display:none}.feltroom .parked-actions button{padding:10px 12px}}@media (min-width: 700px){.feltroom .tilegrid{grid-template-columns:repeat(4,1fr)}.feltroom .gametile{aspect-ratio:1}.feltroom .hero{height:216px}.feltroom .fancard{top:30px;width:104px;height:146px}.feltroom .fidx{font-size:22px}.feltroom .fidx small{font-size:16px}.feltroom .fpip{font-size:54px}.feltroom .title{top:118px;font-size:42px}.feltroom .titlerule{top:174px}}.badge.takeable{cursor:pointer;border:1.5px solid var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.badge .seatno{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);font-size:11px;font-weight:700;margin-right:6px}.badge.takeable .tally{color:var(--accent)}#app.back-oxblood,.back-oxblood{--card-back-1: #7e2f33;--card-back-2: #5c1f24;--card-back-edge: #3d1216;--card-back-lat: rgba(216, 181, 115, .4);--card-back-rule: rgba(216, 181, 115, .5)}#app.back-midnight,.back-midnight{--card-back-1: #30497a;--card-back-2: #1f3054;--card-back-edge: #131e36;--card-back-lat: rgba(216, 181, 115, .38);--card-back-rule: rgba(216, 181, 115, .48)}#app.back-forest,.back-forest{--card-back-1: #2c6a45;--card-back-2: #1d4a2f;--card-back-edge: #11301d;--card-back-lat: rgba(216, 181, 115, .42);--card-back-rule: rgba(216, 181, 115, .5)}#app.back-plum,.back-plum{--card-back-1: #5d3570;--card-back-2: #40234f;--card-back-edge: #291433;--card-back-lat: rgba(216, 181, 115, .4);--card-back-rule: rgba(216, 181, 115, .48)}#app.back-charcoal,.back-charcoal{--card-back-1: #454b54;--card-back-2: #2b2f36;--card-back-edge: #191c21;--card-back-lat: rgba(216, 181, 115, .36);--card-back-rule: rgba(216, 181, 115, .46)}
