:root{color-scheme:light;--bg: #f4f4f1;--card: #ffffff;--card2: #ecece7;--text: #1c1d1b;--muted: #62645e;--line: #d7d8d1;--ex: #0b7a62;--ex-bg: #def3ec;--fa: #5a49c4;--fa-bg: #e9e6fa;--red: #d63d37;--blue: #2b6ad4;--none: #bdbfb7;--on-fill: #ffffff;--ok: #1f7a3d;--bad: #b3261e;--bad-bg: #fbe9e7;--focus: #2b6ad4;--radius: 12px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #141514;--card: #1f201e;--card2: #2a2c29;--text: #ecede8;--muted: #a2a49c;--line: #3a3c38;--ex: #4fd1ac;--ex-bg: #14342b;--fa: #aa9eff;--fa-bg: #27244a;--red: #ff6c65;--blue: #6ca4ff;--none: #5d5f59;--on-fill: #121312;--ok: #6fd08b;--bad: #ff8e86;--bad-bg: #3b2120;--focus: #8db8ff}}:root[data-theme=dark]{color-scheme:dark;--bg: #141514;--card: #1f201e;--card2: #2a2c29;--text: #ecede8;--muted: #a2a49c;--line: #3a3c38;--ex: #4fd1ac;--ex-bg: #14342b;--fa: #aa9eff;--fa-bg: #27244a;--red: #ff6c65;--blue: #6ca4ff;--none: #5d5f59;--on-fill: #121312;--ok: #6fd08b;--bad: #ff8e86;--bad-bg: #3b2120;--focus: #8db8ff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}h1,h2,h3{line-height:1.2;margin:0;text-wrap:balance}h1{font-size:clamp(1.6rem,4vw + 1rem,2.3rem);letter-spacing:-.01em}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0}.muted{color:var(--muted)}.small{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}#result-h:focus{outline:none}.shell{max-width:980px;margin:0 auto;padding-block:0 24px}.bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block:12px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:10px;border:0;background:none;color:var(--text);font:inherit;font-weight:700;font-size:1.1rem;padding:6px 4px;cursor:pointer;border-radius:8px}.brand small{font-weight:600;color:var(--muted);letter-spacing:.06em;margin-left:2px}.brand svg{fill:var(--ex)}.brand svg .alt{fill:var(--fa)}.bar-actions{display:flex;gap:4px}.btn{font:inherit;padding:10px 16px;min-height:44px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}.btn:hover{border-color:var(--muted)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--card2)}.btn.primary{background:var(--ex);border-color:var(--ex);color:var(--on-fill);font-weight:600}.btn.small{min-height:36px;padding:6px 12px;font-size:.9rem}.btn[disabled]{cursor:default;color:var(--muted)}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:16px}.hero{display:grid;gap:12px;padding-block:12px 20px}.hero p{max-width:62ch;color:var(--muted)}.names{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:8px}.field{display:grid;gap:4px;min-width:0}.field label{font-size:.85rem;color:var(--muted)}input[type=text],input[type=number],select,textarea{font:inherit;color:var(--text);background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;min-height:44px;width:100%}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,DejaVu Sans Mono,monospace;font-size:.95rem}.tier{margin-top:22px}.tier-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px}.dots{display:inline-flex;gap:4px;align-self:center}.dots i{width:9px;height:9px;border-radius:50%;background:var(--line);display:block}.dots i.on{background:var(--text)}.levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.level{text-align:left;font:inherit;color:var(--text);background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;min-height:64px;cursor:pointer;display:grid;gap:2px;position:relative}.level:hover{border-color:var(--muted)}.level .t{font-weight:600;padding-right:22px}.level .m{font-size:.82rem;color:var(--muted)}.level.done{border-color:var(--ok)}.level.done:after{content:"✓";position:absolute;top:8px;right:10px;color:var(--ok);font-weight:700}.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:26px}.tools .card{display:grid;gap:10px;align-content:start}.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.ghead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}.ghead .ttl{flex:1 1 200px;min-width:0}.ghead .ttl h2{overflow-wrap:anywhere}.ghead .acts{display:flex;flex-wrap:wrap;gap:6px}.note{margin-bottom:12px;padding:10px 14px;border-radius:10px;background:var(--card2);font-size:.95rem}.roles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.role{display:flex;gap:10px;align-items:center;padding:10px 12px;border:2px solid var(--line);border-radius:var(--radius);background:var(--card);min-width:0}.role .q{font-size:1.7rem;font-weight:700;line-height:1;width:1.4em;text-align:center;flex:none}.role.E .q{color:var(--ex)}.role.A .q{color:var(--fa)}.role.active.E{border-color:var(--ex);background:var(--ex-bg)}.role.active.A{border-color:var(--fa);background:var(--fa-bg)}.role strong{display:block;overflow-wrap:anywhere}.role span.d{display:block;font-size:.82rem;color:var(--muted)}.role .w{font-size:.82rem;color:var(--muted)}@media (max-width: 520px){.role span.d{display:none}.role{padding:8px 10px}}.prefix{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;align-items:center}.prefix .lbl{font-size:.82rem;color:var(--muted);margin-right:2px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);font-size:.95rem}.chip.E{border-color:var(--ex)}.chip.A{border-color:var(--fa)}.chip .q{font-weight:700}.chip.E .q{color:var(--ex)}.chip.A .q{color:var(--fa)}.chip.cur{outline:2px solid var(--text);outline-offset:1px;font-weight:600}.chip .v{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--none)}.chip .v.t{background:var(--red)}.chip .v.f{background:var(--blue)}.chip svg{width:20px;height:20px;display:block;fill:var(--muted)}.chip svg text{display:none}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px}.box{position:relative;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:12px 6px 6px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:4px 10px;min-height:84px}.box .no{position:absolute;top:3px;left:7px;font-size:.7rem;color:var(--muted)}.box.sat{border-color:var(--ok)}.box.sat:after{content:"✓";position:absolute;top:2px;right:7px;font-size:.8rem;font-weight:700;color:var(--ok)}.box.dead{border-color:var(--bad);background:var(--bad-bg)}.box.dead:after{content:"no red";position:absolute;top:3px;right:7px;font-size:.7rem;font-weight:700;color:var(--bad)}.lit{display:inline-flex;flex-direction:column;align-items:center;color:var(--none);cursor:pointer;padding:3px;border-radius:8px}.lit svg{width:30px;height:30px;display:block;fill:currentColor}.lit text{font:700 11px var(--font);fill:#fff;stroke:#00000073;stroke-width:.8px;paint-order:stroke;text-anchor:middle;dominant-baseline:central;pointer-events:none}.lit.t{color:var(--red)}.lit.f{color:var(--blue)}.lit.neg:after{content:"";display:block;width:24px;height:3px;border-radius:2px;background:currentColor;margin-top:3px}.lit:not(.neg){padding-bottom:9px}.lit.hl,.lit.cur{outline:2px solid var(--text);outline-offset:0}.no-labels .lit text{display:none}.cb .lit.f svg{fill:none;stroke:currentColor;stroke-width:2.4}.cb .lit.f text{fill:currentColor;stroke:none}@media (prefers-reduced-motion: no-preference){.lit.cur svg{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.14)}}}.legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.85rem;color:var(--muted);margin:10px 0 0}.legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}.legend .r{background:var(--red)}.legend .b{background:var(--blue)}.turn{position:sticky;bottom:0;z-index:5;margin:16px calc(-1*max(16px,env(safe-area-inset-left,0px))) 0 calc(-1*max(16px,env(safe-area-inset-left,0px)));padding:12px max(16px,env(safe-area-inset-left,0px)) calc(12px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:3px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}@media (min-width: 1013px){.turn{margin-left:0;margin-right:0;padding-left:16px;padding-right:16px;border:1.5px solid var(--line);border-top-width:3px;border-radius:var(--radius);bottom:12px}.turn.E{border-color:var(--ex)}.turn.A{border-color:var(--fa)}}.turn.E{border-top-color:var(--ex)}.turn.A{border-top-color:var(--fa)}.turn .who{flex:1 1 220px;min-width:0}.turn .who strong{overflow-wrap:anywhere}.turn .sym{display:inline-block;vertical-align:-9px}.turn .sym svg{width:28px;height:28px;fill:var(--muted);display:block}.turn .sym svg text{display:none}.picks{display:flex;gap:10px;flex:1 1 280px}.pick{flex:1;min-height:52px;border-radius:10px;border:2px solid transparent;font:inherit;font-weight:700;font-size:1.05rem;color:var(--on-fill);cursor:pointer;display:grid;place-items:center;padding:4px 10px;gap:0}.pick.red{background:var(--red)}.pick.blue{background:var(--blue)}.pick small{font-weight:500;font-size:.75rem}.pick .badge{font-size:.72rem;font-weight:700;background:var(--card);color:var(--text);border-radius:999px;padding:1px 8px;margin-top:2px}.kbd{font-size:.78rem;color:var(--muted)}.result{margin-top:16px;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;gap:12px}.result.E{border-color:var(--ex)}.result.A{border-color:var(--fa)}.result h2{font-size:1.4rem}.result.E h2{color:var(--ex)}.result.A h2{color:var(--fa)}.review{list-style:none;margin:0;padding:0;display:grid;gap:4px}.review li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.93rem;padding:4px 0;border-top:1px solid var(--line)}.review li:first-child{border-top:0}.review .s{display:inline-block;vertical-align:middle}.review .s svg{width:20px;height:20px;fill:var(--muted);display:block}.review .s svg text{display:none}.dotc{display:inline-block;width:10px;height:10px;border-radius:50%}.dotc.t{background:var(--red)}.dotc.f{background:var(--blue)}.tag{font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:999px;border:1.5px solid currentColor}.tag.bad{color:var(--bad)}.tag.good{color:var(--ok)}.score{color:var(--muted);font-size:.95rem}dialog{border:1.5px solid var(--line);border-radius:16px;background:var(--card);color:var(--text);width:min(600px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:18px}dialog::backdrop{background:#00000080}.dlg-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.settings{display:grid;gap:14px}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--ex)}.msg{min-height:1.5em;margin:8px 0;font-size:.93rem;overflow-wrap:anywhere}.msg.err{color:var(--bad)}.msg.ok{color:var(--ok)}.rules ol{margin:10px 0 0;padding-left:1.2em;display:grid;gap:8px}.rules .demo{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.rules .demo .box{min-height:0;padding:10px 8px 4px}.foot{margin-top:28px;font-size:.82rem;color:var(--muted)}.lobby{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:8px}.lobby .card{display:grid;gap:10px;align-content:start}.lobby .code-in{text-transform:uppercase;letter-spacing:.25em;font-weight:700;text-align:center;font-size:1.2rem}.conn{font-size:.8rem;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.conn i{width:9px;height:9px;border-radius:50%;background:var(--ok);display:block}.conn.off i{background:var(--bad)}.banner{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--bad-bg);color:var(--bad);font-size:.93rem}.banner.info{background:var(--card2);color:var(--text)}.wait{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}@media (max-width: 640px){.wait{grid-template-columns:1fr}}.wait .big{font-size:2.2rem;font-weight:800;letter-spacing:.3em;font-variant-numeric:tabular-nums}.wait .link-row{display:flex;gap:8px;flex-wrap:wrap}.wait .link-row input{flex:1 1 220px;font-size:.9rem}.qr{background:#fff;padding:8px;border-radius:12px;width:190px;height:190px;border:1.5px solid var(--line)}.qr svg{width:100%;height:100%;display:block}.you{font-size:.7rem;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--text);color:var(--bg);margin-left:6px;vertical-align:2px}.off-dot{font-size:.72rem;color:var(--bad);font-weight:700;margin-left:6px}.waitturn{flex:1 1 280px;color:var(--muted)}.turn.idle .picks{display:none}.turn.idle{border-top-color:var(--line)}.ready-note{font-size:.9rem;color:var(--muted)}.lvl-pick{display:grid;gap:8px}.chooser{display:grid;gap:10px}.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;width:fit-content}.seg label{padding:8px 16px;cursor:pointer;min-height:40px;display:flex;align-items:center;background:var(--card)}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label:has(input:checked){background:var(--ex);color:var(--on-fill);font-weight:600}.seg label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:-3px}.bsec{margin-top:22px;display:grid;gap:10px}.bsec h4{margin:0 0 6px;font-size:.95rem}.bvars{display:grid;gap:6px}.bvar{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}.bvar.E{border-left:5px solid var(--ex)}.bvar.A{border-left:5px solid var(--fa)}.bvar .bn{width:1.4em;text-align:center;color:var(--muted);font-size:.85rem}.bvar .bsym svg{width:26px;height:26px;display:block;fill:var(--muted)}.bvar .bsym svg text{display:none}.grow{flex:1 1 auto}.qbtn{width:48px;height:44px;border-radius:10px;border:2px solid currentColor;background:transparent;font:inherit;font-size:1.5rem;font-weight:700;cursor:pointer;line-height:1}.qbtn.E{color:var(--ex)}.qbtn.A{color:var(--fa)}.bboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.bbox{border:2px solid var(--line);border-radius:var(--radius);background:var(--card);padding:6px 8px 8px}.bhead{display:flex;align-items:center;justify-content:space-between;min-height:32px}.bchips{display:flex;flex-wrap:wrap;gap:2px}.blit{position:relative;width:44px;height:48px;padding:4px 4px 10px;border:0;background:none;cursor:pointer;border-radius:8px;color:var(--text)}.blit svg{width:100%;height:100%;display:block;fill:currentColor}.blit svg text{fill:var(--bg);stroke:none;font:700 11px var(--font);text-anchor:middle;dominant-baseline:central}.blit.s0{color:var(--line)}.blit.s0 svg text{fill:var(--muted)}.blit.s2:after{content:"";position:absolute;left:9px;right:9px;bottom:3px;height:3px;border-radius:2px;background:currentColor}.blit:hover{background:var(--card2)}.bcheck.E{border-color:var(--ex)}.bcheck.A{border-color:var(--fa)}.bcheck p{margin:0 0 6px}.stats{margin:0;padding-left:1.2em;display:grid;gap:2px;font-size:.93rem}.ftext{font-family:ui-monospace,Menlo,Consolas,monospace;overflow-wrap:anywhere;margin-top:8px!important}.btools{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.btools .card{display:grid;gap:8px;align-content:start}.mine{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.mine li{display:flex;gap:6px;align-items:center;padding:6px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}.chooser .opts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
