:root{--right: #34d399;--wrong: #f43f5e;--box-line: rgba(148, 163, 184, .18)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{max-width:620px;margin:0 auto;padding:calc(var(--nav-h) + 24px) 24px 72px;text-align:center}.app-title{font-size:clamp(1.9rem,5.5vw,2.5rem);margin-bottom:1.1rem}.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.fold{text-align:left}.fold>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:.76rem;letter-spacing:.08em;color:var(--text-dim);transition:color .25s ease}.fold>summary::-webkit-details-marker{display:none}.fold>summary:before{content:"▸";color:var(--coral)}.fold[open]>summary:before{content:"▾"}.fold>summary:hover,.fold>summary:focus-visible{color:var(--text-muted)}.fold-body{padding-top:1rem;color:var(--text-muted);font-size:.86rem;line-height:1.75}.fold-body p+p{margin-top:.9rem}.round-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--box-line)}.chip{font-family:var(--font-display);font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;padding:7px 14px;background:var(--surface-2);color:var(--gold);border:1px solid var(--gold-dim);cursor:pointer;transition:all .25s ease}.chip:hover,.chip[aria-expanded=true]{background:var(--gold-dim);border-color:var(--gold)}.round-actions{display:flex;gap:16px}.linkish{background:none;border:0;color:var(--text-dim);font-family:var(--font-body);font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linkish:hover,.linkish[aria-expanded=true]{color:var(--coral)}.join{display:flex;gap:8px;justify-content:center;margin-bottom:10px}.code-input{width:170px;background:var(--surface-2);border:1px solid var(--box-line);color:var(--text);font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:10px 12px}.code-input::placeholder{color:var(--text-dim)}.code-input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-dim)}.join-error{color:var(--coral);font-size:.82rem;line-height:1.5;max-width:44ch;margin:0 auto}.join-error:empty{display:none}.host{margin-bottom:28px;padding:28px;background:linear-gradient(135deg,var(--surface-2),var(--surface));border:1px solid var(--gold-dim)}.host-kicker{font-family:var(--font-display);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.host-code{font-family:var(--font-display);font-size:clamp(2.6rem,12vw,4.4rem);font-weight:700;letter-spacing:.12em;line-height:1.1;margin:.4rem 0 1.4rem;background:var(--gradient-forge);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.host-note{color:var(--text-muted);font-size:.8rem;line-height:1.6;max-width:40ch;margin:0 auto 1.3rem}.host-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:1.6rem}.host-peek{border-top:1px solid var(--box-line);padding-top:1.1rem;text-align:center}.host-peek-body{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.host-answer{font-family:var(--font-display);font-size:1.25rem;color:var(--gold-bright)}.host-bloch svg{width:168px;height:auto}.play{scroll-margin-top:calc(var(--nav-h) + 24px)}.cube{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;overflow:visible}.cube-shadow{fill:#000;opacity:.45;filter:blur(14px)}.cube-face{cursor:pointer;transition:opacity .5s cubic-bezier(.16,1,.3,1)}.cube-face .face-fill{transition:filter .35s ease}.cube-face .face-glow{fill:var(--coral);opacity:0;transition:opacity .6s ease;pointer-events:none}.cube:not(.is-opened) .cube-face:hover .face-glow,.cube:not(.is-opened) .cube-face:focus-visible .face-glow{opacity:.16}.cube-face:focus,.cube-face:focus-visible{outline:none}.cube-face:focus-visible .face-fill{stroke:var(--coral);stroke-width:2}.face-label{pointer-events:none;text-anchor:middle;font-family:var(--font-display)}.face-axis{font-size:30px;font-weight:700;fill:var(--text);opacity:.85}.face-sub{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;fill:var(--text-muted)}.cube-face.is-open .face-fill{filter:brightness(.25)}.cube-face.is-open .face-glow{opacity:.4}.cube-face.is-open .face-axis{opacity:1;fill:#fff}.cube-face.is-open .face-sub{fill:#fff;opacity:.75}.cube-face.is-sealed{opacity:.3;cursor:default;pointer-events:none}.cube-edges{pointer-events:none}.play-hint{color:var(--text-muted);font-size:.82rem;margin-top:.1rem;min-height:1.4em}.result{margin-top:2px;padding-top:14px;border-top:1px solid var(--box-line);outline:none}.glyph{display:block;width:158px;height:158px;margin:0 auto}.result-line{font-size:1rem;line-height:1.5;margin:0 auto .7rem;max-width:44ch}.result-line strong{color:var(--coral-bright);font-weight:600}.result .fold{display:inline-block;text-align:left}.choice-card{margin-top:18px;padding-top:16px;border-top:1px solid var(--box-line)}.choice-title{font-size:1.1rem;margin-bottom:.7rem}.choices{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:0 0 .6rem;padding:0}.choice{position:relative;display:flex;flex-direction:column;align-items:center;height:100%;padding:5px 3px 7px;background:var(--surface-2);border:1px solid transparent;cursor:pointer;text-align:center;transition:all .25s cubic-bezier(.16,1,.3,1)}.choice input{position:absolute;opacity:0;pointer-events:none}.choice:hover{background:var(--surface-3)}.choice-chip{display:block;width:100%}.chip-bloch{display:block;width:100%;height:auto}.chip-axis{font-family:var(--font-display);font-size:10px;font-weight:700;opacity:.85}.choice-exp{display:none;font-family:var(--font-display);font-size:.6rem;line-height:1.45;color:var(--text-muted);margin-top:4px;word-break:break-word}.choices.is-maths .choice-exp{display:block}.maths-toggle{display:block;margin:0 auto .9rem;background:none;border:0;cursor:pointer;font-family:var(--font-display);font-size:.74rem;letter-spacing:.08em;color:var(--text-dim);padding:0;text-decoration:underline;text-underline-offset:3px;transition:color .25s ease}.maths-toggle:hover,.maths-toggle[aria-pressed=true]{color:var(--text-muted)}.choice-num{position:absolute;top:4px;left:6px;font-family:var(--font-display);font-size:.66rem;font-weight:600;color:var(--text-dim)}.choice-mark{position:absolute;top:3px;right:6px;font-family:var(--font-display);font-size:.9rem;line-height:1}.choice.is-picked{border-color:var(--coral);background:var(--coral-dim)}.choice.is-picked .choice-num{color:var(--coral)}.choice:has(input:focus-visible){outline:2px solid var(--coral);outline-offset:2px}.choice.is-locked{cursor:default}.choice.is-right{border-color:var(--right);border-width:2px;background:#34d3991a}.choice.is-right .choice-num{color:var(--right)}.choice.is-right .choice-mark:after{content:"✓";color:var(--right)}.choice.is-wrong{border-color:var(--wrong);background:#f43f5e14}.choice.is-wrong .choice-num{color:var(--wrong)}.choice.is-wrong .choice-mark:after{content:"✗";color:var(--wrong)}#submitBtn:disabled{opacity:.35;cursor:not-allowed}.reveal-panel{margin-top:34px;padding-top:28px;border-top:1px solid var(--box-line);scroll-margin-top:calc(var(--nav-h) + 24px)}.verdict-head{font-family:var(--font-display);font-size:1.6rem;font-weight:600;margin-bottom:.4rem}.verdict p{color:var(--text-muted);font-size:.9rem;line-height:1.7;max-width:52ch;margin:0 auto}.verdict strong{color:var(--text)}.verdict.is-right .verdict-head{color:var(--right)}.verdict.is-wrong .verdict-head{color:var(--wrong)}.truth-ket{font-family:var(--font-display);font-size:1.8rem;color:var(--gold-bright);margin:1.4rem 0 1.2rem}.truth-expand{display:block;font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.reveal-panel>.fold{display:inline-block;margin-bottom:1.8rem}.truth-note strong{color:var(--text)}.reveal-figs{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start;margin-top:1.4rem}.reveal-odds h3{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.8rem}.bloch{width:100%;max-width:200px;height:auto}.bloch-axis-label{font-family:var(--font-display);font-size:10px}.odds{display:flex;flex-direction:column;gap:6px}.odds-row{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:10px 12px;background:var(--surface-2);border-left:2px solid transparent}.odds-row.is-opened{border-left-color:var(--gold);background:var(--surface-3)}.odds-axis{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text)}.odds-axis small{display:block;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-weight:400}.odds-row.is-opened .odds-axis small{color:var(--gold)}.odds-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.odds-outcome{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:6px}.mini{width:26px;height:26px}.odds-meter{height:4px;background:var(--void);overflow:hidden}.odds-meter span{display:block;height:100%;background:#94a3b8}.odds-outcome b{font-family:var(--font-display);font-size:.74rem}.odds-outcome small{display:none}.manual{margin-top:64px;padding-top:26px;border-top:1px solid var(--box-line)}.manual>summary{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}.manual-intro{margin-bottom:1.6rem}.manual h3{font-size:1.05rem;color:var(--text);margin:2rem 0 .7rem}.legend-figure{margin:0 0 1.8rem;text-align:center}.bloch-legend{width:100%;max-width:310px;height:auto}.legend-svg-label{font-family:var(--font-display);font-size:11px}.legend-figure figcaption{text-align:left;font-size:.82rem;line-height:1.7;color:var(--text-muted);margin-top:.4rem}.legend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.legend-card{background:var(--surface);border:1px solid var(--box-line);padding:16px}.legend-head{display:flex;align-items:baseline;gap:8px;margin-bottom:.4rem}.legend-axis{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--coral)}.legend-face{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.legend-blurb{font-size:.76rem;line-height:1.55;margin-bottom:.8rem}.legend-outs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.legend-out{margin:0;text-align:center}.legend-glyph .glyph{width:100%;max-width:72px;height:auto}.legend-out figcaption{font-size:.64rem;line-height:1.4;margin-top:.2rem}.legend-out b{color:var(--text);font-weight:500}@media(min-width:621px)and (max-height:850px){.app{padding-top:calc(var(--nav-h) + 12px);padding-bottom:40px}.app-title{font-size:1.7rem;margin-bottom:.7rem}.round-bar{margin-bottom:10px;padding-bottom:8px}.cube{max-width:208px}.play-hint{font-size:.76rem;min-height:1.2em}.result{padding-top:10px}.result-line{font-size:.92rem;margin-bottom:.5rem}.choice-card{margin-top:12px;padding-top:12px}.choice-title{font-size:1rem;margin-bottom:.5rem}.maths-toggle{margin-bottom:.6rem}}@media(max-width:620px){.app{padding:calc(var(--nav-h) + 10px) 14px 32px}.app-title{font-size:clamp(1.2rem,6vw,1.6rem);margin-bottom:.5rem}.round-bar{margin-bottom:8px;padding-bottom:6px}.chip{font-size:.7rem;padding:5px 10px}.linkish{font-size:.74rem}.cube{max-width:min(230px,27vh)}.play-hint{font-size:.72rem;min-height:1.1em;margin-top:0}.cube.is-opened+.play-hint{display:none}.result{margin-top:0;padding-top:8px}.result-line{font-size:.86rem;margin-bottom:.4rem}.choice-card{margin-top:10px;padding-top:10px}.choice-title{font-size:.95rem;margin-bottom:.45rem}.choices{grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:.45rem}.chip-bloch{max-width:min(86px,12vh);margin:0 auto}.choice{padding:4px 2px 5px}.maths-toggle{font-size:.68rem;margin-bottom:.5rem}.btn{padding:11px 22px;font-size:.78rem}.reveal-figs,.legend-grid{grid-template-columns:1fr}.bloch{margin:0 auto}.odds-outcomes{grid-template-columns:1fr}}@media(max-width:620px)and (max-height:750px){.app{padding-top:calc(var(--nav-h) + 6px)}.app-title{font-size:1.15rem;margin-bottom:.35rem}.cube{max-width:min(180px,24vh)}.chip-bloch{max-width:min(70px,10.5vh)}.result{padding-top:6px}.choice-card{margin-top:7px;padding-top:7px}.choice-title{font-size:.88rem;margin-bottom:.35rem}.maths-toggle{margin-bottom:.4rem}}@media(prefers-reduced-motion:reduce){.cube-face,.cube-face .face-glow,.cube-face .face-fill,.choice{transition:none!important}.bloch circle animate{display:none}}
