:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--bg:#2f2f2f;--card:#3b3b3b;--line:#4d4d4d;--text:#f1f1f1;--muted:#a9a9a9;--accent:#fff;--accent-text:#161616;--blue:#4f8cff;--blue-bg:#1f3766;--red:#ff5d5d;--red-bg:#6a2526;--gold:#f2c94c;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{touch-action:manipulation;cursor:pointer}button:disabled{cursor:default}.muted{color:var(--muted)}.center{text-align:center}.grow{flex:1;min-width:0}.row{align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--line);background:var(--card);border-radius:12px;min-height:46px;padding:11px 16px;font-weight:600}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn.primary:disabled{color:#cfcfcf;background:#6a6a6a;border-color:#6a6a6a}.btn:disabled{opacity:.7}.btn.ghost{background:0 0}.btn.ghost.off{color:var(--muted)}.btn.big{width:100%;min-height:56px;font-size:1.1rem}.btn.wide{width:100%}.btn.small{min-height:36px;padding:6px 12px}.link-btn{color:var(--muted);background:0 0;border:0;margin-left:auto;padding:4px;font-size:.9rem;text-decoration:underline}.input{border:1px solid var(--line);background:#252525;border-radius:12px;outline:none;width:100%;min-height:46px;padding:11px 14px;font-size:16px}.input:focus{border-color:#9a9a9a}.input.code{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-size:1.2rem;font-weight:700}.field-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:.78rem}.logo{justify-content:center;align-items:center;gap:10px;display:flex}.logo b{letter-spacing:-.02em;font-size:1.9rem}.logo-grid{grid-template-columns:repeat(3,10px);gap:3px;display:grid}.logo-grid i{background:#555;border-radius:2px;width:10px;height:10px}.logo-grid i.col{background:var(--blue)}.logo-grid i.row{background:var(--red)}.logo-grid i.hit{background:var(--gold)}.logo.small b{font-size:1.3rem}.logo.small .logo-grid{grid-template-columns:repeat(3,7px);gap:2px}.logo.small .logo-grid i{width:7px;height:7px}.home{flex-direction:column;justify-content:center;gap:16px;max-width:420px;min-height:100%;margin:0 auto;padding:48px 20px 24px;display:flex}.home .tag{text-align:center;margin:0 0 8px;font-size:1.05rem;line-height:1.4}.home .fine{text-align:center;color:var(--muted);font-size:.9rem;line-height:1.4}.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;align-self:center;padding:8px 14px;font-size:.92rem}.join{gap:10px;display:flex}.join .input{flex:1}.modal-back,.sheet-back{z-index:20;background:#0000008c;display:flex;position:fixed;inset:0}.modal-back{justify-content:center;align-items:center;padding:20px}.modal{background:var(--card);border-radius:18px;flex-direction:column;gap:12px;width:100%;max-width:380px;padding:24px 20px 20px;display:flex}.modal .logo{margin-bottom:8px}.sheet-back{justify-content:center;align-items:flex-end}.sheet{background:var(--card);width:100%;max-width:520px;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;gap:12px;max-height:85%;display:flex;overflow:auto}.page{max-width:520px;padding:14px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;min-height:100%;margin:0 auto;display:flex}.lobby-head{justify-content:space-between;align-items:center;display:flex}.card{background:var(--card);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.card.center{align-items:center}.card-title{align-items:center;gap:8px;font-weight:700;display:flex}.code-big{letter-spacing:.18em;margin-left:.18em;font-size:2.8rem;font-weight:800;line-height:1}.link{color:var(--muted);font-size:.92rem}.lobby-foot{flex-direction:column;gap:10px;margin-top:auto;display:flex}.players{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.players li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 2px;display:flex}.players li:last-child{border-bottom:0}.pname{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dot{background:#5d5d5d;border-radius:50%;flex:none;width:9px;height:9px}.dot.on{background:#8fd18f}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.72rem}.mlabel{color:#111;background:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:700;display:grid}.score{font-variant-numeric:tabular-nums;margin-left:auto;font-size:1.1rem}.players.final{counter-reset:n}.players.final li:before{counter-increment:n;content:counter(n);color:var(--muted);width:18px}.players.final li.win .pname:after{content:" ★"}.seg{background:#252525;border-radius:12px;gap:3px;padding:3px;display:flex}.seg button{background:0 0;border:0;border-radius:9px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;min-height:44px;padding:9px 4px;font-weight:600;display:flex}.seg button small{color:var(--muted);font-size:.72rem;font-weight:500}.seg button.on{background:var(--accent);color:var(--accent-text)}.seg button.on small{color:#444}.seg button:disabled:not(.on){opacity:.6}.tdot{vertical-align:middle;border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.tdot.blue{background:var(--blue)}.tdot.red{background:var(--red)}.teams{grid-template-columns:1fr 1fr;gap:10px;display:grid}.team-col{border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.team-col.blue{background:#4f8cff1f;box-shadow:inset 0 0 0 1px #4f8cff59}.team-col.red{background:#ff5d5d1f;box-shadow:inset 0 0 0 1px #ff5d5d59}.team-name{align-items:center;gap:6px;font-weight:800;display:flex}.team-col .players li{gap:6px;padding:6px 0;font-size:.92rem}.team-col .pname{flex:1;min-width:0}.team-col .pill{padding:1px 6px}.team-col .link-btn{padding:2px;font-size:.8rem}.card-title .link-btn{margin-left:auto}.mode-line{margin:0;font-size:.9rem;line-height:1.4}.game{height:100dvh;padding-top:env(safe-area-inset-top);grid-template-rows:auto 1fr auto auto;display:grid}.top{flex-direction:column;gap:4px;padding:8px 12px;display:flex}.meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.meta b{color:var(--text)}.scoreline{gap:12px;display:flex}.scoreline b{font-size:1rem}.clue-line{flex-wrap:wrap;align-items:baseline;gap:8px;min-height:36px;display:flex}.clue-line .tdot{align-self:center}.who{color:var(--muted);font-size:.9rem}.clue{font-size:1.7rem;font-weight:800;line-height:1.15}.clue.empty{color:#6f6f6f}.status{margin:0;font-size:.95rem;line-height:1.35}.board-wrap{justify-content:center;align-items:flex-start;padding:4px 8px;display:flex;overflow:auto}.grid{gap:4px;width:100%;max-width:640px;display:grid}.head{text-align:center;overflow-wrap:normal;word-break:normal;background:#262626;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:4px 1px;font-size:.8rem;font-weight:800;line-height:1.1;display:flex}.head.col span{max-width:100%}.grid.upright .head.col{justify-content:flex-end;gap:4px;padding:6px 0}.grid.upright .head.col span{writing-mode:vertical-rl;white-space:nowrap;font-size:.82rem;transform:rotate(180deg)}.grid.upright .head.col small{order:-1}.head.col.long{font-size:.68rem}.head.col.xlong{font-size:.58rem}.head small{color:var(--muted);font-size:.68rem;font-weight:600}.head.row-h{text-align:left;flex-direction:row;justify-content:flex-start;gap:6px;padding:4px 8px}.head.lit{box-shadow:inset 0 0 0 2px var(--gold);background:#5a4a17}.cell{aspect-ratio:1;border:1px solid var(--line);background:var(--card);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:2px;display:flex;position:relative;overflow:hidden}.cell:disabled{opacity:1}.cell .cname{color:#6c6c6c;font-size:.72rem;font-weight:600}.cell.pickable{background:#444;border-color:#5c5c5c}.cell.pickable:active{background:#555}.cell.mine{box-shadow:inset 0 0 0 3px #fff}.cell.target{box-shadow:inset 0 0 0 3px var(--gold), 0 0 0 2px var(--gold)}.cell.target .cname{color:var(--gold);font-weight:800}.cell.mine.target{box-shadow:inset 0 0 0 3px #fff, 0 0 0 3px var(--gold)}.cell.played{border-color:#0000}.cell.played.blue{background:var(--blue-bg)}.cell.played.red{background:var(--red-bg)}.cell.played.neutral{background:#44502f}.cell.played.miss{background:#2a2a2a;border:1px dashed #555}.cell.played.miss.blue .res{color:var(--blue)}.cell.played.miss.red .res{color:var(--red)}.cell.played.near{opacity:.85}.res{font-size:1.05rem;line-height:1}.res small{font-size:.62rem;font-weight:700}.mclue{color:#ddd;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.64rem;overflow:hidden}.ptrs{pointer-events:none;flex-wrap:wrap;justify-content:center;gap:2px;display:flex;position:absolute;inset:auto 2px 2px}.ptr{color:#fff;border-radius:999px;padding:1px 4px;font-size:.58rem;font-style:normal;font-weight:800;line-height:1.3}.ptr.blue{background:var(--blue)}.ptr.red{background:var(--red)}.ptr.neutral{background:#8a8a8a}.ptr.me{outline:1.5px solid #fff}.ptr.pick{background:var(--gold);color:#161616}.ptr.pick.blue{box-shadow:0 0 0 2px var(--blue)}.ptr.pick.red{box-shadow:0 0 0 2px var(--red)}.grid.coop .cell.played{background:#3e4a2b}.grid.coop .cell.played.miss{background:#2a2a2a}.panel{background:var(--card);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.target-line{align-items:center;gap:10px;font-size:1rem;display:flex}.tcell{background:var(--gold);color:#161616;border-radius:8px;padding:6px 10px;font-size:1.1rem;font-weight:800}.lock-row{flex-wrap:wrap;gap:8px;display:flex}.lock-state{background:#2b2b2b;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;display:inline-flex}.lock-state.mine{box-shadow:inset 0 0 0 1px #777}.spread{flex-wrap:wrap;gap:6px;font-size:.85rem;display:flex}.spread-c{background:#2b2b2b;border-radius:8px;padding:4px 8px}.spread-c.blue b{color:var(--blue)}.spread-c.red b{color:var(--red)}.outcome{margin:0;font-size:1.15rem;font-weight:800}.outcome.blue{color:var(--blue)}.outcome.red{color:var(--red)}.outcome.big{font-size:1.8rem}.gains{flex-wrap:wrap;gap:4px 14px;font-size:.95rem;display:flex}.players.final{counter-reset:n;align-self:stretch}.picks{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.92rem;list-style:none;display:flex}.picks li{align-items:center;gap:8px;display:flex}.bar{padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:8px;display:flex}.bar .btn{flex:1;min-height:40px;padding:6px 10px;font-size:.92rem}.host-tools .row .btn{flex:1}.log{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.log li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 2px;font-size:.9rem;display:flex}.log li:last-child{border-bottom:0}.log-res{white-space:nowrap;color:var(--muted);font-size:.8rem}.log-res.hit{color:var(--text);font-weight:700}.final-score{gap:20px;font-size:1.2rem;display:flex}.final-score span{align-items:center;gap:6px;display:flex}.page .card .grid{margin:0 auto}.code-big.plain{letter-spacing:0;margin-left:0}.code-big small{color:var(--muted);letter-spacing:0;font-size:1.2rem}.stars{letter-spacing:.1em;color:#5a5a5a;font-size:2rem}.stars .on{color:var(--gold)}.banner{color:#fff;text-align:center;z-index:30;padding:6px;padding-top:calc(6px + env(safe-area-inset-top));background:#b07a2a;font-size:.88rem;position:fixed;top:0;left:0;right:0}.toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));color:#fff;z-index:40;text-align:center;background:#111;border-radius:12px;max-width:90vw;padding:10px 16px;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0006}.update{left:50%;top:calc(10px + env(safe-area-inset-top));z-index:50;background:var(--gold);color:#161616;border:0;border-radius:999px;padding:9px 16px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0006}.help{border:1px solid var(--line);background:var(--card);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;padding:0;font-size:1.1rem;font-weight:800;line-height:1;display:grid}.bar .help{align-self:center}.help.corner{top:calc(14px + env(safe-area-inset-top));position:absolute;right:16px}.home{position:relative}.rules{gap:8px;max-height:90%;font-size:.95rem;line-height:1.45}.rules h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:10px 0 0;font-size:.8rem}.rules p{margin:0}.rules ol,.rules ul{flex-direction:column;gap:5px;margin:0;padding-left:20px;display:flex}@media (width>=900px){.game{grid-template:"top top""board panel"1fr"board bar"/1fr 380px;max-width:1100px;margin:0 auto}.game>.top{grid-area:top}.game>.board-wrap{grid-area:board}.game>.panel{border-radius:14px;grid-area:panel;align-self:start;margin:8px}.game>.bar{border-top:0;grid-area:bar}.head{font-size:.95rem}.mclue{font-size:.78rem}}@media (orientation:landscape) and (height<=560px){.game{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);grid-template:"board top""board panel"1fr"board bar"/1fr minmax(240px,40%)}.game>.top{grid-area:top}.game>.board-wrap{grid-area:board}.game>.panel{background:0 0;grid-area:panel;align-self:start}.game>.bar{border-top:0;grid-area:bar}.grid{max-width:calc(115dvh - 18.4px)}.clue{font-size:1.3rem}}.seg.modes button.unfit:not(.on){opacity:.45}.seg.modes button.on.unfit{background:#cfcfcf}
