:root{--bg:#171616;--sunk:#141211;--row:#1c1918;--tile:#1e1b1a;--panel:#23201e;--well:#282423;--panel-2:#302c2a;--panel-3:#3e3937;--ink:#f3efed;--dim:#aaa39f;--faint:#7e7774;--rule:#f3efed17;--edge:#f3efed2b;--edge-hi:#f3efed4d;--line:var(--rule);--accent:#ec3013;--accent-ink:#fff2ef;--accent-hover:#ff563c;--accent-down:#dd2b0f;--accent-text:#ff9783;--accent-tint:#ec301329;--danger:#ff563c;--ok:#65c281;--ok-text:#86d29b;--ok-tint:#65c28126;--warn:#e6b14e;--warn-text:#f4c677;--warn-tint:#e6b14e26;--info:#5cb2f7;--info-text:#7fc5ff;--info-tint:#5cb2f726;--field:var(--panel);--r-sm:3px;--r-md:4px;--r-lg:6px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--font-ui:Archivo, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#f2efed;--paper-ink:#23201e;--paper-red:#c8210a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}#root{justify-content:center;min-height:100dvh;display:flex}.screen{flex-direction:column;gap:20px;width:100%;max-width:480px;min-height:100dvh;padding:24px 20px 0;display:flex;position:relative}.screen.center{justify-content:center;align-items:flex-start}.topbar{z-index:5;padding:calc(14px + env(safe-area-inset-top)) 20px 14px;background:var(--sunk);justify-content:space-between;align-items:center;gap:10px;margin:-24px -20px 0;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;color:var(--accent);margin:0;font-size:18px;font-weight:800}.topbar-tags{gap:8px;min-width:0;display:flex;overflow:hidden}.topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.topbar-meta{letter-spacing:.02em;color:var(--dim);white-space:nowrap;font-size:12px;line-height:1.35}.content{flex-direction:column;flex:1;min-width:0;display:flex}.eyebrow,.grouplabel{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600;line-height:1.35}.prompt,.verdict{letter-spacing:-.02em;text-wrap:pretty;color:var(--ink);margin:0;font-size:30px;font-weight:800;line-height:1.14}.h2row{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:40px 0 16px;font-size:12px;font-weight:600;line-height:1.35}.section-head{justify-content:space-between;align-items:center;gap:12px;margin:40px 0 16px;display:flex}.section-title{letter-spacing:-.015em;margin:32px 0 12px;font-size:17px;font-weight:800}.rule{background:var(--rule);height:1px}.metarow{justify-content:space-between;align-items:center;gap:12px;display:flex}.meta{letter-spacing:.02em;color:var(--dim);font-size:12px;line-height:1.35}.meta.faint{color:var(--faint)}.muted{color:var(--dim)}p.muted{margin:0;font-size:14px;line-height:1.55}.accent{color:var(--accent-text)}.error{color:var(--danger);margin:0;font-size:14px;line-height:1.5}.mono{font-family:var(--font-mono)}.center-text{text-align:left}.reconnecting{z-index:10;padding:6px calc(16px + env(safe-area-inset-right)) 6px calc(16px + env(safe-area-inset-left));background:var(--accent);color:var(--accent-ink);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.35;position:fixed;top:0;left:0;right:0}.btn{border:1px solid var(--edge);border-radius:var(--r-md);width:100%;min-height:56px;color:var(--ink);letter-spacing:-.01em;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:0 20px;font-family:inherit;font-size:16px;font-weight:800;transition:background-color .15s,border-color .15s,color .15s;display:flex}.btn:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);border-color:var(--edge-hi)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:active{background:var(--accent-down);border-color:var(--accent-down)}.btn.ghost{color:var(--dim);border-color:#0000}.btn.danger,.btn.kick,.btn.lb-danger{color:var(--danger);background:0 0;border-color:#0000}.btn.danger:hover,.btn.kick:hover,.btn.lb-danger:hover{background:var(--accent-tint)}.btn.small,.btn.kick{border-radius:var(--r-md);letter-spacing:.02em;border-color:#0000;flex:none;width:auto;min-height:0;padding:8px 12px;font-size:12px;font-weight:600;position:relative}.btn.small:after,.btn.kick:after{content:"";position:absolute;inset:-9px 0}.btn-count{letter-spacing:.02em;font-size:12px;font-weight:600;line-height:1.35}.button-row{gap:12px;display:grid}.seg{border:1px solid var(--edge);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.seg button{color:var(--dim);cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;position:relative}.seg button:after{content:"";position:absolute;inset:-9px 0}.seg button+button{border-left:1px solid var(--rule)}.seg button.on{background:var(--accent);color:var(--accent-ink)}input,textarea{border:1px solid var(--edge);border-radius:var(--r-md);background:var(--field);width:100%;min-height:52px;color:var(--ink);caret-color:var(--accent);outline:none;padding:10px 14px;font-family:inherit;font-size:16px;font-weight:600}input:focus,textarea:focus{border-color:var(--accent)}input::placeholder{color:var(--faint);font-weight:400}.field{width:100%;color:var(--dim);gap:8px;font-size:12px;font-weight:600;line-height:1.35;display:grid}.filter-input{min-height:48px;margin-bottom:20px;font-weight:400}.join-row{gap:12px;width:100%;display:flex}.join-row .btn{flex:none;width:auto}.row-stack{gap:16px;display:grid}.tag,.badge{border-radius:var(--r-sm);background:var(--panel-2);color:var(--ink);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;align-items:center;padding:4px 9px;font-size:11px;font-weight:400;line-height:1.35;display:inline-flex}.tag-neutral{background:var(--panel-2);color:var(--ink)}.tag-accent{background:var(--accent-tint);color:var(--accent-text)}.tag-outline{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent-text);background:0 0;padding:3px 8px}.tag-ok{background:var(--ok-tint);color:var(--ok-text)}.tag-warn{background:var(--warn-tint);color:var(--warn-text)}.tag-info{background:var(--info-tint);color:var(--info-text)}.badge.diff-easy{color:var(--ok-text)}.badge.diff-medium{color:var(--warn-text)}.badge.diff-hard{color:var(--accent-text)}.rows,.player-list,.lb-roster{margin:0;padding:0;list-style:none}.row,.player{border-bottom:1px solid var(--rule);border-left:2px solid #0000;align-items:center;gap:12px;min-height:56px;padding:10px 4px;display:flex}.row:last-child,.player:last-child{border-bottom:0}.row.active,.player.active{border-left-color:var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;background:var(--panel)}.row.tall{min-height:64px;padding:12px 8px}.row-rank{letter-spacing:.02em;width:18px;color:var(--faint);flex-shrink:0;font-size:12px;line-height:1.35}.player-name,.row-main{flex:1;min-width:0;font-size:14px;font-weight:600}.player-name .muted,.row-main .muted{color:var(--faint);font-weight:400}.game-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.game-name,.row-title{font-size:14px;font-weight:600}.game-tagline,.row-sub{letter-spacing:.02em;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.screen-fill{flex-direction:column;flex:1;justify-content:center;gap:16px;display:flex}.cells{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cells span{background:var(--panel);border-radius:var(--r-lg);height:64px;font-family:var(--font-mono);color:var(--ink);justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex}.cells span.next{border-bottom:2px solid var(--accent);color:var(--faint)}.cells.big span{height:82px;color:var(--accent);font-size:46px}.poster{background:var(--accent);color:var(--accent-ink);margin:-24px -20px 0;padding:24px 20px}.poster .eyebrow{color:#fff2efbf}.poster .verdict{letter-spacing:-.03em;color:inherit;margin-top:6px;font-size:34px;line-height:1.06}.poster .poster-sub{color:#fff2efd9;margin:10px 0 0;font-size:13px;line-height:1.4}.poster+.h2row,.poster+.rows{margin-top:24px}.prompt-meta{padding:16px 0 24px}.vote-check{font-size:14px}.vote-row-name{font-size:15px;font-weight:600}.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.option-list{gap:8px;display:grid}.num-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.btn.vote{border-radius:var(--r-lg);background:var(--row);text-overflow:ellipsis;white-space:nowrap;border:0;align-items:flex-end;min-height:96px;padding:12px;font-size:17px;font-weight:600;overflow:hidden}.btn.vote:hover{background:var(--panel)}.btn.vote.selected{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent);color:var(--accent-ink);font-weight:800}.btn.vote.selected:hover{background:var(--accent-hover)}.btn.vote.wrap{white-space:normal}.option-list .btn.vote,.num-grid .btn.vote{align-items:center;min-height:64px}.btn.vote.big{justify-content:center;align-items:center;min-height:88px;font-size:26px;font-weight:800}.card-area{justify-content:flex-start;margin:16px 0 0;display:flex}.card-area.pair{gap:8px}.card-area.pair .playing-card{flex:0 auto;min-width:0}.playing-card{background:var(--paper);width:168px;height:236px;color:var(--paper-ink);border-radius:var(--r-lg);flex-direction:column;flex-shrink:0;justify-content:space-between;padding:14px 16px;display:flex;position:relative}.playing-card.red{color:var(--paper-red)}.playing-card.back{border:1px dashed var(--edge);background:var(--panel);color:var(--ink);outline:0;justify-content:center;align-items:center;font-size:48px}.card-rank{letter-spacing:-.04em;font-size:62px;font-weight:800;line-height:.9}.card-suit{align-self:flex-end;font-size:62px;line-height:.9}.card-pip{font-size:22px;line-height:1;position:absolute;top:16px;right:16px}.rule-text{text-wrap:pretty;margin:12px 0 0;font-size:15px;line-height:1.55}.rule-title{margin:32px 0 12px}.footnote{letter-spacing:.02em;color:var(--faint);margin-top:auto;padding-top:16px;font-size:11px;line-height:1.35}.suit-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.suit-btn{aspect-ratio:1;border-radius:var(--r-lg);background:var(--paper);color:var(--paper-ink);cursor:pointer;touch-action:manipulation;border:0;justify-content:center;align-items:center;font-family:inherit;font-size:34px;display:flex}.suit-btn.red{color:var(--paper-red)}.suit-btn.selected{outline:2px solid var(--accent);outline-offset:2px}.amount-row{grid-template-columns:56px 1fr 56px;align-items:center;gap:12px;display:grid}.amount-row .btn{justify-content:center;min-height:48px;padding:0;font-size:20px}.amount-display{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.race-track{background:var(--bg);gap:2px;margin:0 -20px;display:grid;position:relative}.race-lane{background:var(--row);border-left:2px solid #0000;height:66px;position:relative}.race-lane.mine{background:var(--panel);border-left-color:var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0}.lane-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);pointer-events:none;font-size:11px;font-weight:600;line-height:1.35;position:absolute;top:8px;left:8px}.race-lane.mine .lane-tag{color:var(--accent-text)}.race-path{position:absolute;inset:0 54px 0 0}.race-horse{background:var(--paper);width:46px;height:46px;color:var(--paper-ink);justify-content:center;align-items:center;font-size:26px;transition:left .12s linear;display:flex;position:absolute;bottom:2px}.race-horse.red{color:var(--paper-red)}.race-horse.winner{outline:2px solid var(--accent);outline-offset:2px}.finish-line{background:var(--rule);width:1px;position:absolute;top:0;bottom:0;right:62px}.race-result{margin-top:20px}.race-result .verdict{letter-spacing:-.025em;margin-top:4px;font-size:32px;line-height:1.1}.btn.lock-bet{margin-top:16px}.rows.no-top-rule{border-top:0}.suit-col{flex-shrink:0;width:22px;font-size:16px}.suit-col.red{color:var(--paper-red)}.screen.dt-play{gap:0;padding:0}.dt-hud{padding-top:env(safe-area-inset-top);background:var(--sunk);grid-template-columns:1fr 1fr;gap:0;display:grid}.dt-hud>div{background:var(--bg);padding:12px 16px 10px}.dt-label{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600;line-height:1.35;display:block}.dt-stat{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:1;display:block}.dt-stat.danger{color:var(--accent)}.dt-task{flex-shrink:0;padding:18px 16px 16px}.dt-task h1{letter-spacing:-.025em;text-wrap:pretty;margin:4px 0 0;font-size:34px;font-weight:800;line-height:1.1}.dt-foot{padding:16px 16px calc(14px + env(safe-area-inset-bottom));letter-spacing:.02em;color:var(--faint);flex-shrink:0;font-size:11px;line-height:1.35}.color-grid{--game-red:var(--paper-red);--game-blue:#1b47b8;--game-green:#1a7a45;--game-yellow:#c99400;background:var(--bg);flex:1;grid-template-columns:1fr 1fr;gap:4px;min-height:0;display:grid}.color-btn{border-radius:var(--r-md);color:var(--paper);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;font-family:inherit;font-size:46px;display:flex}.color-btn.on-light{color:var(--paper-ink)}.color-btn.math-opt{background:var(--panel);color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800}.card-note{margin-top:16px}.answer-name{font-size:16px;font-weight:600}.dt-countdown{letter-spacing:-.05em;color:var(--accent);margin:0;font-size:104px;font-weight:800;line-height:1.06}.color-btn.dim{opacity:.3}.color-btn.lit{opacity:1;outline:1px solid var(--ink);outline-offset:-6px}.lb-table-card{background:var(--panel);border-left:2px solid var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;align-items:center;gap:14px;padding:12px;display:flex}.lb-face-cell{background:var(--paper);border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;display:flex}.lb-table-type{letter-spacing:-.015em;font-size:20px;font-weight:800;display:block}.lb-table-info{flex-direction:column;min-width:0;display:flex}.lb-roster,.lb-out,.lb-must-call,.btn.lb-redeal{margin-top:16px}.btn.lb-call{min-height:48px;font-size:15px}.lb-seat{border-bottom:1px solid var(--rule);border-left:2px solid #0000;align-items:center;gap:10px;min-height:52px;padding:10px 8px;display:flex}.lb-seat:last-child{border-bottom:0}.lb-seat.active{border-left-color:var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;background:var(--panel)}.lb-seat.out{opacity:.45}.lb-seat-meta{letter-spacing:.02em;color:var(--dim);white-space:nowrap;font-size:11px;line-height:1.35}.lb-note{border-left:2px solid var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;background:var(--panel);margin:16px 0 0;padding:10px 12px;font-size:13px;line-height:1.45}.lb-hand{flex-wrap:wrap;gap:8px;display:flex}.lb-card{border-radius:var(--r-lg);background:var(--paper);width:66px;height:94px;color:var(--paper-ink);cursor:pointer;touch-action:manipulation;border:0;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8px;font-family:inherit;display:flex}.lb-card:disabled{cursor:default}.lb-card.selected{outline:2px solid var(--accent);outline-offset:2px;transform:translateY(-8px)}.lb-card.liar{outline:2px solid var(--danger);outline-offset:2px}.lb-card-label{font-size:15px;font-weight:800}.lb-card-face{align-self:center;font-size:26px;line-height:1}.flash-bar{background:var(--panel-2);border-radius:var(--r-sm);height:6px;overflow:hidden}.flash-bar-fill{background:var(--accent);width:100%;height:100%}@keyframes flash-shrink{0%{width:100%}to{width:0%}}.bar-track{border-radius:var(--r-sm);background:var(--panel-2);height:6px;margin-top:8px;overflow:hidden}.bar-fill{background:var(--panel-3);height:6px;display:block}.bar-fill.lead{background:var(--accent)}.vote-row{border-bottom:1px solid var(--rule);padding:12px 4px 14px}.vote-row:last-child{border-bottom:0}.persona-card{background:var(--panel);border-left:2px solid var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;flex-direction:column;gap:6px;padding:16px;display:flex}.persona-name{letter-spacing:-.02em;color:var(--ink);font-size:30px;font-weight:800;line-height:1.14}.persona-label{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-weight:700;display:flex}.persona-hint{letter-spacing:.02em;color:var(--dim);font-size:11px;font-weight:400;line-height:1.35}.oa-form{flex-direction:column;flex:1;gap:16px;display:flex}.oa-reveal{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.oa-pick{background:var(--panel);flex-direction:column;gap:4px;padding:16px;display:flex}.oa-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--accent);font-size:52px;font-weight:800;line-height:1}.oa-vs{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:11px;line-height:1.35}.qd-zone{border-radius:var(--r-lg);letter-spacing:-.025em;min-height:200px;color:var(--paper);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;flex:1;font-family:inherit;font-size:34px;font-weight:800}.qd-zone.wait{background:var(--paper-red)}.qd-zone.go{background:#1a7a45}.ptb-bomb{transform-origin:0;align-self:flex-start;margin:8px 0 0;font-size:88px;animation:.7s ease-in-out infinite ptb-pulse}@keyframes ptb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.sp-spectrum{margin:18px 0 8px}.sp-bar{border-radius:var(--r-sm);background:var(--panel);height:16px;position:relative}.sp-target{background:var(--accent);width:2px;height:28px;margin-left:-1px;position:absolute;top:-6px}.sp-ends{letter-spacing:.02em;color:var(--dim);justify-content:space-between;gap:12px;margin-top:8px;font-size:11px;line-height:1.35;display:flex}.sp-end-right{text-align:right}.sp-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--accent);margin:12px 0 4px;font-size:52px;font-weight:800;line-height:1}input[type=range]{min-height:48px;accent-color:var(--accent);background:0 0;border:0;padding:0}.screen.home{padding-top:24px}.topbar.end{background:var(--bg);justify-content:flex-end;margin-top:-24px}.wordmark{letter-spacing:-.05em;color:var(--accent);margin:26px 0 0;font-size:104px;font-weight:800;line-height:1.06}.home-notice{margin-bottom:16px}.home-error{margin-top:12px}.btn.create{margin-top:16px}.btn.join{min-height:52px;margin-top:12px}.btn-arrow{font-size:18px}.offscreen{opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.rejoin{margin-top:auto;padding-top:24px}.rejoin .btn{border:0;gap:12px;min-height:56px;padding:8px 4px}.rejoin-icon{font-size:18px}.lobby-code{margin-top:12px}.code-meta{cursor:pointer;min-height:52px;margin-top:4px;padding:0}.share-link{border:1px solid var(--edge);border-radius:var(--r-md);letter-spacing:.02em;color:var(--ink);white-space:nowrap;padding:8px 14px;font-size:12px;font-weight:800;line-height:1.35}.player-row{min-height:56px}.meta.ready{color:var(--ok-text)}.game-list{flex-direction:column;display:flex}.game-group{padding:28px 0 10px}.game-list>div:first-child .game-group{padding-top:0}.game-group-grid{gap:4px;display:grid}.game-card{border-radius:var(--r-lg);background:var(--row);width:100%;min-height:60px;color:var(--ink);text-align:left;cursor:pointer;touch-action:manipulation;border:0;border-left:2px solid #0000;align-items:center;gap:14px;padding:10px 14px;font-family:inherit;display:flex}.game-card.selected{border-left-color:var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;background:var(--panel);padding-left:12px}.game-card:disabled{cursor:default}.game-card:disabled:not(.selected){opacity:.45}.game-emoji{border-radius:var(--r-md);background:var(--well);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.game-mark{background:var(--accent);flex-shrink:0;width:8px;height:8px}.screen .bottom,.screen .bottom:hover,.screen .bottom:active{z-index:4;box-sizing:content-box;border:12px solid var(--bg);border-left-width:20px;border-right-width:20px;border-bottom-width:calc(12px + env(safe-area-inset-bottom));background-clip:padding-box;width:auto;margin:auto -20px 0;position:sticky;bottom:0}
