:root{color-scheme:light dark;--paper: #f4f1ec;--card: #ffffff;--ink: #221e1b;--muted: #6b625a;--brick: #9c4a33;--brick-ink: #ffffff;--line: #ddd6cb;--good: #2f6b46;--bad: #9a3b2f;--bad-ink: #ffffff;--scrim: rgba(0, 0, 0, .55);--announce-ink: #fffaf2;--announce-scrim: rgba(8, 6, 4, .86);--shadow: rgba(0, 0, 0, .35)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--paper: #171513;--card: #211e1b;--ink: #ece7e0;--muted: #9b9188;--brick: #cf7154;--brick-ink: #1a0f0b;--line: #322d29;--good: #6fbb8d;--bad: #e08573;--bad-ink: #2b0c0c;--scrim: rgba(0, 0, 0, .7);--announce-ink: #fffaf2;--announce-scrim: rgba(8, 6, 4, .86);--shadow: rgba(0, 0, 0, .6)}}[data-theme=limestone]{color-scheme:light;--paper: #f1f2ee;--card: #ffffff;--ink: #1b1f24;--muted: #585f68;--brick: #2f6b73;--brick-ink: #ffffff;--line: #d4d8d2;--good: #2c6e3f;--bad: #a3282b;--bad-ink: #ffffff;--scrim: rgba(10, 16, 20, .6);--announce-ink: #fffaf2;--announce-scrim: rgba(8, 6, 4, .86);--shadow: rgba(10, 16, 20, .3)}[data-theme=slate]{color-scheme:dark;--paper: #0f141c;--card: #182030;--ink: #e8ecf4;--muted: #97a2b8;--brick: #7fb3d5;--brick-ink: #0a1520;--line: #2a3446;--good: #6fd0a0;--bad: #f07a7a;--bad-ink: #2b0c0c;--scrim: rgba(0, 2, 10, .72);--announce-ink: #fffaf2;--announce-scrim: rgba(8, 6, 4, .86);--shadow: rgba(0, 0, 0, .6)}[data-theme=kiln]{color-scheme:dark;--paper: #1a1410;--card: #261d16;--ink: #f3e7d6;--muted: #b09d85;--brick: #ff9a3d;--brick-ink: #1a1207;--line: #3d2f22;--good: #a8c24a;--bad: #f2726b;--bad-ink: #2b0c0c;--scrim: rgba(8, 4, 0, .72);--announce-ink: #fffaf2;--announce-scrim: rgba(8, 6, 4, .86);--shadow: rgba(0, 0, 0, .6)}[data-theme=contrast]{color-scheme:light;--paper: #ffffff;--card: #ffffff;--ink: #000000;--muted: #1a1a1a;--brick: #000000;--brick-ink: #ffff00;--line: #000000;--good: #004d1a;--bad: #8c0000;--bad-ink: #ffffff;--scrim: rgba(0, 0, 0, .8);--announce-ink: #fffaf2;--announce-scrim: rgba(8, 6, 4, .86);--shadow: rgba(0, 0, 0, .8)}*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}main{max-width:34rem;margin:0 auto;padding:1.25rem 1rem 3rem}h1{font-size:1.5rem;margin:0 0 .25rem;letter-spacing:-.01em}h2{font-size:1.05rem;margin:1.5rem 0 .5rem}p{margin:0 0 .75rem}.muted{color:var(--muted);font-size:.9rem}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.25rem}input[type=text]{width:100%;padding:.85rem;font-size:1.1rem;font-family:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:1rem}input[type=text]:focus-visible{outline:3px solid var(--brick);outline-offset:1px}button{font:inherit;font-weight:600;padding:.85rem 1.1rem;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}button.primary{background:var(--brick);border-color:var(--brick);color:var(--brick-ink)}button:disabled{opacity:.5;cursor:default}button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}button.lockin{display:block;width:100%;padding:1.15rem;font-size:1.15rem;margin-top:.5rem}.row{display:flex;gap:.5rem;align-items:center}.row.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:.75rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem}.clock{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem}.clock.low{color:var(--brick)}.seats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.seats li{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.seats li:last-child{border-bottom:0}.seats .score{font-weight:700;font-variant-numeric:tabular-nums}.seats .waiting{color:var(--muted)}.seats .locked{color:var(--good)}.word-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.word-row:last-child{border-bottom:0}.word-row .w{font-weight:700;letter-spacing:.04em}.word-row.best .w{color:var(--good)}.word-row.dud .w{color:var(--bad);text-decoration:line-through}.word-row .who{color:var(--muted);font-size:.85rem}.word-row .pts{font-weight:700;font-variant-numeric:tabular-nums}.error{color:var(--bad);font-size:.9rem;margin:0 0 .75rem}.code{font-family:ui-monospace,monospace;font-size:1.5rem;letter-spacing:.25em;font-weight:700}.banner{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;margin-bottom:1rem;font-size:.9rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.overlay.top{align-items:flex-start;padding-top:calc(1rem + env(safe-area-inset-top,0px));overflow-y:auto}.overlay-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.25rem;width:100%;max-width:22rem;display:flex;flex-direction:column;gap:.6rem}button.danger{background:var(--bad);border-color:var(--bad);color:var(--bad-ink)}.buildon{margin:0 0 .4rem;text-align:center;font-size:.85rem;color:var(--muted)}.clockwrap{text-align:center}.clockbar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:.4rem}.clockbar .fill{height:100%;background:var(--muted);border-radius:3px;transition:width .25s linear}.clockbar .fill.low{background:var(--brick)}.clock{font-size:1.05rem;font-weight:600}.yourtime{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}button.chip{padding:.5rem .8rem;font-size:.95rem;font-weight:600;min-width:3.25rem}button.chip.on{background:var(--brick);border-color:var(--brick);color:var(--brick-ink)}.overlay-card.rules{max-width:26rem;max-height:85vh;overflow-y:auto;gap:0}.rules section{margin-bottom:1.25rem}.splash-head{position:sticky;top:-1.25rem;margin-top:-1.25rem;padding:1.25rem 0 .6rem;margin-bottom:1rem;background:var(--card);border-bottom:1px solid var(--line);z-index:2}.splash-head-row{display:flex;align-items:center;gap:.6rem}.splash-head-row>:first-child{flex-grow:1;margin:0}.splash-head-row>button{white-space:nowrap;padding:.55rem .9rem}.splash-skip{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem;color:var(--muted);cursor:pointer}.rules .sound-check{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;margin-bottom:0}.rules .sound-check p{margin:.4rem 0 0;font-size:.85rem}.rules h3{font-size:1rem;margin:0 0 .4rem}.rules p{margin:0 0 .5rem;font-size:.95rem}.rules .example{font-weight:700;letter-spacing:.06em;padding:.5rem 0;color:var(--brick)}.rules .tiebreak{border-left:3px solid var(--brick);padding-left:.7rem}.rules table.values{border-collapse:collapse;width:100%;margin:.5rem 0}.rules table.values th{text-align:left;width:2.5rem;font-variant-numeric:tabular-nums;color:var(--brick);padding:.3rem 0;border-bottom:1px solid var(--line)}.rules table.values td{letter-spacing:.18em;font-weight:600;padding:.3rem 0;border-bottom:1px solid var(--line)}.banner.seam{border-left:3px solid var(--good)}textarea{width:100%;padding:.8rem;font:inherit;line-height:1.4;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;resize:none}textarea:focus-visible{outline:3px solid var(--brick);outline-offset:1px}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}.topbar .what{flex-basis:100%;font-size:.9rem;color:var(--muted);font-weight:600}.topbar>.row{margin-left:auto}.corner{display:flex;flex-direction:column;align-items:flex-end;max-width:34rem;margin:0 auto;padding:.5rem 1rem 0;line-height:1.3}.corner-offline{color:var(--bad);font-weight:800;font-size:.9rem;text-align:right}.corner-retry{margin:.3rem 0 .2rem;padding:.35rem .9rem;font-size:.9rem;color:var(--bad);border-color:var(--bad)}.corner-version{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted);opacity:.6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}button.round{width:2.6rem;height:2.6rem;padding:0;border-radius:50%;font-size:1.05rem;line-height:1}button.tiny{padding:.15rem .5rem;font-size:1rem;line-height:1.2;color:var(--muted)}.codecard{text-align:center}.codecard .code{font-size:clamp(2.5rem,16vw,3.5rem);margin:.25rem 0 .75rem}.invite{margin-top:.6rem;padding:.5rem .6rem;background:var(--paper);border-radius:6px;font-size:.85rem;color:var(--muted);word-break:break-all;-webkit-user-select:all;user-select:all}button.disclose{width:100%;text-align:left;font-weight:600;color:var(--brick)}input[type=range]{touch-action:pan-y}input[type=range]{width:100%;margin:.4rem 0 0;accent-color:var(--brick);height:2rem}.sliderval{color:var(--brick);font-variant-numeric:tabular-nums}.sliderends{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-.25rem}.builder{display:flex;flex-direction:column;gap:.75rem}.tile-holder{width:100%;min-height:3.6rem;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:background .15s ease,box-shadow .15s ease}.tile-holder.drop-waiting{background:color-mix(in srgb,var(--line) 22%,transparent)}.tile-holder.drop-ready{background:color-mix(in srgb,var(--brick) 16%,transparent);box-shadow:inset 0 0 0 2px var(--brick)}.tile-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;padding:.2rem}.tile-seat{display:inline-flex;transition:transform .16s ease}.tile{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--tile-w, 2.6rem);min-width:0;height:3.2rem;font-size:clamp(.9rem,calc(var(--tile-w, 40px) * .62),1.7rem);font-weight:700;letter-spacing:0;border-radius:8px;padding:0;touch-action:none}.tile.base{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:default}.tile.base:not(:disabled){cursor:pointer}.tile.mine{background:var(--brick);border:1px solid var(--brick);color:var(--brick-ink)}.tile.open{background:transparent;border:2px dashed var(--brick);color:var(--brick)}.tile.armed{border:2px solid var(--bad);box-shadow:0 0 0 2px color-mix(in srgb,var(--bad) 35%,transparent)}.tile.doomed{background:transparent;border:1px dashed var(--bad);color:var(--bad);text-decoration:line-through;opacity:.75}.tile.flying{position:fixed;transform:translate(-50%,-60%);z-index:32;pointer-events:none;box-shadow:0 10px 22px var(--shadow)}.buildhint{text-align:center;margin:0}.pad{display:flex;flex-direction:column;gap:.3rem}.pad-row{display:flex;justify-content:center;gap:.3rem}.pad-row button.key{flex:0 0 calc((100% - 9 * .3rem) / 10)}button.key{padding:.7rem 0;font-size:1rem;font-weight:700;min-width:0;touch-action:none}button.key.staged{background:var(--brick);border-color:var(--brick);color:var(--brick-ink)}.brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;margin:.5rem 0 1.25rem}.brand h1{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin:0}.brand .accent{color:var(--brick)}.tagline{margin:0;font-size:.95rem;color:var(--muted)}button.linkish{background:none;border:0;padding:0;min-width:0;font:inherit;font-size:.9rem;font-weight:700;color:var(--brick);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.foot{text-align:center;font-size:.8rem;line-height:1.9;color:var(--muted);margin-top:2rem}.foot a{color:inherit;text-decoration:underline;text-underline-offset:3px}.foot a.how{color:var(--brick);font-weight:700;font-size:.9rem}.gocard{display:flex;flex-direction:column;gap:.5rem}.gocard .lockin{width:100%}h2.lobbyhead{margin:.5rem 0 .35rem;font-size:1rem}.foot button.linkish.footlink{font-size:.8rem;font-weight:400;color:inherit}.tv{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:2vh;padding:4vh 4vw;background:#14110f;color:#f2ece4;font-size:max(16px,2.4vmin);overflow:hidden}.tv-top{display:flex;align-items:center;gap:2vw;color:#a2968a;flex:0 0 auto}.tv-where{flex:1;font-size:max(16px,min(1.9vw,3.4vh));letter-spacing:.08em;text-transform:uppercase}.tv-trouble{color:#e6a15c;font-size:max(16px,min(1.6vw,3vh))}.tv-join{display:flex;flex-direction:column;align-items:flex-end;gap:.4vh}.tv-join-line{font-size:max(16px,min(1.5vw,2.6vh));color:#a2968a}.tv-code{color:#f2ece4;font-weight:900;letter-spacing:.24em;font-size:max(26px,min(3vw,5.4vh));line-height:1}.tv-main{max-width:none;width:100%;margin:0;padding:0;flex:1 1 auto;display:flex;flex-direction:column;align-items:stretch;gap:2vh;min-height:0}.tv-clock{flex:0 0 auto;font-size:min(16vh,12vw);font-weight:800;line-height:.9;font-variant-numeric:tabular-nums;text-align:center}.tv-clock-low{color:#e0705a}.tv-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:safe center;align-items:center;overflow:hidden}.tv-wall{display:flex;flex-direction:column;align-items:center;gap:1.6vh;min-height:0}.tv-wall-more{color:#6f655c;font-size:max(16px,2vh);letter-spacing:.1em}.tv-word{display:flex;gap:.8vmin}.tv-brick{display:inline-flex;align-items:center;justify-content:center;background:#2c2521;border-bottom:.5vmin solid #1b1614;border-radius:1vmin;font-weight:800;line-height:1}.tv-word-top .tv-brick{--tile: min(calc(84vw / var(--letters, 1)), 22vh);width:var(--tile);height:calc(var(--tile) * 1.12);font-size:calc(var(--tile) * .68);background:#c96a4d;color:#14110f;border-bottom-color:#9c4a33}.tv-word-below .tv-brick{--tile: min(calc(60vw / var(--letters, 1)), 8vh);width:var(--tile);height:calc(var(--tile) * 1.12);font-size:calc(var(--tile) * .64);color:#b3a89d}.tv-seats{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:1.2vh 1.6vw;max-height:24vh;overflow:hidden}.tv-seat{display:flex;align-items:baseline;justify-content:space-between;gap:1.4vw;min-width:min(18vw,30vh);max-width:30vw;padding:1.2vh 1.6vw;border-radius:1vmin;background:#221d1a;color:#8d8279;font-size:max(18px,min(2.2vw,4vh));border-left:.8vmin solid #3a322d}.tv-seat-in{color:#f2ece4;border-left-color:#6fbb8d}.tv-seat-name{min-width:4ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-seat-name-long{font-size:.8em}.tv-seat-score{flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:800}.tv-reveal{flex:1 1 auto;display:flex;flex-direction:column;gap:2vmin;min-height:0}.tv-reveal-head{color:#a2968a;font-size:2.6vmin}.tv-reveal-head strong{color:#c96a4d}.tv-reveal-words{flex:1 1 auto;display:flex;flex-wrap:wrap;align-content:flex-start;gap:1.6vmin;overflow:hidden}.tv-card{flex:0 1 auto;min-width:22vmin;padding:1.6vmin 2vmin;border-radius:1.2vmin;background:#221d1a;border-left:.8vmin solid #3a322d}.tv-card-ok{border-left-color:#6fbb8d}.tv-card-best{border-left-color:#e8b84b;background:#2a231b}.tv-card-no{border-left-color:#9a3b2f;opacity:.65}.tv-card-word{font-size:5vmin;font-weight:800;line-height:1.05}.tv-card-who{color:#a2968a;font-size:2.2vmin}.tv-card-points{font-size:2.6vmin;font-weight:700}.tv-reveal-next{color:#a2968a;font-size:2.6vmin}.tv-reveal-next strong{color:#f2ece4}.tv-final{flex:1 1 auto;display:flex;flex-direction:column;gap:1.2vmin}.tv-paused{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0807c7;z-index:5}.tv-paused-card{max-width:70vmin;padding:5vmin 6vmin;border-radius:2vmin;background:#221d1a;border-left:1vmin solid #c96a4d;text-align:center}.tv-paused-title{font-size:7vmin;font-weight:800;color:#c96a4d;margin-bottom:2vmin}.tv-paused-line{font-size:4vmin;margin:.8vmin 0;color:#f2ece4}.tv-paused-note{font-size:2.6vmin;margin:2.5vmin 0 0;color:#a2968a}.tv-final-head{color:#a2968a;font-size:3vmin;letter-spacing:.1em;text-transform:uppercase}.tv-final-row{display:flex;justify-content:space-between;font-size:4.5vmin;padding:.8vmin 0;border-bottom:1px solid #2c2521;color:#b3a89d}.tv-final-won{color:#e8b84b;font-weight:800}.tv-final-score{font-variant-numeric:tabular-nums}.tv-ask{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5vmin;text-align:center}.tv-ask-title{font-size:9vmin;font-weight:800;color:#c96a4d;letter-spacing:.02em}.tv-ask-line{font-size:3vmin;color:#a2968a;max-width:60vmin;margin:0}.tv-ask-url{font-size:6vmin;font-weight:700;letter-spacing:.02em}.tv-ask-code{color:#e8b84b}.tv-ask-foot{font-size:2.4vmin;color:#6f655c;margin:0}.tile-pip{position:absolute;left:12%;bottom:6%;font-size:max(9px,.46em);font-weight:800;line-height:1;opacity:.9;pointer-events:none;font-variant-numeric:tabular-nums}.worthinline{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.gear{white-space:nowrap}button.pill{height:2.6rem;padding:0 .9rem;border-radius:1.3rem;font-size:1.05rem;line-height:1}.phone-settings{display:flex;flex-direction:column;gap:.4rem;width:100%;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.phone-settings-head{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.switch{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left}.switch-state{font-weight:800;font-variant-numeric:tabular-nums}.switch[aria-pressed=true] .switch-state{color:var(--good)}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.75rem 0 1rem}.home-actions>button{min-width:0}.home-actions>.home-lead{grid-column:1 / -1}button.quiet,button.lockin:not(.primary):not(.danger){background:var(--card);color:var(--ink);border:1.5px solid color-mix(in srgb,var(--ink) 35%,var(--line));box-shadow:0 3px 0 var(--shadow)}button.quiet:active:not(:disabled),button.lockin:not(.primary):not(.danger):active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.look{display:flex;flex-direction:column;gap:.35rem}.swatches{display:flex;gap:.5rem}.swatch{width:2.6rem;height:2.6rem;padding:0;border-radius:10px;border:2px solid var(--line);display:flex;align-items:center;justify-content:center}.swatch.on{border:3px solid var(--ink)}.swatch-dot{width:1rem;height:1rem;border-radius:50%}.look-note{margin:0;font-size:.85rem;color:var(--muted)}.rules-line{text-align:left}.rules-view dl{margin:0 0 .5rem}.rules-view dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid var(--line)}.rules-view dt{color:var(--muted)}.rules-view dd{margin:0;font-weight:600;text-align:right}.home-top{display:flex;justify-content:flex-end;margin-bottom:.5rem}.final-announce{flex-direction:column;gap:1.2rem;cursor:pointer;text-align:center;background:var(--announce-scrim)}.final-trophy{font-size:4rem;line-height:1}.final-call{font-size:2.2rem;font-weight:800;line-height:1.15;color:var(--announce-ink);text-shadow:0 2px 12px rgba(0,0,0,.6);max-width:22rem}.final-announce .muted{color:var(--announce-ink);opacity:.8;font-size:1.05rem}.final-head{text-align:center}.final-title{margin:0 0 .25rem;font-size:2rem}.final-early{display:inline-block;margin:0 0 .6rem;padding:.25rem .8rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.85rem}.final-board{list-style:none;padding:.4rem 1rem;margin:0}.final-row{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.final-row:last-child{border-bottom:none}.final-place{width:1.9rem;height:1.9rem;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;border:1px solid var(--line);color:var(--muted)}.final-row.winner .final-place{background:var(--brick);border-color:var(--brick);color:var(--brick-ink)}.final-name{flex-grow:1;font-weight:600}.final-name.left{color:var(--muted)}.final-score{font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums}.shelf{margin:1.5rem 0 .5rem}.shelf-title{font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}.shelf-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.shelf-game{display:grid;gap:.15rem;padding:.7rem .9rem;border:1px solid var(--line);border-left:5px solid var(--brick);border-radius:8px;background:var(--card);color:var(--ink);text-decoration:none}.shelf-tagline{font-size:.9rem}.shelf-players{font-size:.8rem}.tv-shelf{position:fixed;right:2vmin;bottom:2vmin;display:flex;align-items:center;gap:2vmin;max-width:46vmin;padding:1.6vmin 2vmin;border-radius:1.4vmin;background:var(--card);border:1px solid var(--line);color:var(--ink)}.tv-shelf-kicker{font-size:1.6vmin;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tv-shelf-name{font-size:3.2vmin;font-weight:800}.tv-shelf-tagline{font-size:1.9vmin}.tv-shelf-players{font-size:1.6vmin;color:var(--muted)}.tv-shelf-qr{width:14vmin;height:14vmin;flex-shrink:0;background:#fff;border-radius:.8vmin;padding:.6vmin}.tv-shelf-qr svg{width:100%;height:100%;display:block}.pass-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.8rem;font-weight:800;letter-spacing:.12em;text-align:center;padding:.6rem;border:2px dashed var(--line);border-radius:8px}.optin{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}.optin input{width:auto;margin-top:.2rem}.recover summary{cursor:pointer;color:var(--brick);font-weight:600}.recover[open]{display:grid;gap:.5rem}a.button{display:block;text-align:center;text-decoration:none}.tv-home-link{display:inline-block;margin-top:2vmin;font-size:2.2vmin;color:var(--ink);opacity:.8}.tv-home-corner{position:fixed;top:2vmin;right:2vmin;margin:0}.tv-home-links{display:grid;gap:.5rem}.tv-sound{position:fixed;left:26px;top:20px;z-index:59;width:100px;height:52px;min-height:0;padding:0;font-size:15px;font-weight:800;line-height:1.15;background:#c96a4d;color:#14110f;border:0;border-radius:10px;box-shadow:0 2px 10px #00000073}.tv-sound:focus-visible{outline:3px solid #f2ece4;outline-offset:3px}.tv-sound-settled{background:#2c2521;color:#f2ece4;opacity:.85}.tv-sound-report{position:fixed;left:26px;top:80px;z-index:59;margin:0;max-width:60vw;padding:.8vmin 1.4vmin;border-radius:8px;background:#221d1a;color:#f2ece4;font-size:max(16px,2vmin)}.tv-sound-ask{position:fixed;left:26px;top:80px;z-index:60;max-width:min(26rem,calc(100vw - 52px));padding:1rem;border-radius:10px;background:#221d1a;color:#f2ece4;display:flex;flex-wrap:wrap;gap:.6rem;font-size:max(16px,2vmin)}.tv-sound-ask p{margin:0;flex-basis:100%}.reg-line{margin:.4rem 0 .6rem;padding:.5rem .75rem;border-left:3px solid var(--brick);background:var(--card);color:var(--ink);border-radius:6px;font-style:italic}.reg-who{font-style:normal;font-weight:700;margin-right:.3rem;color:var(--brick)}.pass-note{display:flex;align-items:flex-start;gap:.5rem;margin:.4rem 0 .6rem;padding:.6rem .75rem;border-left:3px solid var(--brick);background:var(--card);color:var(--ink);border-radius:6px}.pass-note p{margin:0;flex:1}.pass-note-close{background:none;border:0;color:inherit;font-size:1.25rem;line-height:1;padding:0 .25rem;cursor:pointer}.pass-note-float{position:fixed;top:.75rem;left:50%;transform:translate(-50%);z-index:30;max-width:min(36rem,calc(100vw - 2rem));box-shadow:0 10px 22px var(--shadow)}.muted-switch{opacity:.55}.tv-reg{flex:0 0 auto;align-self:center;max-width:80vw;margin:0;padding:1.2vh 2vw;border-radius:1.2vmin;background:#14110feb;border-left:.8vmin solid #c96a4d;color:#f2ece4;font-size:max(18px,min(2.4vw,4.2vh));font-style:italic;text-align:center}.tv-reg .reg-who{color:#c96a4d;font-style:normal;font-weight:800}.tv-sound.tv-narrator{left:136px;width:120px}.suggest-card{max-height:85vh;overflow-y:auto;position:relative}.suggest-close{position:sticky;top:0;align-self:flex-end;z-index:1}.suggest-threads{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.suggest-thread{border-left:3px solid var(--brick);background:var(--card);border-radius:6px;padding:.5rem .75rem;display:grid;gap:.35rem}.suggest-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.suggest-new{font-weight:700;color:var(--brick)}.suggest-text,.suggest-msg{margin:0}.suggest-msg.owner{font-style:italic}.suggest-answer textarea{width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tv-host-link{display:grid;justify-items:center;gap:.8rem;margin-top:1rem}.tv-host-scan{display:grid;justify-items:center;gap:.4rem}.tv-host-qr{width:min(28vh,16rem);background:#fff;padding:.6rem;border-radius:10px}.tv-host-qr svg{display:block;width:100%;height:auto}.tv-host-here{font-size:1.4rem;padding:.8rem 1.6rem}.idle-warning{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.4rem 0 .6rem;padding:.6rem .75rem;border-left:3px solid var(--bad);background:var(--card);color:var(--ink);border-radius:6px}.idle-warning p{margin:0;font-weight:700}.tv-idle-warning{position:fixed;top:2vh;left:50%;transform:translate(-50%);font-size:2.4vmin;z-index:20}.buy{border-top:1px solid var(--line);padding-top:.75rem}.buy-offer{display:grid;gap:.35rem}.buy-choices{display:flex;flex-wrap:wrap;gap:.5rem}.buy-choices button{flex:1 1 8rem}.opt-in{font-size:.9rem;line-height:1.35}.board-tabs{display:flex;gap:.5rem}.board-tabs button{flex:1 1 0}.board{display:grid;gap:.35rem}.board-rows{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.board-row{display:grid;grid-template-columns:1.6rem 1fr auto;gap:.5rem;align-items:baseline}.board-rank{color:var(--muted);font-variant-numeric:tabular-nums}.board-who{overflow-wrap:anywhere}.board-value{font-weight:700;font-variant-numeric:tabular-nums}.board-name{margin-top:.25rem}.tv-board{position:fixed;left:2vmin;bottom:2vmin;max-width:40vw;padding:1.2vmin 1.6vmin;border-radius:1vmin;background:var(--card)}.tv-board-head{font-size:1.9vmin;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tv-board-rows{list-style:none;margin:.6vmin 0 0;padding:0;display:grid;gap:.4vmin}.tv-board-row{display:flex;justify-content:space-between;gap:2vmin;font-size:2.6vmin}.tv-board-value{font-weight:800;font-variant-numeric:tabular-nums}.app-update{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:40;margin:0 auto;max-width:34rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.follow-choices{display:flex;gap:.5rem}.follow-choices .follow-join{flex:2 1 0}.follow-choices button:not(.follow-join){flex:1 1 0}
