:root{--paper: #f6f8fa;--paper-2: #eef2f6;--sheet: #ffffff;--ink: #0f172a;--ink-2: #475569;--ink-3: #5b6778;--ink-4: #94a3b8;--rule: #e2e8f0;--rule-2: #cbd5e1;--brand: #0b7a6e;--brand-hover: #09665c;--brand-fill: #0e9f8e;--brand-tint: #e6f4f2;--signal: #d93036;--signal-hover: #b8262c;--signal-tint: #fdecec;--cobalt: #2563eb;--cobalt-tint: #e8effd;--moss: #15803d;--moss-tint: #e7f6ec;--amber: #a16207;--amber-tint: #fdf5e1;--brick: #b42318;--brick-tint: #fdecea;--s1: #0e9f8e;--s2: #2563eb;--s3: #7c3aed;--s4: #d97706;--s5: #db2777;--s6: #0891b2;--s7: #65a30d;--s8: #475569;--bg: var(--paper);--fg: var(--ink);--muted: var(--ink-2);--subtle: var(--ink-3);--surface: var(--sheet);--border: var(--rule);--border-strong: var(--rule-2);--accent: var(--brand-fill);--focus: var(--cobalt);--track: color-mix(in srgb, var(--fg) 8%, transparent);--font-ui: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-xs: 12px;--t-sm: 13px;--t-md: 14px;--t-base: 16px;--t-lg: 18px;--t-xl: 22px;--t-2xl: 28px;--t-3xl: 40px;--r-1: 4px;--r-2: 8px;--r-3: 12px;--r-full: 999px;--shadow-pop: 0 1px 2px rgba(15, 23, 42, .06), 0 16px 40px -12px rgba(15, 23, 42, .24);--shadow-lift: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px -12px rgba(15, 23, 42, .18);--ease: cubic-bezier(.2, .8, .2, 1);--d1: .12s;--d2: .2s;--d3: .32s;--z-sticky: 10;--z-pop: 40;--z-dialog: 60;--z-toast: 80;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:400 var(--t-base) / 1.5 var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;line-height:1.15;font-weight:600;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}svg{display:block;flex:none}img{display:block;max-width:100%}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-1)}.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:8px;top:-60px;z-index:100;padding:8px 12px;border-radius:var(--r-2);background:var(--ink);color:var(--paper)}.skip:focus{top:8px}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.display{font-family:var(--font-display)}.btn{--b-bg: var(--surface);--b-fg: var(--fg);--b-bd: var(--border-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--b-bd);border-radius:var(--r-2);background:var(--b-bg);color:var(--b-fg);font-size:var(--t-md);font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;user-select:none;-webkit-tap-highlight-color:transparent;transition:background var(--d1),border-color var(--d1),color var(--d1),transform var(--d1)}.btn:hover{--b-bd: var(--ink-3)}.btn:active:not([disabled]){transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary,.btn-live{--b-bg: var(--brand);--b-fg: #fff;--b-bd: var(--brand)}.btn-primary:hover,.btn-live:hover{--b-bg: var(--brand-hover);--b-bd: var(--brand-hover)}.btn-dark{--b-bg: var(--ink);--b-fg: #fff;--b-bd: var(--ink)}.btn-ghost{--b-bg: transparent;--b-bd: transparent}.btn-ghost:hover{--b-bg: color-mix(in srgb, var(--fg) 7%, transparent);--b-bd: transparent}.btn-danger{--b-fg: var(--brick)}.btn-danger-solid{--b-bg: var(--brick);--b-fg: #fff;--b-bd: var(--brick)}.btn-sm{min-height:30px;padding:0 10px;font-size:var(--t-sm);gap:6px}.btn-lg{min-height:48px;padding:0 20px;font-size:var(--t-base)}.btn-block{width:100%}.btn-icon{padding:0;width:36px}.btn-icon.btn-sm{width:30px}@media(pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:40px}.btn-icon{width:44px}.btn-icon.btn-sm{width:40px}}.field{display:grid;gap:6px}.field-label{font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.input{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--r-2);background:var(--surface);font-size:var(--t-base);transition:border-color var(--d1),box-shadow var(--d1)}.input::placeholder{color:var(--ink-4)}.input:hover{border-color:var(--ink-3)}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-fill) 25%,transparent)}.input[aria-invalid=true]{border-color:var(--brick)}textarea.input{min-height:88px;resize:vertical;line-height:1.45}select.input{appearance:none;padding-right:34px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23475569' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E") no-repeat right 12px center}@media(pointer:coarse){.input{min-height:44px}}.hint{font-size:var(--t-sm);color:var(--subtle)}.error-text{font-size:var(--t-sm);color:var(--brick)}input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--brand);flex:none}.callout{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-2);border:1px solid var(--border);background:var(--paper-2);font-size:var(--t-md)}.callout svg{margin-top:1px}.callout-ok{background:var(--moss-tint);border-color:color-mix(in srgb,var(--moss) 25%,transparent);color:#14532d}.callout-warn{background:var(--amber-tint);border-color:color-mix(in srgb,var(--amber) 25%,transparent);color:#713f12}.callout-bad{background:var(--brick-tint);border-color:color-mix(in srgb,var(--brick) 25%,transparent);color:#7f1d1d}.opts{display:grid;gap:10px;margin:0;padding:0;list-style:none}.opt{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:10px 14px;border:1.5px solid var(--border-strong);border-radius:var(--r-3);background:var(--surface);text-align:left;font-size:17px;font-weight:500;line-height:1.3;-webkit-tap-highlight-color:transparent;transition:border-color var(--d1),background var(--d1)}.opt:hover:not([disabled]){border-color:var(--ink-3)}.opt-key{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1.5px solid var(--border-strong);border-radius:var(--r-2);font:500 14px var(--font-mono);color:var(--ink-2)}.opt[aria-checked=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.opt[aria-checked=true] .opt-key{background:var(--brand);border-color:var(--brand);color:#fff}.opt.is-correct{border-color:var(--moss);background:var(--moss-tint)}.opt.is-correct .opt-key{background:var(--moss);border-color:var(--moss);color:#fff}.opt.is-wrong{border-color:var(--brick);background:var(--brick-tint)}.opt[disabled]{cursor:default}.opt .opt-end{margin-left:auto;display:flex;gap:2px}.rate{display:grid;gap:10px;padding:16px 0;border-bottom:1px solid var(--border)}.rate:first-child{padding-top:0}.rate-head{display:flex;justify-content:space-between;gap:12px;font-weight:600}.rate input[type=range]{width:100%;height:32px;accent-color:var(--brand)}.rate-ends{display:flex;justify-content:space-between;gap:12px;font-size:.8em;color:var(--subtle)}.stepper{display:inline-flex;align-items:center;gap:4px}.stepper output{min-width:3.2ch;text-align:center;font:500 18px var(--font-mono)}.check-row{display:flex;gap:10px;align-items:center;font-size:var(--t-md);color:var(--ink-2);min-height:32px}.res-bars{display:grid;gap:14px;margin:0;padding:0;list-style:none}.res-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:baseline}.res-key{font:500 .85em var(--font-mono);color:var(--subtle)}.res-label{font-weight:600;overflow-wrap:anywhere}.res-val{font:500 .95em var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.res-val small{font-size:.85em;color:var(--subtle);margin-left:6px}.res-track{display:block;grid-column:1 / -1;height:12px;border-radius:2px;background:var(--track);overflow:hidden}.res-fill{display:block;height:100%;width:calc(var(--w) * 1%);min-width:2px;background:var(--c, var(--accent));transition:width .6s var(--ease)}.res-bar.is-correct .res-label:after{content:"  ✓ correct";font-size:.8em;font-weight:500;color:var(--s1)}.cloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.1em .55em;margin:0;padding:0;list-style:none;line-height:1.05}.cloud li{font-family:var(--font-display);font-weight:700;font-size:calc(1em + var(--z) * 2.4em);letter-spacing:-.03em;color:var(--c);animation:fade-in var(--d3) var(--ease)}.res-cards{columns:16rem;column-gap:12px;margin:0;padding:0;list-style:none}.res-cards li{display:flex;gap:8px;align-items:flex-start;break-inside:avoid;margin-bottom:12px;padding:12px 14px;border-radius:var(--r-2);background:var(--surface);color:var(--ink);border-left:3px solid var(--c, var(--accent));overflow-wrap:anywhere;animation:fade-in var(--d3) var(--ease)}.res-cards li>span{flex:1}.res-scales{display:grid;gap:22px}.res-scale-track{position:relative;height:8px;margin:10px 0 4px;border-radius:4px;background:var(--track)}.res-scale-track i{position:absolute;top:50%;left:calc(var(--x) * 1%);width:20px;height:20px;border-radius:50%;background:var(--c, var(--accent));border:3px solid var(--bg);transform:translate(-50%,-50%);transition:left .6s var(--ease)}.res-dist{display:flex;gap:3px;align-items:flex-end;height:22px}.res-dist span{flex:1;height:calc(var(--h) * 1% + 2px);background:color-mix(in srgb,var(--c, var(--accent)) 45%,transparent);border-radius:1px}.res-stats{display:flex;flex-wrap:wrap;gap:8px 40px;margin:0}.res-stats div{display:flex;flex-direction:column-reverse}.res-stats dd{margin:0;font:500 clamp(32px,5vw,64px) / 1 var(--font-mono);letter-spacing:-.02em}.res-stats dt{color:var(--subtle);font-size:var(--t-md)}.res-hist{display:flex;align-items:flex-end;gap:4px;height:120px;margin-top:24px}.res-hist span{flex:1;height:calc(var(--h) * 1% + 2px);background:var(--accent);border-radius:2px 2px 0 0;transition:height .6s var(--ease)}.res-board{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid color-mix(in srgb,var(--fg) 14%,transparent)}.res-board li{display:grid;grid-template-columns:2.4em 1fr auto;align-items:baseline;gap:12px;padding:12px 4px;border-bottom:1px solid color-mix(in srgb,var(--fg) 14%,transparent);font-weight:600}.res-board li:first-child .res-board-name{font-size:1.3em;font-weight:700}.res-board li:first-child .res-key{color:var(--accent)}.res-empty{padding:32px 0;color:var(--subtle);text-align:center}.theme-ink{--bg: #0b1220;--fg: #e2e8f0;--muted: #cbd5e1;--subtle: #94a3b8;--surface: #f8fafc;--accent: #2dd4bf;--border: #1e293b;--border-strong: #334155;--track: rgba(226, 232, 240, .1);--s1: #2dd4bf;--s2: #60a5fa;--s3: #a78bfa;--s4: #fbbf24;--s5: #f472b6;--s6: #22d3ee;--s7: #a3e635;--s8: #cbd5e1}.theme-paper{--bg: #ffffff;--fg: #0f172a;--muted: #475569;--subtle: #5b6778;--surface: #f8fafc;--accent: #0e9f8e;--border: #e2e8f0;--border-strong: #cbd5e1}.theme-signal{--bg: #0b7a6e;--fg: #ffffff;--muted: #d5f2ee;--subtle: #b6e6df;--surface: #ffffff;--accent: #ffffff;--border: #13897c;--border-strong: #2a9b8f;--track: rgba(255, 255, 255, .16);--s1: #ffffff;--s2: #0f172a;--s3: #99f6e4;--s4: #fde68a;--s5: #fecdd3;--s6: #bae6fd;--s7: #d9f99d;--s8: #e2e8f0}.theme-forest{--bg: #111827;--fg: #f3f4f6;--muted: #d1d5db;--subtle: #9ca3af;--surface: #f9fafb;--accent: #34d399;--border: #1f2937;--border-strong: #374151;--track: rgba(243, 244, 246, .1);--s1: #34d399;--s2: #818cf8;--s3: #f472b6;--s4: #fbbf24;--s5: #38bdf8;--s6: #a3e635;--s7: #fb923c;--s8: #e5e7eb}.mark{display:inline-flex;align-items:flex-end;gap:2px;height:16px}.mark i{width:3.5px;border-radius:2px;background:currentColor}.mark i:nth-child(1){height:40%}.mark i:nth-child(2){height:100%;background:var(--brand-fill)}.mark i:nth-child(3){height:65%}.mark i:nth-child(4){height:30%}.wordmark{display:inline-flex;align-items:center;gap:8px;font:700 18px/1 var(--font-ui);letter-spacing:-.03em;text-decoration:none;color:inherit}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 22%,transparent);animation:pulse 2s infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@font-face{font-family:Instrument Sans;src:url(/assets/instrument-sans-BbzFLZTg.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/plex-mono-500-DSY6xOcd.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}.ws{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.ws-bar{display:flex;align-items:center;gap:10px;height:52px;padding:0 12px;border-bottom:1px solid var(--rule);background:var(--paper);flex:none}.ws-title{flex:0 1 420px;min-width:0}.ws-title input{width:100%;height:34px;padding:0 8px;border:1px solid transparent;border-radius:var(--r-2);background:transparent;font:700 18px var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis}.ws-title input:hover{border-color:var(--rule-2)}.ws-title input:focus{outline:none;border-color:var(--brand);background:var(--sheet)}.ws-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--ink-3);white-space:nowrap}.ws-status.is-saved svg{color:var(--moss)}.ws-status.is-offline,.ws-status.is-error{color:var(--brick);font-weight:600}.ws-status-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:pulse 1s infinite}.ws-bar-end{margin-left:auto;display:flex;align-items:center;gap:6px}.ws-modes{display:none}.ws-notes{flex:none;border-bottom:1px solid var(--rule)}.ws-note{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:var(--t-sm);color:var(--ink-2);background:var(--sheet)}.ws-note.is-ok{background:var(--moss-tint)}.ws-note .btn{margin-left:auto}.ws-body{flex:1;min-height:0;display:grid;grid-template-columns:248px minmax(0,1fr) 360px}.ws-rail{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--rule);background:var(--paper)}.ws-rail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 8px}.ws-rail-head h2{font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.ws-rail-head .num{margin-left:4px;color:var(--ink-3)}.ws-rail-issues{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);font-weight:600;color:var(--amber)}.ws-slides{flex:1;overflow:auto;margin:0;padding:0 8px 8px;list-style:none}.ws-slide{position:relative;border-radius:var(--r-2)}.ws-slide.is-drag{opacity:.4}.ws-slide.is-drop:before{content:"";position:absolute;left:8px;right:8px;top:-2px;height:2px;border-radius:1px;background:var(--brand-fill)}.ws-slide-btn{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;width:100%;padding:8px 8px 8px 6px;border:0;border-radius:var(--r-2);background:transparent;text-align:left}.ws-slide-btn:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.ws-slide.is-sel .ws-slide-btn{background:var(--brand-tint)}.ws-slide.is-sel .ws-thumb{border-color:var(--brand-fill);box-shadow:0 0 0 1px var(--brand-fill)}.ws-slide-n{padding-top:6px;font-size:11px;color:var(--ink-3)}.ws-slide.is-sel .ws-slide-n{color:var(--ink)}.ws-thumb{display:grid;gap:6px;align-content:start;aspect-ratio:16 / 9;padding:8px 9px;border-radius:var(--r-1);border:1px solid var(--rule);background:var(--sheet);color:var(--ink);overflow:hidden}.ws-thumb svg{color:var(--brand-fill)}.ws-thumb-q{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font:700 12px/1.25 var(--font-display)}.ws-slide-flag{position:absolute;left:8px;bottom:12px;color:var(--amber)}.ws-slide>.menu{position:absolute;right:12px;top:12px}.ws-slide-more{--b-bg: var(--sheet);opacity:0}.ws-slide-more:hover{--b-bg: var(--paper-2)}.ws-slide:hover .ws-slide-more,.ws-slide.is-sel .ws-slide-more,.ws-slide-more:focus-visible,.ws-slide-more[aria-expanded=true]{opacity:1}@media(pointer:coarse){.ws-slide-more{opacity:1}}.ws-rail>.menu{padding:8px 12px 12px;border-top:1px solid var(--rule)}.ws-rail>.menu .menu-pop{top:auto;bottom:calc(100% - 4px);left:12px}.ws-canvas{display:flex;flex-direction:column;min-height:0;overflow:auto;padding:16px 28px 28px;background:var(--paper-2)}.ws-canvas-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:980px;width:100%;margin:0 auto 16px}.ws-canvas-meta{font-size:var(--t-sm);color:var(--ink-3)}.ws-stage{container-type:inline-size;width:100%;max-width:980px;margin:0 auto;aspect-ratio:16 / 9;display:flex;flex-direction:column;padding:4.5cqi 5cqi;border-radius:var(--r-2);background:var(--bg);color:var(--fg);box-shadow:var(--shadow-lift);overflow:hidden;flex:none}.ws-stage-top{display:flex;justify-content:space-between;font-size:max(10px,1.5cqi);color:var(--muted)}.ws-stage-top b{color:var(--fg)}.ws-stage-q{margin-top:4cqi;font:700 max(16px,4.6cqi) / 1.08 var(--font-display);letter-spacing:-.02em;max-width:24ch}.ws-stage-q.is-placeholder{opacity:.35}.ws-stage-desc{margin-top:1.2cqi;font-size:max(11px,1.9cqi);color:var(--muted)}.ws-stage-res{margin-top:3cqi;font-size:max(10px,1.7cqi);min-height:0;overflow:hidden}.ws-stage-res .res-bars{gap:1.6cqi}.ws-stage-res .res-track{height:max(6px,1.4cqi)}.ws-stage-res .res-empty{text-align:left;padding:0;color:var(--subtle)}.ws-stage-res .res-stats dd{font-size:max(18px,5cqi)}.ws-stage-res .res-hist{height:10cqi}.ws-stage-body{white-space:pre-wrap;font-size:max(12px,2.2cqi)}.ws-phone{margin:0 auto;width:340px;max-width:100%;padding:10px;border-radius:34px;background:#0b1220;box-shadow:var(--shadow-lift);flex:none}.ws-phone-screen{max-height:640px;min-height:420px;overflow:auto;padding:22px 16px;border-radius:26px;background:var(--paper);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.ws-phone-q{font:700 21px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:-.015em;margin-bottom:6px}.ws-phone-body{margin-top:18px}.ws-phone-body .opt{min-height:48px;font-size:15px}.ws-phone-body .j-submit{margin-top:16px}.ws-empty{margin:auto;display:grid;justify-items:center;gap:8px;text-align:center}.ws-inspector{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--rule);background:var(--sheet)}.ws-tabs{display:flex;padding:0 16px;border-bottom:1px solid var(--rule);flex:none}.ws-tab{padding:14px 2px 12px;margin:0 14px -1px 0;border:0;border-bottom:2px solid transparent;background:transparent;font-weight:600;color:var(--ink-3)}.ws-tab:hover{color:var(--ink)}.ws-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--brand-fill)}.ws-panel{flex:1;overflow:auto;padding:18px 16px 40px}.insp{display:grid;gap:18px}.insp-q{min-height:72px;field-sizing:content;font:700 18px/1.3 var(--font-display);letter-spacing:-.01em}.insp-section{display:grid;gap:14px;padding-top:18px;border-top:1px solid var(--rule)}.insp-h{font-size:var(--t-xs);font-weight:600;color:var(--ink-3);padding:0;margin-bottom:4px}.insp-check{align-items:flex-start;color:var(--ink)}.insp-check input{margin-top:2px}.insp-check>span{display:grid;gap:2px}.insp-set{border:0;margin:0;padding:0 0 18px;display:grid;gap:8px;border-bottom:1px solid var(--rule)}.type-select{position:relative;display:block}.type-select>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-2);pointer-events:none}.type-select select{padding-left:38px;font-weight:600}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.opt-edit{border:0;margin:0;padding:0;display:grid;gap:8px}.opt-edit ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.opt-edit li{display:flex;align-items:center;gap:6px}.opt-edit li .input{flex:1;min-width:0}.opt-edit-key{width:16px;font-size:12px;color:var(--ink-3);text-align:center;flex:none}.opt-edit-tools{display:flex;opacity:.5;transition:opacity var(--d1)}.opt-edit li:hover .opt-edit-tools,.opt-edit li:focus-within .opt-edit-tools{opacity:1}.opt-edit-add{justify-self:start}.opt-edit-add .hint{margin-left:2px}.opt-correct{display:grid;place-items:center}.opt-correct input{width:20px;height:20px;accent-color:var(--moss)}.swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.swatch{display:grid;gap:8px;padding:10px;border-radius:var(--r-2);border:1px solid var(--rule);background:var(--bg);color:var(--fg);cursor:pointer}.swatch:has(input:checked){box-shadow:0 0 0 2px var(--sheet),0 0 0 4px var(--cobalt)}.swatch:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.swatch-preview{display:grid;gap:4px}.swatch-preview i{display:block;height:5px;border-radius:1px;background:var(--s1);width:80%}.swatch-preview i:nth-child(2){background:var(--s2);width:55%}.swatch-preview i:nth-child(3){background:var(--s3);width:35%}.swatch-name{font-size:var(--t-sm);font-weight:600}@media(max-width:1180px){.ws-body{grid-template-columns:208px minmax(0,1fr) 320px}.ws-canvas{padding:12px 16px 20px}}@media(max-width:960px){.ws{height:auto;min-height:100dvh;overflow:visible}.ws-bar{position:sticky;top:0;z-index:var(--z-sticky)}.ws-modes{display:block}.ws-status{display:none}.ws-body{display:flex;flex-direction:column}.ws-rail{border-right:0;border-bottom:1px solid var(--rule)}.ws-rail-head{display:none}.ws-slides{display:flex;gap:6px;overflow-x:auto;padding:10px 12px}.ws-slide{flex:0 0 156px}.ws-rail>.menu{border-top:0;padding:0 12px 10px}.ws-rail>.menu .menu-pop{top:calc(100% + 4px);bottom:auto}.ws.is-edit .ws-canvas,.ws.is-preview .ws-inspector{display:none}.ws-inspector{border-left:0}.ws-panel{overflow:visible}}@media(max-width:560px){.ws-bar{flex-wrap:wrap;height:auto;gap:4px;padding:6px 6px 4px}.ws-title{order:10;flex:1 0 100%}.ws-title input{font-size:17px}.ws-bar-end .seg-item{padding:0 8px}.ws-bar-end .seg-item svg{display:none}.ws-bar-end .btn-live{padding:0 10px}}.stage{position:fixed;inset:0;display:grid;grid-template:auto minmax(0,1fr) auto / minmax(0,1fr) auto;gap:0 40px;padding:clamp(16px,2.6vw,44px) clamp(20px,4vw,72px) 0;background:var(--bg);color:var(--fg);overflow:hidden}.stage-top{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.ticket{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px clamp(12px,2vw,28px);padding:10px 18px;border:1px solid var(--border-strong, var(--border));border-radius:var(--r-2)}.ticket-where{font-size:clamp(14px,1.5vw,22px);color:var(--muted)}.ticket-where b{color:var(--fg);font-weight:600}.ticket-code{font-size:clamp(22px,2.6vw,42px);letter-spacing:.08em;color:var(--fg)}.ticket.is-big .ticket-code{font-size:clamp(36px,5vw,72px)}.stage-presence{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:clamp(13px,1.2vw,18px)}.stage-presence b{color:var(--fg)}.stage-presence .mark{height:24px}.stage-presence .mark i{width:5px}.stage-main{min-height:0;overflow:auto;padding:clamp(20px,5vh,56px) 0 24px;display:flex;flex-direction:column}.stage-q{font:700 clamp(32px,4.8vw,84px) / 1.04 var(--font-display);letter-spacing:-.025em;max-width:22ch}.stage-desc,.stage-body{margin-top:16px;max-width:50ch;font-size:clamp(17px,1.8vw,28px);color:var(--muted)}.stage-body{white-space:pre-wrap;color:var(--fg)}.stage-content{margin:auto 0}.stage-res{flex:1;margin-top:clamp(20px,5vh,56px);font-size:clamp(17px,1.7vw,28px)}.stage-res .res-bars{gap:clamp(12px,2.4vh,30px);max-width:1200px}.stage-res .res-track{height:clamp(14px,3vh,36px)}.stage-res .res-val small{color:var(--muted)}.stage-res .cloud{font-size:clamp(16px,1.8vw,30px);min-height:40vh}.stage-res .res-board li{font-size:clamp(18px,2vw,32px);padding:14px 4px}.stage-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 24px;max-width:1200px;margin:0 0 28px;padding:0;list-style:none}.stage-opts li{display:flex;gap:16px;align-items:baseline;padding:16px 4px;border-top:2px solid var(--fg);font-weight:600}.stage-opts .num{color:var(--accent)}.stage-wait{color:var(--muted);font-size:clamp(17px,1.8vw,28px)}.stage-wait .kbd{height:1.3em;min-width:1.5em;font-size:.6em;vertical-align:.2em}.stage-side{grid-row:2;grid-column:2;align-self:end;padding-bottom:24px}.stage-qr{display:grid;justify-items:center;gap:8px;padding:10px 10px 8px;border:0;border-radius:var(--r-2);background:#fff;color:var(--ink);font-size:12px;font-weight:600;cursor:zoom-in}.stage-qr img{width:clamp(104px,10vw,180px);height:auto}.dock-wrap{grid-column:1 / -1;display:flex;justify-content:center;padding:0 0 18px}.dock{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center;padding:6px;border-radius:var(--r-3);border:1px solid color-mix(in srgb,var(--fg) 14%,transparent);background:color-mix(in srgb,var(--bg) 90%,var(--fg) 6%);transition:opacity var(--d3)}.stage.is-idle .dock{opacity:0}.stage.is-idle .dock:focus-within{opacity:1}.dock-group{display:flex;align-items:center;gap:2px}.dock-group+.dock-group{padding-left:6px;margin-left:4px;border-left:1px solid color-mix(in srgb,var(--fg) 14%,transparent)}.dock-stats{gap:14px;padding:0 8px;font-size:13px;color:var(--muted)}.dock-stat{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dock-stat b{font-size:18px;color:var(--fg)}.dock-stat.is-bump b{color:var(--accent);animation:fade-in var(--d3) var(--ease)}.dock-stat.is-warn{color:var(--accent);font-weight:600}.dock-pos{min-width:3.5em;text-align:center;font-size:13px;color:var(--muted)}.dbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:38px;height:38px;padding:0 8px;border:0;border-radius:var(--r-2);background:transparent;color:var(--fg);font-size:13px;font-weight:600;text-decoration:none}.dbtn:hover{background:color-mix(in srgb,var(--fg) 10%,transparent)}.dbtn[disabled]{opacity:.3;cursor:default}.dbtn.is-off{color:var(--muted)}.dbtn.is-cta{background:var(--accent);color:var(--bg)}.dbtn.is-end{color:var(--accent)}.dbtn-text{padding:0 12px}.dock .menu-pop{top:auto;bottom:calc(100% + 8px)}.timer{display:inline-flex;align-items:center;gap:6px;color:var(--fg)}.timer .num{font-size:18px}.timer.is-low{color:var(--accent)}.timer.is-big{margin-top:8px}.timer.is-big .num{font-size:32px}.stage-overlay{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:24px;background:color-mix(in srgb,var(--bg) 95%,transparent);text-align:center}.stage-overlay-icon{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;border:2px solid var(--fg)}.qr-big{width:min(56vh,70vw);padding:16px;border-radius:var(--r-3);background:#fff}.qa-board{display:grid;max-width:1200px;margin:0;padding:0;list-style:none;border-top:1px solid color-mix(in srgb,var(--fg) 18%,transparent)}.qa-board li{display:grid;grid-template-columns:3.2em 1fr;gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--fg) 18%,transparent)}.qa-board li.is-answered{opacity:.4}.qa-votes{color:var(--accent);font-size:1.1em}.qa-text{font-family:var(--font-display);font-weight:500}.qa-author{display:block;margin-top:4px;font:400 .65em var(--font-ui);color:var(--muted)}.reactions{position:absolute;right:6vw;bottom:90px;width:26vw;height:50vh;pointer-events:none}.reactions span{position:absolute;bottom:0;color:var(--accent);animation:float 2.4s var(--ease) forwards}@keyframes float{to{transform:translateY(-44vh) scale(1.25);opacity:0}}.keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0}.keys div{display:flex;align-items:center;gap:12px}.keys dt{display:flex;gap:4px;min-width:96px}.keys dd{margin:0;color:var(--ink-2)}@media(max-width:700px){.stage{grid-template:auto minmax(0,1fr) auto auto / 1fr;gap:0}.stage-side{grid-row:3;grid-column:1;padding:0 0 12px}.stage-presence{display:none}.keys{grid-template-columns:1fr}}.remote{max-width:560px;margin:0 auto;padding:0 16px calc(96px + env(safe-area-inset-bottom))}.remote-head{position:sticky;top:0;z-index:var(--z-sticky);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;background:var(--paper);border-bottom:1px solid var(--rule)}.remote-id{display:flex;align-items:center;gap:12px}.remote-id .num{letter-spacing:.06em}.remote-state{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:var(--t-sm);color:var(--signal)}.remote-state.is-paused{color:var(--amber)}.remote-counts{font-size:var(--t-sm);color:var(--ink-3)}.remote-counts b{color:var(--ink)}.remote-now{padding:20px 0;border-bottom:1px solid var(--rule)}.remote-slide{display:flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--ink-3)}.remote-q{margin:8px 0 4px;font:700 26px/1.15 var(--font-display);letter-spacing:-.015em}.remote-switches{border-bottom:1px solid var(--rule)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:60px;padding:10px 0;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left;font-size:var(--t-base);font-weight:600}.switch-row:last-child{border-bottom:0}.switch-row>span:first-child{display:grid;gap:2px}.switch-row .hint{font-weight:400}.switch{position:relative;flex:none;width:44px;height:26px;border-radius:13px;background:var(--rule-2);transition:background var(--d2)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a40;transition:transform var(--d2) var(--ease)}.switch-row[aria-checked=true] .switch{background:var(--brand)}.switch-row[aria-checked=true] .switch:after{transform:translate(18px)}.remote-sec{padding:20px 0;border-bottom:1px solid var(--rule)}.remote-h{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:var(--t-md);color:var(--ink-2)}.remote-badge{margin-left:auto;padding:2px 8px;border-radius:var(--r-full);background:var(--amber-tint);color:var(--amber);font-size:var(--t-xs)}.remote-danger{display:flex;justify-content:space-between;gap:8px;border-bottom:0}.remote-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1.6fr;gap:8px;max-width:560px;margin:0 auto;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(6px);border-top:1px solid var(--rule)}.remote-nav .btn{min-height:56px}.mod-list{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}.mod-list li{padding:14px 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.mod-list li.is-pending{box-shadow:inset 3px 0 0 var(--amber);padding-left:12px}.mod-list li.is-hidden{opacity:.5}.mod-main{display:flex;gap:12px}.mod-votes{min-width:2ch;color:var(--ink-3)}.mod-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0 28px}.ws-import{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px;border-bottom:1px solid var(--rule);background:var(--brand-tint);color:var(--brand);font-size:var(--t-sm);font-weight:600}.ws-import-bar{flex:1 1 160px;max-width:320px;height:4px;border-radius:2px;background:color-mix(in srgb,var(--brand) 18%,transparent);overflow:hidden}.ws-import-bar span{display:block;height:100%;background:var(--brand-fill);transition:width var(--d3) var(--ease)}.ws-rail.is-dropping{background:var(--brand-tint);box-shadow:inset 0 0 0 2px var(--brand-fill)}.ws-thumb.is-image{padding:0;background:#0b1220}.ws-thumb.is-image img{width:100%;height:100%;object-fit:contain}.ws-stage-image{padding:0;background:#0b1220}.ws-stage-image img{width:100%;height:100%;object-fit:contain}.insp-imported{display:flex;gap:12px;align-items:center}.insp-imported img{width:120px;aspect-ratio:16 / 9;object-fit:contain;border-radius:var(--r-1);border:1px solid var(--rule);background:#0b1220}.insp-imported-title{font-weight:700}.stage.is-image{padding:0;background:#000}.stage-image{position:absolute;inset:0;display:grid;place-items:center}.stage-image img{width:100%;height:100%;object-fit:contain}.stage.is-image .stage-top,.stage.is-image .stage-main,.stage.is-image .stage-side{display:none}.stage.is-image .dock-wrap{position:absolute;left:0;right:0;bottom:0}.join-chip{position:absolute;top:14px;right:14px;z-index:2;padding:6px 12px;border-radius:var(--r-full);background:#0b1220b8;color:#e2e8f0;font-size:14px;backdrop-filter:blur(4px)}.join-chip .num{margin-left:6px;color:#fff;letter-spacing:.06em}.remote-thumb{width:100%;margin-top:12px;aspect-ratio:16 / 9;object-fit:contain;border-radius:var(--r-2);background:#0b1220}body{font-size:var(--t-md)}.appbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:24px;height:52px;padding:0 max(20px,calc((100vw - 1200px)/2));background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.appbar-nav{display:flex;gap:4px;align-self:stretch}.appbar-link{display:flex;align-items:center;padding:0 10px;font-weight:600;color:var(--ink-2);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.appbar-link[aria-current=page]{color:var(--ink);border-bottom-color:var(--brand-fill)}.appbar-end{margin-left:auto;display:flex;align-items:center;gap:8px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:0;background:var(--brand-tint);color:var(--brand);font:700 12px var(--font-ui);letter-spacing:.02em}.avatar:hover{border-color:var(--ink-3)}.page{max-width:1200px;margin:0 auto;padding:36px 20px 96px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-title{font:700 var(--t-2xl) / 1.1 var(--font-display);letter-spacing:-.02em}.page-sub{margin-top:6px;color:var(--ink-3);font-size:var(--t-md)}.crumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px;font-size:var(--t-sm);color:var(--ink-3)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.centered{min-height:60vh;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;text-align:center}.centered-text{max-width:44ch;color:var(--ink-2);margin-bottom:8px}.centered-code{font-size:var(--t-3xl);color:var(--ink-4)}.row-gap{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.loading{min-height:40vh;display:flex;gap:10px;align-items:center;justify-content:center;color:var(--ink-3)}.kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid currentColor;border-radius:var(--r-1);font:500 11px/1 var(--font-mono);opacity:.7}.btn-primary .kbd{opacity:.55}@media(pointer:coarse){.btn .kbd,.search .kbd{display:none}}.input-sm{min-height:34px;padding:5px 10px;font-size:var(--t-md)}select.input-sm{padding-right:30px;background-position:right 10px center}.field-label-row{display:flex;justify-content:space-between}.field-link{font-weight:500;color:var(--ink-3)}.field-opt{font-weight:400;color:var(--ink-4)}@media(max-width:640px){.hide-sm{display:none}.page{padding-top:24px}.appbar{gap:12px}}.seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-2)}.seg-item{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:0;border-radius:var(--r-1);background:transparent;color:var(--ink-2);font-size:var(--t-sm);font-weight:600;white-space:nowrap}.seg-item:hover{color:var(--ink)}.seg-item[aria-checked=true]{background:var(--sheet);color:var(--ink);box-shadow:0 1px 2px #0f172a1a}.seg-count{font-size:11px;color:var(--ink-3)}@media(pointer:coarse){.seg-item{min-height:40px}}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 12px}.toolbar-end{display:flex;gap:8px;align-items:center}.search{display:flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 10px;border:1px solid var(--rule-2);border-radius:var(--r-2);background:var(--sheet);color:var(--ink-3)}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-fill) 25%,transparent)}.search input{width:200px;border:0;outline:0;background:transparent;color:var(--ink);font-size:var(--t-md)}@media(max-width:760px){.toolbar,.toolbar-end{width:100%}.toolbar .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.search{flex:1;min-width:0}.search input{width:100%;min-width:0;font-size:var(--t-base)}.search .kbd{display:none}}.table{width:100%;border-collapse:collapse;font-size:var(--t-md)}.table th{padding:8px 12px;border-bottom:1px solid var(--rule-2);text-align:left;font-size:var(--t-xs);font-weight:600;color:var(--ink-3);white-space:nowrap}.table td{padding:14px 12px;border-bottom:1px solid var(--rule);vertical-align:middle}.table tbody tr{transition:background var(--d1)}.table tbody tr:hover{background:color-mix(in srgb,var(--sheet) 60%,transparent)}.table th:first-child,.table td:first-child{padding-left:4px}.t-num{text-align:right!important}.t-link{font:700 17px/1.25 var(--font-display);letter-spacing:-.01em;text-decoration:none;overflow-wrap:anywhere}.t-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.t-link-plain{font:600 var(--t-md) var(--font-ui)}.t-meta{display:none;margin-top:4px;font-size:var(--t-sm);color:var(--ink-3)}.t-status{white-space:nowrap;color:var(--ink-3)}.t-status.is-live{color:var(--signal);font-weight:600}.t-status .live-dot{margin-right:8px}.t-live{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-size:var(--t-sm);font-weight:600;color:var(--signal)}.t-date{color:var(--ink-3);white-space:nowrap}.t-actions{text-align:right;white-space:nowrap}.t-actions>*{vertical-align:middle}.t-actions>*+*{margin-left:4px}.t-actions .menu{display:inline-block}.rename{max-width:420px;font-weight:600}@media(max-width:860px){.dash-table thead{display:none}.dash-table,.dash-table tbody{display:block}.dash-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule)}.dash-table td{display:none;padding:0;border:0}.dash-table td.t-title,.dash-table td.t-actions,.dash-table .t-meta{display:block}}@media(max-width:760px){.table:not(.dash-table) th:nth-child(n+2):nth-child(-n+5),.table:not(.dash-table) td:nth-child(n+2):nth-child(-n+5){display:none}.table:not(.dash-table) .t-meta{display:block}}.table-skel{border-top:1px solid var(--rule-2)}.skel-row{display:flex;gap:24px;padding:20px 4px;border-bottom:1px solid var(--rule)}.skel{display:block;height:12px;border-radius:3px;background:linear-gradient(90deg,var(--paper-2),var(--rule),var(--paper-2));background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-200% 0}}.onair{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding:12px 14px 12px 16px;border:1px solid var(--rule);border-radius:var(--r-3);background:var(--sheet);box-shadow:var(--shadow-lift)}.onair-tag{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:var(--t-sm);color:var(--signal)}.onair-main{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;flex:1;min-width:0}.onair-title{font:700 17px var(--font-display);text-decoration:none}.onair-meta{color:var(--ink-2);font-size:var(--t-sm)}.onair-meta .num{color:var(--ink);letter-spacing:.04em}.onair-actions{display:flex;gap:8px}.empty{display:grid;justify-items:center;gap:10px;padding:64px 20px;text-align:center;border-top:1px solid var(--rule-2)}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--rule-2);color:var(--ink-2);background:var(--sheet)}.empty-icon.is-bad{color:var(--brick);border-color:color-mix(in srgb,var(--brick) 30%,transparent)}.empty-icon.is-ok{color:#fff;background:var(--moss);border-color:var(--moss)}.empty-title{font:700 var(--t-xl) var(--font-display)}.empty-text{max-width:46ch;color:var(--ink-2)}.empty-steps{margin:4px 0 12px;padding:0;list-style:none;counter-reset:step;display:grid;gap:6px;text-align:left}.empty-steps li{counter-increment:step}.empty-steps li:before{content:counter(step);display:inline-grid;place-items:center;width:20px;height:20px;margin-right:10px;border-radius:50%;border:1px solid var(--rule-2);font:500 11px var(--font-mono)}.menu{position:relative}.menu-pop{position:absolute;top:calc(100% + 6px);z-index:var(--z-pop);min-width:220px;max-height:min(70vh,520px);overflow:auto;padding:4px;border:1px solid var(--rule-2);border-radius:var(--r-3);background:var(--sheet);color:var(--ink);box-shadow:var(--shadow-pop);text-align:left;animation:pop-in var(--d2) var(--ease)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-pop.align-end{right:0}.menu-pop.align-start{left:0}.menu-pop.is-wide{width:min(340px,calc(100vw - 32px))}.menu-sec+.menu-sec{margin-top:4px;padding-top:4px;border-top:1px solid var(--rule)}.menu-title{padding:8px 10px 4px;font-size:var(--t-xs);font-weight:600;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.menu-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-2);background:transparent;color:var(--ink);font-size:var(--t-md);font-weight:500;text-align:left;text-decoration:none;white-space:normal;cursor:pointer}.menu-item svg{margin-top:1px;color:var(--ink-2)}.menu-item:hover,.menu-item:focus-visible{background:var(--paper-2);outline:none}.menu-item[aria-disabled=true]{opacity:.4;cursor:default}.menu-item.is-danger,.menu-item.is-danger svg{color:var(--brick)}.menu-text{display:grid;gap:1px}.menu-hint{font-size:var(--t-xs);font-weight:400;color:var(--ink-3)}@media(pointer:coarse){.menu-item{min-height:44px;align-items:center}}.dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:var(--r-3);background:var(--sheet);color:var(--ink);box-shadow:0 30px 80px -20px #0f172a59}.dialog.is-md{width:min(600px,calc(100vw - 32px))}.dialog[open]{animation:pop-in var(--d2) var(--ease)}.dialog::backdrop{background:#0f172a73}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 0 20px}.dialog-head h2{font:700 var(--t-xl) var(--font-display)}.dialog-body{padding:12px 20px 20px}.dialog-text{color:var(--ink-2)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}.toasts{position:fixed;left:50%;bottom:20px;z-index:var(--z-toast);display:grid;gap:8px;width:min(460px,calc(100vw - 32px));transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 14px;border-radius:var(--r-2);background:#0f172a;color:#f8fafc;font-size:var(--t-md);box-shadow:var(--shadow-pop);pointer-events:auto;animation:fade-in var(--d2) var(--ease)}.toast.is-ok>svg{color:#5eead4}.toast.is-error>svg{color:#fca5a5}.toast-text{flex:1}.toast-action{padding:6px 10px;border:0;border-radius:var(--r-1);background:#f8fafc24;color:var(--paper);font-weight:700;font-size:var(--t-sm)}.toast-action:hover{background:#f8fafc3d}.toast-x{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--r-1);background:transparent;color:#f8fafcb3}.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.auth-main{display:flex;flex-direction:column;padding:28px clamp(20px,6vw,72px)}.auth-form{width:100%;max-width:380px;margin:auto 0;padding:40px 0;display:grid;gap:16px}.auth-title{font:700 var(--t-3xl) / 1.05 var(--font-display);letter-spacing:-.025em}.auth-sub{margin-top:-6px;color:var(--ink-2);font-size:var(--t-base)}.auth-alt,.auth-foot{font-size:var(--t-md);color:var(--ink-3)}.auth-alt a,.auth-foot a{color:var(--ink);font-weight:600}.pw{position:relative;display:block}.pw .input{padding-right:44px}.pw-toggle{position:absolute;right:2px;top:50%;display:grid;place-items:center;width:40px;height:36px;border:0;border-radius:var(--r-1);background:transparent;color:var(--ink-3);transform:translateY(-50%)}.pw-toggle:hover{color:var(--ink)}.auth-stage{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:clamp(32px,6vw,80px);background:var(--bg);color:var(--fg)}.auth-ticket{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border);color:var(--muted)}.auth-ticket .num{color:var(--fg);font-size:22px;letter-spacing:.08em}.auth-q{font:700 clamp(28px,3.2vw,44px) / 1.08 var(--font-display);letter-spacing:-.02em;max-width:18ch}.auth-stage .res-bars{font-size:17px;gap:18px}.auth-caption{font-size:var(--t-sm);color:var(--subtle)}@media(max-width:900px){.auth{grid-template-columns:1fr}.auth-stage{display:none}.auth-form{margin:32px 0 auto}}.report{max-width:920px}.report-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:20px}.report-title{font-size:var(--t-3xl)}.report-actions{display:flex;gap:8px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 12px;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule)}.stats div{display:flex;flex-direction:column-reverse;gap:4px;padding:16px 0 18px}.stats div+div{padding-left:20px;border-left:1px solid var(--rule)}.stats dt{font-size:var(--t-sm);color:var(--ink-3)}.stats dd{margin:0;font-size:34px;line-height:1}@media(max-width:640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats div:nth-child(3){padding-left:0;border-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--rule)}.report-title{font-size:var(--t-2xl)}}.report-sec{display:grid;grid-template-columns:56px minmax(0,1fr);padding:28px 0;border-bottom:1px solid var(--rule);break-inside:avoid}.report-gutter{padding-top:2px;color:var(--ink-3);font-size:var(--t-sm)}.report-kind{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-sm);color:var(--ink-3)}.report-q{margin:6px 0 20px;font:700 var(--t-xl) / 1.2 var(--font-display);letter-spacing:-.01em}.report-res{font-size:var(--t-base)}.report-body-text{white-space:pre-wrap}.qa-list{display:grid;margin:0;padding:0;list-style:none}.qa-list li{display:grid;grid-template-columns:3em 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--rule)}.qa-list li .num{color:var(--ink-3)}.qa-list li.is-muted{opacity:.5}@media(max-width:560px){.report-sec{grid-template-columns:1fr}.report-gutter{display:none}}@media print{.appbar,.no-print,.skip,.toasts{display:none!important}body{background:#fff}.page{max-width:none;padding:0}.res-fill,.res-scale-track i,.res-hist span{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-sec{page-break-inside:avoid}}.report,.remote-sec{--accent: var(--brand-fill)}@media(max-width:400px){.appbar{gap:8px;padding:0 12px}.appbar-link{padding:0 4px}.appbar-end{gap:2px}}.report-image{width:min(100%,420px);aspect-ratio:16 / 9;object-fit:contain;border-radius:var(--r-2);border:1px solid var(--rule);background:#0b1220}.page-actions{display:flex;gap:8px;flex-wrap:wrap}
