:root{--paper: #f6f4f9;--panel: #ffffff;--ink: #1f0833;--muted: #675e75;--line: #e6e0ee;--line-2: #d5cbe3;--brand: #3a0a5a;--brand-ink: #ffffff;--brand-soft: #f3edf9;--accent: #8a3ad2;--accent-soft: #f0e6fb;--brand-2: #2f6feb;--tint: #ece2f7;--good: #11807c;--good-soft: #e2f3f1;--bad: #b4334c;--bad-soft: #fbeaee;--warn: #a35a00;--warn-soft: #fdf0dd;--wood: #b9844c;--font-display: "Sora", "Segoe UI", system-ui, sans-serif;--font-body: "Inter", "Segoe UI", system-ui, sans-serif;--r: 10px;--shadow-1: 0 1px 2px rgba(31, 8, 51, .06);--shadow-2: 0 1px 0 rgba(31, 8, 51, .04), 0 22px 44px -30px rgba(31, 8, 51, .4);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overscroll-behavior:none}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--font-body);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;color:var(--ink);font-weight:650}p{margin:0}.muted{color:var(--muted)}.sm{font-size:13px}.lg{font-size:18px}.center{text-align:center}.bad-text{color:var(--bad)}.good-text{color:var(--good)}.eyebrow{font-size:13px;font-weight:600;color:var(--muted)}.logo{display:block;width:auto;max-width:100%;flex:none;align-self:flex-start;object-fit:contain;object-position:left center}.join-logo{align-self:center;object-position:center}.cube-wrap{display:inline-flex;flex:none}.cube{display:block;width:auto}.cube-tile{display:inline-grid;place-items:center;background:#fff;border-radius:10px;flex:none}.t-sep{width:1px;height:30px;background:var(--line-2);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-weight:600;cursor:pointer;white-space:nowrap;background:none;transition:background-color .15s,border-color .15s,color .15s}.btn:focus-visible,.choice:focus-visible,.key:focus-visible,.name-btn:focus-visible,.vcard:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--brand);color:var(--brand-ink)}.btn.primary:hover:not(:disabled){background:#521580}.btn.ghost{border-color:var(--line-2);background:var(--panel)}.btn.ghost:hover:not(:disabled),.btn.ghost.on{border-color:var(--accent);color:var(--brand)}.btn.sm{min-height:32px;padding:0 12px;font-size:13px}.btn.lg{min-height:48px;padding:0 22px;font-size:17px}.btn.icon{width:38px;padding:0;font-size:22px;border-color:var(--line-2);background:var(--panel)}.btn:disabled{opacity:.45;cursor:default}.link{background:none;border:0;padding:0;color:var(--accent);font-weight:600;text-decoration:underline;cursor:pointer}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--brand-soft);color:var(--brand);font-style:normal}.tag.good{background:var(--good-soft);color:var(--good)}.tag.warm{background:var(--warn-soft);color:var(--warn)}.chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.preview{display:flex;flex-direction:column;min-height:100%}.pv-head{display:grid;grid-template-columns:auto 1fr auto;gap:8px 20px;align-items:center;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line)}.pv-title,.t-brand{display:flex;align-items:center;gap:14px;min-width:0}.pv-title b,.t-lesson b{display:block;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.pv-title span:not(.t-sep),.t-lesson span{display:block;font-size:13px;color:var(--muted)}.t-lesson{min-width:0}.pv-note{font-size:13px;color:var(--muted);max-width:70ch}.pv-note b{color:var(--ink)}.pv-actions{display:flex;align-items:center;gap:12px}.switch{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.switch input{accent-color:var(--brand);width:16px;height:16px}.pv-tabs{display:none;grid-column:1 / -1;gap:4px}.pv-tabs button{flex:1;padding:8px;border:1px solid var(--line-2);background:var(--panel);border-radius:8px;font-weight:600}.pv-tabs button.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.pv-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:16px;padding:16px;min-height:0}.pv-teacher{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-1);overflow:hidden;display:flex;flex-direction:column;min-height:760px}.pv-phone{display:flex;justify-content:center;align-items:flex-start}.phone{width:380px;height:780px;max-width:100%;border-radius:38px;border:10px solid var(--ink);background:var(--paper);overflow:hidden;display:flex;flex-direction:column;position:sticky;top:16px;box-shadow:0 20px 40px -24px #150c2c73}@media (max-width: 1100px){.pv-head{grid-template-columns:1fr}.pv-tabs{display:flex}.pv-body{grid-template-columns:minmax(0,1fr)}.pv-body.show-teacher .pv-phone,.pv-body.show-student .pv-teacher{display:none}.pv-teacher{min-height:640px}.phone{position:static}}.teacher{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--panel)}.t-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 18px;border-bottom:1px solid var(--line)}.t-tabs{display:flex;gap:2px;padding:4px;background:var(--paper);border-radius:12px;border:1px solid var(--line);margin-inline:auto}.t-tabs button{border:0;background:none;padding:7px 18px;border-radius:9px;font-weight:600;color:var(--muted);cursor:pointer;transition:color .15s,background-color .15s}.t-tabs button:hover:not(.on){color:var(--brand)}.t-tabs button.on{background:var(--brand);color:var(--brand-ink);box-shadow:var(--shadow-1)}.t-status{display:flex;gap:8px;align-items:center}.code-chip,.joined-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid var(--line);font-size:13px;font-variant-numeric:tabular-nums}.code-chip b{font-family:var(--font-display);letter-spacing:.08em;color:var(--brand)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--line-2)}.dot.live{background:var(--good)}.t-main{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 16px 10px;overflow:auto}.teach,.lobby{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}.stage-outer{position:relative;width:100%;flex:none}.stage{position:absolute;top:0;transform-origin:top left;background-color:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-2)}.stage-bezel{position:absolute;left:0;right:0;bottom:0;height:60px;z-index:9;display:flex;align-items:center;gap:18px;padding:0 32px 0 12px;background:var(--brand);color:#fff;font-size:19px}.bz-brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}.bz-title{padding-left:18px;border-left:1px solid rgba(255,255,255,.24);color:#ffffffc7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bz-right{margin-left:auto;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#ffffffe6}.t-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tb-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dots{display:flex;gap:5px;align-items:center}.dot-btn{width:12px;height:12px;border-radius:3px;border:1.5px solid var(--line-2);background:var(--panel);padding:0;cursor:pointer}.dot-btn.has-check{border-color:var(--accent)}.dot-btn.on{background:var(--brand);border-color:var(--brand);width:22px}.ink-btn{width:26px;height:26px;border-radius:50%;border:3px solid var(--panel);background:var(--ink);box-shadow:0 0 0 1px var(--line-2);cursor:pointer;padding:0}.ink-btn.on{box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--panel),0 0 0 5px var(--line-2)}.ink{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:7}.ink.is-active{pointer-events:auto;cursor:crosshair;touch-action:none}.ink.is-straight{cursor:cell}.ink-stroke{stroke:none}.lobby-stage{position:absolute;top:0;right:0;bottom:60px;left:0;display:grid;grid-template-columns:1.12fr 1fr;gap:48px;padding:52px 64px 44px}.lobby-left{display:flex;flex-direction:column;justify-content:center;gap:16px}.lobby-logo{margin-bottom:18px}.lobby-url{font-size:26px;color:var(--muted)}.lobby-url b{color:var(--ink);font-weight:600}.lobby-code{font-family:var(--font-display);font-size:148px;font-weight:700;letter-spacing:.02em;color:var(--brand);line-height:.95;margin-left:-6px}.lobby-right{display:flex;flex-direction:column;gap:18px;padding:30px;border-radius:18px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-1)}.lobby-count{font-size:26px;font-weight:600}.lobby-names{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.lobby-names li{padding:12px 16px;border-radius:12px;border:1.5px dashed var(--line-2);color:var(--muted);font-size:22px;transition:background-color .3s,border-color .3s}.lobby-names li.in{border-style:solid;border-color:var(--accent);color:var(--brand);background:var(--accent-soft);font-weight:600}.muted.lg{font-size:24px}.stage-slide{position:absolute;top:0;right:0;bottom:60px;left:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto minmax(0,1fr);column-gap:56px;row-gap:calc(26px + var(--extra, 0px) * .12);padding:calc(30px + var(--extra, 0px) * .18) 60px calc(30px + var(--extra, 0px) * .12)}.stage-slide.no-visual,.stage-slide.is-summary{grid-template-columns:minmax(0,1fr)}.ss-head{grid-column:1 / -1;display:flex;align-items:center;gap:16px;min-width:0}.ss-topic{flex:none;padding:6px 15px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font:600 17px/1.2 var(--font-display)}.ss-title{margin:0;min-width:0;font:600 28px/1.2 var(--font-display);letter-spacing:-.015em;color:var(--brand)}.ss-focus{--fit: 1;display:flex;flex-direction:column;justify-content:safe center;gap:calc(22px * var(--fit));min-width:0;min-height:0;overflow:hidden;padding:4px 2px}.ss-focus>*{flex-shrink:0}.stage-slide .ss-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:5px 14px 5px 11px;border-radius:999px;background:var(--panel);font:600 12px/1.2 var(--font-display);color:var(--accent);box-shadow:0 0 0 1.5px #8a3ad238}.stage-slide .bulb{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ss-idea{display:flex;flex-direction:column;gap:14px}.stage-slide .ss-lines{gap:6px;font-size:15px;line-height:1.35;color:#3d2f50}.stage-slide .ss-lines li{padding-left:24px}.stage-slide .ss-lines li:before{top:.5em;width:10px;height:10px;border-radius:3px;background:#c9a6ee}.ss-focus.is-lead .ss-lines{gap:calc(16px * var(--fit));font-size:calc(27px * var(--fit));color:var(--ink)}.ss-focus.is-lead .ss-lines li:first-child{font:700 calc(38px * var(--fit))/1.2 var(--font-display);letter-spacing:-.015em;padding-left:0;margin-bottom:4px}.ss-focus.is-lead .ss-lines li:first-child:before{display:none}.ss-focus.is-lead .ss-lines li:before{background:var(--accent)}.stage-slide .think{position:relative;overflow:hidden;gap:calc(18px * var(--fit));padding:calc(26px * var(--fit)) 34px calc(30px * var(--fit));border-radius:26px;background:var(--accent-soft);box-shadow:inset 0 0 0 2px #dcc6f3}.stage-slide .think-prompt{position:relative;z-index:1;margin:0;font:600 18px/1.35 var(--font-display);letter-spacing:-.015em;color:var(--ink)}.stage-slide .think-btn{position:relative;z-index:1;min-height:32px;padding:0 18px;border-radius:10px;font-size:14px}.stage-slide .think-reveal{position:relative;z-index:1;display:flex;align-items:flex-start;gap:14px;margin:0;padding:calc(15px * var(--fit)) 20px;border-radius:16px;background:var(--panel);box-shadow:inset 0 0 0 2px #a9dbd5;color:#0b5e5a;font:600 16px/1.35 var(--font-body);animation:reveal-in .35s ease-out}.think-check{flex:none;width:34px;height:34px;margin-top:1px;border-radius:50%;display:grid;place-items:center;background:var(--good);color:#fff;font-size:19px;font-weight:800}.think-mark{position:absolute;right:18px;top:-26px;font:800 210px/1 var(--font-display);color:var(--accent);opacity:.09;pointer-events:none;-webkit-user-select:none;user-select:none}.stage-slide .think.is-open .think-mark{opacity:.05}@keyframes reveal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.stage-slide .mistake{gap:calc(8px * var(--fit));padding:calc(18px * var(--fit)) 24px;border-radius:20px;box-shadow:inset 0 0 0 1.5px #f2c9d2;animation:reveal-in .35s ease-out}.stage-slide .mistake-label{color:var(--bad);box-shadow:0 0 0 1.5px #b4334c40}.stage-slide .mistake-claim,.stage-slide .mistake-fix{margin:0;font-size:15px;line-height:1.35}.stage-slide.is-summary .ss-focus{align-items:center}.stage-slide .summary-list{width:min(900px,100%);margin:0;gap:calc(14px * var(--fit))}.stage-slide .summary-list li{padding:calc(18px * var(--fit)) 26px calc(18px * var(--fit)) 84px;border:0;border-radius:18px;background:var(--brand-soft);font:600 calc(28px * var(--fit))/1.3 var(--font-display);letter-spacing:-.01em}.stage-slide .summary-list li:before{left:22px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;font-size:20px}.ss-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:0;align-self:center}.ss-visual>.fig{width:100%}.stage-slide .tool.is-big .tool-svg{max-height:calc(430px + var(--extra, 0px) * .8)}.ss-caption{margin:0;font-size:18px;color:var(--muted);text-align:center}@media (prefers-reduced-motion: reduce){.stage-slide .think-reveal,.stage-slide .mistake{animation:none}}.ss-lines{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:24px}.ss-lines li{padding-left:22px;position:relative}.ss-lines li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:2px;background:var(--accent)}.ss-lines.sm{font-size:16px;gap:6px}.ss-lines.sm li{padding-left:18px}.ss-lines.sm li:before{width:8px;height:8px}.think{border-radius:14px;padding:18px 22px;background:var(--accent-soft);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.think-label,.mistake-label{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--accent)}.think-prompt{font-size:24px;font-weight:600}.think-reveal{font-size:22px;color:var(--good);font-weight:600}.mistake{border-radius:14px;padding:16px 22px;background:var(--bad-soft);display:flex;flex-direction:column;gap:6px}.mistake-label{color:var(--bad)}.mistake-claim{font-size:21px;text-decoration:line-through;text-decoration-color:var(--bad);text-decoration-thickness:2px}.mistake-fix{font-size:21px;font-weight:600}.summary-list{margin:8px 0 0;padding:0;list-style:none;counter-reset:s;display:grid;grid-template-columns:1fr;gap:12px;max-width:900px}.summary-list li{counter-increment:s;padding:16px 22px 16px 70px;position:relative;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:26px;font-weight:600}.summary-list li:before{content:counter(s);position:absolute;left:20px;top:14px;width:34px;height:34px;border-radius:10px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-family:var(--font-display);font-size:18px}.summary-list.sm{grid-template-columns:1fr;gap:8px}.summary-list.sm li{font-size:15px;padding:10px 12px 10px 48px}.summary-list.sm li:before{left:10px;top:9px;width:26px;height:26px;font-size:14px}.card-slide{display:flex;flex-direction:column;gap:12px}.cs-kicker{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--accent)}.cs-title{font-size:22px;line-height:1.15}.cs-visual{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;justify-content:center}.card-slide .think-prompt{font-size:16px}.card-slide .think-reveal,.card-slide .mistake-claim,.card-slide .mistake-fix{font-size:15px}.card-slide .ss-caption{font-size:13px}.fig{width:100%;height:auto;display:block;margin-inline:auto}.fig-grid{stroke:var(--line);stroke-width:1}.fig-cell{fill:var(--tint);stroke:#cbbfe3;stroke-width:1}.fig-edge{stroke:var(--brand);stroke-width:3.5;stroke-linecap:round}.stick{stroke:var(--wood);stroke-width:6;stroke-linecap:round}.stick-tip{fill:#b3261e}.fig-shape{fill:var(--tint);stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.fig-dash{stroke:var(--ink);stroke-width:2;stroke-dasharray:6 5}.fig-tick{stroke:var(--ink);stroke-width:2}.fig-label{fill:var(--ink);font-weight:600;font-family:var(--font-body)}.fig-label.is-unknown,.fig-region.is-unknown{fill:var(--brand);font-weight:800}.fig-region{fill:var(--ink);font-weight:700;font-family:var(--font-display)}.fig-group{display:flex;gap:16px;justify-content:center;align-items:flex-end;flex-wrap:wrap}.fig-group figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}.fig-group figcaption{font-family:var(--font-display);font-weight:700}.tool{display:flex;flex-direction:column;gap:10px;width:100%;align-items:stretch}.tool-svg{width:100%;height:auto;display:block;user-select:none;-webkit-user-select:none}.tool.is-big .tool-svg{max-height:430px}.tool-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tool.is-big .tool-bar{font-size:19px}.tool.is-big .btn{min-height:44px;font-size:17px}.readout{color:var(--muted);font-variant-numeric:tabular-nums}.readout b{color:var(--ink)}.sep{margin-inline:6px;color:var(--line-2)}.gt-cell{fill:var(--panel);stroke:var(--line);stroke-width:1;cursor:pointer}.gt-cell.on{fill:var(--tint);stroke:#cbbfe3}.gt-edge{stroke:var(--brand);stroke-width:3;stroke-linecap:round;opacity:.55}.gt-walked{stroke:var(--bad);stroke-width:5;stroke-linecap:round}.gt-count{fill:var(--bad);font-size:13px;font-weight:700;paint-order:stroke;stroke:var(--panel);stroke-width:4px}.tool.is-big .gt-count{font-size:17px}.gt-ant{fill:var(--ink);stroke:var(--panel);stroke-width:3}.rt-fill{fill:var(--tint)}.rt-len{stroke:var(--brand);stroke-width:6;stroke-linecap:round}.rt-wid{stroke:var(--brand-2);stroke-width:6;stroke-linecap:round}.rt-t{font-weight:700;font-size:18px}.rt-t.len,.len{fill:var(--brand);color:var(--brand);font-weight:700}.rt-t.wid,.wid{fill:var(--brand-2);color:var(--brand-2);font-weight:700}.rt-eq{font-size:18px;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:center;font-variant-numeric:tabular-nums}.tool.is-big .rt-eq{font-size:26px}.rt-eq2{color:var(--muted)}.sliders label{display:flex;align-items:center;gap:8px;flex:1;min-width:150px;font-weight:600}.sliders input{flex:1;accent-color:var(--brand)}.seg-control{display:inline-flex;align-self:flex-start;padding:3px;border-radius:9px;background:var(--paper);border:1px solid var(--line)}.seg-control button{border:0;background:none;padding:6px 14px;border-radius:6px;font-weight:600;color:var(--muted);cursor:pointer}.seg-control button.on{background:var(--panel);color:var(--brand);box-shadow:0 1px 2px #150c2c1f}.tool.is-big .seg-control button{font-size:18px;padding:8px 18px}.po-ghost{fill:none;stroke:var(--line-2);stroke-width:2;stroke-dasharray:6 6}.po-fill{fill:var(--tint)}.po-cover{fill:var(--tint);transition:opacity 1s}.po-seg{transition:transform 1s cubic-bezier(.5,0,.2,1)}.po-line{stroke:var(--ink);stroke-width:4;stroke-linecap:round}.po-line.moves{stroke:var(--brand)}.po-line.extra{stroke:var(--warn);stroke-width:6}.po-len{font-size:17px;font-weight:700;fill:var(--muted)}.po-len.extra{fill:var(--warn);font-size:20px}.po-len.big{fill:var(--brand);font-size:22px}.tiles-n{font-family:var(--font-display);font-size:20px;min-width:2ch;text-align:center}.tiles-svg{margin-inline:auto}.tl-tile{fill:var(--tint);stroke:#cbbfe3;stroke-width:1.5}.tl-outline{fill:none;stroke:var(--brand);stroke-width:4}.tiles-table{display:flex;flex-wrap:wrap;gap:6px}.tiles-row{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel);cursor:pointer;font-variant-numeric:tabular-nums}.tiles-row.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.tool.is-big .tiles-row{font-size:18px;padding:8px 14px}.jc-sq{fill:var(--tint);stroke:var(--ink);stroke-width:3}.jc-sq.b{fill:#e4edfd}.jc-move{transition:transform 1s cubic-bezier(.5,0,.2,1)}.jc-hidden{stroke:var(--warn);stroke-width:6;stroke-dasharray:8 6}.jc-new{stroke:var(--good);stroke-width:6}.jc-cut{stroke:var(--bad);stroke-width:3;stroke-dasharray:8 6}.jc-t{font-weight:700;font-size:16px;fill:var(--ink)}.jc-t.warn{fill:var(--warn)}.qbody{display:flex;flex-direction:column;gap:12px}.qstem{font-size:18px;font-weight:600;line-height:1.35}.qbody.is-stage .qstem{font-size:30px;line-height:1.25}.qfig{display:flex;justify-content:center}.qbody.is-stage .qfig{padding:8px 0}.stage-choices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.stage-choices li{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line-2);border-radius:12px;background:var(--panel);font-size:22px;font-weight:600}.stage-choices li.is-correct{border-color:var(--good);background:var(--good-soft)}.stage-choices li.is-wrong{opacity:.55}.choice-key{flex:none;width:30px;height:30px;border-radius:7px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:15px}.tier-tag{align-self:flex-start;display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em}.tier-1{background:#e7f0ff;color:#1f4fae}.tier-2{background:var(--good-soft);color:var(--good)}.tier-3{background:var(--warn-soft);color:var(--warn)}.tier-4{background:var(--bad-soft);color:var(--bad)}.choices{display:grid;grid-template-columns:1fr;gap:8px}.choices.has-figures{grid-template-columns:1fr 1fr}.choice{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;min-height:52px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--panel);font-weight:600;cursor:pointer}.choice:hover:not(:disabled){border-color:var(--brand)}.choices.has-figures .choice{flex-direction:column}.numpad{display:flex;flex-direction:column;gap:8px}.numpad-display{display:flex;align-items:baseline;gap:8px;padding:6px 14px;border-radius:12px;border:2px solid var(--brand);background:var(--panel)}.numpad-display input{flex:1;min-width:0;border:0;outline:0;background:none;font-family:var(--font-display);font-size:32px;font-weight:700;font-variant-numeric:tabular-nums}.numpad-unit{color:var(--muted);font-weight:600}.numpad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.key{min-height:48px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel);font-size:22px;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}.key:active:not(:disabled){background:var(--brand-soft)}.key-del{color:var(--muted)}.key-go{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-size:17px}.key:disabled{opacity:.45}.build{display:flex;flex-direction:column;gap:8px}.build-grid{width:100%;height:auto;touch-action:none;border-radius:8px;border:1px solid var(--line-2);background:var(--panel)}.build-cell{fill:var(--panel);stroke:var(--line)}.build-cell.on{fill:var(--tint)}.build-outline{fill:none;stroke:var(--brand);stroke-width:3}.build-bar{display:flex;align-items:center;gap:8px}.build-bar .muted{flex:1;font-size:13px}.check-overlay{position:absolute;top:0;right:0;bottom:60px;left:0;background:var(--panel);display:grid;grid-template-columns:1.25fr 1fr;gap:36px;padding:calc(44px + var(--extra, 0px) * .3) 52px 44px}.co-q{display:flex;flex-direction:column;gap:14px;min-width:0}.co-side{display:flex;flex-direction:column;gap:18px;border-left:1px solid var(--line);padding-left:36px;min-width:0;font-size:18px}.co-count{display:flex;flex-direction:column;gap:8px;font-size:20px}.co-count b{font-family:var(--font-display);font-size:40px}.meter{display:block;height:10px;border-radius:999px;background:var(--paper);overflow:hidden}.meter span{display:block;height:100%;background:var(--brand);transition:width .4s}.waiting .chip{font-size:16px}.co-actions{display:flex;gap:10px;margin-top:auto}.co-result{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.big-pct{font-family:var(--font-display);font-size:56px;font-weight:800;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}.solution{padding:10px 14px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}.check-overlay .solution{font-size:18px}.achart{display:flex;flex-direction:column;gap:8px}.achart-row{display:grid;grid-template-columns:minmax(84px,auto) 1fr auto;gap:4px 10px;align-items:center;font-variant-numeric:tabular-nums}.achart-label{font-weight:700}.achart-track{height:18px;border-radius:5px;background:var(--paper);overflow:hidden}.achart-bar{display:block;height:100%;border-radius:5px;background:var(--bad)}.achart-row.good .achart-bar{background:var(--good)}.achart-row.good .achart-label{color:var(--good)}.achart-note{grid-column:2 / -1;font-size:.82em;color:var(--bad);margin-top:-2px}.picker{display:flex;flex-direction:column;gap:16px}.picker-head h2{font-size:26px}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.game-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:border-color .15s,box-shadow .15s}.game-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-2)}.game-card h3{font-size:20px}.game-card p{color:var(--muted);font-size:14px;flex:1}.glyph{width:48px;height:48px;padding:7px;border-radius:12px;background:var(--brand-soft);fill:var(--accent-soft);stroke:var(--brand);stroke-width:2.5;stroke-linejoin:round}.gc-climb .glyph,.gc-race .glyph{fill:none}.gc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.gc-foot label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:2px}.gc-foot select{padding:6px 8px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel)}.finished{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.host{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.game-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.gb-title{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--brand)}.gb-q,.gb-count{color:var(--muted);font-variant-numeric:tabular-nums}.gb-spacer{flex:1}.worth{font-weight:700;padding:3px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand)}.worth.boss{background:var(--ink);color:var(--panel)}.countdown{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.countdown b{font-family:var(--font-display);font-size:20px;min-width:3.2ch}.countdown.low b{color:var(--bad)}.cd-track{width:120px;height:8px;border-radius:999px;background:var(--paper);overflow:hidden;border:1px solid var(--line)}.cd-fill{display:block;height:100%;background:var(--brand);transition:width .25s linear}.countdown.low .cd-fill,.s-timer.low .cd-fill{background:var(--bad)}.host-body{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.host-body.with-side{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}@media (max-width: 860px){.host-body.with-side{grid-template-columns:minmax(0,1fr)}}.host-main{min-width:0}.host-side{display:flex;flex-direction:column;gap:18px;min-width:0}.reveal{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 860px){.reveal{grid-template-columns:1fr}}.reveal>div{display:flex;flex-direction:column;gap:12px}.reveal-answer{font-size:22px}.reveal-answer b{color:var(--good)}.board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.board li{display:grid;grid-template-columns:34px minmax(90px,160px) 1fr 70px auto;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--paper);font-variant-numeric:tabular-nums}.board .rank,.minirank .rank,.team-rank{font-family:var(--font-display);font-weight:700;color:var(--muted)}.board .name{font-weight:600;display:flex;gap:6px;align-items:center;min-width:0}.board .bar{height:12px;border-radius:999px;background:var(--panel);overflow:hidden}.board .bar span{display:block;height:100%;background:var(--brand);border-radius:999px;transition:width .5s}.board .bar.coins span{background:var(--warn)}.board .score{text-align:right}.gain{color:var(--good);font-weight:700;font-variant-numeric:tabular-nums}.teams{display:flex;flex-direction:column;gap:10px}.teams.is-big{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.team{border-radius:12px;border:1px solid var(--line);border-left:6px solid var(--team);padding:10px 12px;background:var(--panel);display:flex;flex-direction:column;gap:8px}.team-head{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.team-head b{color:var(--team)}.team-score{margin-left:auto;font-family:var(--font-display);font-weight:700;font-size:18px}.teams.is-big .team-score{font-size:28px}.team-members{display:flex;flex-wrap:wrap;gap:5px}.team-members .chip{cursor:pointer;font-size:12px}.team-members .chip.done{background:var(--good-soft);border-color:#bfe5d5}.team-members .chip.away{opacity:.5}.missed{display:flex;flex-direction:column;gap:6px}.missed-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel);cursor:pointer}.missed-row.wide{display:grid;grid-template-columns:56px 1fr;gap:2px 12px;width:100%}.missed-row.wide>:not(.missed-pct){grid-column:2}.missed-row.wide .missed-pct{grid-row:span 3;font-size:22px}.missed-pct{font-family:var(--font-display);font-weight:700;color:var(--bad)}.missed-stem{font-size:14px}.missed-fig{display:block;width:120px}.missed-row.wide .missed-fig{width:160px}.mountain{display:flex;flex-direction:column;gap:6px}.band{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:12px;padding:12px;border-radius:12px;min-height:64px}.band-4{background:var(--bad-soft)}.band-3{background:var(--warn-soft)}.band-2{background:var(--good-soft)}.band-1{background:#e7f0ff}.band-name{font-family:var(--font-display);font-weight:700}.band-chips{display:flex;flex-wrap:wrap;gap:6px}.climber{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--panel);font-size:14px;border:1.5px solid transparent;transition:border-color .3s}.climber b{font-variant-numeric:tabular-nums;color:var(--muted)}.climber.ok{border-color:var(--good)}.climber.no{border-color:var(--bad)}.pu,.badge{font-style:normal;font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--brand);color:var(--brand-ink)}.badge.shield{background:#1f4fae}.badge.boost{background:var(--warn)}.feed{display:flex;flex-direction:column;gap:6px}.feed-row{padding:6px 10px;border-radius:8px;background:var(--paper);font-size:13px}.feed-row.raid{border-left:3px solid var(--warn)}.feed-row.block{border-left:3px solid #1f4fae}.minirank{display:flex;flex-direction:column;gap:4px}.minirank p{display:flex;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}.minirank b{margin-left:auto}.final{display:flex;flex-direction:column;gap:20px}.final-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.final-actions{display:flex;gap:8px}.podium-wrap{display:flex;flex-direction:column;gap:18px;align-items:center}.podium{display:flex;align-items:flex-end;gap:12px;justify-content:center;width:100%;max-width:640px}.step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.p-name{font-family:var(--font-display);font-weight:700;font-size:18px}.p-score{color:var(--muted);font-variant-numeric:tabular-nums}.p-block{width:100%;display:grid;place-items:center;border-radius:10px 10px 0 0;background:var(--tint);color:var(--brand);font-family:var(--font-display);font-weight:800;font-size:36px}.step-1 .p-block{height:150px;background:var(--brand);color:var(--brand-ink)}.step-2 .p-block{height:110px}.step-3 .p-block{height:80px}.rest{margin:0;padding:0 0 0 1.5em;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 24px;width:100%;max-width:640px;font-variant-numeric:tabular-nums}.rest li span{margin-right:6px}.results{display:flex;flex-direction:column;gap:18px}.results-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.results-head h2{font-size:26px}.portal-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--paper);max-width:460px}.portal-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.portal-actions select{padding:7px 8px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.rtable{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}.rtable th,.rtable td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.rtable thead th{background:var(--paper);font-size:12px;color:var(--muted);font-weight:600;vertical-align:bottom}.rtable .num{text-align:right}.concept-th span{display:inline-block;max-width:84px;white-space:normal;line-height:1.2}.concept-td{text-align:center}.mastery{display:inline-grid;place-items:center;min-width:40px;height:24px;padding:0 4px;border-radius:6px;font-size:12px;font-weight:600}.mastery.hi{background:var(--good-soft);color:var(--good)}.mastery.mid{background:var(--warn-soft);color:var(--warn)}.mastery.lo{background:var(--bad-soft);color:var(--bad)}.mastery.none{background:transparent}.legend{display:flex;align-items:center;gap:8px}.legend .mastery{min-width:18px;height:14px}.reteach{display:flex;flex-direction:column;gap:8px}.reteach h3{font-size:18px}.student{display:flex;flex-direction:column;flex:1;min-height:100%;height:100%;background:var(--paper)}.s-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.s-name{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}.s-lesson{font-size:13px;color:var(--muted)}.s-body{flex:1;overflow-y:auto;padding:16px}.s-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:60%;padding:24px 16px;flex:1}.s-center h1{font-size:26px}.s-center h2{font-size:22px}.join form{display:flex;flex-direction:column;gap:10px;width:100%;max-width:280px}.code-input{text-align:center;font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:.12em;padding:12px;border-radius:12px;border:2px solid var(--line-2);background:var(--panel);text-transform:uppercase}.code-input:focus{outline:none;border-color:var(--brand)}.name-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.name-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--panel);font-weight:600;cursor:pointer}.name-btn:hover{border-color:var(--brand)}.name-btn small{font-size:11px;color:var(--muted);font-weight:500}.name-btn.taken{background:var(--paper)}.s-stack{display:flex;flex-direction:column;gap:12px}.locked{text-align:center;padding:16px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-weight:700}.result{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;background:var(--panel);border:1.5px solid var(--line)}.result.good{border-color:var(--good);background:var(--good-soft)}.result.bad{border-color:#f0c4ad;background:var(--bad-soft)}.result-head{display:flex;align-items:center;gap:10px;font-size:20px}.result-head b{font-family:var(--font-display)}.result-head .gain{margin-left:auto;font-size:18px}.result-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--panel);background:var(--good)}.result.bad .result-mark{background:var(--bad)}.result-why{color:var(--bad);font-weight:600;font-size:14px}.result .solution{background:var(--panel)}.s-gamebar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-variant-numeric:tabular-nums;flex-wrap:wrap}.s-gamebar b{font-family:var(--font-display)}.team-pill{padding:2px 10px;border-radius:999px;background:var(--team);color:#fff;font-weight:700;font-size:13px}.s-timer{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-variant-numeric:tabular-nums}.s-timer .cd-track{width:70px}.s-timer.low{color:var(--bad)}.boss-banner{align-self:flex-start;padding:4px 12px;border-radius:999px;background:var(--ink);color:var(--panel);font-weight:700;font-size:13px}.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.rung{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:8px;background:var(--panel);border:1px solid var(--line);font-size:11px;font-weight:600;color:var(--muted)}.rung.done{background:var(--brand-soft);color:var(--brand);border-color:transparent}.rung.now{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.pips{display:flex;gap:3px}.pips i{width:6px;height:6px;border-radius:50%;background:#ffffff59;display:block}.pips i.on{background:#fff}.banner{padding:10px 14px;border-radius:12px;font-weight:700;text-align:center}.banner.up{background:var(--brand);color:var(--brand-ink)}.banner.pu{background:var(--warn-soft);color:var(--warn)}.powerups{display:flex;gap:8px}.hint{padding:8px 12px;border-radius:10px;background:var(--warn-soft);color:#5b3b00;font-size:14px}.cards{display:grid;grid-template-columns:1fr;gap:8px}.vcard{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--panel);cursor:pointer;text-align:left}.vcard b{font-family:var(--font-display);font-size:18px}.vcard span{font-size:13px;color:var(--muted)}.vc-raid{border-color:var(--warn)}.vc-shield{border-color:#1f4fae}.vc-boost{border-color:var(--brand)}.vc-bonus{border-color:var(--good)}@media (prefers-reduced-motion: reduce){.po-seg,.jc-move,.meter span,.board .bar span,.cd-fill{transition:none}}.live-shell,.join-shell{min-height:100%;display:flex;flex-direction:column}.live-shell .teacher{height:100vh;height:100dvh}.join-shell .student{min-height:100vh}.live-banner{padding:8px 16px;background:var(--warn-soft);color:#5b3b00;font-size:14px;text-align:center}.live-setup{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.setup-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:22px;padding:28px;border-radius:20px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-2)}.setup-brand{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.setup-brand h1{font-size:26px}.setup-form{display:flex;flex-direction:column;gap:14px}.setup-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.setup-form select,.setup-form input{padding:10px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel);font-weight:500}.setup-form input{font-family:var(--font-display);letter-spacing:.08em;font-size:20px}.setup-grid{display:grid;grid-template-columns:minmax(0,400px) minmax(0,560px);gap:20px;align-items:start;justify-content:center;width:100%}@media (max-width: 960px){.setup-grid{grid-template-columns:minmax(0,1fr)}}.setup-grid .setup-card{max-width:none}.lib-head{display:flex;justify-content:space-between;align-items:baseline}.lib-head h2{font-size:20px}.lib-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px}.lib-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;flex-wrap:wrap}.lib-list li+li{border-top:1px solid var(--line)}.lib-main{display:flex;flex-direction:column;gap:2px;min-width:0}.lib-actions{display:flex;gap:6px;align-items:center}.btn.danger{color:var(--bad);border-color:#f0c4ad}.drop{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:16px;border-radius:12px;border:2px dashed var(--line-2);background:var(--paper);transition:border-color .15s,background .15s}.drop.is-over{border-color:var(--brand);background:var(--brand-soft)}.drop-actions{display:flex;gap:8px}.paste{display:flex;flex-direction:column;gap:8px;width:100%}.paste textarea{width:100%;font:13px/1.4 ui-monospace,SF Mono,Menlo,Consolas,monospace;padding:10px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel);resize:vertical}.paste .btn{align-self:flex-start}.report{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;font-size:14px}.report.good{background:var(--good-soft);border:1px solid #bfe5d5}.report.bad{background:var(--bad-soft);border:1px solid #f0c4ad}.report ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;font-size:13px}.report ul.warn{color:var(--warn)}.quest-ready{margin:2px 0 0;padding-top:8px;border-top:1px dashed rgba(31,8,51,.16);display:flex;flex-direction:column;gap:4px}.quest-ready p{margin:0}p.quest-ready.is-ready{color:var(--good);font-weight:600}.quest-ready ul{color:var(--ink)}.lib-save{display:flex;gap:8px;flex-wrap:wrap}.lib-note{padding-top:2px}.preview.is-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--paper);overflow:auto}.pv-open{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 16px 0}@media (max-width: 800px){.pv-open{grid-template-columns:minmax(0,1fr)}}.sound-btn{margin-left:8px;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer}.s-head{gap:8px}.s-head .s-lesson{margin-left:auto}.banner.miss{background:var(--bad-soft);color:var(--bad)}.banner.frenzy{background:linear-gradient(90deg,#0e7490,#6d28d9);color:#fff;animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{filter:brightness(1)}to{filter:brightness(1.25)}}.game-group{display:flex;flex-direction:column;gap:8px}.game-group+.game-group{margin-top:6px}.game-card h4{font-family:var(--font-display);font-size:19px;margin:0}.gc-foot .check{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.gc-foot .check input{accent-color:var(--brand)}.gl-rally,.gl-fish,.gl-fort,.gl-hack{fill:var(--tint)}.gl-duel{fill:none}.terminal{display:flex;flex-direction:column;gap:10px;margin:-16px;padding:16px;min-height:calc(100% + 32px);background:#0b1020;color:#a7f3d0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.term-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border:1px solid #1e3a2f;border-radius:10px;background:#0f172a;font-variant-numeric:tabular-nums}.term-bar b{color:#4ade80;font-size:18px}.term-bar .s-timer{color:#a7f3d0}.term-chip{padding:1px 8px;border-radius:999px;background:#1e3a8a;color:#bfdbfe;font-size:12px}.term-sub{display:flex;gap:8px;font-size:13px;color:#6ee7b7}.term-sub b{color:#fff;letter-spacing:.08em}.term-link{color:#93c5fd;font-family:inherit}.term-title{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:#fff;font-size:20px}.term-title.sm{font-size:15px}.term-muted,.term-line{color:#6ee7b7;font-size:13px}.term-line.ok{color:#4ade80;font-weight:700}.term-alert{padding:8px 10px;border-radius:8px;background:#1e293b;color:#fcd34d;font-size:13px}.term-alert.bad{background:#450a0a;color:#fecaca;animation:shake .4s}@keyframes shake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.trace-btn{padding:12px;border-radius:10px;border:2px solid #4ade80;background:#052e16;color:#4ade80;font:700 14px ui-monospace,Menlo,monospace;cursor:pointer;animation:pulse .8s ease-in-out infinite alternate}.term-card{background:var(--panel);color:var(--ink);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;font-family:var(--font-body)}.pw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pw-grid.three{grid-template-columns:1fr}.pw{padding:14px 6px;border-radius:10px;border:1px solid #1e3a2f;background:#0f172a;color:#4ade80;font:700 15px ui-monospace,Menlo,monospace;letter-spacing:.1em;cursor:pointer}.pw:hover,.pw.on{border-color:#4ade80;background:#052e16}.term-btn{align-self:flex-start;background:transparent;color:#a7f3d0;border-color:#1e3a2f}.term-prog{background:#0f172a;border-color:#1e3a2f;color:#a7f3d0;font-family:inherit}.term-prog b{font-family:inherit;color:#fff}.term-prog span{color:#6ee7b7}.prog-hack{border-color:#dc2626}.prog-hack b{color:#fca5a5}.prog-firewall{border-color:#2563eb}.prog-overclock{border-color:#d97706}.term-name{background:#0f172a;border-color:#1e3a2f;color:#fff}.term-name small{color:#6ee7b7}.mini-track{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:12px;background:#1f2937}.mt-lane{display:grid;grid-template-columns:64px 1fr 30px;gap:6px;align-items:center;color:#d1d5db;font-size:12px}.mt-lane.me{color:#fff;font-weight:700}.mt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-road{position:relative;height:14px;border-radius:4px;background:repeating-linear-gradient(90deg,#374151 0,#374151 10px,#4b5563 10px,#4b5563 20px)}.mt-car{position:absolute;top:1px;width:20px;height:12px;border-radius:4px;background:#9ca3af;transition:left .6s cubic-bezier(.3,0,.2,1)}.mt-lane.me .mt-car{background:#facc15;box-shadow:0 0 0 2px #fff}.mt-dist{text-align:right;font-variant-numeric:tabular-nums}.gears{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gear{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;border-radius:12px;border:2px solid var(--gear);background:var(--panel);color:var(--gear);cursor:pointer}.gear b{font-family:var(--font-display);font-size:26px}.gear span{font-size:11px;font-weight:600}.gear em{font-style:normal;font-weight:800}.gear:hover{background:var(--paper)}.sea{position:relative}.catch{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:linear-gradient(180deg,#e0f2fe,#bae6fd)}.catch div{display:flex;flex-direction:column;gap:2px}.catch b{font-family:var(--font-display);font-size:17px}.catch.rare{background:linear-gradient(180deg,#fef3c7,#fde68a)}.fish-icon.rare{filter:drop-shadow(0 0 6px rgba(232,177,12,.7))}.depths{display:flex;flex-direction:column;gap:6px}.depth{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 14px;border-radius:12px;border:0;color:#fff;text-align:left;cursor:pointer}.depth b{font-family:var(--font-display);font-size:17px}.depth .sm{opacity:.85}.depth.d1{background:#38bdf8;color:#082f49}.depth.d2{background:#0ea5e9}.depth.d3{background:#1d4ed8}.depth.d4{background:#172554}.fort{display:flex;flex-direction:column;gap:8px}.hp{display:inline-block;width:64px;height:8px;border-radius:999px;background:var(--bad-soft);overflow:hidden}.hp span{display:block;height:100%;background:var(--good);transition:width .3s}.hp.low span{background:var(--bad)}.fort-map{position:relative}.fort-canvas{width:100%;aspect-ratio:12 / 8;display:block;border-radius:12px;touch-action:manipulation;cursor:pointer}.fort-fallen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border-radius:12px;background:#150c2cc7;color:#fff;padding:12px}.build-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.build-menu.one{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}.tower-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel);cursor:pointer;font-size:12px}.tower-btn i{width:16px;height:16px;border-radius:50%}.tower-btn span{font-weight:700}.tower-btn small{color:var(--muted);font-size:10px;text-align:center}.tower-btn:disabled{opacity:.45}.duel-banner{align-self:stretch;text-align:center;padding:8px 12px;border-radius:10px;background:var(--ink);color:var(--panel);font-weight:700}.duel-result{text-align:center;padding:10px;border-radius:12px;font-family:var(--font-display);font-weight:700;font-size:18px;background:var(--paper)}.duel-result.win,.duel-result.royale{background:var(--good-soft);color:var(--good)}.duel-result.lose{background:var(--warn-soft);color:var(--warn)}.duels{display:flex;flex-direction:column;gap:6px}.duel-card{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;padding:6px 8px;border-radius:10px;background:var(--paper)}.duelist{display:flex;flex-direction:column;padding:4px 8px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:600}.duelist em{font-style:normal;color:var(--good);font-size:12px}.duelist.done{border-color:var(--line-2)}.duelist.win{background:var(--good-soft);border-color:#bfe5d5}.duelist.lose{opacity:.6}.vs{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.royale-row{display:flex;gap:8px;align-items:baseline;padding:4px 8px;border-radius:8px}.royale-row.done{background:var(--paper)}.net-wrap{align-self:start;background:#0b1020;border-radius:14px;padding:8px}.net{width:100%;height:auto;display:block}.net-mesh{stroke:#1e293b;stroke-width:1}.net-edge{stroke-width:4;transition:opacity .4s}.net-edge.hack{stroke:#ef4444}.net-edge.block{stroke:#3b82f6}.net-edge.deny{stroke:#64748b;stroke-dasharray:6 6}.net-edge.trace{stroke:#4ade80}.net-node circle{fill:#052e16;stroke:#4ade80;stroke-width:2}.net-node.hit circle{fill:#450a0a;stroke:#ef4444}.net-node .net-fw{fill:none;stroke:#3b82f6;stroke-dasharray:4 4}.net-bits{fill:#4ade80;font:700 13px ui-monospace,Menlo,monospace}.net-name{fill:#e2e8f0;font:600 13px var(--font-body)}.feed-row.hack{border-left:3px solid #ef4444}.feed-row.deny{border-left:3px solid #94a3b8}.feed-row.trace{border-left:3px solid #22c55e}.feed-row.lap{border-left:3px solid var(--brand)}.feed-row.fall{border-left:3px solid var(--bad)}.feed-row.wave{border-left:3px solid var(--good)}.track{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:#1f2937}.lane{display:grid;grid-template-columns:26px minmax(80px,130px) 1fr 52px 40px;gap:8px;align-items:center;color:#e5e7eb;font-variant-numeric:tabular-nums}.lane-rank{color:#9ca3af;font-family:var(--font-display);font-weight:700}.lane-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-road{position:relative;height:28px;border-radius:6px;background:#374151}.lane-road .tick{position:absolute;top:12px;width:10px;height:3px;background:#6b7280}.lane-road .finish{position:absolute;right:0;top:0;bottom:0;width:10px;border-radius:0 6px 6px 0;background:repeating-conic-gradient(#fff 0,#fff 25%,#111 0,#111 50%) 0 0 / 10px 10px}.car{position:absolute;top:3px;width:28px;height:22px;border-radius:6px 10px 10px 6px;display:grid;place-items:center;color:#fff;font:800 12px var(--font-display);transition:left .8s cubic-bezier(.3,0,.2,1);box-shadow:0 2px #00000059}.car.nitro:after{content:"";position:absolute;left:-12px;top:6px;width:12px;height:10px;border-radius:50% 0 0 50%;background:linear-gradient(90deg,transparent,#f97316,#fde047);animation:pulse .3s infinite alternate}.lane-lap{font-size:12px;color:#fbbf24}.lane-dist{text-align:right;color:#fff}.sea-board{padding:12px;border-radius:14px;background:linear-gradient(180deg,#e0f2fe,#dbeafe)}.sea-board.frenzy{background:linear-gradient(180deg,#a5f3fc,#c4b5fd)}.sea-board .board li{background:#ffffffbf}.board .bar.sea span{background:#0ea5e9}.biggest{display:flex;flex-direction:column;gap:6px}.big-catch{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;background:var(--paper)}.big-catch span{display:flex;flex-direction:column;font-size:14px}.castles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;align-content:start}.castle{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--panel)}.castle.fallen{background:var(--bad-soft)}.castle-head{display:flex;align-items:baseline;gap:6px}.castle-score{margin-left:auto;font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.castle .hp{width:100%;height:10px}.gl-pizza,.gl-factory{fill:var(--tint)}.gl-cut{fill:var(--panel)}.upgrades,.robot-shop{display:flex;flex-direction:column;gap:6px}.upgrade{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--panel)}.upgrade.can{border-color:var(--line-2)}.up-icon{display:grid;place-items:center;width:34px}.up-text{display:flex;flex-direction:column;min-width:0}.up-text b{font-size:14px}.up-text small{color:var(--muted);font-size:12px}.up-buy{min-width:64px;font-variant-numeric:tabular-nums}.upgrade.can .up-buy{background:var(--good);border-color:var(--good);color:#fff}.oven-strip{padding:8px 12px;border-radius:10px;background:#fff4e5;color:#8a3b00;font-size:14px;font-weight:600}.banner.rush{background:linear-gradient(90deg,#c2410c,#db2777);color:#fff;animation:pulse .9s ease-in-out infinite alternate}.counter{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 8px 0;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#fff7ed 0 78%,var(--wood) 78%)}.customer{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 8px;border-radius:12px;border:2px solid transparent;background:transparent;cursor:pointer;animation:walk-in .5s ease-out}.customer:disabled{cursor:default}.customer.ready{border-color:var(--good);background:#ffffffd9;box-shadow:0 3px #0b7f5840}.customer.ready:hover{transform:translateY(-2px)}.customer.arriving{opacity:.45}.customer.critic .cust-tag{background:#111827;color:#fde68a}.customer.party .cust-tag{background:#db2777;color:#fff}@keyframes walk-in{0%{transform:translate(24px);opacity:0}to{transform:none}}.bubble{display:inline-flex;align-items:center;gap:2px;padding:2px 8px 2px 3px;border-radius:999px;background:var(--panel);border:1px solid var(--line-2);font-family:var(--font-display);font-size:15px}.cust-tag{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--paper);color:var(--ink);white-space:nowrap}.cust-pay{font-size:12px;font-weight:700;color:#fff;text-align:center;line-height:1.2;min-height:2.4em;display:grid;place-items:center}.customer.ready .cust-pay{color:var(--good)}.stock{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:8px;margin-top:-12px;border-radius:0 0 14px 14px;background:#f3e3cf}.stock-item{display:inline-flex;align-items:center;gap:3px;padding:2px 8px 2px 2px;border-radius:999px;background:var(--panel);font-variant-numeric:tabular-nums}.stock-item.empty{opacity:.55}.oven-glyph{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#7c2d12;color:#fdba74;font-family:var(--font-display);font-weight:800}.factory .rate{font-weight:700;color:var(--muted)}.factory .rate.on{color:var(--good)}.gear-icon{color:#64748b;flex:none}.battery{position:relative;height:26px;border-radius:8px;background:#e5e7eb;overflow:hidden;border:1px solid #cbd5e1}.bat-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#22c55e,#4ade80);transition:width .25s linear}.battery.low .bat-fill{background:#f59e0b}.battery b{position:relative;display:block;text-align:center;line-height:24px;font-size:13px;color:#0f172a}.battery.empty{border-color:var(--bad);background:var(--bad-soft)}.battery.empty b{color:var(--bad)}.banner.surge{background:linear-gradient(90deg,#0369a1,#7c3aed);color:#fff;animation:pulse .9s ease-in-out infinite alternate}.banner.glitched{background:#1f2937;color:#fca5a5;animation:shake .4s}.floor{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;border-radius:14px;background:repeating-linear-gradient(135deg,#e2e8f0 0,#e2e8f0 12px,#e9eef4 12px,#e9eef4 24px);border:1px solid #cbd5e1}.slot{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;border:1.5px solid #cbd5e1;background:var(--panel);cursor:pointer;padding:0}.slot.empty{border-style:dashed;background:#fff6;cursor:default}.slot.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.slot.set{border-color:#eab308}.slot .robot-icon{width:82%;height:auto}.slot-menu{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:14px}.slot-menu>span{margin-right:auto}.robot-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.robot-card{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:left}.robot-card span{display:flex;flex-direction:column;min-width:0}.robot-card b{font-size:13px}.robot-card small{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.robot-card.can{border-color:var(--good)}.robot-card:disabled{cursor:default}.robot-card:disabled b{color:var(--muted)}.chip-overdrive{border-color:var(--brand)}.chip-battery{border-color:var(--good)}.chip-crate{border-color:#b45309}.chip-glitch{border-color:#dc2626;background:#1f2937}.chip-glitch b{color:#fca5a5}.chip-glitch span{color:#e5e7eb}.factory-strip{background:#ecfdf5;color:#065f46}.street{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;align-content:start}.street.rush .shopfront{box-shadow:0 0 0 2px #db2777}.shopfront{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 12px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;overflow:hidden}.awning{position:absolute;inset:0 0 auto 0;height:12px;background:repeating-linear-gradient(90deg,#dc2626 0,#dc2626 14px,#fff 14px,#fff 28px)}.sf-head{display:flex;align-items:baseline;gap:6px}.sf-money{margin-left:auto;font-family:var(--font-display);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums;color:var(--good)}.sf-menu{display:flex;gap:2px}.sf-pizza{position:relative}.sf-pizza i{position:absolute;right:-2px;bottom:-2px;font-style:normal;font-size:10px;font-weight:800;background:var(--brand);color:#fff;border-radius:999px;padding:0 4px}.feed-row.critic{border-left:3px solid #111827}.feed-row.party{border-left:3px solid #db2777}.feed-row.unlock{border-left:3px solid #c2410c}.feed-row.frenzy{border-left:3px solid #7c3aed}.plant{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:#e2e8f0;align-self:start}.plant.surge{background:linear-gradient(90deg,#dbeafe,#ede9fe)}.plant-row{display:grid;grid-template-columns:24px minmax(90px,140px) 1fr 60px 84px;gap:10px;align-items:center;padding:6px 10px;border-radius:10px;background:var(--panel)}.plant-row.off{background:#f1f5f9}.plant-row.glitched{box-shadow:inset 3px 0 #dc2626}.plant-name{display:flex;flex-direction:column;min-width:0}.plant-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plant-name small{color:var(--muted);font-size:12px}.plant-row:not(.off) .plant-name small{color:var(--good)}.plant-bots{display:flex;gap:2px;align-items:center;min-width:0;overflow:hidden}.plant-bots .robot-icon{flex:none}.plant-empty{width:34px;height:34px;flex:none;border-radius:6px;border:1px dashed #cbd5e1}.plant-bat{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}.plant-bat span{display:block;height:100%;background:#22c55e;transition:width .25s linear}.plant-gears{text-align:right;font-family:var(--font-display);font-variant-numeric:tabular-nums}.feed-row.glitch{border-left:3px solid #dc2626}.feed-row.build{border-left:3px solid #0ea5e9}.feed-row.overdrive{border-left:3px solid var(--brand)}@media (prefers-reduced-motion: reduce){.customer,.banner.rush,.banner.surge,.banner.glitched{animation:none}}.seat-asks{display:flex;flex-direction:column;gap:6px;padding:8px 16px;background:var(--warn-soft);border-bottom:1px solid #f1dfb0}.seat-ask{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:#5b3b00}.seat-ask span{flex:1;min-width:220px}.seat-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.lobby-qr{display:flex;align-items:center;gap:22px;margin-top:10px}.lobby-qr-text{display:flex;flex-direction:column;gap:8px;font-size:21px;line-height:1.35;max-width:360px}.qr{display:block;border-radius:10px;border:1px solid var(--line);flex:none}.lobby-link{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.setup-link{display:flex;align-items:center;gap:6px;flex-wrap:wrap;overflow-wrap:anywhere}.pulse-mark{animation:pulse 1.2s ease-in-out infinite alternate}.check-overlay .eyebrow{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--accent)}.game-group>.eyebrow{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.picker-head h2{font-size:30px;letter-spacing:-.03em}.join-logo{margin-bottom:8px}.board-canvas{position:absolute;top:0;right:0;bottom:60px;left:0;background:#fff}.board-canvas.grid{background-image:linear-gradient(#e9e3f1 1px,transparent 1px),linear-gradient(90deg,#e9e3f1 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}.co-actions{flex-wrap:wrap}.tool-btn{display:inline-flex;align-items:center;gap:6px}.tool-btn svg{width:14px;height:14px;fill:currentColor}.btn.ghost.tool-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--brand)}.tray-anchor{position:relative;display:inline-flex}.shape-tray{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:30;width:660px;max-width:calc(100vw - 32px);padding:14px 14px 16px;display:grid;gap:10px;background:var(--panel);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 1px #1f08330a,0 24px 48px -24px #1f083373}.shape-tray h3{margin:0 0 8px;font:600 13px/1.2 var(--font-display);color:var(--muted);letter-spacing:-.005em}.shape-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.shape-pick{display:grid;justify-items:center;gap:4px;padding:8px 4px 7px;border:1px solid transparent;border-radius:10px;background:none;cursor:pointer;font-size:12px;line-height:1.2;color:var(--ink);text-align:center}.shape-pick svg{width:60px;height:40px;overflow:visible}.shape-pick:hover,.shape-pick:focus-visible{background:var(--brand-soft);border-color:var(--line-2);outline:none}.shape-pick:focus-visible{box-shadow:0 0 0 2px var(--accent)}.shape-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible;user-select:none;-webkit-user-select:none}.ink{user-select:none;-webkit-user-select:none}.shape-layer.is-active{pointer-events:none}.shape-layer.is-active .shape,.shape-layer.is-dragging{pointer-events:auto;touch-action:none}.shape-layer.is-active .shape{cursor:move}.shape-hit{fill:transparent}.sh-text{font-family:var(--font-body);font-weight:500;font-variant-numeric:tabular-nums}.shape-outline{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:7 6}.shape-stem{stroke:var(--accent);stroke-width:2}.shape-handle{fill:#fff;stroke:var(--accent);stroke-width:3}.shape-handle.turn{cursor:grab}.shape-handle.size{cursor:nwse-resize}.shape-handle.end{cursor:crosshair}.shape-halo{stroke:var(--accent);stroke-opacity:.18;stroke-width:22;stroke-linecap:round}.shape-delete{cursor:pointer}.shape-delete circle{fill:var(--bad)}.shape-delete path{stroke:#fff;stroke-width:2.6;stroke-linecap:round}.shape-size rect{fill:var(--brand)}.shape-size text{fill:#fff;font:600 17px var(--font-body);font-variant-numeric:tabular-nums}.board-canvas .plane{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.plane-minor{stroke:#ebe5f3;stroke-width:1.2}.plane-major{stroke:#d3c7e3;stroke-width:1.6}.plane-axis line{stroke:var(--brand);stroke-width:3;stroke-linecap:round}.plane-arrow polygon{fill:var(--brand)}.plane-label text{font:500 var(--pl, 15px) var(--font-body);font-variant-numeric:tabular-nums;fill:#4d3e60;-webkit-user-select:none;user-select:none}.plane-name text{font:italic 600 21px var(--font-body);fill:var(--brand);-webkit-user-select:none;user-select:none}.bg-seg{display:inline-flex;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:var(--panel)}.bg-seg button{width:34px;height:30px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;padding:0}.bg-seg button+button{border-left:1px solid var(--line)}.bg-seg button:hover{color:var(--brand);background:var(--brand-soft)}.bg-seg button.on{color:var(--brand);background:var(--accent-soft)}.bg-seg button:focus-visible,.zoom-ctl button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bg-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.bg-icon .fill{fill:currentColor;stroke:none}.zoom-ctl{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:10px;background:var(--panel);overflow:hidden}.zoom-ctl button{width:30px;height:30px;border:0;background:none;font:600 18px/1 var(--font-display);color:var(--brand);cursor:pointer;padding:0}.zoom-ctl button:hover:not(:disabled){background:var(--brand-soft)}.zoom-ctl button:disabled{opacity:.35;cursor:default}.zoom-val{padding:0 8px;min-width:112px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);border-left:1px solid var(--line);border-right:1px solid var(--line);line-height:30px}.shape-hit-poly{fill:transparent;stroke:transparent;stroke-width:24;stroke-linejoin:round}.shape-handle.vertex{cursor:crosshair}.tri-deg{font:600 17px var(--font-body);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.tri-name{font:600 17px var(--font-display);letter-spacing:-.01em;-webkit-user-select:none;user-select:none}.shape-angles{cursor:pointer}.shape-angles circle{fill:#fff;stroke:var(--accent);stroke-width:2.5}.shape-angles text{font:700 20px var(--font-body);fill:var(--accent)}.shape-angles.on circle{fill:var(--accent)}.shape-angles.on text{fill:#fff}.hl-ink{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:6;mix-blend-mode:multiply}.hl-stroke{fill-opacity:.5;stroke:none}.ink{shape-rendering:geometricPrecision}.ink.tool-eraser.is-active,.ink.tool-laser.is-active{cursor:none}.eraser-ring{fill:#fff6;stroke:#5d5170;stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.laser-trail{fill:#ff2d55;filter:drop-shadow(0 0 5px rgba(255,45,85,.85));pointer-events:none}.laser-dot{fill:#ff2d55;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 9px rgba(255,45,85,.95));pointer-events:none}.text-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.text-layer.is-typing{pointer-events:auto;cursor:text}.text-item,.text-edit{position:absolute;margin:0;padding:2px 6px;font-family:var(--font-body);font-weight:500;line-height:1.25;white-space:pre;border-radius:6px;font-feature-settings:"tnum"}.text-item{pointer-events:none;-webkit-user-select:none;user-select:none}.text-layer.is-typing .text-item{pointer-events:auto;cursor:text}.text-layer.is-select .text-item{pointer-events:auto;cursor:move;touch-action:none}.text-layer.is-select .text-item:hover{outline:1.5px solid var(--line-2);outline-offset:2px}.text-item.is-picked,.text-layer.is-select .text-item.is-picked{outline:2px dashed var(--accent);outline-offset:2px}.text-edit{border:0;background:#ffffffc7;outline:2px dashed var(--accent);outline-offset:2px;resize:none;overflow:hidden;caret-color:var(--accent)}.symbol-bar{position:absolute;z-index:2;display:flex;gap:2px;padding:4px;background:#fff;border:1px solid var(--line-2);border-radius:10px;box-shadow:0 10px 24px -14px #1f083380}.symbol-bar button{width:28px;height:32px;border:0;border-radius:6px;background:none;font:500 18px var(--font-body);color:var(--ink);cursor:pointer;padding:0}.symbol-bar button:hover{background:var(--brand-soft);color:var(--brand)}.t-inkbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tool-seg,.undo-seg{display:inline-flex;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:var(--panel)}.tool-seg button,.undo-seg button{width:38px;height:34px;display:grid;place-items:center;border:0;background:none;color:#4d3e60;cursor:pointer;padding:0}.tool-seg button+button,.undo-seg button+button{border-left:1px solid var(--line)}.tool-seg button:hover,.undo-seg button:hover:not(:disabled){background:var(--brand-soft);color:var(--brand)}.tool-seg button.on{background:var(--brand);color:#fff}.undo-seg button:disabled{opacity:.35;cursor:default}.tool-seg button:focus-visible,.undo-seg button:focus-visible,.swatch:focus-visible,.size-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tool-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tool-icon .fill{fill:currentColor;stroke:none}.tool-icon .soft{opacity:.45}.tool-style{display:inline-flex;align-items:center;gap:10px;min-height:34px}.swatches,.sizes{display:inline-flex;align-items:center;gap:4px}.swatch{width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:var(--sw);box-shadow:0 0 0 1px var(--line-2);cursor:pointer;padding:0}.swatch.is-hl{border-radius:6px}.swatch.on{box-shadow:0 0 0 2px var(--sw),0 0 0 4px #fff,0 0 0 5px var(--line-2)}.swatch.is-hl.on{box-shadow:0 0 0 2px #d9c84a,0 0 0 4px #fff,0 0 0 5px var(--line-2)}.size-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:none;cursor:pointer;padding:0}.size-btn:hover{background:var(--brand-soft)}.size-btn.on{border-color:var(--accent);background:var(--accent-soft)}.size-dot{display:block;border-radius:50%}.size-dot.is-hl{border-radius:3px;opacity:.85}.size-ring{display:block;border-radius:50%;border:1.5px dashed #5d5170}.text-size span{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:1}.tool-hint{font-size:12px;color:var(--muted);white-space:nowrap}.text-edit,.symbol-bar{pointer-events:auto}.gt-tag text{fill:#fff;font:700 15px var(--font-display);pointer-events:none}.gt-tag circle{pointer-events:none}.tool.is-big .gt-tag text{font-size:21px}.gt-compare{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px}.gt-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--f);color:var(--muted);font-variant-numeric:tabular-nums}.gt-chip i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;font:700 13px var(--font-display);font-style:normal}.gt-chip b{color:var(--c)}.tool.is-big .gt-chip{font-size:18px}.tool.is-big .gt-chip i{width:30px;height:30px;font-size:16px}.gt-verdict{flex-basis:100%;font-weight:600;color:var(--ink)}.tool.is-big .gt-verdict{font-size:19px}.lobby-names li{display:flex;align-items:center;justify-content:space-between;gap:8px}.lobby-names li.is-guest{font-style:italic}.guest-x{width:26px;height:26px;border-radius:50%;border:0;background:var(--line);color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0;flex:none}.guest-x:hover{background:var(--bad-soft);color:var(--bad)}.guest-tag{margin-left:8px;background:var(--line);color:var(--muted)}.setup-form label.setup-check{flex-direction:row;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:var(--brand-soft);cursor:pointer}.setup-form .setup-check input{margin:2px 0 0;padding:0;width:18px;height:18px;flex:none;accent-color:var(--brand)}.setup-form label.setup-guests{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px}.setup-form .setup-guests input{width:76px;padding:6px 10px;font-size:17px;letter-spacing:0}.setup-form .setup-guests .muted{flex-basis:100%;font-weight:500}.stage-side{position:absolute;top:0;display:flex}.ink-rail{position:relative;display:flex;flex-direction:column;gap:10px;width:100%;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-1);align-self:flex-start;max-height:100%}.rail-tools,.rail-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;justify-items:center}.rail-tools button{width:30px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:none;color:#4d3e60;cursor:pointer;padding:0}.rail-tools button:hover{background:var(--brand-soft);color:var(--brand)}.rail-tools button.on{background:var(--brand);color:#fff}.rail-style{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.rail-end{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.rail-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:9px;background:var(--panel);color:#4d3e60;cursor:pointer;padding:0}.rail-btn:hover:not(:disabled){border-color:var(--accent);color:var(--brand);background:var(--brand-soft)}.rail-btn:disabled{opacity:.35;cursor:default}.rail-btn.wide{width:100%;height:32px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:11.5px;font-weight:600}.rail-btn.wide .tool-icon{width:16px;height:16px}.rail-btn.on{border-color:var(--accent);background:var(--accent-soft);color:var(--brand)}.ink-rail .swatch{width:24px;height:24px}.ink-rail .size-btn{width:30px;height:28px}.ink-rail .rail-tools button:focus-visible,.rail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ink-rail .tray-anchor{display:block;position:static}.ink-rail .shape-tray{left:calc(100% + 12px);top:-1px;bottom:auto;transform:none}.full-btn .tool-icon{width:16px;height:16px}.teacher.is-focus .t-head{display:none}.teacher.is-focus .t-main{padding:8px 12px max(10px,env(safe-area-inset-bottom))}.focus-exit{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:10px;background:var(--panel);color:var(--brand);cursor:pointer;padding:0}.focus-exit:hover,.focus-exit:focus-visible{border-color:var(--accent);background:var(--brand-soft)}.focus-exit .tool-icon{width:16px;height:16px}.focus-exit.is-fixed{position:fixed;top:6px;right:6px;z-index:60;width:30px;height:30px;border-radius:8px;background:#ffffffe6;opacity:.5}.focus-exit.is-fixed:hover,.focus-exit.is-fixed:focus-visible{opacity:1}.stage-below,.stage-below-side{position:absolute;display:flex;align-items:center}.stage-below-side{justify-content:center}.stage-below .teach-row{flex:1;min-width:0}.teach-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(max-content,1fr);align-items:center;gap:12px}.teach-row .tb-group{flex-wrap:nowrap}.teach-row .tb-center{justify-content:center}.teach-row .tb-right{justify-content:flex-end}.tb-sep{width:1px;height:22px;margin:0 4px;background:var(--line-2)}.preview:has(.teacher.is-focus) .pv-head,.preview:has(.teacher.is-focus) .pv-open,.preview:has(.teacher.is-focus) .pv-tabs,.preview:has(.teacher.is-focus) .pv-phone{display:none}.preview:has(.teacher.is-focus) .pv-body{grid-template-columns:minmax(0,1fr);padding:0;height:100vh;height:100dvh}.preview:has(.teacher.is-focus) .pv-teacher{min-height:0;height:100%;border:0;border-radius:0;box-shadow:none}.teach-row .board-btn{padding:0 16px;font-size:14px}.shape-layer .nl-fo{overflow:visible;pointer-events:auto}.nl-panel{box-sizing:border-box;width:max-content;margin:0 auto;height:54px;display:flex;align-items:center;gap:14px;padding:0 12px;border:1px solid var(--line-2);border-radius:12px;background:var(--panel);box-shadow:0 12px 26px -16px #1f083373;font:500 15px var(--font-body);color:var(--ink);pointer-events:auto;-webkit-user-select:none;user-select:none;white-space:nowrap}.nl-field{display:inline-flex;align-items:center;gap:5px}.nl-field>span:first-child{color:var(--muted);margin-right:2px}.nl-field button,.nl-seg button{height:32px;min-width:30px;padding:0 8px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel);color:var(--brand);font:600 16px var(--font-body);cursor:pointer}.nl-field button:hover:not(:disabled),.nl-seg button:hover{border-color:var(--accent);background:var(--brand-soft)}.nl-field button:disabled{opacity:.35;cursor:default}.nl-field input{width:62px;height:32px;box-sizing:border-box;padding:0 6px;border:1px solid var(--line-2);border-radius:8px;font:600 16px var(--font-body);text-align:center;color:var(--ink)}.nl-field select{height:32px;padding:0 6px;border:1px solid var(--line-2);border-radius:8px;font:600 15px var(--font-body);color:var(--ink);background:var(--panel)}.nl-field b{min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.nl-seg{display:inline-flex;gap:0}.nl-seg button{border-radius:0;font-size:13.5px;font-weight:600;color:var(--muted)}.nl-seg button+button{border-left:0}.nl-seg button:first-child{border-radius:8px 0 0 8px}.nl-seg button:last-child{border-radius:0 8px 8px 0}.nl-seg button.on{background:var(--accent-soft);color:var(--brand)}.nl-field input:focus-visible,.nl-field select:focus-visible,.nl-field button:focus-visible,.nl-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.letters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.letters.n3,.letters.n5,.letters.n6{grid-template-columns:repeat(3,1fr)}.letter{min-height:84px;border-radius:16px;border:2px solid var(--line-2);background:var(--panel);color:var(--brand);font:700 38px var(--font-display);cursor:pointer}.letter:hover:not(:disabled),.letter:active:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.letter:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.numpad-keys.four{grid-template-columns:repeat(4,1fr)}.key-space{font-size:15px;color:var(--muted)}.key.wide3{grid-column:span 3}.point-display{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:12px;border:2px solid var(--brand);background:var(--panel)}.pp-paren{font:700 32px var(--font-display);color:var(--muted)}.pp-field{min-width:92px;height:52px;padding:0 10px;border-radius:10px;border:1.5px dashed var(--line-2);background:var(--panel);font:700 30px var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer}.pp-field.on{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.pp-ph{color:var(--muted);font-style:italic;font-weight:600}.words-input{display:flex;flex-direction:column;gap:10px}.words-input input{height:56px;padding:0 14px;border-radius:12px;border:2px solid var(--brand);font:600 22px var(--font-body);color:var(--ink);background:var(--panel)}.own-mine{font-family:var(--font-display);font-size:22px}.own-anchor{position:relative;display:inline-flex}.own-form{position:absolute;right:0;bottom:calc(100% + 10px);z-index:40;width:min(420px,90vw);display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line-2);border-radius:14px;background:var(--panel);box-shadow:0 18px 40px -20px #1f08338c;text-align:left}.own-form-head{display:flex;align-items:center;justify-content:space-between}.own-form-head b{font-family:var(--font-display);font-size:17px}.own-x{width:30px;height:30px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.own-x:hover{background:var(--brand-soft);color:var(--brand)}.own-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.own-kinds button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border:1.5px solid var(--line-2);border-radius:10px;background:var(--panel);color:var(--ink);font-size:12.5px;font-weight:600;cursor:pointer}.own-kinds button:hover{border-color:var(--accent)}.own-kinds button.on{border-color:var(--brand);background:var(--accent-soft);color:var(--brand)}.own-icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.own-icon text{fill:currentColor;stroke:none;font:700 10px var(--font-display)}.own-icon .fill{fill:currentColor;stroke:none}.own-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.own-seg{display:inline-flex;flex-wrap:wrap;gap:4px}.own-seg button{padding:5px 8px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel);font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);cursor:pointer}.own-seg button.on{border-color:var(--brand);color:var(--brand);background:var(--accent-soft)}.own-prompt{display:flex;flex-direction:column;gap:6px;font-size:13px}.own-prompt input{height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:10px;font:500 15px var(--font-body);color:var(--ink)}.own-prompt input:focus-visible,.own-kinds button:focus-visible,.own-seg button:focus-visible,.own-x:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.own-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.own-panel{position:absolute;top:20px;right:20px;z-index:8;width:400px;max-height:calc(100% - 100px);overflow:auto;display:flex;flex-direction:column;gap:14px;padding:20px 22px 22px;border:1px solid var(--line-2);border-radius:18px;background:var(--panel);box-shadow:0 24px 48px -24px #1f083380;font-size:18px}.own-panel .own-actions{justify-content:flex-start}.own-head{display:flex;align-items:center;justify-content:space-between}.own-kind{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--accent)}.own-fold{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:10px;background:var(--panel);color:var(--brand);cursor:pointer}.own-fold .tool-icon{width:20px;height:20px}.own-stem{margin:0;font-size:21px;font-weight:600}.own-hint{margin:0;padding:10px 14px;border-radius:10px;background:var(--accent-soft);color:var(--brand);font-weight:600;font-size:17px}.own-answers{display:flex;flex-direction:column;gap:8px}.own-ans{display:grid;grid-template-columns:minmax(70px,auto) 1fr 32px 26px;align-items:center;gap:10px;padding:8px 12px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--panel);text-align:left;cursor:pointer;font-size:20px;color:var(--ink)}.own-ans:hover{border-color:var(--accent)}.own-ans-label{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.own-ans-track{height:12px;border-radius:999px;background:var(--paper);overflow:hidden}.own-ans-track span{display:block;height:100%;background:var(--brand);border-radius:inherit}.own-ans b{text-align:right;font-variant-numeric:tabular-nums}.own-ans-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:1.5px dashed var(--line-2);font-weight:800;font-size:16px}.own-ans.is-right{border-color:var(--good);background:var(--good-soft)}.own-ans.is-right .own-ans-track span{background:var(--good)}.own-ans.is-right .own-ans-mark{border:0;background:var(--good);color:#fff}.own-ans.is-wrong .own-ans-track span{background:var(--bad);opacity:.55}.own-ans:focus-visible,.own-fold:focus-visible,.own-tab:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.own-tab{position:absolute;top:20px;right:20px;z-index:8;display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line-2);border-radius:999px;background:var(--panel);box-shadow:0 12px 28px -18px #1f083380;font-size:18px;color:var(--ink);cursor:pointer}.own-tab b{font-family:var(--font-display)}.own-tab-show{margin-left:6px;color:var(--accent);font-weight:700}.own-panel .co-count{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 8px;font-size:18px}.own-panel .co-count b{font-size:30px}.own-panel .co-count .meter{flex-basis:100%}.own-panel .big-pct{font-size:46px}.quest{width:100%;max-width:420px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;min-width:0}.quest h1{font-size:26px}.quest h2{font-size:17px}.quest-gbtn{min-height:44px;display:flex;justify-content:center;max-width:100%}.quest-note{padding:14px 16px;border-radius:12px;background:var(--warn-soft);color:var(--warn);font-weight:600}.quest-name-form{width:100%;display:flex;flex-direction:column;gap:12px}.quest-name-input{width:100%;min-height:56px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--panel);font:600 18px/1.2 var(--font-body);color:var(--ink);text-align:center;box-sizing:border-box}.quest-name-input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.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}.quest-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.quest-card{width:100%;display:flex;flex-direction:column;gap:4px;padding:20px 16px;border-radius:16px;background:var(--panel);border:1.5px solid var(--line);box-shadow:var(--shadow-2)}.quest-card span{color:var(--muted)}.quest-class{margin-top:-8px}.quest-hint{padding:10px 14px;border-radius:10px;background:var(--accent-soft);color:var(--brand);font-weight:600;width:100%;box-sizing:border-box}.quest-who{width:100%;display:flex;flex-direction:column;gap:8px}.quest-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.quest-chips .btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--brand)}.quest-unlink{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:14px}.quest-err[hidden]{display:none}.quest-err{padding:10px 14px;border-radius:10px;background:var(--bad-soft);font-weight:600;width:100%;overflow-wrap:anywhere}.link:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.live-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:16px}.live-tabs button{min-height:38px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--panel);font-weight:600;cursor:pointer;font-family:inherit;color:var(--ink)}.live-tabs button.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.live-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.live-setup.is-quests{align-content:start}.live-wrap{width:100%;min-width:0}.quest-setup{width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.quest-setup .setup-card{max-width:none;gap:16px}.qs-class{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.qs-class header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:baseline}.qs-class h3{font-size:17px}.qs-class label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.qs-class textarea{min-height:96px;padding:10px 12px;border-radius:10px;border:1px solid var(--line-2);font:500 14px/1.4 var(--font-body);resize:vertical}.qs-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.qs-ok{color:var(--good);font-weight:600}.qs-linked{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px}.qs-linked li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;padding:8px 12px}.qs-linked li+li{border-top:1px solid var(--line)}.qs-linked span{overflow-wrap:anywhere}.qs-tried li{align-items:baseline}.qs-pick select{min-height:40px;max-width:100%;padding:0 10px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel);font:500 14px/1.2 var(--font-body);color:var(--ink)}.qs-pend{gap:8px}.quest-setup button:focus-visible,.quest-setup select:focus-visible,.quest-setup textarea:focus-visible,.quest-setup summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.quest-setup summary{cursor:pointer;font-weight:600;font-size:14px}.setup-grid[hidden]{display:none}.qp-home,.qp-run,.qp-end,.qp-note{width:100%;display:flex;flex-direction:column;gap:12px;text-align:left;min-width:0}.qp-note{align-items:center;text-align:center}.qp-head{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;border:2.5px solid var(--line-2);background:var(--panel);flex-wrap:wrap}.qp-who{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}.qp-line{font-family:var(--font-display);font-size:17px;overflow-wrap:anywhere}.qp-avbtn{border:0;background:none;padding:0;cursor:pointer;border-radius:50%}.qp-avbtn:focus-visible,.qp-swatch:focus-visible,.qp-animal:focus-visible,.qp-who-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.qp-avatar{display:inline-grid;place-items:center;border-radius:50%;box-shadow:inset 0 -3px #00000026;flex:none}.qp-avpick{flex-basis:100%;display:flex;flex-direction:column;gap:8px;padding-top:6px}.qp-avpick>div{display:flex;flex-wrap:wrap;gap:8px}.qp-swatch{width:34px;height:34px;border-radius:50%;border:3px solid transparent;cursor:pointer}.qp-swatch.on{border-color:var(--ink)}.qp-animal{width:40px;height:40px;border-radius:12px;border:2px solid var(--line-2);background:var(--panel);font-size:22px;cursor:pointer}.qp-animal.on{border-color:var(--ink);background:var(--accent-soft)}.qp-due{margin:0;text-align:center;font-weight:700;color:var(--brand)}.qp-practice{margin:0;padding:8px 12px;border-radius:10px;background:var(--warn-soft);color:var(--warn);font-weight:600}.qp-who-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.qp-who-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;min-height:120px;border-radius:18px;border:3px solid var(--line-2);background:var(--panel);font:inherit;cursor:pointer}.qp-who-btn b{font-family:var(--font-display);font-size:19px}.qp-classes{width:100%;display:flex;flex-direction:column;gap:10px}.qp-boss{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:linear-gradient(160deg,#1b2a6b,#0b1440);color:#fff}.qp-boss .muted{color:#c9d3ff}.qp-boss-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.qp-boss-body b{font-family:var(--font-display);font-size:17px}.qp-bar{height:16px;border-radius:999px;background:#ffffff2e;overflow:hidden}.qp-bar span{display:block;height:100%;border-radius:999px;transition:width .5s}.qp-mine{font-weight:700;color:#ffe08a}.qp-map{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.qp-node{position:relative;display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--panel);border:1.5px solid var(--line);margin-bottom:14px}.qp-node:not(:last-child):after{content:"";position:absolute;left:29px;top:100%;width:4px;height:14px;background:var(--line-2)}.qp-node.some{border-color:#9fd3d0;background:#f3fbfa}.qp-node.gold{border-color:#e7c24a;background:#fff9e4}.qp-num{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-family:var(--font-display);font-weight:700}.qp-node-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.qp-node-body b{overflow-wrap:anywhere}.qp-owed{color:var(--warn);font-weight:600}.qp-stars{display:inline-flex;gap:2px;letter-spacing:0;line-height:1;color:#c9bfd6}.qp-stars .on{color:#f2b705;text-shadow:0 1px 0 rgba(0,0,0,.15)}.qp-stars .held{color:transparent;-webkit-text-stroke:1.5px #f2b705}.qp-mastery{margin:0;text-align:center;font-weight:700}.qp-cards{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:var(--accent-soft)}.qp-cards p{margin:0}.qp-complete{margin:0;padding:12px;border-radius:12px;background:#fff3c4;color:#6b4a00;font-weight:700;text-align:center}.qp-sea{border-radius:14px;background:linear-gradient(180deg,#d8f1fb,#a9d9ee);padding:10px 12px}.qp-sea-head{width:100%;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;background:none;border:0;font:inherit;color:#0b3b57;cursor:pointer;padding:4px 0;text-align:left}.qp-book{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.qp-book li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:#ffffff8c;font-size:26px}.qp-book li:not(.got){opacity:.6}.qp-book small{font-size:11px;color:#0b3b57;text-align:center}.qp-run{background:linear-gradient(180deg,#eaf7fd 0,#fff 140px);border-radius:16px;padding:4px 0}.qp-run.depth-2{background:linear-gradient(180deg,#d5eef9 0,#fff 140px)}.qp-run.depth-3{background:linear-gradient(180deg,#b9dff0 0,#fff 140px)}.qp-run.depth-4{background:linear-gradient(180deg,#8fc3dc 0,#fff 160px)}.qp-run-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.qp-run-title{font-size:14px;overflow-wrap:anywhere;flex:1;text-align:center}.qp-depth{font-size:13px;font-weight:700;color:#0b3b57}.qp-prog{display:flex;gap:6px}.qp-prog span{flex:1;height:8px;border-radius:999px;background:var(--line-2)}.qp-prog .done{background:var(--good)}.qp-prog .now{background:var(--accent)}.qp-flame{margin:0;font-weight:800;color:#c2410c}.qp-help{display:flex;flex-direction:column;gap:8px}.qp-helpbtns{display:flex;flex-wrap:wrap;gap:8px}.qp-hint{margin:0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--brand)}.qp-sol{background:var(--warn-soft);color:var(--ink)}.qp-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--warn-soft)}.qp-own{margin:0;text-align:center}.qp-fb{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px}.qp-fb.ok{background:var(--good-soft)}.qp-fb.no{background:var(--bad-soft)}.qp-fb h3{margin:0;font-size:22px}.qp-fb p{margin:0;overflow-wrap:anywhere}.qp-solution{padding:10px 12px;border-radius:10px;background:#ffffffb3}.qp-catch{font-weight:700;margin:0}.qp-report{align-self:center}.qp-report-form{display:flex;flex-direction:column;gap:6px}.qp-report-form textarea{width:100%;box-sizing:border-box;border-radius:10px;border:1.5px solid var(--line-2);padding:8px 10px;font:inherit}.qp-end{align-items:center;text-align:center}.qp-end h2{font-size:26px;margin:0}.qp-name{margin:0;color:var(--muted);font-weight:600}.qp-count{margin:0}.qp-chest{margin:0;padding:10px 14px;border-radius:12px;background:#fff3c4;font-weight:700}.qp-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1f083399;display:grid;place-items:center;padding:16px}.qp-intro-card{width:100%;max-width:380px;background:var(--panel);border-radius:20px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.qp-intro-card h2{margin:0;font-size:22px}.qp-intro-card p{margin:0}.qp-intro-icon{font-size:52px;line-height:1}.qp-dots{display:flex;gap:6px}.qp-dots span{width:8px;height:8px;border-radius:50%;background:var(--line-2)}.qp-dots .on{background:var(--accent)}.qp-resume{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border-radius:14px;background:#fff3c4}.qp-runwho{margin:0;text-align:center;font-weight:700;color:var(--brand)}.qp-compare{display:grid;gap:6px;margin:8px 0;padding:10px 12px;border-radius:12px;background:#ffffffb3}.qp-compare p{margin:0}.qp-yours b{color:#b3261e}.qp-right b{color:#1b7a3a;font-size:1.15em}.qp-goal{margin:6px 0}.rules{display:grid;gap:14px;text-align:left}.rules h2{font-size:28px;margin:0}.rules h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}.rules p,.rules li{font-size:16px;line-height:1.45;margin:0}.rules ol,.rules ul{margin:0;padding-left:22px;display:grid;gap:6px}.rules-setting{font-weight:700;color:var(--brand,#5b2a86)}.rules-goal,.rules-against{padding:12px 14px;border-radius:14px;background:#5b2a8614}.rules-goal p{font-size:19px;font-weight:700}.rules-tips{padding:12px 14px;border-radius:14px;background:#ffb80024}.s-brief{padding:16px 16px 28px;overflow:auto;max-height:100%}.s-brief-wait{text-align:center;margin-top:12px}.briefing{display:grid;gap:16px;padding:20px 24px;max-width:1100px;margin:0 auto}.rules-big{grid-template-columns:1fr 1fr;gap:16px 28px;align-items:start}.rules-big .rules-head,.rules-big .rules-goal,.rules-big .rules-against{grid-column:1/-1}.rules-big .rules-goal,.rules-big .rules-against{grid-column:auto}.rules-big .rules-head{grid-column:1/-1}.rules-big h2{font-size:40px}.rules-big p,.rules-big li{font-size:19px}.rules-big .rules-goal p{font-size:23px}.briefing-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;position:sticky;bottom:0;padding:12px 0;background:var(--bg,#fff)}.briefing-bar .muted{margin-right:auto}@media (max-width:800px){.rules-big{grid-template-columns:1fr}}.qs-find{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;display:grid;gap:8px}.qs-find input{min-width:220px;padding:8px 10px;border:1px solid var(--line-2,#ccc);border-radius:10px;font:inherit}.qs-found{list-style:none;margin:0;padding:0;display:grid;gap:6px}.qs-found-card{display:grid;gap:8px;padding:10px 12px;border-radius:12px;background:#5b2a860f}.qs-found-card header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.wq-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg,#fff);display:flex;flex-direction:column}.wq-teach{flex:1;min-height:0;padding:10px 12px}.wq-content{position:absolute;top:0;right:0;bottom:60px;left:0;padding:36px 56px;overflow:hidden;background:#fff}.wq-q{display:grid;gap:14px;align-content:start}.wq-q{max-width:none;gap:8px}.wq-q .qstem{font-size:22px;line-height:1.35;max-width:none}.wq-q .qbody.is-stage .qfig>*{max-width:340px}.wq-q .qbody.is-stage .qfig svg{max-height:220px}.wq-q .pz.is-stage{--gap:6px;max-width:calc(var(--cols)*58px)}.wq-q .stage-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.wq-q .stage-choices li{padding:8px 12px;font-size:18px}.wq-hint{font-size:18px;margin:0}.wq-answer{font-size:22px;margin:0;color:#1b7a3a}.wq-sol{font-size:18px;margin:0}.qp-qnum{margin:2px 0 6px}.teach-row .board-btn.on{background:#3b0a57;color:#fff;border-color:#3b0a57}.tex{font-size:1.08em}.tex .katex{font-size:1em;white-space:nowrap}.tex-block{display:block;text-align:center;margin:.35em 0;overflow-x:auto}.tex-block .katex-display{margin:0}.choice .tex,.stage-choices .tex,.letters .tex{font-size:1.12em}.qstem .katex,.ss-title .katex{font-size:1.1em}.pz{--gap: 6px;container-type:inline-size;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:var(--gap);width:100%;max-width:calc(var(--cols) * 62px);margin:0 auto;padding:4px 0}.pz.is-stage{max-width:calc(var(--cols) * 100px);--gap: 10px}.pz-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-family:var(--font-display);font-weight:700;font-size:clamp(15px,calc(100cqw / var(--cols) * .42),42px);font-variant-numeric:tabular-nums;line-height:1;padding:0;min-width:0}.pz-gap{visibility:hidden}.pz-fixed{background:var(--brand-soft);color:var(--ink);border:0}.pz-fixed.is-op{background:none;color:var(--muted);font-weight:600;font-size:clamp(15px,calc(100cqw / var(--cols) * .36),36px)}.pz-fixed.is-total{background:var(--brand);color:var(--brand-ink)}.pz-blank{background:#fff;border:2px solid var(--line-2);color:var(--ink);cursor:default;box-shadow:inset 0 -3px 0 var(--line)}button.pz-blank{cursor:pointer}.pz-blank.has{border-color:var(--brand);box-shadow:none}.pz-blank.is-sel{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.pz-blank.is-wrong{border-color:#c92a2a;background:#fff0f0}.pz-small{font-size:.62em}.qpuzzle{display:flex;justify-content:center;padding:6px 0}.grid-input .pz-note{margin:2px 0;text-align:center}.grid-input .pz-count{margin:0;text-align:center}.key-space{font-size:15px}.fig-pz{margin:0 auto;max-width:100%}.fig-pz .pz{max-width:none;--gap: 4px}.fig-group .fig-pz{margin:0 10px 4px}.check-overlay .co-q{max-width:600px;gap:8px}.check-overlay .co-side{position:relative;z-index:10}.check-overlay .qbody.is-stage{gap:8px}.check-overlay .qbody.is-stage .qstem{font-size:18px;line-height:1.35}.check-overlay .qbody.is-stage .qfig{justify-content:flex-start;padding:2px 0}.check-overlay .qbody.is-stage .qfig>*{max-width:340px}.check-overlay .qbody.is-stage .qfig svg{max-height:220px}.check-overlay .pz.is-stage{--gap: 6px;max-width:calc(var(--cols) * 58px)}.check-overlay .stage-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.check-overlay .stage-choices li{padding:8px 12px;font-size:18px;gap:8px}.check-overlay .choice-key{width:24px;height:24px;font-size:13px}.board-tabs{display:flex;align-items:center;gap:6px}.board-tab{min-width:36px}.board-tab.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.stage-slide{z-index:0}.stage,.stage-slide,.board-canvas,.check-overlay{touch-action:none;overscroll-behavior:none}.stage-slide:not(.no-visual):not(.is-summary){grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);row-gap:24px}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:10px 28px;overflow:visible}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus>*{flex-shrink:1}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think{flex:0 1 560px;padding:14px 22px 16px;gap:8px}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .ss-idea{flex:1 1 280px;padding-top:6px}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .mistake{flex:1 1 280px}.stage-slide:not(.no-visual):not(.is-summary) .ss-visual{align-self:start;justify-content:flex-start;width:100%}.stage-slide .tool.is-big .tool-svg{max-height:calc(330px + var(--extra, 0px) * .3)}.ss-visual>.fig,.ss-visual>.fig-group{max-width:100%}.ss-visual .fig-group{align-items:flex-start}.ss-visual .fig-group:has(.fig-pz){flex-wrap:nowrap;justify-content:center;gap:22px;width:100%}.fig-group figure:has(.fig-pz){flex:0 1 auto;min-width:0;padding:12px 14px 10px;border:2px solid #cdb6e8;border-radius:16px;background:#fff;gap:8px}.fig-group figure:has(.fig-pz) figcaption{font-size:14px;text-align:center}.fig-group .fig-pz{margin:0 auto}.stage-slide .ss-visual .fig-pz:not(.fig-group .fig-pz){padding:12px 14px;border:2px solid #cdb6e8;border-radius:16px;background:#fff}.ss-visual .fig-group figure{padding:12px 14px 10px;border:2px solid #cdb6e8;border-radius:16px;background:#fff}.ss-visual .fig-group{flex-wrap:nowrap;justify-content:center;gap:18px;width:100%}.ss-visual .fig-group figure{flex:0 1 auto;min-width:0}.ss-visual .fig-group figure svg{max-width:100%;height:auto;max-height:190px}.ss-visual>.fig svg{max-height:280px;max-width:100%}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:12px;padding-bottom:26px}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think{order:1;flex:none;width:100%;max-width:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 22px}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think-prompt{flex:0 1 auto}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think-reveal{flex:1 1 100%}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .ss-idea{order:2;flex:none;padding:4px 6px 0}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .mistake{order:3;flex:none}.stage-slide:not(.no-visual):not(.is-summary) .ss-visual{margin-top:10px}.ss-visual .fig-group:has(.fig-pz)>figure{min-width:0}.pz-cell{font-size:clamp(8px,calc(100cqw / var(--cols) * .38),42px);overflow:hidden}.pz-fixed.is-op{font-size:clamp(8px,calc(100cqw / var(--cols) * .32),36px)}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think-prompt{font-size:28px;line-height:1.25;font-weight:700}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think-btn{font-size:16px;min-height:36px}.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think-reveal{font-size:18px}.ss-visual .fig-group:not(:has(>:nth-child(3))) figure svg{max-height:300px}.ss-visual .fig-group:not(:has(>:nth-child(3))){gap:28px}.ss-visual .fig-group:not(:has(>:nth-child(3))):not(:has(.fig-pz)) figure{flex:1 1 0;max-width:46%}.ss-visual .fig-group:not(:has(>:nth-child(3))):not(:has(.fig-pz)) figure svg{width:100%;max-height:300px}.sol{display:flex;flex-direction:column;gap:8px;margin-top:6px;text-align:left}.sol-h{display:block;font-size:.8em;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.sol-line{line-height:1.45}.sol-step{display:flex;gap:10px;align-items:baseline}.sol-n{flex:none;width:1.55em;height:1.55em;display:inline-grid;place-items:center;border-radius:50%;background:var(--accent, #6b2fb3);color:#fff;font-size:.8em;font-weight:800}.sol-check,.sol-mistake{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px}.sol-check{background:#0e8c781f}.sol-mistake{background:#c83c3c1a}.sol-check b,.sol-mistake b{font-size:.78em;letter-spacing:.05em;text-transform:uppercase}.sol-check b{color:#0b5e5a}.sol-mistake b{color:#a02828}.qp-prog .right{background:var(--good)}.qp-prog .help{background:#e0a526}.qp-prog .wrong{background:#d64545}@media (min-width: 700px){.quest:has(.qp-run,.qp-home,.qp-end){max-width:760px;padding-top:32px}.qp-run .qstem{font-size:28px;line-height:1.3}.qp-run .qbody{gap:18px}.qp-run .qfig svg{max-width:100%}.qp-run .qpuzzle{transform-origin:top center}.qp-run .choice{min-height:64px;font-size:20px;padding:14px 18px}.qp-run .choice-key{width:36px;height:36px;font-size:17px}.qp-run .numpad{max-width:560px;margin:0 auto;width:100%}.qp-run .numpad-display input{font-size:40px}.qp-run .key{min-height:60px;font-size:26px}.qp-run .key-go{font-size:20px}.qp-run .letter{min-height:100px;font-size:44px}.qp-run .qp-fb h3{font-size:28px}.qp-run .qp-fb,.qp-run .qp-hint,.qp-run .qp-solution{font-size:18px}.qp-run-title{font-size:17px}.qp-prog span{height:10px}}@media (min-width: 1100px){.quest:has(.qp-run,.qp-home,.qp-end){max-width:960px}.qp-run .qstem{font-size:34px}.qp-run .numpad{max-width:620px}.qp-run .key{min-height:66px;font-size:28px}}@media (min-width: 700px){.qp-run{padding:14px 20px 18px}}.qp-split,.qp-q,.qp-a{display:flex;flex-direction:column;gap:14px;min-width:0}.qp-side{display:none;min-width:0}.qp-side.open{display:block}.qp-scratch-btn{align-self:flex-start}.scr{display:flex;flex-direction:column;gap:8px}.scr-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border-radius:14px;background:var(--panel);border:1.5px solid var(--line-2)}.scr-btn,.scr-size{min-width:40px;height:40px;border-radius:10px;border:1.5px solid transparent;background:none;font-size:19px;cursor:pointer;display:inline-grid;place-items:center;color:var(--ink)}.scr-btn:disabled{opacity:.35;cursor:default}.scr-btn.on,.scr-size.on{background:var(--accent-soft);border-color:var(--accent)}.scr-btn:focus-visible,.scr-dot:focus-visible,.scr-size:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.scr-dot{width:26px;height:26px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line-2);cursor:pointer;padding:0}.scr-dot.on{box-shadow:0 0 0 3px var(--ink)}.scr-size i{display:block;border-radius:50%;background:var(--ink)}.scr-sep{width:1px;height:24px;background:var(--line-2)}.scr-grow{flex:1}.scr-pad{display:block;width:100%;height:240px;border-radius:16px;border:1.5px solid var(--line-2);background-color:#fff;background-image:radial-gradient(circle,#d9d0e6 1.2px,transparent 1.4px);background-size:28px 28px;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}.scr-pad.eraser{cursor:cell}.scr-note{margin:0;text-align:center;font-size:12px;color:var(--muted)}@media (min-width: 700px){.qp-run{background:none!important}.qp-split{gap:28px}.qp-q,.qp-a{gap:22px}.scr-pad{height:340px}.qp-run .qstem{font-size:30px;line-height:1.35;font-weight:600}.qp-qnum{opacity:.7}}@media (min-width: 1000px){.quest:has(.qp-run){max-width:1180px}.qp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:auto auto 1fr;grid-template-areas:"q side" "a side" ". side";column-gap:48px;row-gap:28px;align-items:start}.qp-q{grid-area:q}.qp-a{grid-area:a}.qp-side{display:block;grid-area:side;position:sticky;top:20px}.qp-scratch-btn{display:none}.scr-pad{height:clamp(320px,calc(100vh - 350px),640px)}.qp-run .choices{grid-template-columns:1fr}.qp-run .numpad{max-width:440px;margin:0}.qp-run .key{min-height:58px;font-size:24px}}.fig-total rect{fill:#fff;stroke:#cdb6e8;stroke-width:1.5}.fig-total text{font-family:var(--font-display);font-weight:700;fill:var(--brand, #3a0a5a);font-variant-numeric:tabular-nums}@media (min-width: 700px){.qp-run .qstem{font-size:22px;line-height:1.4}.qp-run .choice{font-size:18px;min-height:58px}}@media (min-width: 1000px){.qp-run .qstem{font-size:24px}}@media (min-width: 700px){.qp-run .qfig svg{max-width:none!important;width:min(100%,320px);height:auto}}.quest{--q-abyss: #0b1f45;--q-deep: #12306b;--q-surf: #e4f3f9;--q-foam: #f3fafc;--q-line: #e6e0ef;--q-card: #fff;--q-shadow: 0 1px 2px rgba(31, 8, 51, .05), 0 8px 24px -10px rgba(31, 8, 51, .14);--q-shadow-up: 0 2px 4px rgba(31, 8, 51, .06), 0 14px 32px -12px rgba(31, 8, 51, .22);--q-ease: cubic-bezier(.22, .8, .24, 1)}body:has(.quest .qp-home,.quest .qp-run,.quest .qp-end){background:linear-gradient(180deg,#f7f4fc 0,#f1f6fb 55%,#e6f3f9) fixed}.quest .btn{transition:transform .18s var(--q-ease),box-shadow .18s var(--q-ease),background-color .18s,border-color .18s}.quest .btn:hover:not(:disabled){transform:translateY(-1px)}.quest .btn:active:not(:disabled){transform:translateY(0)}.quest .btn.primary{box-shadow:0 6px 14px -8px #3a0a5ab3}.quest .qp-head{border:1px solid var(--q-line);border-radius:20px;background:var(--q-card);box-shadow:var(--q-shadow);padding:12px 16px}.quest .qp-line{font-size:18px;letter-spacing:-.01em}.quest .qp-goal{margin:2px 0 0;text-align:center;color:var(--muted);font-size:14px}.quest .qp-due{display:inline-block;align-self:center;margin:0;padding:6px 16px;border-radius:999px;background:#3a0a5a12;font-size:14px;font-weight:600;letter-spacing:.01em}.quest .qp-boss{position:relative;overflow:hidden;gap:18px;padding:18px 20px;border-radius:22px;background:radial-gradient(120% 140% at 85% -20%,#2a4fb0 0,transparent 55%),linear-gradient(165deg,var(--q-deep),var(--q-abyss));box-shadow:var(--q-shadow-up)}.quest .qp-boss-body b{font-size:18px;letter-spacing:-.01em}.quest .qp-bar{height:12px;background:#ffffff24;box-shadow:inset 0 1px 2px #0000004d}.quest .qp-bar span{background-image:linear-gradient(90deg,#fff0,#ffffff47);background-blend-mode:overlay;transition:width 1.1s var(--q-ease)}.quest .qp-map{gap:0;position:relative}.quest .qp-node{gap:16px;padding:16px 18px;margin-bottom:18px;border:1px solid var(--q-line);border-radius:20px;background:var(--q-card);box-shadow:var(--q-shadow);transition:transform .25s var(--q-ease),box-shadow .25s var(--q-ease)}.quest .qp-node:hover{transform:translateY(-2px);box-shadow:var(--q-shadow-up)}.quest .qp-node:not(:last-child):after{left:34px;top:100%;width:2px;height:18px;border-radius:2px;background:linear-gradient(180deg,#cdbfe0,#9fd0e4)}.quest .qp-node.some{border-color:#b4dcd9;background:linear-gradient(180deg,#fff,#f3fbfa)}.quest .qp-node.gold{border-color:#ecd27a;background:linear-gradient(180deg,#fffdf2,#fff6d6)}.quest .qp-num{width:40px;height:40px;font-size:17px;background:linear-gradient(160deg,#5b1d8a,#2d0a47);box-shadow:0 6px 12px -6px #3a0a5acc}.quest .qp-node:nth-child(n+3) .qp-num{background:linear-gradient(160deg,#2a5db0,#12306b)}.quest .qp-node-body{gap:6px}.quest .qp-node-body b{font-size:17px;letter-spacing:-.01em}.quest .qp-stars{gap:4px;font-size:22px}.quest .qp-stars .on{background:linear-gradient(180deg,#ffd84a,#f0a500);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.quest .qp-mastery{color:var(--muted);font-size:14px;font-weight:600}.quest .qp-cards{border:1px solid var(--q-line);border-radius:20px;background:#f7f1fd;box-shadow:var(--q-shadow)}.quest .qp-sea{position:relative;overflow:hidden;padding:14px 18px 16px;border-radius:22px;border:1px solid #c3e2ee;background:linear-gradient(180deg,var(--q-foam) 0,var(--q-surf) 55%,#bfe3f1 100%);box-shadow:var(--q-shadow)}.quest .qp-sea:before{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:38px;opacity:.55;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20c20 0 20-10 40-10s20 10 40 10 20-10 40-10 20 10 40 10 20-10 40-10 20 10 40 10v20H0z' fill='%2394cde4'/%3E%3C/svg%3E") repeat-x;background-size:240px 40px;animation:q-tide 14s linear infinite}@keyframes q-tide{to{background-position-x:240px}}.quest .qp-sea>*{position:relative}.quest .qp-sea-head{padding:2px 0;font-size:15px}.quest .qp-sea-head b{font-family:var(--font-display);letter-spacing:-.01em}.quest .qp-book{gap:10px;margin:12px 0 8px}.quest .qp-book li{border-radius:16px;background:#ffffffb3;box-shadow:0 1px 2px #0b3b5714;padding:10px 4px;transition:transform .2s var(--q-ease)}.quest .qp-book li.got:hover{transform:translateY(-2px) scale(1.04)}@media (prefers-reduced-motion: reduce){.quest .qp-sea:before{animation:none}.quest .qp-node,.quest .btn,.quest .qp-book li{transition:none}}.quest .qp-run{border-radius:24px;background:var(--q-card);box-shadow:var(--q-shadow-up);padding:20px 22px 24px;border:1px solid var(--q-line);gap:14px}.quest .qp-run.depth-1{background:linear-gradient(180deg,#eef8fc 0,#fff 120px)}.quest .qp-run.depth-2{background:linear-gradient(180deg,#e2f2f9 0,#fff 120px)}.quest .qp-run.depth-3{background:linear-gradient(180deg,#d3ebf5 0,#fff 130px)}.quest .qp-run.depth-4{background:linear-gradient(180deg,#bfe0ef 0,#fff 140px)}.quest .qp-prog{gap:5px}.quest .qp-prog span{height:6px;background:#e3dcee;transition:background-color .4s var(--q-ease)}.quest .qp-run-title{font-size:15px}.quest .qp-flame{font-size:14px;letter-spacing:.01em}.quest .qp-qnum{font-size:12px}.quest .qp-fb{border-radius:18px}.quest .choice,.quest .key{transition:border-color .15s,background-color .15s,transform .15s var(--q-ease)}.quest .choice:hover:not(:disabled){background:#faf7fe}.quest .key:hover:not(:disabled){background:#faf7fe}.quest .key:active:not(:disabled){transform:scale(.97)}.quest .scr-pad{border-radius:18px;border-color:var(--q-line);box-shadow:inset 0 1px 2px #1f08330a}.quest .scr-bar{border-radius:16px;border-color:var(--q-line)}@media (min-width: 700px){.qp-run .qstem{font-size:19px;line-height:1.5;font-weight:600;letter-spacing:-.005em}.qp-run .choice{font-size:17px;min-height:54px}.qp-run .qp-fb,.qp-run .qp-hint,.qp-run .qp-solution{font-size:16px}}@media (min-width: 1000px){.qp-run .qstem{font-size:20px}}.quest .qp-sea{padding-bottom:44px}@media (min-width: 700px){.qp-run .choices{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}.qp-run .choice{flex-direction:column;justify-content:center;text-align:center;gap:6px;min-height:74px;padding:10px 8px}}@media (min-width: 1000px){.qp-run .choices{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}}.fig-groupable{display:flex;flex-direction:column;align-items:center;gap:10px}.fig-ghit{fill:transparent;cursor:pointer;touch-action:none;outline:none}.fig-ghit:focus-visible{stroke:var(--accent, #6b2fb3);stroke-width:3}.fig-gfill{opacity:.95;transition:fill .2s}.fig-gedge{stroke-width:2.5;stroke-linecap:round}.fig-gsel{fill:#6b2fb31f;stroke:var(--accent, #6b2fb3);stroke-width:2.5;stroke-dasharray:5 4;rx:6}.fig-gtools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.fig-gbtn{min-height:38px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line-2, #d9d0e6);background:#fff;font:600 14px var(--font-body);color:var(--ink);cursor:pointer;transition:transform .15s,background-color .15s}.fig-gbtn.primary{background:var(--brand, #3a0a5a);color:#fff;border-color:transparent}.fig-gbtn:disabled{opacity:.4;cursor:default}.fig-gbtn:hover:not(:disabled){transform:translateY(-1px)}.fig-ghint{margin:0;font-size:12.5px;color:var(--muted);text-align:center}.pb{gap:6px}.pb-top{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;min-height:40px;align-items:center}.pb-readout{font:650 26px/1.2 var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pb-readout b{color:var(--brand);font-weight:750}.pb-readout .pb-arrow{color:var(--accent)}.pb-readout .pb-sub{font:600 .62em var(--font-display);color:var(--muted)}.pb-note{margin-left:14px;font:600 17px var(--font-display);color:var(--muted)}.pb-readout.pb-hint{font:500 17px var(--font-text, Inter, system-ui, sans-serif);color:var(--muted)}.tool.is-big .pb-readout{font-size:32px}.pb-svg{cursor:ew-resize;outline:none;max-height:none}.tool.is-big .pb-svg{max-height:360px}.stage-slide .tool.is-big .pb-svg{max-height:calc(212px + var(--extra, 0px) * .6)}.pb-svg:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.pb-row{font:600 15px var(--font-display);fill:var(--muted);letter-spacing:.05em;text-transform:uppercase;text-anchor:end;dominant-baseline:central;pointer-events:none}.pb-cell{stroke:#fff;stroke-width:2}.pb-cell.pct{fill:var(--tint)}.pb-cell.amt{fill:var(--brand-soft)}.pb-cell.beyond{fill:#f6ecd9}.pb-cell.amt.on{fill:var(--brand)}.pb-fill{pointer-events:none}.pb-fill.pct{fill:var(--accent)}.pb-fill.amt{fill:var(--brand)}.pb-edge{fill:none;stroke:#fff;stroke-width:2;pointer-events:none}.pb-cell.chg.up{fill:var(--good)}.pb-cell.chg.down{fill:var(--bad-soft);stroke:var(--bad);stroke-width:2.5;stroke-dasharray:7 5}.pb-lab{font:650 22px var(--font-display);fill:var(--brand);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-variant-numeric:tabular-nums}.pb-lab.on,.pb-lab.chg{fill:#fff}.pb-lab.chg.down{fill:var(--bad)}.pb-hundred{stroke:var(--brand);stroke-width:3.5;stroke-linecap:round;pointer-events:none}.pb-axis{font:600 19px var(--font-display);fill:var(--muted);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;text-anchor:middle;font-variant-numeric:tabular-nums;pointer-events:none}.pb-axis.strong{fill:var(--brand);font-weight:750}.pb-mline{stroke:var(--brand);stroke-width:4;stroke-linecap:round;opacity:.9}.pb-handle{fill:#fff;stroke:var(--brand);stroke-width:4;filter:drop-shadow(0 2px 4px rgba(58,10,90,.28));cursor:grab}.pb-grip{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.pb-marker{pointer-events:none}.pb-bar{justify-content:center;gap:14px}.pb-parts{display:inline-flex;align-items:center;gap:8px}.pb-parts-n{min-width:1.6em;text-align:center;font-family:var(--font-display)}.pb-tip{font-size:13px;color:var(--muted)}.cs-visual .pb-readout{font-size:20px}@media (max-width: 600px){.pb-tip{display:none}}.pb.is-small .pb-lab{font-size:21px}.pb.is-small .pb-axis{font-size:18px}.pb.is-small .pb-tip{display:none}.pb.is-small .pb-svg{max-height:none}.pb-svg{max-width:100%}.stage-slide.no-visual:not(.is-summary){grid-template-rows:auto auto minmax(0,1fr);row-gap:18px}.stage-slide.no-visual:not(.is-summary) .ss-focus{justify-content:flex-start;overflow:visible;gap:14px;grid-row:2;align-self:start}.stage-slide.no-visual:not(.is-summary) .ss-focus .think{order:1;flex:none;width:100%;padding:14px 22px 16px;gap:8px}.stage-slide.no-visual:not(.is-summary) .ss-focus .think-prompt{font-size:28px;line-height:1.25;font-weight:700}.stage-slide.no-visual:not(.is-summary) .ss-focus .think-btn{font-size:16px;min-height:36px}.stage-slide.no-visual:not(.is-summary) .ss-focus .think-reveal{font-size:18px}.stage-slide.no-visual:not(.is-summary) .ss-focus .ss-idea{order:2;flex:none;padding:4px 6px 0}.stage-slide.no-visual:not(.is-summary) .ss-focus .mistake{order:3;flex:none}.qs-meets{font-weight:500;font-size:.7em;color:var(--muted)}.wq-content.is-work{padding:22px 40px;pointer-events:none}.wq-content.is-clear{background:transparent}.wb-q{display:grid;gap:10px;align-content:start;max-width:100%}.wb-stem{margin:0;font-size:26px;line-height:1.35;font-weight:600;max-width:none;padding-bottom:10px;border-bottom:2px solid rgba(91,42,134,.18)}.wb-sol{font-size:18px;max-width:none;padding:10px 14px;border-radius:12px;background:#0e9f6e17}.wb-setup{align-items:center;justify-content:center;overflow:auto}.wb-form{width:min(720px,92vw);display:grid;gap:12px;padding:24px;border-radius:16px;background:#fff;box-shadow:0 10px 40px #00000026}.wb-form h2{margin:0}.wb-field{display:grid;gap:4px;font-weight:600}.wb-field textarea,.wb-field select{font:inherit;font-weight:400;padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.25)}.wb-preview{margin:0;padding:10px 12px;border-radius:10px;background:#5b2a860f;font-size:20px}.wb-actions{display:flex;gap:10px;flex-wrap:wrap}.qs-scores,.qs-missed{display:grid;gap:8px;margin-top:6px}.qs-score-table td,.qs-score-table th{padding:4px 8px}.qs-mission-acc{list-style:none;margin:0;padding:0;display:grid;gap:2px}.qs-missed-list{counter-reset:none;display:grid;gap:10px}.qs-missed-list li{display:grid;gap:2px;justify-items:start}.qp-late{margin:0;padding:8px 12px;border-radius:10px;background:var(--warn-soft);color:var(--warn);font-weight:600}.qp-score{margin:0;text-align:center}.wb-over{z-index:70;background:#fffffff0}.deck-count{align-self:center;font-weight:600;padding:0 4px}.deck-slide .deck-q .qstem{font-size:23px;line-height:1.35;max-width:none}.deck-slide .deck-q .qbody.is-stage .qfig svg{max-height:190px}.deck-stats{margin:0;font-size:16px;color:var(--warn,#a35a00);font-weight:600}.reteach-deck{margin-left:12px;vertical-align:middle}.deck-slide{max-width:100%}.wq-content{padding:26px 44px}.wq-overlay .bz-title{display:none}.wq-float{position:fixed;z-index:85;right:14px;bottom:12px;max-width:calc(100vw - 280px);display:flex;align-items:center;padding:5px 8px;border-radius:14px;background:#fffffff7;box-shadow:0 4px 18px #1f083347,0 0 0 1px #5b2a862e}.wq-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;justify-content:flex-end}.wq-bar .tb-group{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.wq-bar .btn{height:34px;padding:0 11px;font-size:14px;white-space:nowrap}.wq-bar .board-btn{padding:0 14px}.wq-dock{padding-right:10px;border-right:1px solid rgba(91,42,134,.18)}.dock-swatch{width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:var(--sw);box-shadow:0 0 0 1px #00000040;cursor:pointer;padding:0;display:grid;place-items:center;color:#fff;font:700 11px var(--font-display,inherit);line-height:1}.dock-swatch span{opacity:0;transition:opacity .12s}.dock-swatch:hover span,.dock-swatch:focus-visible span,.dock-swatch.on span{opacity:.95}.dock-swatch.on{box-shadow:0 0 0 2px var(--sw),0 0 0 4px #fff,0 0 0 5px #0000004d}.dock-swatch:focus-visible{outline:2px solid var(--accent,#8a3ad2);outline-offset:2px}.teach-col{display:flex;flex-direction:column;gap:8px;align-self:flex-start;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-1);box-sizing:border-box}.teach-col .teach-row{display:flex;flex-direction:column;align-items:stretch;gap:10px}.teach-col .tb-group,.teach-col .tb-center,.teach-col .tb-right{flex-wrap:wrap;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.teach-col .tb-center{order:1}.teach-col .tb-right{order:2}.teach-col .teach-row>.tb-group:first-child{order:3}.teach-col .btn{width:100%;justify-content:center;padding-left:8px;padding-right:8px;font-size:13px;white-space:normal;line-height:1.15;min-height:36px}.teach-col .btn.icon{width:auto;flex:1}.teach-col .dots{flex-wrap:wrap;gap:4px;justify-content:center}.teach-col .dot-btn.on{width:12px}.teach-col .tb-sep{display:none}.teach-col .board-tabs{display:flex;flex-wrap:wrap;gap:4px}.teach-col .board-tab{width:auto;min-width:34px;flex:1}.teach-col .zoom-ctl{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.teach-col .bg-seg{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.teach-col .own-anchor{position:relative;display:block}.teach-col .nav-pair{display:flex;gap:6px}.live-tabs .tab-link{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;color:var(--brand);font-weight:600;text-decoration:none}.live-tabs .tab-link:hover{background:var(--panel);text-decoration:underline}.side-stack{display:flex;flex-direction:column;gap:6px;width:100%;align-self:flex-start}.side-stack .teach-col{width:100%;padding:4px;gap:6px;border-radius:12px}.side-stack .teach-col .btn{font-size:12px;min-height:30px;padding-left:2px;padding-right:2px}.side-stack .teach-col .btn.icon{min-width:0;padding:0}.side-stack .teach-col .nav-pair{gap:4px}.side-stack .teach-col .dots{gap:3px}.side-stack .teach-col .dot-btn{width:9px;height:9px}.side-stack .teach-col .teach-row{gap:6px}.side-stack .teach-col .tb-group,.side-stack .teach-col .tb-center,.side-stack .teach-col .tb-right{gap:4px}.side-stack .teach-col .zoom-val{font-size:10px;text-align:center}.side-stack .teach-col .bg-seg button{width:30px;height:30px}.side-stack .ink-rail{padding:4px;gap:6px}.side-stack .teach-col .own-form{right:auto;left:calc(100% + 14px);bottom:auto;top:0}.lobby-stage{padding:36px 56px 28px;gap:36px}.lobby-logo{margin-bottom:4px}.lobby-code{font-size:116px}.lobby-qr{margin-top:4px}.lobby-qr-text{font-size:19px}.lobby-left{gap:10px}.lobby-right{min-height:0;overflow:hidden;padding:22px;gap:12px}.lobby-names{align-content:start;gap:8px;overflow:hidden}.lobby-names.n-lots{grid-template-columns:1fr 1fr 1fr;gap:6px}.lobby-names.n-lots li{font-size:20px;padding:9px 12px}.lobby-names.n-many{grid-template-columns:1fr 1fr 1fr 1fr;gap:5px}.lobby-names.n-many li{font-size:17px;padding:7px 10px;border-radius:9px}.lobby-names li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-setup [hidden]{display:none!important}.live-setup.is-quests .live-wrap{max-width:1240px;margin:0 auto}.quest-setup.qs-shell{max-width:none;flex-direction:row;align-items:flex-start;gap:20px}.qs-side{flex:0 0 280px;position:sticky;top:12px;max-height:calc(100vh - 100px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.qs-side-head{display:flex;justify-content:space-between;align-items:baseline}.qs-side-head h2{font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.qs-search{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line-2);font:500 14px var(--font-body);background:var(--panel);color:var(--ink)}.qs-alerts,.qs-list{display:flex;flex-direction:column;gap:6px}.qs-alerts{padding-bottom:8px;border-bottom:1px solid var(--line)}.qs-item{display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;text-align:left;padding:10px 12px;border-radius:12px;border:1.5px solid transparent;background:transparent;color:var(--ink);font-family:inherit;cursor:pointer}.qs-item:hover{background:var(--line)}.qs-item.on{background:color-mix(in srgb,var(--brand) 12%,var(--panel));border-color:var(--brand)}.qs-item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.qs-item-name{font-weight:700;font-size:15px}.qs-item-sub{grid-column:1 / -1;font-size:12.5px;color:var(--muted)}.qs-item .qs-chip{justify-self:start}.qs-item.alert{background:color-mix(in srgb,var(--bad) 8%,var(--panel))}.qs-badge{min-width:24px;text-align:center;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;background:var(--line-2)}.qs-badge.warn{background:var(--bad);color:#fff}.qs-chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--line);color:var(--ink);white-space:nowrap}.qs-chip.good{background:color-mix(in srgb,var(--good) 18%,var(--panel));color:var(--good)}.qs-chip.warn{background:color-mix(in srgb,var(--bad) 14%,var(--panel));color:var(--bad)}.qs-side-note{margin-top:auto}.qs-main{flex:1 1 0;min-width:0}.qs-detail,.qs-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px 22px;gap:16px;display:flex;flex-direction:column}.qs-detail{min-height:420px}.qs-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:flex-start}.qs-head h3{font-size:24px}.qs-chips{display:flex;flex-wrap:wrap;gap:6px}.qs-tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);overflow-x:auto}.qs-tabs button{min-height:44px;padding:0 16px;border:none;background:none;font:700 15px var(--font-body);color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}.qs-tabs button.on{color:var(--ink);border-bottom-color:var(--brand)}.qs-tabs button:hover{color:var(--ink)}.qs-tab-n{margin-left:6px;padding:0 7px;border-radius:999px;background:var(--line);font-size:12px}.qs-pane{display:flex;flex-direction:column;gap:14px;min-width:0}.qs-quest{display:contents}.qs-quest h4,.qs-pane h4{font-size:17px}.qs-quest-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.qs-quest-now{display:flex;flex-direction:column;gap:12px}.qs-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.qs-tile{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.qs-tile b{font-size:28px;line-height:1.1}.qs-tile b small{font-size:16px;color:var(--muted);font-weight:600}.qs-tile span{font-size:13px;color:var(--muted)}.qs-open{border:1.5px dashed var(--line-2);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.qs-empty{padding:18px;border-radius:14px;background:var(--line);color:var(--muted);font-weight:600}.qs-emails{display:flex;flex-direction:column;gap:10px}.qs-emaillist{max-height:52vh;overflow-y:auto}.qs-emails input[type=email],.qs-emails input[type=search]{min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--line-2);font:500 14px var(--font-body);min-width:260px;max-width:100%}.qs-replace{border:1px solid var(--line);border-radius:12px;padding:10px 14px}.qs-replace label{margin-top:8px}.qs-replace textarea{width:100%}.qs-panel{max-width:760px}@media (max-width: 860px){.quest-setup.qs-shell{flex-direction:column}.qs-side{position:static;max-height:none;width:100%;flex-basis:auto}.qs-list{flex-direction:row;overflow-x:auto}.qs-list .qs-item{min-width:190px}}.qs-report{border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.qs-reports{display:flex;flex-direction:column;gap:12px}.qs-asked{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/live/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/live/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/live/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/live/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/live/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/live/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/live/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/live/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/live/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/live/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/live/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/live/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/live/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/live/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/live/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/live/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/live/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/live/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/live/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/live/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/live/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/live/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/live/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/live/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/live/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/live/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/live/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/live/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/live/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/live/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/live/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/live/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/live/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/live/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/live/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/live/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/live/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/live/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/live/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/live/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/live/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/live/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/live/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/live/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/live/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/live/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/live/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/live/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/live/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/live/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,math,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.19.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
/* Live class home: cleaner, brighter start screen (scoped to the setup page). */
.live-setup:not(.is-quests){background:radial-gradient(1200px 520px at 15% -10%,#efe3fb 0%,transparent 60%),radial-gradient(900px 480px at 100% 0%,#e4ecfd 0%,transparent 55%),var(--paper);align-content:start;padding-top:28px}
.live-setup .live-tabs{width:max-content;max-width:100%;margin:0 auto 22px;padding:5px;gap:4px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-1);overflow-x:auto;scrollbar-width:none}
.live-setup .live-tabs::-webkit-scrollbar{display:none}
.live-setup .live-tabs button,.live-setup .live-tabs .tab-link{min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:600;white-space:nowrap;text-decoration:none}
.live-setup .live-tabs button:hover,.live-setup .live-tabs .tab-link:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none}
.live-setup .live-tabs button.on{background:linear-gradient(135deg,#3a0a5a,#7b3ff2);color:#fff}
.live-setup .setup-grid{grid-template-columns:minmax(0,420px) minmax(0,560px);gap:24px}
.live-setup .setup-card{position:relative;overflow:hidden;border-radius:22px;border-color:#ebe4f3;gap:18px}
.live-setup .setup-card:not(.library)::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#3a0a5a,#7b3ff2 55%,#3b6ff2)}
.live-setup .setup-brand{gap:12px;padding-bottom:16px}
.live-setup .setup-brand h1{font-family:var(--font-display);font-size:28px;letter-spacing:-.02em;margin:6px 0 0}
.live-setup .setup-sub{margin:-6px 0 0;color:var(--muted);font-size:14px}
.live-setup .setup-form{gap:14px}
.live-setup .setup-form label{font-size:13px;color:#4a3d5c}
.live-setup .setup-form select,.live-setup .setup-form input{min-height:46px;border-color:#ddd3ea;transition:border-color .15s,box-shadow .15s}
.live-setup .setup-form select:focus,.live-setup .setup-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.live-setup .setup-form label.setup-check{background:#faf7fd;border:1px dashed #dccdef;font-weight:600}
.live-setup .setup-guests{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:10px!important}
.live-setup .setup-guests input{width:72px;min-height:40px;font-size:16px;text-align:center}
.live-setup .setup-guests .sm{font-weight:400}
.live-setup #live-code{text-align:center;font-size:24px;font-weight:700;letter-spacing:.18em;color:var(--brand);background:#faf7fd}
.live-setup .btn.primary.lg{min-height:54px;border-radius:14px;font-size:17px;background:linear-gradient(135deg,#3a0a5a,#7b3ff2);box-shadow:0 14px 26px -16px #5b1f9a;transition:transform .12s,box-shadow .12s}
.live-setup .btn.primary.lg:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 30px -16px #5b1f9a;background:linear-gradient(135deg,#3a0a5a,#7b3ff2)}
.live-setup .setup-link{justify-content:center;padding:10px 12px;border-radius:12px;background:var(--brand-soft);margin:0}
.live-setup .lib-head{align-items:center}
.live-setup .lib-head h2{font-family:var(--font-display);font-size:20px;letter-spacing:-.01em}
.live-setup .lib-count{min-width:28px;height:28px;padding:0 9px;display:inline-grid;place-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:13px}
.live-setup .lib-list{border:0;gap:8px}
.live-setup .lib-list li{flex-wrap:nowrap;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .15s,box-shadow .15s}
.live-setup .lib-list li+li{border-top:1px solid var(--line)}
.live-setup .lib-list li:hover{border-color:#d4c2ea;box-shadow:0 10px 24px -20px #3a0a5a}
.live-setup .lib-main{flex:1}
.live-setup .lib-main b{font-size:15px}
.live-setup .lib-actions{flex:none}
@media (max-width:960px){.live-setup .setup-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.live-setup:not(.is-quests){padding:16px 12px}.live-setup .live-tabs{width:100%;justify-content:flex-start}.live-setup .setup-card{padding:22px 18px}.live-setup .setup-brand h1{font-size:24px}.live-setup .lib-list li{flex-wrap:wrap}}
.live-setup .setup-form .setup-check input{min-height:0;height:18px;margin-top:2px}
.live-setup .setup-form label.setup-check{align-items:center}
@media (max-width:560px){.live-setup .live-tabs{gap:2px}.live-setup .live-tabs button,.live-setup .live-tabs .tab-link{padding:0 11px;font-size:14px}}
/* Lesson pictures and animated drawings (visual type "image", question "image"). */
.em-img{display:flex;justify-content:center;align-items:center;margin:10px auto;width:100%}
.em-img img{display:block;max-width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:12px}
.em-img.em-img-small img{max-height:150px}.em-img.em-img-large img{max-height:340px}
.em-img.is-big img{max-height:44vh}.em-img.is-big.em-img-small img{max-height:26vh}.em-img.is-big.em-img-large img{max-height:58vh}
.ss-visual .em-img img,.cs-visual .em-img img{width:auto}
.em-anim-fade img{animation:emImgFade .6s ease-out both}
.em-anim-rise img{animation:emImgRise .7s cubic-bezier(.2,.8,.2,1) both}
.em-anim-zoom img{animation:emImgZoom .7s cubic-bezier(.2,.8,.2,1) both}
.em-anim-pop img{animation:emImgPop .55s cubic-bezier(.3,1.6,.5,1) both}
.em-anim-slide img{animation:emImgSlide .7s cubic-bezier(.2,.8,.2,1) both}
.em-anim-float img{animation:emImgFade .6s ease-out both,emImgFloat 4s ease-in-out .6s infinite}
@keyframes emImgFade{from{opacity:0}to{opacity:1}}
@keyframes emImgRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes emImgZoom{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes emImgPop{0%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:none}}
@keyframes emImgSlide{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes emImgFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.em-img img{animation:none!important}}
/* Fit slide pictures inside the slide canvas: the picture shrinks to the space left under the text. */
.stage-slide:not(.no-visual):not(.is-summary) .ss-visual:has(.em-img){grid-row:3 / 5;margin-top:0}
.stage-slide .ss-visual:has(.em-img){align-self:stretch;height:100%;min-height:0;overflow:hidden;justify-content:center}
.stage-slide .ss-visual .em-img.is-big{flex:1 1 0;min-height:0;margin:0;height:100%}
.stage-slide .ss-visual .em-img.is-big img{height:100%;max-height:100%;width:auto;max-width:100%}
.stage-slide .ss-visual .em-img.is-big.em-img-small img{max-height:60%}

.stage-nav{position:absolute;right:120px;bottom:6px;z-index:10;display:flex;gap:10px}
.stage-nav-btn{width:64px;height:48px;border-radius:12px;border:2px solid rgba(255,255,255,.55);background:rgba(255,255,255,.14);color:#fff;font-size:34px;line-height:1;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 4px}
.stage-nav-btn:hover:not(:disabled){background:rgba(255,255,255,.28)}
.stage-nav-btn.next{width:96px;background:#fff;color:var(--brand);border-color:#fff}
.stage-nav-btn.next:hover:not(:disabled){background:#f1e9fb}
.stage-nav-btn:disabled{opacity:.3;cursor:default}
/* Live start page: simple and pastel; the lesson library has its own tab */
.live-setup:not(.is-quests){background:linear-gradient(160deg,#f8f4ff 0%,#f1f7ff 55%,#f3fbf7 100%)}
.live-setup .setup-grid.is-start{grid-template-columns:minmax(0,460px)}
.live-setup .setup-grid.is-library{grid-template-columns:minmax(0,640px)}
.live-setup .setup-card[hidden]{display:none!important}
.live-setup .setup-card{border-color:#eee7fb;box-shadow:0 12px 40px -26px rgba(123,63,242,.35)}
.live-setup .setup-card:not(.library)::before{height:4px;background:linear-gradient(90deg,#dccbff,#c9dcff,#c8efdd)}
.live-setup .setup-brand{border-bottom:0;padding-bottom:0}
.live-setup .setup-form select,.live-setup .setup-form input{background:#fbf9ff;border-color:#e7dff6}
.live-setup .setup-form label.setup-check{background:#f0faf5;border:1px solid #d5eee2}
.live-setup #live-code{background:#f4efff;color:#5b2bb5;border-color:#e3d8fb}
.live-setup .btn.primary.lg,.live-setup .btn.primary.lg:hover:not(:disabled){background:#d4c2ff;color:#2b1840;box-shadow:none}
.live-setup .btn.primary.lg:hover:not(:disabled){background:#c7b0ff}
.live-setup .setup-link{background:#eef5ff}
.live-setup .live-tabs{background:rgba(255,255,255,.8);border-color:#eee7fb;box-shadow:none}
.live-setup .live-tabs button.on{background:#e9dcff;color:#3a0a5a}
.live-setup .lib-count{background:#f1eaff;color:#6a3fc4}
.live-setup .lib-list li:not(.lib-grade){background:#fcfaff;border-color:#efe8fb}
.live-setup .lib-list li.lib-grade{display:block;padding:14px 4px 2px;border:0;background:none;box-shadow:none;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a6fc4}
.live-setup .lib-list li.lib-grade:first-child{padding-top:0}

/* Whiteboard ergonomics: Undo/Redo under the tools, board pages in the bottom bar */
.ink-rail .rail-undo{padding-top:6px;border-top:1px solid var(--line)}
.ink-rail .rail-undo .rail-btn{width:30px;height:32px}
.ink-rail .rail-tools button{height:36px}
.stage-nav-btn.wide{width:auto;padding:0 18px 2px;font-size:17px;white-space:nowrap}
.stage-nav-btn.back{width:auto;padding:0 16px 2px;font-size:15px;white-space:nowrap}
.board-nav{right:190px}

/* Question slides: no box, no watermark, no label. The question alone, large, on the plain slide. */
.stage-slide .think,.stage-slide:not(.no-visual):not(.is-summary) .ss-focus .think,.stage-slide.no-visual:not(.is-summary) .ss-focus .think{background:transparent;box-shadow:none;border-radius:0;padding:0;overflow:visible}
.stage-slide .think-mark,.card-slide .think-mark{display:none}
.card-slide .think{background:transparent;padding:0}
.stage-slide.is-asking:not(.is-summary) .ss-focus{grid-column:1 / -1;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:stretch;height:100%;padding:0 4%}
.stage-slide.is-asking:not(.is-summary) .ss-focus .think{width:100%;max-width:none;flex-direction:column;align-items:flex-start;gap:28px}
.stage-slide.is-asking:not(.is-summary) .ss-focus .think-prompt{font-size:clamp(34px,4.4vw,64px);line-height:1.2;font-weight:700;letter-spacing:-.02em;color:#1c1027;max-width:24ch}
.stage-slide .think.is-open .think-prompt{color:#1c1027}
.stage-slide .think-reveal{background:transparent;box-shadow:none;padding:4px 0 0;border-radius:0;color:#0b5e5a}
.stage-slide .think-btn,.card-slide .think-btn{min-height:30px;padding:0 14px;border-radius:99px;font-size:13px;font-weight:600;background:transparent;color:#7a6f88;box-shadow:inset 0 0 0 1px #d9d2e3}
.stage-slide .think-btn:hover{color:var(--accent);box-shadow:inset 0 0 0 1px #cdb3ef}
.ss-focus>.ss-idea.after-think{order:2}
.ss-focus>.mistake{order:3}
.stage-slide:not(.is-summary) .ss-focus .think.is-open .think-prompt{font-size:clamp(28px,3.2vw,46px);line-height:1.2;letter-spacing:-.02em}
.stage-slide:not(.is-summary) .ss-focus .think.is-open .think-reveal{font-size:clamp(18px,1.9vw,26px)}
/* Step-by-step explanation: plain lines, no boxes. The step being explained gets a soft highlight. */
.think-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;width:100%;counter-reset:st}
.think-steps>li{counter-increment:st;position:relative;padding:8px 14px 8px 46px;border-radius:12px;color:#5c5470;font:600 clamp(18px,1.9vw,26px)/1.35 var(--font-body);transition:background .25s,color .25s;animation:reveal-in .3s ease-out}
.think-steps>li::before{content:counter(st);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 13px/1 var(--font-body);color:#9a92a8;box-shadow:inset 0 0 0 1.5px #d9d2e3}
.think-steps>li.is-now{background:#fff4d6;color:#1c1027}
.think-steps>li.is-now::before{background:#e0a63a;color:#fff;box-shadow:none}
.think-steps>li:only-child{padding-left:14px}
.think-steps>li:only-child::before{display:none}
.card-slide .think-steps>li{font-size:15px;padding:4px 0 4px 34px;color:#1c1027;background:none}
.card-slide .think-steps>li::before{left:2px}
.stage-slide .think-next{align-self:flex-start;margin-left:46px}
.stage-slide.is-solving .ss-focus .think{gap:14px}
/* Watch out: a note, not a box */
.stage-slide .mistake,.card-slide .mistake,.mistake{background:transparent;box-shadow:none;border-radius:0;padding:4px 0 0 14px;border-left:3px solid #e8a3b2}
.stage-slide .mistake-label,.mistake-label{box-shadow:none;padding:0;background:none;color:var(--bad);font-weight:700}
/* Join screen: students from the other sessions */
.name-more{margin-top:14px;width:100%}
.name-more-head{margin:4px 0 10px}
/* Class codes */
.lx-codes{border-top:1px solid var(--line-2,#e2dcec);padding-top:10px}
.lx-codes>summary{cursor:pointer;font-weight:600;color:var(--accent,#7b3ff2)}
.lx-codes table{width:100%;border-collapse:collapse;margin:8px 0}
.lx-codes td{padding:5px 6px;border-bottom:1px solid #f0ecf5;vertical-align:middle;font-size:14px}
.lx-codes td:first-child{width:55%}
.lx-codes input{width:120px;padding:6px 8px;border:1px solid #d9d2e3;border-radius:8px;font:600 14px/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.lx-codes tr.cur td:first-child{font-weight:700}
.lx-codes tr.dup input{border-color:#d64545;background:#fdf0ef}
.lx-codes-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Explanation rows: math on the left, stacked like board work; the thought beside it, smaller and lighter. */
.think-steps{counter-reset:none;gap:2px}
.think-steps>li.st-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:baseline;column-gap:28px;padding:7px 14px;border-radius:10px;color:#1c1027;font:500 clamp(17px,1.55vw,23px)/1.4 var(--font-body)}
.think-steps>li.st-row::before{display:none}
.think-steps>li.st-row .st-math{grid-column:1;min-width:0}
.think-steps>li.st-row .st-note{grid-column:2;color:#7a6f88;font:500 clamp(13px,1.05vw,16px)/1.35 var(--font-body);padding-left:14px;border-left:2px solid #ece6f3}
.think-steps>li.st-row.st-only-note .st-note{grid-column:1 / -1;border-left:0;padding-left:0;color:#5c5470;font-weight:600}
.think-steps>li.st-row.st-text .st-math{grid-column:1 / -1}
.think-steps>li.st-row.is-now{background:#fff4d6}
.think-steps>li.st-row.is-now .st-note{color:#6b4a00;border-left-color:#e0a63a}
.stage-slide .think-next{margin-left:14px}
/* The question: clear but not shouting */
.stage-slide.is-asking:not(.is-summary) .ss-focus .think-prompt{font-size:clamp(26px,2.9vw,42px)}
.stage-slide:not(.is-summary) .ss-focus .think.is-open .think-prompt{font-size:clamp(20px,2vw,28px)}
/* Student phones: the thought goes under the math */
.card-slide .think-steps>li.st-row{grid-template-columns:1fr;row-gap:2px;padding:6px 8px;font-size:15px}
.card-slide .think-steps>li.st-row .st-note{grid-column:1;padding-left:0;border-left:0;font-size:12.5px}
.card-slide .think-steps>li.st-row.is-now{background:#fff4d6}
/* Keep each thought right next to its math: one shared grid, the math column as wide as its longest line. */
.stage-slide .think-steps{display:grid;grid-template-columns:max-content minmax(0,1fr);row-gap:2px;width:auto;max-width:100%}
.stage-slide .think-steps>li.st-row{grid-column:1 / -1;grid-template-columns:subgrid;column-gap:32px}
@supports not (grid-template-columns:subgrid){.stage-slide .think-steps>li.st-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}

/* Worked examples: the question steps back, the steps use the whole width, "Next time" stands out */
.stage-slide:not(.is-summary) .ss-focus .think.is-open .think-prompt{font-size:clamp(17px,1.4vw,21px);font-weight:600;line-height:1.35;max-width:none;color:#2b1840}
.stage-slide .think-steps{width:100%}
/* "Next time" and everything under it (key idea, Watch out) form one golden pastel block */
.stage-slide .think-steps>li.st-row.st-only-note{margin-top:12px;padding:16px 24px 12px 66px;border:2px solid #f3d27e;border-bottom:0;border-radius:18px 18px 0 0;background:#fff4d4;animation:takeaway-in .45s ease-out}
.stage-slide .think-steps>li.st-row.st-only-note::before{content:"\1F4A1";display:grid;place-items:center;position:absolute;left:18px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#ffe08a;font-size:19px;line-height:1;box-shadow:0 0 0 4px #fff8e3}
.stage-slide .think-steps>li.st-row.st-only-note .st-note{color:#3a0a5a;font:700 clamp(18px,1.7vw,25px)/1.35 var(--font-body)}
@keyframes takeaway-in{0%{transform:scale(.98);opacity:0}100%{transform:none;opacity:1}}
.stage-slide.is-solving:not(.is-summary):not(.x) .ss-focus:has(.st-only-note){gap:0}
.stage-slide .ss-focus:has(.st-only-note)>.ss-idea.after-think{margin:0;padding:6px 24px 12px;background:#fff4d4;border:2px solid #f3d27e;border-top:0;border-bottom:0;animation:takeaway-in .45s ease-out}
.stage-slide .ss-focus:has(.st-only-note)>.ss-idea.after-think .ss-lines li{color:#3a2a10}
.stage-slide .ss-focus:has(.st-only-note)>.mistake{margin:0;padding:10px 24px 18px;background:#fff4d4;border:2px solid #f3d27e;border-top:0;border-radius:0 0 18px 18px;animation:takeaway-in .45s ease-out}
.stage-slide .ss-focus:has(.st-only-note)>.mistake .mistake-fix,.stage-slide .ss-focus:has(.st-only-note)>.mistake .mistake-claim{padding-left:12px;border-left:3px solid #f2a7a7}
.stage-slide .ss-focus:has(.st-only-note):not(:has(>.mistake))>.ss-idea.after-think{border-bottom:2px solid #f3d27e;border-radius:0 0 18px 18px;padding-bottom:16px}
.stage-slide .ss-focus:has(.st-only-note):not(:has(>.mistake)):not(:has(>.ss-idea.after-think)) .st-only-note{border-bottom:2px solid #f3d27e;border-radius:18px;padding-bottom:16px}
.card-slide .think-steps>li.st-row.st-only-note{margin-top:6px;padding:8px 10px;border-radius:10px;background:#fff4d4;border:1.5px solid #f3d27e}
.card-slide .think-steps>li.st-row.st-only-note .st-note{color:#3a0a5a;font-weight:700;font-size:14px}
/* While the steps are showing, the picture moves beside them instead of sliding under the text */
.stage-slide.is-solving:not(.no-visual):not(.is-summary){grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:36px}
.stage-slide.is-solving:not(.no-visual):not(.is-summary) .ss-focus{grid-column:1;grid-row:2;align-self:start}
.stage-slide.is-solving:not(.no-visual):not(.is-summary) .ss-visual{grid-column:2;grid-row:2;align-self:start;margin-top:0;min-height:0}
.stage-slide.is-solving:not(.no-visual):not(.is-summary) .ss-visual>.fig svg{max-width:100%;height:auto}
/* Question-first slides: the concept name never sits above the question (it would give the trick away).
   The question is the heading; the "Next time" bar names the idea at the end. */
.stage-slide.is-solving .ss-head{display:none}
.card-slide:has(.think) .cs-kicker,.card-slide:has(.think) .cs-title{display:none}
/* Reveal and Next step as quiet round icons; more air around the explanation */
.stage-slide .think-btn.think-ico{width:46px;height:46px;min-height:0;padding:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#7b3ff2;box-shadow:inset 0 0 0 2px #d8c6f7;transition:transform .15s,box-shadow .15s,background .15s}
.stage-slide .think-btn.think-ico:hover{background:#f6f1fd;box-shadow:inset 0 0 0 2px #7b3ff2;transform:translateY(1px)}
.stage-slide .think-btn.think-reveal-btn{background:#7b3ff2;color:#fff;box-shadow:0 8px 18px -10px rgba(58,10,90,.7)}
.stage-slide .think-btn.think-reveal-btn:hover{background:#3a0a5a;color:#fff;box-shadow:0 8px 18px -10px rgba(58,10,90,.7)}
.think-ico-svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.stage-slide .think-next.think-ico{margin:6px 0 0 14px}
.stage-slide.is-solving .ss-focus .think-prompt{margin-bottom:10px}
.stage-slide .think-steps>li.st-row{padding-top:6px;padding-bottom:6px}
.stage-slide .think-steps>li.st-row.st-only-note{margin-top:16px}
.stage-slide.is-solving:not(.no-visual):not(.is-summary) .ss-visual,.stage-slide.is-solving .ss-visual:has(.em-img){justify-content:flex-start;height:auto;align-self:start}
.stage-slide.is-solving .ss-visual .em-img.is-big{flex:none;height:auto;width:100%}
.stage-slide.is-solving .ss-visual .em-img.is-big img{width:100%;height:auto;max-height:none}
.em-svg{display:flex;justify-content:center;align-items:center;width:100%}
.em-svg svg{display:block;max-width:100%;height:auto;max-height:260px;border-radius:12px;overflow:hidden}
.em-img.em-img-small .em-svg svg{max-height:150px}.em-img.em-img-large .em-svg svg{max-height:340px}
.em-img.is-big .em-svg svg{max-height:44vh}.em-img.is-big.em-img-small .em-svg svg{max-height:26vh}.em-img.is-big.em-img-large .em-svg svg{max-height:58vh}
.ss-visual .em-svg svg,.cs-visual .em-svg svg{width:auto}
.stage-slide .ss-visual .em-img.is-big .em-svg{height:100%}
.stage-slide .ss-visual .em-img.is-big .em-svg svg{height:100%;max-height:100%;width:auto;max-width:100%}
.stage-slide.is-solving .ss-visual .em-img.is-big .em-svg svg{width:100%;height:auto;max-height:none}
