:root{--ui-font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono-font:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg:#f8fafc;--bg-elev:#fff;--panel:#fff;--panel-muted:#f1f5f9;--panel-sunken:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--border-soft:#eef2f7;--text:#0f172a;--text-soft:#1e293b;--muted:#64748b;--muted-strong:#475569;--soft:#94a3b8;--accent:#0ea5e9;--accent-strong:#0284c7;--accent-soft:#e0f2fe;--accent-soft-2:#bae6fd;--accent-text:#075985;--success:#10b981;--success-soft:#d1fae5;--success-text:#065f46;--warning:#f59e0b;--warning-soft:#fef3c7;--warning-text:#92400e;--danger:#ef4444;--danger-soft:#fee2e2;--danger-text:#991b1b;--code-bg:#0f172a;--code-panel:#111827;--code-text:#e5e7eb;--code-muted:#94a3b8;--code-border:#1e293b;--code-border-strong:#334155;--code-highlight:#0ea5e924;--code-caret:#38bdf8;--code-selection:#0ea5e940;--assign:#fff;--loop-fill:#ecfeff;--loop-stroke:#67e8f9;--loop-text:#0e7490;--cond-fill:#fef9c3;--cond-stroke:#fde68a;--cond-text:#92400e;--out-fill:#f5f3ff;--out-stroke:#ddd6fe;--out-text:#5b21b6;--visited-fill:#f8fafc;--visited-stroke:#e2e8f0;--radius-sm:8px;--radius:12px;--radius-md:14px;--radius-lg:18px;--shadow:0 1px 2px #0f172a0a;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 8px 24px -14px #0f172a1f, 0 2px 6px -3px #0f172a0d;--shadow-lg:0 24px 60px -24px #0f172a38, 0 6px 14px -6px #0f172a0f;--shadow-inset:inset 0 0 0 1px var(--border);--ring:0 0 0 3px #0ea5e92e;--ring-strong:0 0 0 3px #0ea5e947;--glow:radial-gradient(60% 50% at 90% -8%, #0ea5e91a, transparent 68%), radial-gradient(45% 45% at 6% 6%, #6366f10d, transparent 72%)}[data-theme=dark]{--bg:#080c18;--bg-elev:#0e1426;--panel:#0f172a;--panel-muted:#141c33;--panel-sunken:#0b1223;--border:#1c2642;--border-strong:#2a3659;--border-soft:#141c33;--text:#e6edf7;--text-soft:#cbd5e1;--muted:#94a3b8;--muted-strong:#b8c3d6;--soft:#64748b;--accent:#38bdf8;--accent-strong:#7dd3fc;--accent-soft:#38bdf824;--accent-soft-2:#38bdf847;--accent-text:#7dd3fc;--success:#34d399;--success-soft:#34d39924;--success-text:#6ee7b7;--warning:#fbbf24;--warning-soft:#fbbf241f;--warning-text:#fcd34d;--danger:#f87171;--danger-soft:#f871711f;--danger-text:#fca5a5;--assign:#0f172a;--loop-fill:#38bdf812;--loop-stroke:#7dd3fc73;--loop-text:#7dd3fc;--cond-fill:#fbbf240f;--cond-stroke:#fbbf2461;--cond-text:#fcd34d;--out-fill:#c4b5fd0f;--out-stroke:#c4b5fd59;--out-text:#c4b5fd;--visited-fill:#94a3b80a;--visited-stroke:#94a3b82e;--shadow:0 1px 2px #00000073;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 32px -24px #000000e6, 0 1px 2px #0006;--shadow-lg:0 24px 60px -32px #000000f2, 0 2px 6px #0006;--shadow-inset:inset 0 0 0 1px #ffffff05;--ring:0 0 0 3px #38bdf842;--ring-strong:0 0 0 3px #38bdf859;--glow:radial-gradient(60% 50% at 85% -10%, #38bdf81a, transparent 70%), radial-gradient(45% 45% at 8% 8%, #6366f10f, transparent 72%)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.5}.app{grid-template-rows:auto 1fr auto;gap:14px;max-width:1400px;min-height:100vh;margin:0 auto;padding:18px;display:grid}header{align-items:baseline;gap:12px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.subtitle{color:var(--muted);font-size:13px}.spacer{flex:1}.loading{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-size:12px}.loading.hidden{display:none}.lang-switcher{background:var(--surface-2,#f1f5f9);border:1px solid var(--border,#e2e8f0);border-radius:10px;align-items:center;gap:4px;padding:3px;display:flex}.lang-tab{appearance:none;color:var(--muted);font:inherit;cursor:pointer;letter-spacing:.01em;background:0 0;border:none;border-radius:7px;padding:5px 11px;font-size:12px;font-weight:500;transition:background .12s,color .12s;position:relative}.lang-tab:hover:not(:disabled):not(.active){color:var(--text,#0f172a);background:#fff9}.lang-tab.active{color:var(--text,#0f172a);background:#fff;box-shadow:0 1px 2px #0f172a14}.lang-tab .soon{letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;vertical-align:2px;background:#e2e8f0;border-radius:4px;margin-left:5px;padding:1px 5px;font-size:9px;font-weight:600;display:inline-block}main{grid-template-rows:minmax(320px,1fr) auto;grid-template-columns:1fr 1.1fr;gap:14px;min-height:460px;display:grid}.code-panel{grid-area:1/1;min-height:0}.flow-panel{grid-area:1/2;min-height:0}.output-panel{grid-area:2/1}.vars-panel{grid-area:2/2;max-height:260px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.panel-header{color:var(--muted);border-bottom:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;font-size:11px;font-weight:600}.code-panel .panel-header{justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex}.code-actions{align-items:center;gap:8px;display:flex}.btn-run{background:var(--accent);color:#fff;border-color:var(--accent);letter-spacing:.02em;text-transform:none;padding:5px 14px;font-size:12px;font-weight:600}.btn-run:hover:not(:disabled){background:#0284c7;border-color:#0284c7}.btn-examples{color:var(--text);border-color:var(--border);letter-spacing:.02em;text-transform:none;background:#fff;padding:5px 10px;font-size:12px;font-weight:500}.btn-examples:hover:not(:disabled){border-color:var(--border-strong);background:#f9fafb}.examples-wrap{position:relative}.examples-menu{border:1px solid var(--border);z-index:100;text-transform:none;letter-spacing:normal;background:#fff;border-radius:10px;width:280px;max-height:340px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 12px 28px -8px #0f172a33}.example-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-family:inherit;transition:background .12s;display:block}.example-item:hover{background:#f3f4f6}.example-item-title{color:var(--text);text-transform:none;letter-spacing:normal;margin-bottom:2px;font-size:13px;font-weight:500}.example-item-blurb{color:var(--muted);text-transform:none;letter-spacing:normal;font-size:11.5px;line-height:1.4}.error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:10px 14px 0;padding:10px 12px;font-size:12.5px;line-height:1.5}.err-icon{color:#7f1d1d;background:#fca5a5;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.err-source{font-family:var(--mono-font);color:#7f1d1d;white-space:pre;background:#fff9;border-left:3px solid #f87171;border-radius:4px;margin-top:6px;padding:6px 10px;font-size:12px;overflow-x:auto}.cap-banner{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;align-items:center;gap:8px;margin:10px 14px 0;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.cap-icon{flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;display:inline-flex}.cap-text strong{color:#78350f;font-weight:600}.editor-wrap{font-family:var(--mono-font);flex:1;font-size:13.5px;line-height:1.75;display:flex;position:relative;overflow:hidden}.gutter{border-right:1px solid var(--border);color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;white-space:pre;background:#fbfbfc;flex:none;min-width:36px;padding:14px 10px 14px 12px;overflow:hidden}.editor-inner{background:#fff;flex:1;display:flex;position:relative;overflow:hidden}.editor{resize:none;font-family:inherit;font-size:inherit;line-height:inherit;color:var(--text);white-space:pre;tab-size:4;z-index:1;background:0 0;border:none;outline:none;flex:1;padding:14px 12px;position:relative;overflow:auto}.line-highlight{background:var(--accent-soft);border-left:2px solid var(--accent);pointer-events:none;z-index:0;height:23.625px;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .18s;position:absolute;left:0;right:0;transform:translateY(14px)}.line-highlight[hidden]{opacity:0;display:block!important}.flow-panel{position:relative;overflow:hidden}.flow-header{padding:6px 8px}.tab-bar{border:1px solid var(--border);background:#f1f5f9;border-radius:9px;align-items:center;gap:4px;width:fit-content;padding:3px;display:flex}.tab-btn{appearance:none;color:var(--muted);font:inherit;cursor:pointer;letter-spacing:.02em;text-transform:none;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:500;transition:background .12s,color .12s}.tab-btn:hover:not(.active){color:var(--text);background:#fff9}.tab-btn.active{color:var(--text);background:#fff;box-shadow:0 1px 2px #0f172a14}.tab-host{flex:1;min-height:0;display:flex;position:relative}.tab-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tab-panel.hidden{display:none}.tab-trace{overflow:hidden}.trace-scroll{background:radial-gradient(circle at 1px 1px,#e5e7eb 1px,#0000 0) 0 0/22px 22px;flex:1;padding:20px 18px 28px;overflow-y:auto}.trace-empty{min-height:120px;color:var(--muted);flex:1;justify-content:center;align-items:center;font-size:13px;font-style:italic;display:flex}.trace-empty[hidden],.trace-scroll[hidden]{display:none!important}.trace-list{flex-direction:column;align-items:center;gap:0;display:flex}.trace-box{border:1.5px solid var(--border);opacity:.38;background:#fff;border-left:5px solid #cbd5e1;border-radius:8px;align-items:center;gap:10px;width:100%;max-width:420px;padding:10px 14px;scroll-margin:48px;transition:opacity .16s,border-left-color .16s,box-shadow .18s,transform .18s cubic-bezier(.2,.8,.2,1);display:flex;box-shadow:0 1px 2px #0f172a0a}.trace-box.active{opacity:1;border-left-color:var(--accent);transform:scale(1.012);box-shadow:0 0 0 3px #0ea5e924,0 2px 8px #0ea5e92e}.trace-kind-assign{border-left-color:#94a3b8}.trace-kind-loop{border-left-color:var(--loop-stroke)}.trace-kind-cond{border-left-color:var(--cond-stroke)}.trace-kind-out{border-left-color:#c4b5fd}.trace-kind-start{border-left-color:#4ade80}.trace-kind-end{border-left-color:#94a3b8}.trace-box.active{border-left-color:var(--accent)}.trace-badge{letter-spacing:.07em;text-transform:uppercase;color:#64748b;background:#f1f5f9;border-radius:4px;flex:none;padding:2px 7px;font-size:9.5px;font-weight:700}.trace-badge-loop{background:var(--loop-fill);color:#0f766e}.trace-badge-cond{background:var(--cond-fill);color:#92400e}.trace-badge-out{color:#6d28d9;background:#ede9fe}.trace-badge-start{color:#166534;background:#dcfce7}.trace-badge-end{color:#475569;background:#f1f5f9}.trace-code{font-family:var(--mono-font);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.trace-result{font-family:var(--mono-font);white-space:nowrap;border-radius:5px;flex:none;padding:3px 8px;font-size:11px;font-weight:600}.trace-result-loop{background:var(--loop-fill);color:#0f766e}.trace-result-true{color:#166534;background:#dcfce7;border:1px solid #4ade80}.trace-result-false{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.trace-result-out{color:#6d28d9;text-overflow:ellipsis;background:#ede9fe;max-width:160px;overflow:hidden}.trace-result-assign{color:#475569;text-overflow:ellipsis;background:#f1f5f9;max-width:140px;overflow:hidden}.trace-connector{background:#d1d5db;flex-shrink:0;width:2px;height:18px;position:relative}.trace-connector:after{content:"";border-top:5px solid #d1d5db;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.vars-list{flex:1;padding:6px 0 8px;overflow:auto}.var-row.new.changed{animation:.65s var-flash-new}@keyframes var-flash{0%{background:var(--accent-soft-2)}to{background:var(--accent-soft)}}@keyframes var-flash-new{0%{background:#bbf7d0}to{background:var(--accent-soft)}}.var-type{color:var(--muted);letter-spacing:.02em;font-size:10px;font-weight:600;font-family:var(--ui-font);background:#f3f4f6;border-radius:4px;padding:2px 6px}.var-type-str{color:#047857;background:#d1fae5}.var-type-dict{color:#b45309;background:#fef3c7}.var-type-nonetype{color:#4b5563;background:#e5e7eb}.var-was{font-family:var(--mono-font);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;font-style:italic;overflow:hidden}.var-item-index,.var-item-key{color:var(--muted);min-width:32px}.output-panel{max-height:130px}#output{font-family:var(--mono-font);color:var(--text);white-space:pre-wrap;flex:1;min-height:48px;margin:0;padding:12px 16px;font-size:13px;overflow:auto}.controls{flex-direction:row;align-items:center;gap:10px;padding:10px 14px}.btn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.btn:hover:not(:disabled){border-color:var(--border-strong);background:#f9fafb}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#0284c7;border-color:#0284c7}.speed-label select{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:12px}#step-label{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:88px;font-size:12px}.flow-group{pointer-events:none}.flow-group-label{font-family:var(--ui-font);fill:#0f766e;letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:10.5px;font-weight:600}.edge-label{font-family:var(--mono-font);fill:var(--muted);-webkit-user-select:none;user-select:none;font-size:11px}.iter-pill-group,.value-chip-group{transition:opacity .22s}.learn-badge{cursor:pointer;opacity:.7;transition:opacity .18s}.learn-badge-bg{fill:#fff;stroke:var(--loop-stroke);stroke-width:1.25px;filter:drop-shadow(0 1px 2px #0f172a1f);transition:fill .18s,stroke .18s,filter .18s}.learn-badge-text{font-family:var(--ui-font);fill:var(--loop-stroke);pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:.02em;font-size:10.5px;font-weight:600;transition:fill .18s}.node.loop:hover .learn-badge,.learn-badge:hover{opacity:1}.learn-badge:hover .learn-badge-bg{fill:var(--loop-stroke);filter:drop-shadow(0 2px 6px #14b8a659)}.learn-badge:hover .learn-badge-text{fill:#fff}#flow .flow-group,#flow .edge-label,#flow .edge-label-bg,#flow .learn-badge{transition:opacity .18s}#flow.playing .flow-group,#flow.playing .edge-label,#flow.playing .edge-label-bg{opacity:.35}#flow.playing .learn-badge{opacity:.15;pointer-events:none}.modal-overlay{z-index:1000;opacity:0;background:#0f172a73;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1}.modal-overlay.closing{opacity:0}.modal-dialog{background:#fff;border-radius:16px;width:680px;max-width:92vw;max-height:90vh;padding:28px 30px 22px;transition:transform .2s cubic-bezier(.2,.9,.3,1.15);position:relative;overflow:auto;transform:scale(.96);box-shadow:0 25px 50px -12px #00000040}.modal-overlay.open .modal-dialog{transform:scale(1)}.modal-header{margin-bottom:18px}.modal-title{letter-spacing:-.01em;color:var(--text);font-size:19px;font-weight:600}.modal-subtitle{color:var(--muted);margin-top:4px;font-size:13px}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;width:32px;height:32px;font-size:24px;line-height:1;transition:background .15s,color .15s;position:absolute;top:12px;right:14px}.modal-close:hover{color:var(--text);background:#f3f4f6}.modal-body{min-height:200px}.for-explainer-wrap{flex-direction:column;gap:14px;display:flex}.explainer-caption{color:var(--text);font-size:14px;line-height:1.55}.explainer-code{font-family:var(--mono-font);border:1px solid var(--border);white-space:pre;background:#f9fafb;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.75}.explainer-code .k{color:#0891b2}.explainer-code .v{color:#7c3aed;font-weight:600}.explainer-code .lit{color:#0e7490}.explainer-code .muted{color:var(--muted)}.explainer-code .body-line{color:var(--text)}.explainer-note{color:var(--muted);text-align:center;font-size:12px;font-style:italic}.explainer-scene{border:1px solid var(--border);background:radial-gradient(circle at 1px 1px,#eef2f7 1px,#0000 0) 0 0/20px 20px;border-radius:10px;padding:0;display:block}.explainer-list-label{font-family:var(--ui-font);fill:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.item-cell rect{fill:#fff;stroke:var(--border-strong);stroke-width:1.5px;transition:fill .28s,stroke .28s,filter .28s}.item-cell.active rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2px;filter:drop-shadow(0 0 10px #0ea5e966)}.item-cell.done rect{fill:#f3f4f6;stroke:#e5e7eb}.item-cell.done .item-text{fill:#9ca3af}.item-text{font-family:var(--mono-font);fill:var(--text);font-size:18px;font-weight:600;transition:fill .28s}.n-pill{transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .26s}.n-pill-bg{fill:#7c3aed;filter:drop-shadow(0 2px 6px #7c3aed4d)}.n-pill-text{font-family:var(--mono-font);fill:#fff;font-size:13px;font-weight:600}.explainer-arrow{stroke:#7c3aed;stroke-width:2px;stroke-linecap:round;transition:d .32s}.body-card-bg{fill:#ede9fe;stroke:#c4b5fd;stroke-width:1.5px;transition:fill .22s,stroke .22s,filter .22s}.body-card.pulse .body-card-bg{fill:#c4b5fd;stroke:#7c3aed;filter:drop-shadow(0 0 10px #7c3aed73)}.body-card-text{font-family:var(--ui-font);fill:var(--text);font-size:13px;font-weight:500}.explainer-status{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;min-height:20px;font-size:13px}.explainer-replay{align-self:center;padding:8px 22px;font-size:13px}.explainer-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.explainer-ctrl{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s,transform .12s}.explainer-ctrl:hover:not(:disabled){border-color:var(--border-strong);background:#f8fafc}.explainer-ctrl:active:not(:disabled){transform:translateY(1px)}.explainer-ctrl:disabled{opacity:.4;cursor:not-allowed}.explainer-play{background:var(--accent);color:#fff;border-color:var(--accent);text-align:center;min-width:96px;font-weight:500}.explainer-play:hover:not(:disabled){background:#0284c7;border-color:#0284c7}.explainer-step-indicator{color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;min-width:88px;font-size:12px}.explainer-speed{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:5px 8px;font-family:inherit;font-size:12px}.tab-walkthrough{overflow:hidden}.wt-empty{min-height:120px;color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 18px;display:flex}.wt-empty[hidden],.wt-scroll[hidden]{display:none!important}.wt-empty-title{color:var(--text);letter-spacing:.01em;font-size:14px;font-weight:600}.wt-empty-body{max-width:320px;font-size:12.5px;font-style:italic;line-height:1.5}.wt-scroll{scrollbar-gutter:stable both-edges;background:radial-gradient(circle at 1px 1px,#94a3b82e 1px,#0000 0) 0 0/22px 22px;flex:1;padding:20px 18px 36px;overflow-y:auto}.wt-list{flex-direction:column;align-items:center;gap:0;max-width:560px;margin:0 auto;display:flex}.wt-card{border:1.5px solid var(--border);border-left:5px solid var(--border-strong);opacity:.42;cursor:pointer;background:#fff;border-radius:12px;width:100%;padding:14px 18px 16px;scroll-margin:60px;transition:opacity .18s,border-left-color .18s,box-shadow .22s,transform .22s cubic-bezier(.2,.8,.2,1);box-shadow:0 1px 3px #0f172a0d}.wt-card.visited{opacity:.66}.wt-card.active{opacity:1;border-left-color:var(--accent);transform:scale(1.01);box-shadow:0 0 0 3px #0ea5e92e,0 6px 18px -4px #0ea5e94d}.wt-card:hover:not(.active){opacity:.85}.wt-stage-start{border-left-color:#4ade80}.wt-stage-end{border-left-color:#94a3b8}.wt-stage-setup{border-left-color:#60a5fa}.wt-stage-update{border-left-color:#0ea5e9}.wt-stage-loop{border-left-color:var(--loop-stroke)}.wt-stage-check{border-left-color:var(--cond-stroke)}.wt-stage-print{border-left-color:#c4b5fd}.wt-card.active{border-left-color:var(--accent)}.wt-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.wt-label{letter-spacing:.09em;text-transform:uppercase;color:#475569;font-size:10.5px;font-weight:700;font-family:var(--ui-font);background:#f1f5f9;border-radius:999px;flex:none;padding:3px 10px}.wt-label-start{color:#166534;background:#dcfce7}.wt-label-end{color:#475569;background:#f1f5f9}.wt-label-setup{color:#1e40af;background:#dbeafe}.wt-label-update{background:var(--accent-soft);color:#0369a1}.wt-label-loop{background:var(--loop-fill);color:#0f766e}.wt-label-check{background:var(--cond-fill);color:#92400e}.wt-label-print{color:#6d28d9;background:#ede9fe}.wt-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:6px;font-size:11px;display:flex}.wt-meta b{color:var(--text);font-weight:600}.wt-meta-sep{opacity:.6}.wt-code-wrap{margin-bottom:12px}.wt-code{font-family:var(--mono-font);color:var(--text);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#f8fafc;border-radius:8px;margin:0;padding:9px 13px;font-size:13.5px;line-height:1.5}.wt-body{flex-direction:column;gap:10px;display:flex}.wt-narrative{color:#334155;margin:0;font-size:13.5px;line-height:1.58}.wt-narrative code{font-family:var(--mono-font);color:var(--text);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:1px 6px;font-size:12.5px}.wt-chips{flex-wrap:wrap;gap:6px;display:flex}.wt-chip{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;line-height:1.3;display:inline-flex}.wt-chip code{font-family:var(--mono-font);color:var(--text);background:#fff;border:1px solid #e2e8f0;border-radius:3px;padding:1px 5px;font-size:11.5px}.wt-chip-new{color:#166534;background:#dcfce7;border-color:#bbf7d0}.wt-chip-new code{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.wt-chip-change{background:var(--accent-soft);color:#0369a1;border-color:#bae6fd}.wt-chip-change code{color:#075985;background:#f0f9ff;border-color:#bae6fd}.wt-chip-true{color:#166534;background:#dcfce7;border-color:#86efac}.wt-chip-true code{color:#166534;background:#f0fdf4;border-color:#86efac}.wt-chip-false{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.wt-chip-false code{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.wt-chip-output{color:#6d28d9;background:#ede9fe;border-color:#ddd6fe}.wt-chip-output code{color:#6d28d9;background:#faf5ff;border-color:#ddd6fe}.wt-chip-iter{background:var(--loop-fill);color:#0f766e;border-color:#99f6e4}.wt-chip-iter code{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.wt-chip-info{color:#64748b;background:#f8fafc}.wt-arrow{color:#94a3b8;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:6px 0;font-size:12px;display:flex}.wt-arrow-glyph{color:#cbd5e1;font-size:18px;line-height:1}.wt-arrow-label{font-size:11.5px;font-style:italic}.wt-arrow-label b{color:var(--text);font-style:normal;font-weight:600}.wt-arrow-back{color:#0f766e;background:linear-gradient(#0000 40%,#ccfbf180 50%,#0000 60%);border-radius:4px;margin:2px 0;padding:10px 0}.wt-arrow-back .wt-arrow-glyph{color:var(--loop-stroke);font-size:20px;font-weight:700}.wt-group{border:1.5px solid var(--border);border-left:5px solid var(--loop-stroke);background:#fff;border-radius:12px;width:100%;padding:14px 18px;scroll-margin:60px;transition:border-left-color .18s,box-shadow .22s;box-shadow:0 1px 3px #0f172a0d}.wt-group .wt-head{margin-bottom:10px}.wt-group-summary{color:var(--muted);margin:0 0 10px;font-size:13px;line-height:1.5}.wt-group-summary b{color:var(--text);font-weight:600}.wt-passes{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.wt-pass{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:background .15s,border-color .15s}.wt-pass.expanded{border-color:var(--loop-stroke);background:#fff;box-shadow:0 1px 2px #5eead426}.wt-pass-head{appearance:none;text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:none;border-radius:8px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;padding:9px 12px;transition:background .12s,color .12s,box-shadow .18s;display:grid}.wt-pass-head.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent), 0 0 0 2px #0ea5e92e}.wt-pass-head.visited{color:#64748b}.wt-pass-num{letter-spacing:.08em;text-transform:uppercase;color:#0f766e;background:var(--loop-fill);font-size:11px;font-weight:700;font-family:var(--ui-font);white-space:nowrap;border-radius:999px;padding:2px 8px}.wt-pass-var{font-family:var(--mono-font);color:var(--text);white-space:nowrap;font-size:12.5px}.wt-pass-var code{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11.5px}.wt-pass-delta{font-family:var(--mono-font);color:#0369a1;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.wt-pass-delta code{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11.5px}.wt-pass-toggle{color:var(--muted);text-align:center;justify-self:end;width:14px;font-size:12px;line-height:1;transition:transform .18s,color .15s}.wt-pass.expanded .wt-pass-toggle{color:var(--text)}.wt-pass-body{border-top:1px dashed #e2e8f0;flex-direction:column;align-items:stretch;gap:0;margin-top:2px;padding:6px 10px 12px 14px;animation:.2s wt-pass-body-in;display:flex}.wt-pass-body[hidden]{display:none!important}@keyframes wt-pass-body-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wt-pass-body>.wt-card,.wt-pass-body>.wt-group{width:100%;max-width:none;margin:0;padding:10px 14px 12px;font-size:13px}.wt-pass-body>.wt-card .wt-code,.wt-pass-body>.wt-group .wt-code{padding:7px 11px;font-size:12.5px}.wt-pass-body>.wt-card .wt-narrative{font-size:12.5px}.wt-pass-body>.wt-arrow{padding:3px 0}.wt-pass-body>.wt-arrow .wt-arrow-glyph{font-size:15px}.node-count-badge{pointer-events:none;transition:opacity .18s}.node-count-badge-bg{stroke-width:1px;transition:fill .2s,stroke .2s}.node-count-badge-text{font-family:var(--mono-font);letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-size:10.5px;font-weight:700}.node-count-badge.count-zero .node-count-badge-bg{fill:#f8fafc;stroke:#cbd5e1;stroke-dasharray:3 3}.node-count-badge.count-zero .node-count-badge-text{fill:#94a3b8}.node-count-badge.count-one .node-count-badge-bg{fill:var(--accent-soft);stroke:#bae6fd}.node-count-badge.count-one .node-count-badge-text{fill:#0369a1}.node-count-badge.count-many .node-count-badge-bg{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 1px 2px #0ea5e94d)}.node-count-badge.count-many .node-count-badge-text{fill:#fff}.node.never-visited>rect,.node.never-visited>polygon{fill:#fafbfc;stroke:#e5e7eb;stroke-dasharray:4 4;opacity:.7}.node.never-visited>text{fill:#cbd5e1}.edge.never-visited{stroke:#e5e7eb;stroke-dasharray:4 5;opacity:.55}#flow.playing .node-count-badge{opacity:.4}.trace-list{position:relative}.trace-box{opacity:.28;border-left-style:dashed}.trace-box.upcoming{opacity:.5;border-left-style:solid;border-left-color:#cbd5e1}.trace-box.upcoming .trace-badge{opacity:.85}.trace-box.visited,.trace-box.active{border-left-style:solid}@keyframes trace-reveal{0%{opacity:.4;transform:translateY(6px)scale(.96)}60%{opacity:1;transform:translateY(0)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1.012)}}.trace-box.just-revealed{animation:.26s cubic-bezier(.22,.8,.25,1) both trace-reveal}.trace-token{background:var(--accent);pointer-events:none;z-index:3;will-change:left, top, opacity;border-radius:50%;width:10px;height:10px;transition:opacity 60ms linear;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #0ea5e938,0 2px 8px #0ea5e973}@media (prefers-reduced-motion:reduce){.trace-box.just-revealed{animation:none}.trace-token{display:none}}.btn-share{color:var(--text);border-color:var(--border);letter-spacing:.02em;text-transform:none;background:#fff;min-width:72px;padding:5px 12px;font-size:12px;font-weight:500;transition:background .16s,border-color .16s,color .16s}.btn-share:hover:not(:disabled){border-color:var(--border-strong);background:#f9fafb}.btn-share.share-ok{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.btn-share.share-err{color:#92400e;background:#fffbeb;border-color:#fcd34d;min-width:140px}.level-badge-wrap{margin-left:auto;margin-right:8px;position:relative}.level-badge{letter-spacing:.02em;border:1px solid var(--border);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:600;line-height:1.6;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.level-badge:hover{border-color:var(--border-strong)}.level-badge .level-dot{background:#cbd5e1;border-radius:50%;width:7px;height:7px;display:inline-block}.level-badge.level-foundations{color:#065f46;letter-spacing:.03em;background:#ecfdf5;border-color:#6ee7b7;font-weight:700}.level-badge.level-foundations:hover{background:#d1fae5;border-color:#34d399}.level-badge.level-foundations .level-dot{background:#10b981;animation:2.4s ease-in-out infinite level-dot-pulse-kf;box-shadow:0 0 0 3px #10b98147}@keyframes level-dot-pulse-kf{0%,to{box-shadow:0 0 0 3px #10b98138}50%{box-shadow:0 0 0 5px #10b9811a}}.level-badge.level-intermediate .level-dot{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b38}.level-popover{z-index:40;border:1px solid var(--border);width:380px;max-width:calc(100vw - 32px);max-height:72vh;color:var(--text);text-transform:none;letter-spacing:normal;text-align:left;background:#fff;border-radius:10px;padding:0;font-size:12.5px;font-weight:400;animation:.16s cubic-bezier(.2,.8,.25,1) both lp-pop;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #0f172a1f,0 2px 6px #0f172a0f}@keyframes lp-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lp-head{border-bottom:1px solid var(--border);padding:12px 14px}.lp-head.lp-foundations{background:linear-gradient(#ecfdf5 0%,#fff 100%)}.lp-head.lp-intermediate{background:linear-gradient(#fffbeb 0%,#fff 100%)}.lp-title{color:var(--text);text-transform:none;letter-spacing:normal;margin-bottom:2px;font-size:13px;font-weight:700}.lp-head.lp-foundations .lp-title{color:#047857}.lp-head.lp-intermediate .lp-title{color:#92400e}.lp-sub{color:var(--muted);text-transform:none;letter-spacing:normal;font-size:11.5px;font-weight:400;line-height:1.4}.lp-section{border-bottom:1px solid var(--border);padding:12px 14px}.lp-section:last-child{border-bottom:0}.lp-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:10.5px;font-weight:700}.lp-hit{background:#fffbeb;border-left:3px solid #f59e0b;border-radius:0 6px 6px 0;margin-bottom:6px;padding:8px 10px}.lp-hit:last-child{margin-bottom:0}.lp-hit-label{color:#92400e;text-transform:none;letter-spacing:normal;margin-bottom:2px;font-size:12px;font-weight:600}.lp-hit-why{color:#4b5563;text-transform:none;letter-spacing:normal;font-size:11.5px;line-height:1.45}.lp-catalog-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lp-cat-cell{background:#f8fafc;border:1px solid #eef2f7;border-radius:6px;flex-direction:column;gap:3px;min-width:0;padding:7px 9px;display:flex}.lp-cat-label{color:var(--text);text-transform:none;letter-spacing:normal;font-size:11.5px;font-weight:600;line-height:1.3}.lp-cat-example{font-family:var(--mono-font);color:#0369a1;text-transform:none;letter-spacing:normal;white-space:nowrap;text-overflow:ellipsis;background:0 0;max-width:100%;padding:0;font-size:11px;overflow:hidden}@media (width<=640px){.level-popover{width:calc(100vw - 24px);right:-4px}.lp-catalog-grid{grid-template-columns:1fr}}.err-fix{margin-top:10px;margin-bottom:2px}.err-fix-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.err-fix-col{flex-direction:column;gap:4px;min-width:0;display:flex}.err-fix-col-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10.5px;font-weight:700}.err-fix-before .err-fix-col-label{color:#b91c1c}.err-fix-after .err-fix-col-label{color:#047857}.err-fix-code{font-family:var(--mono-font);white-space:pre;border:1px solid;border-radius:6px;min-height:48px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5;overflow-x:auto}.err-fix-before .err-fix-code{color:#7f1d1d;background:#fef2f2;border-color:#fecaca;box-shadow:inset 3px 0 #ef4444}.err-fix-after .err-fix-code{color:#065f46;background:#ecfdf5;border-color:#a7f3d0;box-shadow:inset 3px 0 #10b981}.err-fix-caption{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.5}.err-fix-caption code{background:#f1f5f9;border-radius:3px;padding:1px 5px;font-size:11.5px}@media (width<=640px){.err-fix-pair{grid-template-columns:1fr}}.step-banner{background:var(--accent-soft);color:var(--text);border:1px solid #bae6fd;border-radius:10px;flex-direction:column;gap:8px;margin:0 14px;padding:10px 12px;font-size:13px;display:flex}.step-pills:empty{display:none}.pill{white-space:nowrap;background:#fff;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;line-height:1.4;display:inline-flex}.pill code{font-family:var(--mono-font);background:0 0;padding:0;font-size:11.5px}.pill-label{letter-spacing:.02em;font-weight:600}.pill-dot{color:var(--muted);opacity:.7}.pill-part{color:var(--text)}.pill-loop-for,.pill-loop-while{background:var(--loop-fill);border-color:var(--loop-stroke);color:#0f766e}.pill-loop-for code,.pill-loop-while code{color:#134e4a}.pill-branch{border-color:var(--cond-stroke);background:var(--cond-fill);color:#78350f}.pill-branch code{color:#713f12}.pill-arrow{color:var(--muted);font-weight:600}.pill-result{letter-spacing:.02em;font-weight:700}.pill-branch-true .pill-result{color:#047857}.pill-branch-false .pill-result{color:#b91c1c}.step-narrative{color:var(--text);font-size:13px;line-height:1.55}.step-narrative code{font-family:var(--mono-font);background:#0ea5e914;border-radius:3px;padding:1px 5px;font-size:12px}@media (width<=640px){.step-banner{margin:0 8px}.pill{padding:2px 8px;font-size:11.5px}}.tab-questions{padding:0}.tab-questions.hidden{display:none}.qt-scroll{flex-direction:column;gap:18px;max-height:100%;padding:16px;display:flex;overflow:auto}.qt-intro h2{letter-spacing:-.01em;margin:0 0 4px;font-size:16px;font-weight:600}.qt-intro p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.qt-muted{color:var(--muted);margin:0;font-size:13px}.qt-nonpy{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:14px 16px}@media (width<=960px){.qt-layout{grid-template-columns:1fr}}.qt-overall-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:600}.qt-pbar{background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden}.qt-pbar-fill{background:linear-gradient(90deg,#0ea5e9,#14b8a6);height:100%;transition:width .25s}.qt-unit{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.qt-unit-done{border-color:#86efac}.qt-unit-chev{color:var(--muted);font-size:12px;line-height:1}.qt-unit-title{font-size:14px;font-weight:600;line-height:1.2}.qt-unit-progress{color:var(--muted);white-space:nowrap;background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.qt-unit-progress-done{color:#166534;background:#dcfce7}.qt-tasklist{flex-direction:column;gap:4px;padding:0 10px 10px;display:flex}.qt-taskitem{text-align:left;border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .12s,background .12s;display:flex}.qt-taskitem:hover{border-color:var(--accent);background:#f8fbff}.qt-taskitem.active{border-color:var(--accent);background:var(--accent-soft)}.qt-taskitem-title{flex:1;line-height:1.35}.qt-taskitem.solved{background:#f0fdf4;border-color:#86efac}.qt-solved-check{color:#16a34a;font-weight:700}.qt-chip{text-transform:uppercase;letter-spacing:.05em;color:#374151;white-space:nowrap;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;align-items:center;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.qt-kind-rebuild{color:#075985;background:#e0f2fe;border-color:#bae6fd}.qt-kind-fixbug{color:#991b1b;background:#fee2e2;border-color:#fecaca}.qt-kind-similar{color:#854d0e;background:#fef3c7;border-color:#fde68a}.qt-kind-predict{color:#9d174d;background:#fce7f3;border-color:#fbcfe8}.qt-kind-comments{color:#334155;background:#f1f5f9;border-color:#e2e8f0}.qt-d-title{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.qt-req-dot{text-align:center;color:var(--muted);font-weight:700;line-height:1.3}.qt-req-pass .qt-req-dot{color:#16a34a}.qt-btn-secondary{border:1px solid var(--border);color:var(--text);background:#fff}.qt-btn-secondary:hover:not(:disabled){border-color:var(--border-strong);background:#f3f4f6}.qt-fb strong{font-size:14px;font-weight:600}.qt-fb-ok{color:#14532d;background:#f0fdf4;border-color:#86efac}.qt-fb-ok .qt-fb-sub{color:#166534}.qt-fb-err{color:#7f1d1d;background:#fef2f2;border-color:#fecaca}.qt-fb-err .qt-fb-sub{color:#991b1b}.qt-fb-diff-pre{font-family:var(--mono-font);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#f3f4f6;border-radius:6px;margin:0;padding:6px 10px;font-size:12.5px}.qt-fb-diff-row.want .qt-fb-diff-pre{color:#14532d;background:#f0fdf4;border-color:#bbf7d0}.qt-fb-diff-row.got .qt-fb-diff-pre{color:#7f1d1d;background:#fef2f2;border-color:#fecaca}.qt-learn{color:#0c4a6e;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55}.qt-predict-snippet{color:#e2e8f0;font-family:var(--mono-font);white-space:pre;background:#0f172a;border-radius:8px;margin:0;padding:12px 14px;font-size:13px;line-height:1.55;overflow-x:auto}.qt-predict-question{color:var(--text);font-size:14px;font-weight:600}.qt-predict-option{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:8px;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:13.5px;transition:background .12s,border-color .12s;display:grid}.qt-predict-option:hover:not(:disabled){border-color:var(--accent);background:#f9fafb}.qt-predict-glyph{color:#4b5563;letter-spacing:.04em;background:#f3f4f6;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11.5px;font-weight:700;display:inline-flex}.qt-predict-option.correct{color:#14532d;background:#f0fdf4;border-color:#86efac}.qt-predict-option.correct .qt-predict-glyph{color:#166534;background:#bbf7d0}.qt-predict-option.wrong{color:#7f1d1d;background:#fef2f2;border-color:#fecaca}.qt-predict-option.wrong .qt-predict-glyph{color:#991b1b;background:#fecaca}.qt-predict-feedback{border:1px solid #0000;border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.qt-predict-feedback.ok{color:#14532d;background:#f0fdf4;border-color:#86efac}.qt-predict-feedback.err{color:#7f1d1d;background:#fef2f2;border-color:#fecaca}.qt-predict-feedback strong{font-size:14px}.editor-wrap{background:var(--panel);transition:background-color .2s}.editor-host{flex:1;min-height:0;display:flex;overflow:hidden}.editor-host .cm-editor{outline:none;flex:1;height:100%;min-height:0}.editor-host .cm-editor.cm-focused{outline:none}.editor-host .cm-scroller{overflow:auto}html,body{font-feature-settings:"cv11", "ss01", "ss03";letter-spacing:-.005em;color:var(--text);background:var(--bg);transition:background-color .2s,color .2s}.app{z-index:1;gap:16px;max-width:1440px;padding:20px 22px 18px;position:relative}.app-bg{pointer-events:none;z-index:0;background:var(--glow);opacity:.85;transition:opacity .3s;position:fixed;inset:0}header{align-items:center;gap:14px;padding:4px 2px 8px;display:flex}h1{display:none}.brand{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:4px 8px 4px 4px;text-decoration:none;transition:transform .18s,background .18s;display:inline-flex}.brand:hover{transform:translateY(-1px)}.brand:focus-visible{box-shadow:var(--ring);outline:none}.brand-mark{flex:none;width:26px;height:26px}.brand-step{transition:fill .3s,opacity .3s}.brand-step-1{fill:var(--soft);opacity:.65}.brand-step-2{fill:var(--muted-strong);opacity:.9}.brand-step-3{fill:var(--accent)}.brand:hover .brand-step-1{opacity:.9}.brand:hover .brand-step-2{opacity:1}.brand-name{letter-spacing:-.02em;color:var(--text);font-size:17px;font-weight:700}.subtitle{color:var(--muted);letter-spacing:-.003em;border-left:1px solid var(--border);padding-inline-start:14px;font-size:13px;font-weight:400}@media (width<=820px){.subtitle{display:none}}.loading{white-space:pre-line;text-align:center;background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-soft-2);border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:500;line-height:1.35;display:inline-flex}.loading:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite pulse-dot;box-shadow:0 0 #0ea5e973}@keyframes pulse-dot{0%,to{box-shadow:0 0 #0ea5e966}50%{box-shadow:0 0 0 5px #0ea5e900}}.theme-toggle{border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--muted-strong);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;display:inline-flex;position:relative}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text);background:var(--panel-muted)}.theme-toggle:focus-visible{box-shadow:var(--ring);outline:none}.theme-icon{stroke:currentColor;stroke-width:1.7px;fill:none;width:17px;height:17px;transition:opacity .2s,transform .3s;position:absolute}.theme-icon-moon{fill:currentColor;stroke:none}.theme-icon-sun{opacity:0;transform:rotate(-45deg)scale(.75)}.theme-icon-moon,[data-theme=dark] .theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=dark] .theme-icon-moon{opacity:0;transform:rotate(45deg)scale(.75)}.panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-md);border-radius:var(--radius-md);transition:background-color .2s,border-color .2s,box-shadow .2s}.panel:hover{box-shadow:var(--shadow-md)}.panel-header{text-transform:none;letter-spacing:-.005em;color:var(--muted-strong);border-bottom:1px solid var(--border-soft);background:0 0;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:12px 16px;font-size:12.5px;font-weight:600;display:flex}.code-panel .panel-header{padding:10px 12px 10px 16px}.level-badge-wrap{margin-left:12px;margin-right:auto}.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;letter-spacing:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-muted);border-color:var(--border-strong)}.btn:focus-visible{box-shadow:var(--ring);border-color:var(--accent);outline:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary,.btn-run{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600;box-shadow:0 1px 2px #0ea5e940,0 0 0 1px #0ea5e91a}.btn-primary:hover:not(:disabled),.btn-run:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:0 4px 12px -2px #0ea5e966}.btn-run{padding:8px 18px;font-size:13px}.btn-submit-answer{background:var(--success,#10b981);color:#fff;border-color:var(--success,#10b981);padding:8px 16px;font-size:13px;font-weight:600;box-shadow:0 1px 2px #10b98147,0 0 0 1px #10b9811a}.btn-submit-answer:hover:not(:disabled){background:#059669;border-color:#059669;box-shadow:0 4px 12px -2px #10b98173}[data-theme=dark] .btn-submit-answer{color:#06121f;background:#10b981;border-color:#10b981;box-shadow:0 1px 2px #0000004d,0 0 0 1px #34d39940}[data-theme=dark] .btn-submit-answer:hover:not(:disabled){color:#06121f;background:#34d399;border-color:#34d399}.editor-wrap .btn-viz{z-index:20;border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--ui-font);letter-spacing:.005em;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 14px 7px 12px;font-size:12.5px;font-weight:600;line-height:1;transition:transform .12s,box-shadow .16s,background-color .16s,border-color .16s,opacity .16s;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 20px -6px #0ea5e973,0 2px 4px -1px #0f172a2e,0 0 0 1px #0ea5e92e}.editor-wrap .btn-viz:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:0 12px 26px -6px #0ea5e98c,0 2px 6px -1px #0f172a38,0 0 0 1px #0ea5e938}.editor-wrap .btn-viz:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5e959,0 8px 20px -6px #0ea5e973,0 2px 4px -1px #0f172a2e}.editor-wrap .btn-viz:active:not(:disabled){transform:translateY(1px)}.editor-wrap .btn-viz:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 2px 6px -2px #0f172a40}.btn-viz-icon{font-size:10.5px;line-height:1;display:inline-flex;transform:translateY(-.5px)}.btn-viz-label{line-height:1}[data-theme=dark] .editor-wrap .btn-viz{background:var(--accent);color:#0b1220;border-color:var(--accent);box-shadow:0 10px 22px -6px #0000008c,0 0 0 1px #38bdf84d}[data-theme=dark] .editor-wrap .btn-viz:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#0b1220;box-shadow:0 14px 28px -6px #0009,0 0 0 1px #38bdf873}[data-theme=dark] .editor-wrap .btn-viz:focus-visible{box-shadow:0 0 0 3px #38bdf866,0 10px 22px -6px #0000008c}.editor-wrap .btn-viz.btn-viz--off-panel{display:none}@media (width<=720px){.editor-wrap .btn-viz{padding:6px 12px 6px 10px;font-size:12px}}.btn-examples,.btn-share,.btn-clear{background:var(--panel);color:var(--text);border:1px solid var(--border);padding:7px 12px;font-size:12.5px;font-weight:500}.btn-examples:hover:not(:disabled),.btn-share:hover:not(:disabled),.btn-clear:hover:not(:disabled){background:var(--panel-muted);border-color:var(--border-strong)}.btn-clear .clear-label-short{display:none}@media (width<=430px){.btn-clear .clear-label-long{display:none}.btn-clear .clear-label-short{display:inline}.code-panel .panel-header .code-actions{flex-wrap:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:0 6px;width:auto;min-width:0;max-width:100%;display:flex}.code-panel .code-actions .btn-clear{white-space:nowrap;flex:none;min-height:36px;padding:7px 10px;font-size:12px;line-height:1.2}.code-panel .code-actions .btn-run{white-space:nowrap;flex:none;min-height:36px;padding:8px 14px;font-size:13px;font-weight:600}.code-panel .code-actions .btn-submit-answer{white-space:nowrap;flex:none;max-width:100%;min-height:36px;padding:7px 10px;font-size:12px}}.btn-share.share-ok{background:var(--success-soft);color:var(--success-text);border-color:#0000}.btn-share.share-err{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.ui-lang-switch{color:var(--muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ui-lang-switch .ui-lang-link{color:var(--muted);white-space:nowrap;border-radius:6px;padding:2px 4px;text-decoration:none;transition:color .15s,background .15s}.ui-lang-switch .ui-lang-link:hover{color:var(--text);background:#0f172a0a}.ui-lang-switch .ui-lang-link.is-current{color:var(--text);font-weight:600}.ui-lang-switch .ui-lang-sep{color:var(--border)}[data-theme=dark] .ui-lang-switch .ui-lang-link:hover{background:#ffffff0f}.lang-switcher,.tab-bar{background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;align-items:center;gap:2px;padding:3px;display:inline-flex;box-shadow:inset 0 1px #fff6}.lang-tab,.tab-btn{appearance:none;color:var(--muted);cursor:pointer;letter-spacing:0;text-transform:none;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.tab-btn{padding:7px 11px;font-size:12px}.lang-tab:hover:not(:disabled):not(.active),.tab-btn:hover:not(.active){color:var(--text);background:#0f172a0a}.lang-tab.active,.tab-btn.active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0f172a14, 0 0 0 1px var(--border);font-weight:600}.lang-tab .soon{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--border);vertical-align:1px;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}[data-theme=dark] .lang-tab:hover:not(:disabled):not(.active),[data-theme=dark] .tab-btn:hover:not(.active){background:#ffffff0a}.level-badge{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--muted-strong);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 9px;font-size:11.5px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.level-badge:hover{background:var(--panel-muted);border-color:var(--border-strong)}.level-dot{background:var(--soft);border-radius:50%;width:7px;height:7px}.level-badge.level-foundations{color:var(--success-text);background:var(--success-soft);border-color:#0000}.level-badge.level-foundations .level-dot{background:var(--success)}.level-badge.level-intermediate{color:var(--warning-text);background:var(--warning-soft);border-color:#0000}.level-badge.level-intermediate .level-dot{background:var(--warning)}.code-panel{overflow:hidden}.code-panel .panel-header{gap:10px;padding:10px 12px 10px 16px}.code-title{color:var(--text);letter-spacing:-.005em;flex:none;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.code-status-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:8px;height:8px}.code-panel.code-has-content .code-status-dot{background:var(--success);box-shadow:0 0 0 2px var(--success-soft)}.code-actions{gap:8px}.code-panel #error-banner[hidden],.code-panel #cap-banner[hidden],.code-panel #step-banner[hidden]{border:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.code-panel #cap-banner:empty,.code-panel #error-banner:empty{border:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important}#submit-answer[hidden],.btn-submit-answer[hidden],.code-panel .code-actions .btn-submit-answer[hidden]{pointer-events:none!important;border:0!important;width:0!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.examples-menu[hidden]{display:none!important}@media (width>=721px){.examples-menu{background:var(--panel);border:1px solid var(--border);z-index:200;text-transform:none;letter-spacing:normal;border-radius:10px;min-width:260px;max-width:340px;padding:6px;position:fixed;inset:auto;overflow:hidden auto;box-shadow:0 12px 28px -8px #0f172a33,0 2px 6px -2px #0f172a14}.examples-menu .example-item{border-radius:6px;padding:8px 10px}.code-panel .panel-header{flex-wrap:nowrap;align-items:center;gap:12px;padding:10px 14px 10px 16px}.code-panel .panel-header .level-badge-wrap{display:none!important}.code-panel .panel-header .code-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.code-panel .code-actions .btn-clear .clear-label-long{display:none}.code-panel .code-actions .btn-clear .clear-label-short{display:inline}}.editor-wrap{background:var(--code-bg);border-top:1px solid var(--border-soft);padding:0;position:relative;overflow:hidden}.editor-host{border:none}.file-tabs{background:var(--code-bg);border-top:1px solid var(--border-soft);-webkit-user-select:none;user-select:none;align-items:flex-end;gap:2px;margin-bottom:-1px;padding:6px 8px 0;display:flex}.file-tab{font-family:var(--ui-font);letter-spacing:.005em;color:var(--code-muted);cursor:default;background:0 0;border:1px solid #0000;border-bottom:none;border-top-left-radius:7px;border-top-right-radius:7px;outline:none;align-items:center;gap:7px;padding:6px 12px 7px;font-size:12px;font-weight:500;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.file-tab.is-active{color:var(--code-text);border-color:var(--code-border);background:#131c33}.file-tab:focus-visible{box-shadow:0 0 0 2px #38bdf873}.file-tab-icon{flex:none;width:13px;height:13px;overflow:visible}.file-tab-icon-body{fill:#facc1524;stroke:#facc15;stroke-width:1.1px;stroke-linejoin:round}.file-tab-icon-fold{fill:none;stroke:var(--code-caret);stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round}.file-tab-name{font-family:var(--mono-font);letter-spacing:0;font-size:11.5px;font-weight:500;line-height:1}.file-tab-add{appearance:none;border:1px dashed var(--code-border);width:22px;height:22px;color:var(--code-muted);font-family:var(--ui-font);opacity:.55;cursor:not-allowed;background:0 0;border-radius:6px;justify-content:center;align-self:center;align-items:center;margin:2px 0 3px 4px;padding:0;font-size:14px;font-weight:500;line-height:1;display:inline-flex}.file-tab-add:focus-visible{outline:none;box-shadow:0 0 0 2px #38bdf859}[data-theme=dark] .file-tab.is-active{border-color:var(--code-border);background:#131c33}.error-banner{background:var(--danger-soft);color:var(--danger-text);border:1px solid #ef444440;border-radius:10px;margin:14px 16px 0;padding:12px 14px;font-size:13px;line-height:1.55}.error-banner.raw{font-family:var(--mono-font);white-space:pre-wrap;font-size:12px}.err-head{align-items:center;gap:9px;margin-bottom:4px;display:flex}.err-icon{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.err-title{color:var(--danger-text);font-size:13px;font-weight:600}.err-where{font-family:var(--mono-font);color:var(--danger);margin-left:auto;font-size:11.5px}.err-body{color:var(--danger-text);line-height:1.55}.err-body code{font-family:var(--mono-font);background:#ef44441a;border-radius:4px;padding:1px 5px;font-size:12px}.err-source{font-family:var(--mono-font);border-left:3px solid var(--danger);color:var(--danger-text);white-space:pre;background:#fff9;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px;overflow-x:auto}.err-hint{color:var(--warning-text);margin-top:6px;font-size:12px;font-style:italic}.err-hint code{background:#f59e0b1f;font-style:normal}.cap-banner{background:var(--warning-soft);color:var(--warning-text);border:1px solid #f59e0b47;border-radius:10px;align-items:center;gap:10px;margin:14px 16px 0;padding:11px 14px;font-size:13px;line-height:1.55;display:flex}.cap-banner.credit-block-banner{color:var(--text-soft);background:#0f172ab8;border-color:#38bdf847;flex-direction:column;align-items:flex-start;gap:8px}[data-theme=light] .cap-banner.credit-block-banner{background:var(--panel-muted);border-color:var(--border)}.cap-banner.credit-feedback-banner{color:var(--text-soft);background:#0f172a8c;border-color:#38bdf838;flex-direction:column;align-items:flex-start;gap:0}[data-theme=light] .cap-banner.credit-feedback-banner{background:var(--panel-muted);border-color:var(--border)}.credit-feedback-msg{color:var(--text-soft);margin:0;font-size:13px;line-height:1.5}.credit-block-msg{color:var(--text);margin:0;font-size:14px;font-weight:600}.credit-block-sub{color:var(--muted-strong);margin:0;font-size:13px}.credit-block-btn{color:#fff;background:var(--accent);border-radius:8px;margin-top:2px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}[data-theme=dark] .credit-block-btn{color:#0b1220}.credit-block-btn:hover{background:var(--accent-strong)}.step-banner{border-bottom:1px solid var(--border-soft);background:var(--panel);flex-direction:column;gap:6px;padding:10px 16px 12px;display:flex}.step-pills{flex-wrap:wrap;gap:6px;display:flex}.step-narrative{color:var(--text);letter-spacing:-.003em;font-size:13px;line-height:1.55}.tab-trace{padding:0}.trace-scroll{scrollbar-gutter:stable both-edges;background:0 0;padding:18px 16px 24px}.trace-empty{color:var(--muted);min-height:120px;font-size:13px;font-style:normal}.trace-list{flex-direction:column;align-items:stretch;gap:0;max-width:420px;margin:0 auto;display:flex;position:relative}.trace-list:before{content:"";background:linear-gradient(180deg, transparent 0%, var(--border) 12%, var(--border) 88%, transparent 100%);pointer-events:none;width:2px;position:absolute;top:14px;bottom:14px;left:19px}.trace-box{background:var(--panel);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);opacity:.6;z-index:1;border-radius:12px;grid-template-columns:22px auto 1fr auto;align-items:center;column-gap:10px;padding:13px 14px 13px 10px;scroll-margin:48px;transition:opacity .16s,border-color .16s,box-shadow .18s,transform .18s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.trace-list .trace-box+.trace-box{margin-top:0}.trace-box.visited{opacity:.82}.trace-box.active{opacity:1;border-color:var(--accent);background:#0ea5e90a;box-shadow:0 0 0 2px #0ea5e929,0 4px 14px -4px #0ea5e933}.trace-box:before{content:"";background:var(--panel);border:2px solid var(--border-strong);border-radius:50%;grid-column:1;justify-self:center;width:14px;height:14px;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.trace-box.visited:before{border-color:var(--accent-soft-2);background:var(--accent-soft)}.trace-box.active:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px #0ea5e933}.trace-box.trace-kind-start:before{border-color:var(--success);background:var(--success-soft)}.trace-box.trace-kind-end:before{border-color:var(--border-strong);background:var(--panel-muted)}.trace-box,.trace-box.trace-kind-loop,.trace-box.trace-kind-cond,.trace-box.trace-kind-out,.trace-box.trace-kind-assign,.trace-box.trace-kind-start,.trace-box.trace-kind-end,.trace-box.active{border-left-width:1px}.trace-connector{display:none}.trace-code{font-family:var(--mono-font);color:var(--text);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;grid-column:3;min-width:0;font-size:12.5px;overflow:hidden}.trace-box>.trace-badge{grid-column:2}.trace-badge{font-family:var(--mono-font);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:var(--panel-muted);color:var(--muted-strong);border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;padding:2px 6px;font-size:9.5px;font-weight:600;display:inline-flex}.trace-badge-loop{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft-2)}.trace-badge-cond{color:#92400e;background:#fefce8;border-color:#fde68a}.trace-badge-out{color:#4338ca;background:#6366f114;border-color:#6366f133}.trace-badge-assign{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}.trace-badge-start{background:var(--success-soft);color:var(--success-text);border-color:#0000}.trace-badge-end{background:var(--panel-muted);color:var(--muted);border-color:var(--border)}.trace-result{font-family:var(--mono-font);white-space:nowrap;text-align:center;background:var(--panel-muted);color:var(--muted-strong);border:1px solid var(--border);border-radius:5px;grid-column:4;padding:2px 8px;font-size:11px;font-weight:500}.trace-result-loop{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft-2);min-width:60px}.trace-result-true{background:var(--success-soft);color:var(--success-text);border-color:#0000;min-width:52px}.trace-result-false{background:var(--danger-soft);color:var(--danger-text);border-color:#0000;min-width:52px}.trace-result-out{color:#4338ca;text-overflow:ellipsis;text-align:left;background:#6366f114;border-color:#6366f140;max-width:180px;overflow:hidden}.trace-result-assign{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border);text-overflow:ellipsis;max-width:160px;overflow:hidden}.flow-panel .panel-header.flow-header{justify-content:flex-start;gap:10px;min-height:54px;padding:10px 14px}.flow-scroll{background:radial-gradient(circle at 1px 1px, #0f172a0f 1px, transparent 0) 0 0 / 24px 24px, linear-gradient(180deg, var(--panel) 0%, var(--panel-sunken) 100%);flex:1;overflow:auto}#flow{width:100%;min-height:440px;display:block}.node rect,.node polygon{transform-origin:50%;transform-box:fill-box;transition:fill .28s,stroke .28s,filter .28s,transform .28s cubic-bezier(.2,.8,.2,1)}.node text{font-family:var(--mono-font);fill:var(--text);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12px}.node .icon{font-family:var(--ui-font);fill:var(--muted);font-size:11px;font-weight:600}.node.assign>rect{fill:#fff;stroke:var(--border-strong);stroke-width:1.25px}.node.assign.node-data-viewer{cursor:pointer;touch-action:manipulation}.node.assign.node-data-viewer>rect:first-of-type{pointer-events:all}.node.assign.node-data-viewer>rect{fill:var(--panel-muted);stroke:var(--accent);stroke-width:1.5px;rx:14;filter:drop-shadow(0 0 8px #0ea5e929)}.node.assign.node-data-viewer>text{font-family:var(--ui-font);fill:var(--accent-text);letter-spacing:.01em;font-size:11px;font-weight:600}.node.assign.node-data-viewer:hover>rect,.node.assign.node-data-viewer:focus-visible>rect{stroke:var(--accent-strong);filter:drop-shadow(0 0 12px #0ea5e942)}.node.loop>rect{fill:var(--loop-fill);stroke:var(--loop-stroke);stroke-width:1.5px}.node.cond>polygon{fill:var(--cond-fill);stroke:var(--cond-stroke);stroke-width:1.5px}.node.out>rect{fill:var(--out-fill);stroke:var(--out-stroke);stroke-width:1.5px}.node.start>rect{fill:var(--success-soft);stroke:var(--success);stroke-width:1.5px}.node.end>rect{fill:var(--panel-muted);stroke:var(--border-strong);stroke-width:1.5px}.node.start>text,.node.end>text{font-family:var(--ui-font);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.node.start>text{fill:var(--success-text)}.node.end>text{fill:var(--muted-strong)}.node.visited>rect,.node.visited>polygon{fill:var(--visited-fill);stroke:var(--visited-stroke)}.node.visited>text{fill:var(--muted)}.node.active>rect,.node.active>polygon{stroke:var(--accent);stroke-width:2.5px;filter:drop-shadow(0 0 14px #0ea5e966);transform:scale(1.04)}.node.active>text{fill:var(--text);font-weight:600}.edge{fill:none;stroke:var(--border-strong);stroke-width:1.5px;transition:stroke .28s}.edge.just-traversed{stroke:var(--accent)}.edge-label{font-family:var(--mono-font);fill:var(--muted);font-size:11px}.edge-label-bg{fill:var(--panel);opacity:.92}.token{fill:var(--accent);filter:drop-shadow(0 0 8px #0ea5e999);transition:opacity .14s}.flow-group-bg{fill:#67e8f914;stroke:var(--loop-stroke);stroke-width:1px;stroke-dasharray:5 6}.flow-group.while .flow-group-bg{fill:#fde68a1a;stroke:var(--cond-stroke)}.flow-group-label-bg{fill:var(--panel);stroke:var(--loop-stroke);stroke-width:1px}.flow-group.while .flow-group-label-bg{stroke:var(--cond-stroke)}.flow-group-label{font-family:var(--ui-font);fill:var(--loop-text);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:600}.flow-group.while .flow-group-label{fill:var(--cond-text)}.iter-pill-bg{fill:var(--panel);stroke:var(--loop-stroke);stroke-width:1px}.iter-pill{font-family:var(--mono-font);fill:var(--text);font-size:10.5px;font-weight:500}.value-chip-bg{fill:var(--panel);stroke:var(--accent);stroke-width:1.25px;filter:drop-shadow(0 2px 6px #0ea5e92e)}.value-chip{font-family:var(--mono-font);fill:var(--text);font-size:11px;font-weight:500}.exec-count-bg{fill:var(--accent-soft);stroke:var(--accent-soft-2);stroke-width:1px}.exec-count{font-family:var(--mono-font);fill:var(--accent-text);font-size:10px;font-weight:600}.vars-panel{max-height:260px}.vars-list{padding:6px 0 10px}.vars-empty{color:var(--muted);padding:16px 18px;font-size:13px;font-style:normal}.var-row{border-bottom:1px solid var(--border-soft);padding:9px 16px;transition:background .22s}.var-row:last-child{border-bottom:none}.var-row.changed{background:var(--accent-soft);animation:.7s var-flash}.var-head{grid-template-columns:minmax(60px,auto) auto 1fr auto;align-items:center;gap:12px;display:grid}.var-name{font-family:var(--mono-font);color:var(--text);font-size:13px;font-weight:600}.var-type{background:var(--panel-muted);color:var(--muted-strong);font-size:10px;font-weight:600;font-family:var(--ui-font);letter-spacing:.02em;text-transform:uppercase;border-radius:5px;padding:2px 7px}.var-type-int,.var-type-float{color:#1e40af;background:#dbeafe}.var-type-str{background:var(--success-soft);color:var(--success-text)}.var-type-bool{color:#9d174d;background:#fce7f3}.var-type-list,.var-type-tuple{color:#6b21a8;background:#e9d5ff}.var-type-dict{background:var(--warning-soft);color:var(--warning-text)}.var-type-set{color:#9f1239;background:#ffe4e6}.var-type-nonetype{background:var(--panel-muted);color:var(--muted-strong)}.var-value{font-family:var(--mono-font);color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;overflow:hidden}.var-trail{justify-self:end;align-items:center;gap:8px;display:flex}.var-was{font-family:var(--mono-font);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;overflow:hidden}.var-was:before{content:"was ";color:var(--soft)}.var-expand{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:3px 6px;font-size:12px;transition:color .15s,background .15s}.var-expand:hover{color:var(--text);background:var(--panel-muted)}.var-details{border-left:2px solid var(--border-soft);flex-direction:column;gap:3px;margin-top:8px;margin-left:4px;padding:6px 0 2px 18px;display:flex}.var-item-row{font-family:var(--mono-font);align-items:baseline;gap:10px;font-size:12px;display:flex}.var-item-index{color:var(--soft);min-width:32px}.var-item-key{color:#7c3aed;min-width:auto}.var-item-arrow{color:var(--soft)}.var-item-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.var-item-more{font-family:var(--ui-font);color:var(--muted);margin-top:2px;font-size:11px;font-style:italic}.output-panel{background:var(--code-bg);border-color:var(--code-border-strong);min-height:140px;max-height:260px}.output-panel .panel-header{color:#94a3b8;letter-spacing:0;background:0 0;border-bottom-color:#94a3b81f}#output{font-family:var(--mono-font);color:var(--code-text);white-space:pre-wrap;flex:1;margin:0;padding:14px 18px;font-size:12.5px;overflow:auto}#output.output-empty{color:var(--code-muted);min-height:48px;font-style:italic;line-height:1.6}.controls{border-radius:var(--radius-md);flex-flow:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.controls .btn{min-width:84px}.controls .btn-primary{min-width:96px}.speed-label{color:var(--muted);align-items:center;gap:8px;margin-left:4px;font-size:12px;display:flex}.speed-label select{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px}.scrub{flex:1;align-items:center;gap:12px;margin-left:8px;display:flex}#scrub{accent-color:var(--accent);cursor:pointer;flex:1}#step-label{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:0;min-width:90px;font-size:12px}.wt-root{padding:18px 18px 24px}.wt-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:14px 16px}.wt-card+.wt-card{margin-top:10px}.wt-card-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.wt-label{font-family:var(--ui-font);background:var(--panel-muted);color:var(--muted-strong);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:600}.wt-label-start{background:var(--success-soft);color:var(--success-text)}.wt-label-end{background:var(--panel-muted);color:var(--muted-strong)}.wt-label-setup,.wt-label-update{background:var(--accent-soft);color:var(--accent-text)}.wt-label-loop{color:var(--loop-text);background:#67e8f92e}.wt-label-cond{background:var(--warning-soft);color:var(--warning-text)}.wt-label-out{color:#5b21b6;background:#7c3aed1a}.wt-card-title{font-family:var(--mono-font);color:var(--text);letter-spacing:-.01em;font-size:13px;font-weight:500}.wt-card-body{color:var(--muted-strong);letter-spacing:-.003em;font-size:13px;line-height:1.6}.wt-card-body code{font-family:var(--mono-font);background:var(--panel-muted);color:var(--text);border-radius:5px;padding:1px 6px;font-size:12.5px}.wt-pass-var{font-family:var(--mono-font);color:var(--accent-text);background:var(--accent-soft);white-space:nowrap;border-radius:5px;padding:1px 6px;font-size:12.5px}.wt-chip{font-size:11.5px;font-family:var(--mono-font);letter-spacing:0;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.wt-chip-info{background:var(--panel-muted);color:var(--muted-strong);border:1px solid var(--border-soft)}.wt-chip-true{background:var(--success-soft);color:var(--success-text)}.wt-chip-false{background:var(--danger-soft);color:var(--danger-text)}.wt-pass{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);margin:10px 0;overflow:hidden}.wt-pass-head{cursor:pointer;background:linear-gradient(180deg, var(--panel) 0%, var(--panel-sunken) 100%);border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.wt-pass-head:hover{background:linear-gradient(180deg, var(--panel-muted) 0%, var(--panel-sunken) 100%)}.wt-pass-head-chev{color:var(--muted);transition:transform .18s}.wt-pass.collapsed .wt-pass-head-chev{transform:rotate(-90deg)}.wt-pass.collapsed .wt-pass-body{display:none}.wt-pass-title{color:var(--text);font-size:12.5px;font-weight:600}.wt-pass-summary{color:var(--muted);margin-left:auto;font-size:12px}.wt-pass-body{flex-direction:column;gap:8px;padding:10px 14px 14px;display:flex}.wt-step-row{background:var(--panel-sunken);border:1px solid var(--border-soft);border-radius:10px;align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.wt-step-row-code{font-family:var(--mono-font);color:var(--text);flex:1;min-width:0;font-size:12.5px}.wt-step-row-note{color:var(--muted-strong);font-size:12.5px;line-height:1.55}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .editor-inner{background:var(--panel)}[data-theme=dark] .gutter{background:var(--panel-muted);color:var(--muted);border-right-color:var(--border)}[data-theme=dark] .editor{color:var(--text);caret-color:var(--accent)}[data-theme=dark] .line-highlight{border-left-color:var(--accent);background:#38bdf81f}[data-theme=dark] .examples-menu,[data-theme=dark] .btn-examples,[data-theme=dark] .btn,[data-theme=dark] .speed-label select,[data-theme=dark] .theme-toggle{background:var(--panel);color:var(--text);border-color:var(--border)}[data-theme=dark] .btn:hover:not(:disabled),[data-theme=dark] .btn-examples:hover:not(:disabled){background:var(--panel-muted);border-color:var(--border-strong)}[data-theme=dark] .example-item{color:var(--text)}[data-theme=dark] .examples-menu{box-shadow:0 18px 42px -12px #0009,0 2px 8px -2px #0006}[data-theme=dark] .btn-primary,[data-theme=dark] .btn-run{background:var(--accent);color:#06121f;border-color:var(--accent)}[data-theme=dark] .btn-primary:hover:not(:disabled),[data-theme=dark] .btn-run:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}[data-theme=dark] .trace-badge{background:var(--panel-muted);color:var(--muted-strong)}[data-theme=dark] .trace-badge-loop{color:#5eead4;background:#5eead41f}[data-theme=dark] .trace-badge-cond{color:#fcd34d;background:#fcd34d1f}[data-theme=dark] .trace-badge-out{color:#c4b5fd;background:#c4b5fd24}[data-theme=dark] .trace-badge-start{color:#86efac;background:#4ade8024}[data-theme=dark] .trace-badge-end{color:#cbd5e1;background:#94a3b824}[data-theme=dark] .trace-result-loop{color:#5eead4;background:#5eead41f}[data-theme=dark] .trace-result-out{color:#c4b5fd;background:#c4b5fd24}[data-theme=dark] .trace-result-assign{background:var(--panel-muted);color:var(--muted-strong)}[data-theme=dark] .trace-connector,[data-theme=dark] .trace-connector:after{background:var(--border-strong);border-top-color:var(--border-strong)}[data-theme=dark] .var-type{background:var(--panel-muted);color:var(--muted)}[data-theme=dark] .var-type-nonetype{color:#cbd5e1;background:#94a3b82e}[data-theme=dark] .var-row{border-bottom-color:var(--border)}[data-theme=dark] .var-row.changed{background:var(--accent-soft);animation:.65s var-flash-dark}@keyframes var-flash-dark{0%{background:#38bdf84d}to{background:#38bdf81f}}[data-theme=dark] .var-details{border-left-color:var(--border)}[data-theme=dark] .var-expand:hover{color:var(--text);background:var(--panel-muted)}[data-theme=dark] .node.assign.node-data-viewer>rect{fill:#38bdf814;stroke:var(--accent)}[data-theme=dark] .node.assign.node-data-viewer>text{fill:var(--accent-text)}[data-theme=dark] .node.loop>rect{fill:#5eead41a}[data-theme=dark] .node.cond>polygon{fill:#fcd34d1a}[data-theme=dark] .node.out>rect{fill:#c4b5fd1a}[data-theme=dark] .node text{fill:var(--text)}[data-theme=dark] .node .icon{fill:var(--muted)}[data-theme=dark] .edge{stroke:#94a3b866}[data-theme=dark] .flow-group-bg{fill:#5eead40f}[data-theme=dark] .flow-group.while .flow-group-bg{fill:#fcd34d0f}[data-theme=dark] .flow-group-label-bg,[data-theme=dark] .iter-pill-bg{fill:var(--panel)}[data-theme=dark] .value-chip-bg{fill:var(--panel)}[data-theme=dark] .err-body{color:#fecaca}[data-theme=dark] .err-where{color:#fda4af}[data-theme=dark] .err-source{color:#fecaca;background:#0f172a66;border-left-color:#f87171}[data-theme=dark] .err-icon{color:#fecaca;background:#dc26264d}[data-theme=dark] .err-hint{color:#fdba74}[data-theme=dark] .err-body code{color:#fecaca;background:#dc262633}[data-theme=dark] .err-hint code{color:#fdba74;background:#d9770640}[data-theme=dark] .cap-text strong{color:#fef3c7}[data-theme=dark] .btn-share{background:var(--panel);color:var(--text);border-color:var(--border)}[data-theme=dark] .btn-share:hover:not(:disabled){background:var(--panel-muted);border-color:var(--border-strong)}[data-theme=dark] .modal-dialog{background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg)}[data-theme=dark] .modal-title{color:var(--text)}[data-theme=dark] .modal-subtitle,[data-theme=dark] .modal-close{color:var(--muted)}[data-theme=dark] .modal-close:hover{background:var(--panel-muted);color:var(--text)}[data-theme=dark] .explainer-code .k{color:#7dd3fc}[data-theme=dark] .explainer-code .v{color:#c4b5fd}[data-theme=dark] .explainer-code .lit{color:#5eead4}[data-theme=dark] .explainer-ctrl{background:var(--panel);color:var(--text);border-color:var(--border)}[data-theme=dark] .explainer-ctrl:hover:not(:disabled){background:var(--panel-muted);border-color:var(--border-strong)}[data-theme=dark] .explainer-play{background:var(--accent);color:#06121f;border-color:var(--accent)}[data-theme=dark] .explainer-play:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}[data-theme=dark] .explainer-scene{border-color:var(--border);background:radial-gradient(circle at 1px 1px,#94a3b81f 1px,#0000 0) 0 0/20px 20px}[data-theme=dark] .item-cell rect{fill:var(--panel);stroke:var(--border-strong)}[data-theme=dark] .item-cell.active rect{fill:var(--accent-soft);stroke:var(--accent)}[data-theme=dark] .item-cell.done rect{fill:var(--panel-muted);stroke:var(--border)}[data-theme=dark] .item-cell.done .item-text{fill:var(--muted)}[data-theme=dark] .item-text{fill:var(--text)}[data-theme=dark] .body-card-bg{fill:#c4b5fd24;stroke:#c4b5fd}[data-theme=dark] .body-card.pulse .body-card-bg{fill:#7c3aed4d;stroke:#c4b5fd}[data-theme=dark] .body-card-text{fill:var(--text)}[data-theme=dark] .explainer-caption{color:var(--text)}[data-theme=dark] .explainer-note,[data-theme=dark] .explainer-status,[data-theme=dark] .explainer-step-indicator{color:var(--muted)}[data-theme=dark] .explainer-speed{background:var(--panel);color:var(--text);border-color:var(--border)}[data-theme=dark] .wt-chip-info,[data-theme=dark] .qt-req-skip{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .step-banner,[data-theme=dark] .qt-root,[data-theme=dark] .wt-root,[data-theme=dark] .level-popover{color:var(--text)}[data-theme=dark] .qt-side,[data-theme=dark] .qt-detail,[data-theme=dark] .wt-card,[data-theme=dark] .level-popover{background:var(--panel);border-color:var(--border)}[data-theme=dark] .qt-unit-head{color:var(--text)}[data-theme=dark] .qt-unit-head:hover,[data-theme=dark] .qt-task-item:hover{background:var(--panel-muted)}[data-theme=dark] .qt-task-item.active{background:var(--accent-soft);border-color:var(--accent)}[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}[data-theme=dark] ::-webkit-scrollbar-track{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#94a3b833 padding-box padding-box;border:2px solid #0000;border-radius:6px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#94a3b859 padding-box padding-box;border:2px solid #0000}.qt-intro h2{letter-spacing:-.015em;color:var(--text);margin:0 0 4px;font-size:18px;font-weight:600}.qt-intro p{color:var(--muted);font-size:13px;line-height:1.6}.qt-muted{color:var(--muted);font-size:13px}.qt-nonpy{background:var(--warning-soft);color:var(--warning-text);border:1px solid #f59e0b47;border-radius:10px;padding:12px 14px;font-size:13px}.qt-h{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:600}.qt-layout{grid-template-columns:320px 1fr;align-items:start;gap:18px;display:grid}@media (width<=960px){.qt-layout{grid-template-columns:1fr}}.qt-overall{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.qt-overall-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.qt-overall-label:after{content:attr(data-progress);font-family:var(--mono-font);color:var(--text);letter-spacing:0;text-transform:none;font-size:12px;font-weight:600}.qt-pbar{background:var(--panel-muted);border-radius:999px;height:8px;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a0f}.qt-pbar-sm{height:5px}.qt-pbar-fill{background:linear-gradient(90deg, var(--accent) 0%, #38bdf8 100%);height:100%;transition:width .35s cubic-bezier(.2,.8,.2,1);box-shadow:inset 0 0 0 1px #0ea5e933}.qt-unitscol{flex-direction:column;gap:10px;max-height:calc(100vh - 40px);padding-right:2px;display:flex;position:sticky;top:12px;overflow-y:auto}.qt-unit{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color .15s;overflow:hidden}.qt-unit-head{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;transition:background .12s;display:grid}.qt-unit-head:hover{background:var(--panel-muted)}.qt-unit-chev{color:var(--muted);font-size:11px;line-height:1;transition:transform .18s}.qt-unit-titleblock{flex-direction:column;gap:2px;min-width:0;display:flex}.qt-unit-title{letter-spacing:-.005em;font-size:13.5px;font-weight:600;line-height:1.25}.qt-unit-blurb{color:var(--muted);font-size:12px;line-height:1.4}.qt-unit-progress{font-family:var(--mono-font);color:var(--muted-strong);background:var(--panel-muted);white-space:nowrap;letter-spacing:0;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.qt-unit-progress-done{background:var(--success-soft);color:var(--success-text)}.qt-tasklist{border-top:1px solid var(--border-soft);flex-direction:column;gap:2px;margin-top:-1px;padding:2px 8px 10px;display:flex}.qt-taskitem{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 12px 9px 14px;font-family:inherit;font-size:13px;line-height:1.35;transition:background .12s,border-color .12s;display:grid;position:relative}.qt-taskitem-title{line-height:1.35}.qt-taskitem.solved,.qt-taskitem.solved .qt-taskitem-title{color:var(--muted-strong)}.qt-solved-check{background:var(--success-soft);width:18px;height:18px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.qt-chip{text-transform:uppercase;letter-spacing:.08em;background:var(--panel-muted);color:var(--muted-strong);border:1px solid var(--border-soft);white-space:nowrap;border-radius:5px;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;line-height:1.4;display:inline-flex}.qt-detail{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;min-width:0;padding:22px 24px 20px;display:flex}.qt-d-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.qt-d-title{letter-spacing:-.02em;color:var(--text);width:100%;margin:0;font-size:19px;font-weight:700;line-height:1.25}.qt-d-prompt p{color:var(--text-soft);letter-spacing:-.003em;margin:0 0 8px;font-size:14px;line-height:1.7}.qt-d-prompt p:last-child{margin-bottom:0}.qt-d-sub{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:11px;font-weight:600}.qt-learn:before{content:"";background:var(--accent);background-image:radial-gradient(circle at 50% 40%,#fff 2px,#0000 2.5px),radial-gradient(circle at 50% 62%,#fff 1px,#0000 1.5px);border-radius:50%;width:20px;height:20px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.qt-learn strong{color:var(--accent-text);font-weight:600}.qt-reqs-wrap{flex-direction:column;gap:8px;display:flex}.qt-reqs{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.qt-req{background:var(--panel-muted);border:1px solid #0000;border-radius:8px;grid-template-columns:22px 1fr;align-items:start;gap:10px;padding:8px 12px;font-size:13px;display:grid}.qt-req-dot{text-align:center;color:var(--muted);font-size:14px;font-weight:700;line-height:1.4}.qt-req-label{color:var(--text);line-height:1.45}.qt-req-detail{color:var(--muted);grid-column:2;margin-top:4px;font-size:12.5px;line-height:1.55}.qt-req-pass .qt-req-dot{color:var(--success);font-size:13px}.qt-req-fail .qt-req-dot{color:var(--danger)}.qt-d-actions{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.qt-btn-secondary{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:500}.qt-btn-secondary:hover:not(:disabled){background:var(--panel-muted);border-color:var(--border-strong)}.qt-hints{background:var(--warning-soft);border:1px solid #f59e0b40;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.qt-hints-label{text-transform:uppercase;letter-spacing:.08em;color:var(--warning-text);font-size:11px;font-weight:600}.qt-hint{color:var(--warning-text);margin:0;font-size:13px;line-height:1.6}.qt-expected{background:var(--accent-soft);border:1px solid var(--accent-soft-2);border-radius:10px;padding:12px 14px}.qt-expected-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin-bottom:8px;font-size:11px;font-weight:600}.qt-expected-pre{font-family:var(--mono-font);color:var(--accent-text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12.5px}.qt-feedback{flex-direction:column;gap:10px;display:flex}.qt-fb{border:1px solid #0000;border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.qt-fb strong{letter-spacing:-.005em;font-size:14px;font-weight:600}.qt-fb-sub{color:var(--muted);font-size:12.5px}.qt-fb-ok .qt-fb-sub{color:var(--success-text);opacity:.75}.qt-fb-err .qt-fb-sub{color:var(--danger-text);opacity:.75}.qt-fb-err-line{font-family:var(--mono-font);color:var(--danger-text);white-space:pre-wrap;word-break:break-word;background:#ffffff80;border:1px solid #ef444433;border-radius:8px;padding:8px 12px;font-size:12.5px}.qt-fb-diff{flex-direction:column;gap:8px;display:flex}.qt-fb-diff-row{grid-template-columns:70px 1fr;align-items:start;gap:10px;display:grid}.qt-fb-diff-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:7px;font-size:10px;font-weight:600}.qt-fb-diff-pre{font-family:var(--mono-font);background:var(--panel-muted);border:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:8px 12px;font-size:12.5px}.qt-fb-diff-row.want .qt-fb-diff-pre{background:var(--success-soft);color:var(--success-text);border-color:#10b98138}.qt-fb-diff-row.got .qt-fb-diff-pre{background:var(--danger-soft);color:var(--danger-text);border-color:#ef444438}.qt-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.qt-predict{flex-direction:column;gap:16px;display:flex}.qt-predict-snippet{background:var(--code-bg);color:var(--code-text);font-family:var(--mono-font);white-space:pre;border:1px solid var(--code-border-strong);border-radius:12px;margin:0;padding:16px 18px;font-size:13px;line-height:1.7;overflow-x:auto;box-shadow:inset 0 1px #ffffff0a}.qt-predict-options{flex-direction:column;gap:10px;display:flex}.qt-predict-option{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;border-radius:12px;grid-template-columns:30px 1fr;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;font-size:13.5px;transition:background .12s,border-color .12s,box-shadow .15s,transform 80ms;display:grid}.qt-predict-option:hover:not(:disabled){background:var(--panel-muted);border-color:var(--accent-soft-2);box-shadow:0 2px 8px -4px #0ea5e940}.qt-predict-option:active:not(:disabled){transform:translateY(1px)}.qt-predict-option:disabled{cursor:default;opacity:1}.qt-predict-glyph{background:var(--panel-muted);width:26px;height:26px;color:var(--muted-strong);font-family:var(--mono-font);letter-spacing:0;border:1px solid var(--border-soft);border-radius:7px;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:inline-flex}.qt-predict-option-label{font-family:var(--mono-font);white-space:pre-wrap;word-break:break-word;font-size:13px}.qt-predict-option.correct{background:var(--success-soft);color:var(--success-text);border-color:#10b98159}.qt-predict-option.correct .qt-predict-glyph{background:var(--success);color:#fff;border-color:var(--success)}.qt-predict-option.wrong{background:var(--danger-soft);color:var(--danger-text);border-color:#ef44444d}.qt-predict-option.wrong .qt-predict-glyph{background:var(--danger);color:#fff;border-color:var(--danger)}.qt-predict-feedback{border:1px solid #0000;border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;font-size:13.5px;line-height:1.6;display:flex}.qt-predict-feedback.ok{background:var(--success-soft);color:var(--success-text);border-color:#10b98147}.qt-predict-feedback.err{background:var(--danger-soft);color:var(--danger-text);border-color:#ef444440}.qt-predict-feedback strong{letter-spacing:-.005em;font-size:14.5px;font-weight:600}.qt-predict-feedback p{margin:0;font-size:13px;line-height:1.6}[data-theme=dark] .panel{background:var(--panel);border-color:var(--border)}[data-theme=dark] .lang-switcher,[data-theme=dark] .tab-bar{border-color:var(--border);box-shadow:none;background:#ffffff08}[data-theme=dark] .lang-tab.active,[data-theme=dark] .tab-btn.active{background:var(--panel-muted);color:var(--text);box-shadow:0 1px 2px #0006}[data-theme=dark] .trace-box{background:var(--panel);border-color:var(--border)}[data-theme=dark] .node.assign>rect{fill:#ffffff05;stroke:#94a3b866}[data-theme=dark] .node.loop>rect{fill:#5eead414;stroke:#5eead4}[data-theme=dark] .node.cond>polygon{fill:#fcd34d14;stroke:#fcd34d}[data-theme=dark] .node.out>rect{fill:#c4b5fd14;stroke:#c4b5fd}[data-theme=dark] .node.start>rect{fill:#10b9811f;stroke:var(--success)}[data-theme=dark] .node.end>rect{fill:#94a3b814;stroke:#94a3b880}[data-theme=dark] .qt-unit{background:var(--panel);border-color:var(--border)}[data-theme=dark] .qt-unit-head:hover,[data-theme=dark] .qt-taskitem:hover{background:var(--panel-muted)}[data-theme=dark] .qt-taskitem.active{background:#0ea5e91a;border-color:#0ea5e94d}[data-theme=dark] .qt-overall,[data-theme=dark] .qt-detail,[data-theme=dark] .qt-section{background:var(--panel);border-color:var(--border)}[data-theme=dark] .qt-pbar{background:#94a3b826}[data-theme=dark] .qt-unit-progress{color:var(--muted-strong);background:#94a3b81f}[data-theme=dark] .qt-unit-progress-done{color:#6ee7b7;background:#10b98124}[data-theme=dark] .qt-predict-option:hover:not(:disabled){background:var(--panel-muted)}[data-theme=dark] .wt-card,[data-theme=dark] .wt-pass,[data-theme=dark] .wt-pass-head{background:var(--panel);border-color:var(--border)}[data-theme=dark] .output-panel{background:var(--code-bg);border-color:var(--code-border-strong)}[data-theme=dark] .output-panel .panel-header{color:var(--code-muted);border-bottom-color:#94a3b81f}[data-theme=dark] #output{color:var(--code-text)}.brand{align-items:center;gap:10px;padding:2px 6px 2px 4px}.brand-lockup{align-items:center;gap:10px;line-height:1;display:inline-flex}.brand-name{letter-spacing:-.022em;color:var(--text);font-size:18px;font-weight:700;line-height:1}.subtitle{color:var(--muted);letter-spacing:-.003em;padding:0;border:none;border-left:1px solid var(--border);margin:0;padding-inline-start:12px;font-size:12.5px;font-weight:400;line-height:1}.brand{flex-direction:row}@media (width>=720px){.brand{flex-direction:column;align-items:flex-start;gap:4px}.brand .subtitle{color:var(--muted);border-left:none;padding-inline-start:36px;font-size:12.5px;line-height:1.2;display:block}}@media (width<=719px){.brand .subtitle{display:none}}[data-theme=dark] .subtitle{color:var(--muted);border-left-color:var(--border)}[data-theme=dark] .brand-step-1{fill:#475569;opacity:.6}[data-theme=dark] .brand-step-2{fill:#94a3b8;opacity:.85}.lang-switcher{border-radius:11px;gap:3px;padding:3px}.lang-tab{color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:12.5px;font-weight:500;display:inline-flex}.lang-tab.active{font-weight:600}.lang-icon{background:var(--panel);width:22px;height:22px;color:var(--muted-strong);font-family:var(--mono-font);letter-spacing:0;border:1px solid var(--border);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.lang-tab:hover:not(:disabled):not(.active) .lang-icon{color:var(--text);border-color:var(--border-strong)}.lang-tab.active .lang-icon{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 1px #0ea5e933,0 1px 2px #0ea5e940}.lang-tab:disabled{color:var(--soft);cursor:not-allowed;opacity:1}.lang-tab:disabled .lang-icon{color:var(--soft);border-color:var(--border-soft);background:0 0;border-style:dashed}.lang-label{letter-spacing:0}.lang-tab .soon{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);vertical-align:1px;background:0 0;border-radius:0;margin-left:2px;padding:0;font-size:9px;font-weight:600}[data-theme=dark] .lang-icon{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .lang-tab:hover:not(:disabled):not(.active) .lang-icon{color:var(--text);border-color:var(--border-strong)}[data-theme=dark] .lang-tab.active .lang-icon{background:var(--accent);color:#0b1220;border-color:var(--accent);box-shadow:0 0 0 1px #38bdf84d}[data-theme=dark] html,[data-theme=dark] body{background:var(--bg)}[data-theme=dark] .app-bg{opacity:.6}[data-theme=dark] .panel{background:var(--panel);border-color:var(--border);box-shadow:none}[data-theme=dark] .panel-header{border-bottom-color:var(--border-soft);color:var(--muted);background:0 0}[data-theme=dark] .btn{background:var(--panel-muted);border-color:var(--border);color:var(--text)}[data-theme=dark] .btn:hover:not(:disabled){border-color:var(--border-strong);background:#1a2340}[data-theme=dark] .btn-primary,[data-theme=dark] .btn-run{background:var(--accent);color:#0b1220;border-color:var(--accent);font-weight:600;box-shadow:0 1px 2px #0000004d,0 0 0 1px #38bdf840}[data-theme=dark] .btn-primary:hover:not(:disabled),[data-theme=dark] .btn-run:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#0b1220}[data-theme=dark] .level-badge{background:var(--panel-muted);border-color:var(--border);color:var(--muted-strong)}[data-theme=dark] .level-badge.level-foundations{color:#6ee7b7;background:#34d3991f}[data-theme=dark] .level-badge.level-intermediate{color:#fcd34d;background:#fbbf241f}[data-theme=dark] .theme-toggle{background:var(--panel-muted);border-color:var(--border);color:var(--muted-strong)}[data-theme=dark] .theme-toggle:hover{border-color:var(--border-strong);color:var(--text);background:#1a2340}[data-theme=dark] .error-banner{color:#fca5a5;background:#f871711a;border-color:#f871714d}[data-theme=dark] .err-title,[data-theme=dark] .err-body{color:#fca5a5}[data-theme=dark] .err-source{color:#fca5a5;border-left-color:var(--danger);background:#0000004d}[data-theme=dark] .cap-banner{color:#fcd34d;background:#fbbf2414;border-color:#fbbf2447}[data-theme=dark] .loading{color:#7dd3fc;background:#38bdf81a;border-color:#38bdf84d}[data-theme=dark] .flow-scroll{background:radial-gradient(circle at 1px 1px, #94a3b812 1px, transparent 0) 0 0 / 24px 24px, linear-gradient(180deg, var(--panel) 0%, var(--panel-sunken) 100%)}[data-theme=dark] .node.assign>rect{fill:var(--panel-muted);stroke:var(--border-strong);stroke-width:1.25px}[data-theme=dark] .node.loop>rect{fill:var(--loop-fill);stroke:var(--loop-stroke);stroke-width:1.25px}[data-theme=dark] .node.cond>polygon{fill:var(--cond-fill);stroke:var(--cond-stroke);stroke-width:1.25px}[data-theme=dark] .node.out>rect{fill:var(--out-fill);stroke:var(--out-stroke);stroke-width:1.25px}[data-theme=dark] .node.start>rect{fill:#34d39914;stroke:#34d39973;stroke-width:1.25px}[data-theme=dark] .node.end>rect{fill:var(--panel-muted);stroke:var(--border-strong);stroke-width:1.25px}[data-theme=dark] .node>text{fill:var(--text)}[data-theme=dark] .node.start>text{fill:#6ee7b7}[data-theme=dark] .node.end>text{fill:var(--muted-strong)}[data-theme=dark] .node.visited>rect,[data-theme=dark] .node.visited>polygon{fill:var(--visited-fill);stroke:var(--visited-stroke)}[data-theme=dark] .node.visited>text{fill:var(--muted)}[data-theme=dark] .node.active>rect,[data-theme=dark] .node.active>polygon{stroke:var(--accent);stroke-width:2px;filter:drop-shadow(0 0 12px #38bdf859)}[data-theme=dark] .node.active>text{fill:var(--text);font-weight:600}[data-theme=dark] .edge{stroke:var(--border-strong);stroke-width:1.25px}[data-theme=dark] .edge.just-traversed{stroke:var(--accent)}[data-theme=dark] .edge-label{fill:var(--muted)}[data-theme=dark] .edge-label-bg{fill:var(--panel);opacity:.9}[data-theme=dark] .token{fill:var(--accent);filter:drop-shadow(0 0 8px #38bdf88c)}[data-theme=dark] .flow-group-bg{fill:#38bdf80a;stroke:#7dd3fc47;stroke-dasharray:5 6}[data-theme=dark] .flow-group.while .flow-group-bg{fill:#fbbf2408;stroke:#fbbf2447}[data-theme=dark] .flow-group-label-bg{fill:var(--panel);stroke:#7dd3fc59}[data-theme=dark] .flow-group.while .flow-group-label-bg{stroke:#fbbf2459}[data-theme=dark] .flow-group-label{fill:#7dd3fc}[data-theme=dark] .flow-group.while .flow-group-label{fill:#fcd34d}[data-theme=dark] .iter-pill-bg{fill:var(--panel);stroke:#7dd3fc59}[data-theme=dark] .iter-pill{fill:var(--text)}[data-theme=dark] .value-chip-bg{fill:var(--panel);stroke:var(--accent);filter:drop-shadow(0 2px 6px #38bdf838)}[data-theme=dark] .value-chip{fill:var(--text)}[data-theme=dark] .exec-count-bg{fill:#38bdf81f;stroke:#38bdf84d}[data-theme=dark] .exec-count{fill:#7dd3fc}[data-theme=dark] .trace-box{background:var(--panel-muted);border-color:var(--border);box-shadow:none}[data-theme=dark] .trace-box:before{background:var(--panel);border-color:var(--border-strong)}[data-theme=dark] .trace-box.visited:before{background:#38bdf81a;border-color:#7dd3fc66}[data-theme=dark] .trace-box.active{border-color:var(--accent);background:#0e2d50b3;box-shadow:0 0 0 1px #38bdf833,0 4px 14px -4px #38bdf847}[data-theme=dark] .trace-box.active:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px #38bdf833}[data-theme=dark] .trace-list:before{background:linear-gradient(180deg, transparent 0%, var(--border) 12%, var(--border) 88%, transparent 100%)}[data-theme=dark] .trace-code{color:var(--text)}[data-theme=dark] .trace-badge{color:var(--muted-strong);border-color:var(--border-strong);background:#ffffff0f}[data-theme=dark] .trace-badge-loop{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf84d}[data-theme=dark] .trace-badge-cond{color:#fcd34d;background:#fcd34d1a;border-color:#fcd34d4d}[data-theme=dark] .trace-badge-out{color:#c4b5fd;background:#c4b5fd1a;border-color:#c4b5fd47}[data-theme=dark] .trace-badge-assign{color:var(--muted-strong);border-color:var(--border);background:#ffffff0a}[data-theme=dark] .trace-badge-start{color:#6ee7b7;background:#34d3991a;border-color:#34d39947}[data-theme=dark] .trace-badge-end{color:var(--muted);border-color:var(--border);background:#94a3b814}[data-theme=dark] .trace-result{background:var(--panel);color:var(--muted-strong);border-color:var(--border-strong)}[data-theme=dark] .trace-result-loop{color:#7dd3fc;background:#38bdf81a;border-color:#38bdf840}[data-theme=dark] .trace-result-true{color:#6ee7b7;background:#34d3991a;border-color:#34d3994d}[data-theme=dark] .trace-result-false{color:#fca5a5;background:#f871711a;border-color:#f8717147}[data-theme=dark] .trace-result-out{color:#c4b5fd;background:#c4b5fd1a;border-color:#c4b5fd47}[data-theme=dark] .trace-result-assign{background:var(--panel);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .trace-scroll{background:0 0}[data-theme=dark] .wt-card,[data-theme=dark] .wt-pass{background:var(--panel-muted);border-color:var(--border);box-shadow:none}[data-theme=dark] .wt-pass-head{background:linear-gradient(180deg, var(--panel-muted) 0%, var(--panel) 100%);border-bottom-color:var(--border)}[data-theme=dark] .wt-step-row{background:var(--panel);border-color:var(--border-soft)}[data-theme=dark] .wt-step-row-code{color:var(--text)}[data-theme=dark] .wt-step-row-note,[data-theme=dark] .wt-card-body{color:var(--muted-strong)}[data-theme=dark] .wt-card-body code{background:var(--panel);color:var(--text);border:1px solid var(--border-soft)}[data-theme=dark] .wt-pass-var{color:#7dd3fc;background:#38bdf81f}[data-theme=dark] .wt-label-setup,[data-theme=dark] .wt-label-update{color:#7dd3fc;background:#38bdf81f}[data-theme=dark] .wt-label-cond{color:#fcd34d;background:#fbbf241f}[data-theme=dark] .wt-label-out{color:#c4b5fd;background:#c4b5fd1f}[data-theme=dark] .wt-chip-info{background:var(--panel);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .wt-chip-true{color:#6ee7b7;background:#34d3991f}[data-theme=dark] .wt-chip-false{color:#fca5a5;background:#f871711f}[data-theme=dark] .var-type-int,[data-theme=dark] .var-type-float{color:#7dd3fc;background:#38bdf81f}[data-theme=dark] .var-type-str{color:#6ee7b7;background:#34d3991f}[data-theme=dark] .var-type-bool{color:#f9a8d4;background:#ec48991f}[data-theme=dark] .var-type-list,[data-theme=dark] .var-type-tuple{color:#c4b5fd;background:#c4b5fd1f}[data-theme=dark] .var-type-dict{color:#fcd34d;background:#fbbf241f}[data-theme=dark] .var-type-set{color:#fca5a5;background:#f871711f}[data-theme=dark] .var-type-nonetype{background:var(--panel-muted);color:var(--muted-strong)}[data-theme=dark] .var-row.changed{background:#38bdf80f}.qt-scroll{gap:22px;padding:24px 24px 32px}.qt-intro{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:6px;margin-bottom:4px;padding-bottom:4px;display:flex}.qt-intro h2{letter-spacing:-.025em;color:var(--text);align-items:center;gap:10px;margin:0;font-size:22px;font-weight:700;display:flex}.qt-intro h2:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:18px;display:inline-block;box-shadow:0 0 0 4px #0ea5e91a}.qt-intro p{color:var(--muted);max-width:680px;margin:0;font-size:13.5px;line-height:1.65}.qt-overall{border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;gap:12px;padding:16px 18px}.qt-overall-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.qt-overall-label:after{text-transform:none;letter-spacing:-.005em;color:var(--text);font-size:13px;font-weight:600;font-family:var(--mono-font)}.qt-pbar{background:var(--panel-sunken);border:1px solid var(--border-soft);border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a14}.qt-pbar-sm{background:var(--panel-sunken);border:none;height:4px}.qt-pbar-fill{background:linear-gradient(90deg, var(--accent) 0%, #38bdf8 100%);box-shadow:inset 0 0 0 1px #0ea5e94d,0 0 8px #0ea5e940}[data-theme=dark] .qt-overall{background:var(--panel);border-color:var(--border);box-shadow:none}[data-theme=dark] .qt-pbar{background:var(--panel-sunken);border-color:var(--border-soft)}.qt-layout{grid-template-columns:300px 1fr;gap:20px}@media (width<=960px){.qt-layout{grid-template-columns:1fr}}.qt-unitscol{gap:8px}.qt-unit{border-color:var(--border);box-shadow:none;border-radius:14px;transition:border-color .15s,background .15s}.qt-unit:hover{border-color:var(--border-strong)}.qt-unit-done{background:linear-gradient(180deg, var(--panel) 0%, #10b98104 100%);border-color:#10b9814d}.qt-unit-head{grid-template-columns:16px 1fr auto;gap:10px;padding:13px 14px}.qt-unit-chev{color:var(--muted);font-size:10px;font-family:var(--mono-font)}.qt-unit-title{letter-spacing:-.005em;font-size:13.5px;font-weight:600}.qt-unit-blurb{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.45}.qt-unit-progress{font-family:var(--mono-font);background:var(--panel-muted);color:var(--muted-strong);border:1px solid var(--border-soft);padding:3px 9px;font-size:11px}.qt-unit-progress-done{background:var(--success-soft);color:var(--success-text);border-color:#10b98140}[data-theme=dark] .qt-unit-progress{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .qt-unit-progress-done{color:#6ee7b7;background:#34d39924;border-color:#34d39940}.qt-tasklist{border-top:1px solid var(--border-soft);gap:2px;margin-top:-1px;padding:4px 8px 10px}.qt-taskitem{color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;gap:10px;padding:10px 12px 10px 16px;font-size:13px;position:relative}.qt-taskitem:before{content:"";background:0 0;border-radius:2px;width:3px;transition:background .15s;position:absolute;top:9px;bottom:9px;left:5px}.qt-taskitem:hover{background:var(--panel-muted)}.qt-taskitem.active{background:var(--accent-soft);border-color:#0ea5e938}.qt-taskitem.active:before{background:var(--accent)}.qt-taskitem-title{letter-spacing:-.003em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.qt-taskitem.solved,.qt-taskitem.solved .qt-taskitem-title{color:var(--muted-strong)}.qt-solved-check{background:var(--success-soft);width:18px;height:18px;color:var(--success);border:1px solid #10b98159;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}[data-theme=dark] .qt-solved-check{color:#6ee7b7;background:#34d39929;border-color:#34d3994d}.qt-chip{letter-spacing:.1em;text-transform:uppercase;background:var(--panel-muted);color:var(--muted-strong);border:1px solid #0000;border-radius:5px;padding:3px 8px;font-size:9.5px;font-weight:700;line-height:1.55}.qt-kind-predict{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft-2)}.qt-kind-rebuild{background:var(--success-soft);color:var(--success-text);border-color:#10b9814d}.qt-kind-modify{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.qt-kind-similar{background:var(--warning-soft);color:var(--warning-text);border-color:#f59e0b4d}.qt-kind-fill{color:var(--loop-text);background:#ecfeff;border-color:#a5f3fc}.qt-kind-fixbug{background:var(--danger-soft);color:var(--danger-text);border-color:#ef444447}.qt-kind-comments,[data-theme=dark] .qt-chip{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .qt-kind-predict{color:#7dd3fc;background:#38bdf824;border-color:#38bdf84d}[data-theme=dark] .qt-kind-rebuild{color:#6ee7b7;background:#34d3991f;border-color:#34d3994d}[data-theme=dark] .qt-kind-modify{color:#c4b5fd;background:#c4b5fd1f;border-color:#c4b5fd4d}[data-theme=dark] .qt-kind-similar{color:#fcd34d;background:#fbbf241f;border-color:#fbbf244d}[data-theme=dark] .qt-kind-fill{color:#7dd3fc;background:#38bdf81a;border-color:#38bdf847}[data-theme=dark] .qt-kind-fixbug{color:#fca5a5;background:#f871711a;border-color:#f871714d}[data-theme=dark] .qt-kind-comments{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}.qt-detail{border-color:var(--border);box-shadow:var(--shadow-md);border-radius:16px;gap:18px;padding:26px 28px 22px}[data-theme=dark] .qt-detail{background:var(--panel);border-color:var(--border);box-shadow:var(--shadow-md)}.qt-d-head{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.qt-d-title{letter-spacing:-.022em;color:var(--text);font-size:20px;font-weight:700;line-height:1.25}.qt-d-prompt{flex-direction:column;gap:10px;display:flex}.qt-d-prompt p{color:var(--text-soft);margin:0;font-size:14px;line-height:1.7}[data-theme=dark] .qt-d-prompt p{color:var(--text-soft)}.qt-d-sub{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.qt-learn{background:var(--accent-soft);border:1px solid var(--accent-soft-2);color:var(--accent-text);border-radius:10px;padding:12px 16px;font-size:13.5px;line-height:1.6;position:relative}.qt-learn:before{display:none}.qt-learn strong{color:var(--accent-text);letter-spacing:.02em;margin-right:4px;font-weight:600}[data-theme=dark] .qt-learn{color:#7dd3fc;background:#38bdf814;border-color:#38bdf847}[data-theme=dark] .qt-learn strong{color:#7dd3fc}.qt-reqs-wrap{gap:10px}.qt-reqs{gap:6px}.qt-req{background:var(--panel-muted);border:1px solid var(--border-soft);border-radius:10px;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:10px 12px;font-size:13px}.qt-req-dot{border:1.5px solid var(--border-strong);width:18px;height:18px;color:var(--muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.qt-req-dot:before{content:""}.qt-req-label{color:var(--text);font-size:13px;line-height:1.5}.qt-req-detail{color:var(--muted);font-size:12.5px;line-height:1.55}.qt-req-pass{background:var(--success-soft);border-color:#10b98147}.qt-req-pass .qt-req-dot{background:var(--success);border-color:var(--success);color:#fff;font-size:10px}.qt-req-pass .qt-req-dot:before{content:"✓"}.qt-req-pass .qt-req-label{color:var(--success-text)}.qt-req-fail{background:var(--danger-soft);border-color:#ef444440}.qt-req-fail .qt-req-dot{background:var(--danger);border-color:var(--danger);color:#fff;font-size:10px}.qt-req-fail .qt-req-dot:before{content:"!"}.qt-req-fail .qt-req-label{color:var(--danger-text)}.qt-req-skip{background:var(--panel-muted)}.qt-req-skip .qt-req-dot:before{content:"•"}[data-theme=dark] .qt-req{background:var(--panel-muted);border-color:var(--border)}[data-theme=dark] .qt-req-label{color:var(--text)}[data-theme=dark] .qt-req-detail{color:var(--muted-strong)}[data-theme=dark] .qt-req-dot{border-color:var(--border-strong);color:var(--muted)}[data-theme=dark] .qt-req-pass{background:#34d3991a;border-color:#34d3994d}[data-theme=dark] .qt-req-pass .qt-req-dot{background:var(--success);border-color:var(--success);color:#0b1220}[data-theme=dark] .qt-req-pass .qt-req-label{color:#6ee7b7}[data-theme=dark] .qt-req-fail{background:#f871711a;border-color:#f8717147}[data-theme=dark] .qt-req-fail .qt-req-dot{background:var(--danger);border-color:var(--danger);color:#fff}[data-theme=dark] .qt-req-fail .qt-req-label{color:#fca5a5}.qt-d-actions{border-top:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;display:flex}.qt-d-actions .btn{height:36px;padding:0 16px;font-size:13px;font-weight:500}.qt-d-actions .btn-primary{padding:0 18px;font-weight:600}.qt-d-actions .qt-btn-secondary{border:1px solid var(--border);color:var(--muted-strong);background:0 0}.qt-d-actions .qt-btn-secondary:hover:not(:disabled){background:var(--panel-muted);border-color:var(--border-strong);color:var(--text)}[data-theme=dark] .qt-d-actions .qt-btn-secondary{border-color:var(--border);color:var(--muted-strong);background:0 0}[data-theme=dark] .qt-d-actions .qt-btn-secondary:hover:not(:disabled){background:var(--panel-muted);color:var(--text)}.qt-hints{background:var(--warning-soft);border:1px solid #f59e0b4d;border-radius:10px;gap:6px;padding:12px 14px}.qt-hints-label{letter-spacing:.1em;color:var(--warning-text)}.qt-hint{color:var(--warning-text);line-height:1.6}[data-theme=dark] .qt-hints{background:#fbbf2414;border-color:#fbbf2447}[data-theme=dark] .qt-hints-label,[data-theme=dark] .qt-hint{color:#fcd34d}.qt-expected{background:var(--accent-soft);border-color:var(--accent-soft-2);padding:12px 14px}.qt-expected-label{letter-spacing:.1em;color:var(--accent-text)}.qt-expected-pre{color:var(--accent-text)}[data-theme=dark] .qt-expected{background:#38bdf814;border-color:#38bdf847}[data-theme=dark] .qt-expected-label,[data-theme=dark] .qt-expected-pre{color:#7dd3fc}.qt-fb{border-radius:12px;gap:6px;padding:14px 16px}.qt-fb-ok{background:var(--success-soft);color:var(--success-text);border-color:#10b9814d}.qt-fb-err{background:var(--danger-soft);color:var(--danger-text);border-color:#ef444447}[data-theme=dark] .qt-fb-ok{color:#6ee7b7;background:#34d3991a;border-color:#34d3994d}[data-theme=dark] .qt-fb-ok .qt-fb-sub{color:#6ee7b7;opacity:.85}[data-theme=dark] .qt-fb-err{color:#fca5a5;background:#f871711a;border-color:#f8717147}[data-theme=dark] .qt-fb-err .qt-fb-sub{color:#fca5a5;opacity:.85}[data-theme=dark] .qt-fb-err-line{color:#fca5a5;background:#00000040;border-color:#f8717140}[data-theme=dark] .qt-fb-diff-pre{background:var(--panel-muted);border-color:var(--border-soft);color:var(--text)}[data-theme=dark] .qt-fb-diff-row.want .qt-fb-diff-pre{color:#6ee7b7;background:#34d3991a;border-color:#34d39940}[data-theme=dark] .qt-fb-diff-row.got .qt-fb-diff-pre{color:#fca5a5;background:#f871711a;border-color:#f8717140}.qt-predict-snippet{background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-border-strong);border-radius:12px;padding:16px 18px;line-height:1.7}.qt-predict-question{color:var(--text);letter-spacing:-.008em;font-size:15px;font-weight:600}.qt-predict-option{border-radius:12px;padding:14px 16px;font-size:13.5px}.qt-predict-glyph{background:var(--panel-muted);width:26px;height:26px;color:var(--muted-strong);border:1px solid var(--border-soft);font-family:var(--mono-font);border-radius:7px;font-size:11.5px}[data-theme=dark] .qt-predict-option{background:var(--panel-muted);border-color:var(--border);color:var(--text)}[data-theme=dark] .qt-predict-option:hover:not(:disabled){border-color:var(--border-strong);background:#1a2340}[data-theme=dark] .qt-predict-glyph{background:var(--panel);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .qt-predict-option.correct{color:#6ee7b7;background:#34d3991a;border-color:#34d39959}[data-theme=dark] .qt-predict-option.correct .qt-predict-glyph{background:var(--success);border-color:var(--success);color:#0b1220}[data-theme=dark] .qt-predict-option.wrong{color:#fca5a5;background:#f871711a;border-color:#f871714d}[data-theme=dark] .qt-predict-option.wrong .qt-predict-glyph{background:var(--danger);border-color:var(--danger);color:#fff}[data-theme=dark] .qt-predict-feedback.ok{color:#6ee7b7;background:#34d3991a;border-color:#34d3994d}[data-theme=dark] .qt-predict-feedback.err{color:#fca5a5;background:#f871711a;border-color:#f8717147}.qt-section{border-color:var(--border);box-shadow:none;border-radius:14px;gap:10px;padding:18px 20px}.qt-section h3.qt-h{letter-spacing:.1em;color:var(--muted);margin:0;font-size:11px;font-weight:600}[data-theme=dark] .qt-section{background:var(--panel);border-color:var(--border)}[data-theme=dark] .examples-menu{background:var(--panel);border-color:var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .example-item:hover{background:var(--panel-muted)}[data-theme=dark] .example-item-title{color:var(--text)}[data-theme=dark] .example-item-blurb{color:var(--muted)}[data-theme=dark] .modal-overlay{background:#030712b3}[data-theme=dark] .modal-dialog{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .explainer-code,[data-theme=dark] .explainer-ctrl{background:var(--panel-muted);border-color:var(--border);color:var(--text)}[data-theme=dark] .explainer-ctrl:hover:not(:disabled){border-color:var(--border-strong);background:#1a2340}[data-theme=dark] .explainer-speed{background:var(--panel-muted);border-color:var(--border);color:var(--text)}[data-theme=dark] .wt-card{opacity:.62;background:var(--panel-muted);border-color:var(--border);box-shadow:none}[data-theme=dark] .wt-card.visited{opacity:.85}[data-theme=dark] .wt-card.active{opacity:1;border-color:var(--border);border-left-color:var(--accent);box-shadow:0 0 0 1px #38bdf838,0 10px 28px -16px #38bdf859}[data-theme=dark] .wt-stage-start{border-left-color:#6ee7b7b3}[data-theme=dark] .wt-stage-end{border-left-color:var(--border-strong)}[data-theme=dark] .wt-stage-setup{border-left-color:#7dd3fcb3}[data-theme=dark] .wt-stage-update{border-left-color:#38bdf8b3}[data-theme=dark] .wt-stage-loop{border-left-color:#7dd3fcb3}[data-theme=dark] .wt-stage-check{border-left-color:#fcd34db3}[data-theme=dark] .wt-stage-print{border-left-color:#c4b5fdb3}[data-theme=dark] .wt-narrative{color:var(--text-soft)}[data-theme=dark] .wt-narrative code{background:var(--panel-sunken);color:var(--text);border-color:var(--border-soft)}[data-theme=dark] .wt-code{background:var(--code-bg);color:var(--code-text);border-color:var(--code-border-strong)}[data-theme=dark] .wt-meta{color:var(--muted)}[data-theme=dark] .wt-meta b{color:var(--text)}[data-theme=dark] .wt-chip{background:var(--panel);color:var(--text-soft);border-color:var(--border)}[data-theme=dark] .wt-chip code{background:var(--panel-sunken);color:var(--text);border-color:var(--border-soft)}[data-theme=dark] .wt-chip-new,[data-theme=dark] .wt-chip-true{color:#6ee7b7;background:#34d3991f;border-color:#34d3994d}[data-theme=dark] .wt-chip-new code,[data-theme=dark] .wt-chip-true code{color:#6ee7b7;background:#34d39914;border-color:#34d3994d}[data-theme=dark] .wt-chip-change{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf84d}[data-theme=dark] .wt-chip-change code{color:#7dd3fc;background:#38bdf814;border-color:#38bdf84d}[data-theme=dark] .wt-chip-false{color:#fca5a5;background:#f871711f;border-color:#f871714d}[data-theme=dark] .wt-chip-false code{color:#fca5a5;background:#f8717114;border-color:#f871714d}[data-theme=dark] .wt-chip-output{color:#c4b5fd;background:#c4b5fd1f;border-color:#c4b5fd4d}[data-theme=dark] .wt-chip-output code{color:#c4b5fd;background:#c4b5fd14;border-color:#c4b5fd4d}[data-theme=dark] .wt-chip-iter{color:#7dd3fc;background:#38bdf81a;border-color:#38bdf847}[data-theme=dark] .wt-chip-iter code{color:#7dd3fc;background:#38bdf80f;border-color:#38bdf847}[data-theme=dark] .wt-label{background:var(--panel-sunken);color:var(--muted-strong)}[data-theme=dark] .wt-label-start{color:#6ee7b7;background:#34d39924}[data-theme=dark] .wt-label-end{background:var(--panel-sunken);color:var(--muted-strong)}[data-theme=dark] .wt-label-setup{color:#7dd3fc;background:#7dd3fc24}[data-theme=dark] .wt-label-update{color:#7dd3fc;background:#38bdf824}[data-theme=dark] .wt-label-loop{color:#7dd3fc;background:#38bdf81f}[data-theme=dark] .wt-label-check{color:#fcd34d;background:#fbbf2424}[data-theme=dark] .wt-label-print{color:#c4b5fd;background:#c4b5fd24}[data-theme=dark] .wt-arrow{color:var(--muted)}[data-theme=dark] .wt-arrow-glyph{color:var(--border-strong)}[data-theme=dark] .wt-arrow-label b{color:var(--text)}[data-theme=dark] .wt-arrow-back{color:#7dd3fc;background:linear-gradient(#0000 40%,#38bdf814 50%,#0000 60%)}[data-theme=dark] .wt-arrow-back .wt-arrow-glyph{color:#7dd3fccc}[data-theme=dark] .wt-group{background:var(--panel-muted);border-color:var(--border);box-shadow:none;border-left-color:#7dd3fc8c}[data-theme=dark] .wt-group-summary{color:var(--text-soft)}[data-theme=dark] .wt-group-summary b{color:var(--text)}[data-theme=dark] .wt-pass{background:var(--panel-sunken);border-color:var(--border)}[data-theme=dark] .wt-pass.expanded{background:var(--panel);border-color:#7dd3fc73;box-shadow:0 0 0 1px #38bdf814}[data-theme=dark] .wt-pass-head{color:var(--text)}[data-theme=dark] .wt-pass-head:hover{background:#38bdf814}[data-theme=dark] .wt-pass-head.active{box-shadow:inset 3px 0 0 var(--accent), 0 0 0 1px #38bdf838;background:#38bdf81f}[data-theme=dark] .wt-pass-head.visited{color:var(--muted)}[data-theme=dark] .wt-pass-num{color:#7dd3fc;background:#38bdf824}[data-theme=dark] .wt-pass-var{color:var(--text)}[data-theme=dark] .wt-pass-var code{background:var(--panel-muted);border-color:var(--border-soft);color:var(--text)}[data-theme=dark] .wt-pass-delta{color:#7dd3fc}[data-theme=dark] .wt-pass-delta code{color:#7dd3fc;background:#38bdf81a;border-color:#38bdf84d}[data-theme=dark] .wt-pass-toggle{color:var(--muted)}[data-theme=dark] .wt-pass.expanded .wt-pass-toggle{color:var(--text)}[data-theme=dark] .wt-pass-body{border-top-color:var(--border)}[data-theme=dark] .wt-pass-body>.wt-card{background:var(--panel-muted);border-color:var(--border);opacity:1}[data-theme=dark] .wt-empty-title{color:var(--text)}[data-theme=dark] .wt-empty-body{color:var(--muted)}.qt-unitscol{min-width:0;max-height:none;padding-right:0;position:static;top:auto;overflow:visible}.qt-layout>*{min-width:0}.qt-detail{align-self:start;min-width:0}.qt-unit{isolation:isolate;overflow:clip}.qt-tasklist{margin:0}.qt-taskitem{grid-template-columns:auto 1fr auto;align-items:center;display:grid}.lang-icon{width:22px;height:22px;color:inherit;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .15s,filter .18s,box-shadow .15s;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #0f172a0f}.lang-icon svg{border-radius:inherit;width:100%;height:100%;display:block}.lang-tab:not(.active) .lang-icon{filter:saturate(.75)brightness(.97)}.lang-tab:not(.active):not(:disabled):hover .lang-icon{filter:saturate();transform:scale(1.04)}.lang-tab.active{background:var(--bg-elev);box-shadow:0 0 0 1px #0ea5e938,0 1px 2px #0ea5e91f}.lang-tab.active .lang-icon{filter:none;box-shadow:0 0 0 1px #0f172a0f,0 2px 6px #0ea5e940}.lang-tab:disabled .lang-icon{filter:grayscale()opacity(.55);box-shadow:0 0 0 1px #0f172a0f}.lang-tab:disabled .lang-label{color:var(--soft)}.lang-tab .soon{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--panel);border:1px solid var(--border);vertical-align:middle;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:9px;font-weight:700}[data-theme=dark] .lang-icon{box-shadow:0 0 0 1px #ffffff0f}[data-theme=dark] .lang-tab.active{background:var(--panel-muted);box-shadow:0 0 0 1px #38bdf859,0 1px 2px #38bdf81f}[data-theme=dark] .lang-tab.active .lang-icon{box-shadow:0 0 0 1px #ffffff14,0 2px 8px #38bdf859}[data-theme=dark] .lang-tab:disabled .lang-icon{filter:grayscale()opacity(.45)}[data-theme=dark] .lang-tab .soon{background:var(--panel);border-color:var(--border);color:var(--muted)}.output-panel .panel-header{color:var(--code-muted);letter-spacing:0;min-height:44px;padding:12px 18px}.output-panel #output{padding:14px 18px 16px}.output-panel,.panel,.code-panel,.flow-panel,.vars-panel,.output-panel,.controls{border-radius:14px}.trace-scroll{flex-direction:column;justify-content:flex-start;align-items:center;padding:36px 24px 40px;display:flex}.trace-list{align-self:center;gap:12px;width:100%;max-width:420px;margin-left:auto;margin-right:auto;padding:6px 0}.trace-list:before{left:21px}.trace-box{padding-left:10px}.step-banner{padding-left:16px;padding-right:16px}.controls.panel{border-radius:14px;padding:10px 14px}.qt-unit .qt-pbar-sm{background:var(--panel-muted);border:none;border-radius:0;height:3px}[data-theme=dark] .qt-unit .qt-pbar-sm{background:var(--panel-sunken)}.qt-unit-chev{text-align:center;opacity:.7;width:14px}[data-theme=dark] .qt-predict-snippet{background:var(--code-bg);color:var(--code-text);border-color:var(--code-border-strong)}.qt-taskitem-chips,.qt-d-chips{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.qt-diff-chip{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600;line-height:1.5}.qt-diff-easy{color:#155e75;background:#ecfeff;border-color:#bae6fd}.qt-diff-medium{color:#92400e;background:#fef3c7;border-color:#fde68a}.qt-diff-hard{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}[data-theme=dark] .qt-diff-easy{color:#7dd3fc;background:#38bdf81a;border-color:#38bdf842}[data-theme=dark] .qt-diff-medium{color:#fcd34d;background:#fbbf241a;border-color:#fbbf2442}[data-theme=dark] .qt-diff-hard{color:#c4b5fd;background:#c4b5fd1a;border-color:#c4b5fd47}.qt-d-head .qt-d-chips{margin-bottom:2px}.qt-taskitem .qt-taskitem-chips{grid-column:1/2}.qt-taskitem .qt-chip:not(.qt-diff-chip),.qt-d-chips .qt-chip:not(.qt-diff-chip){font-weight:700}.qtv2-scroll{flex-direction:column;gap:18px;padding:22px 22px 28px;display:flex}.qtv2-intro{flex-direction:column;gap:6px;display:flex}.qtv2-intro-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.qtv2-title{letter-spacing:-.022em;color:var(--text);margin:0;font-size:22px;font-weight:700;line-height:1.2}.qtv2-progress{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-strong);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.qtv2-sub{color:var(--text-soft);max-width:64ch;margin:0;font-size:14px;line-height:1.6}[data-theme=dark] .qtv2-progress{color:var(--muted-strong)}.qtv2-picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:relative}.qtv2-picker-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong);font-size:11px;font-weight:600}.qtv2-picker-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.qtv2-picker-btn:hover{border-color:var(--border-strong)}.qtv2-picker-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qtv2-picker-btn[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e924}.qtv2-picker-chev{color:var(--muted);font-size:10px}.qtv2-picker-current{white-space:nowrap;text-overflow:ellipsis;max-width:32ch;overflow:hidden}.qtv2-picker-menu{overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);width:100%;max-width:420px;max-height:320px;box-shadow:var(--shadow-sm);scrollbar-width:thin;border-radius:12px;flex-direction:column;gap:2px;margin-top:8px;padding:6px;animation:.14s ease-out qtv2-picker-in;display:flex;position:static;overflow-y:auto}.qtv2-picker-menu[hidden]{display:none}.qtv2-picker-menu::-webkit-scrollbar{width:8px}.qtv2-picker-menu::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--panel);border-radius:8px}.qtv2-picker-menu::-webkit-scrollbar-track{background:0 0}@keyframes qtv2-picker-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.qtv2-picker-menu{animation:none}}[data-theme=dark] .qtv2-picker-menu{background:var(--panel);border-color:var(--border)}.qtv2-picker-opt{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.qtv2-picker-opt:hover{background:var(--panel-muted)}.qtv2-picker-opt.active{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft-2)}[data-theme=dark] .qtv2-picker-opt:hover{background:var(--panel-muted)}[data-theme=dark] .qtv2-picker-opt.active{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf84d}.qtv2-picker-opt-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-weight:600;overflow:hidden}.qtv2-picker-opt-prog{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--muted);flex:none;font-size:11px}.qtv2-picker-opt.active .qtv2-picker-opt-prog{color:var(--accent-text)}.qtv2-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:16px;flex-direction:column;gap:18px;padding:26px 28px 22px;display:flex}[data-theme=dark] .qtv2-card{background:var(--panel);border-color:var(--border);box-shadow:var(--shadow-md)}.qtv2-head{flex-direction:column;gap:10px;display:flex}.qtv2-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qtv2-unit-chip{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border);font-weight:600}[data-theme=dark] .qtv2-unit-chip{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}.qtv2-titlerow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.qtv2-titleh{letter-spacing:-.022em;color:var(--text);margin:0;font-size:20px;font-weight:700;line-height:1.25}.qtv2-attempts{letter-spacing:.02em;font-variant-numeric:tabular-nums;background:var(--panel-muted);color:var(--muted-strong);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1.5;display:inline-flex}.qtv2-attempts.muted{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}.qtv2-attempts.warn{background:var(--warning-soft);color:var(--warning-text);border-color:#f59e0b4d}.qtv2-attempts.danger{background:var(--danger-soft);color:var(--danger-text);border-color:#ef44444d}.qtv2-attempts.spent{color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.qtv2-attempts.ok{background:var(--success-soft);color:var(--success-text);border-color:#10b9814d}[data-theme=dark] .qtv2-attempts.muted{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .qtv2-attempts.warn{color:#fcd34d;background:#fbbf241f;border-color:#fbbf244d}[data-theme=dark] .qtv2-attempts.danger{color:#fca5a5;background:#f8717124;border-color:#f871714d}[data-theme=dark] .qtv2-attempts.spent{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b840}[data-theme=dark] .qtv2-attempts.ok{color:#6ee7b7;background:#34d3991f;border-color:#34d3994d}.qtv2-prompt{flex-direction:column;gap:10px;display:flex}.qtv2-prompt p{color:var(--text-soft);margin:0;font-size:14px;line-height:1.7}.qtv2-learn{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-soft-2);border-radius:10px;padding:10px 12px;font-size:13px!important;line-height:1.55!important}.qtv2-learn strong{font-weight:700}[data-theme=dark] .qtv2-learn{color:#7dd3fc;background:#38bdf817;border-color:#38bdf842}.qtv2-reqs-wrap{flex-direction:column;gap:10px;display:flex}.qtv2-reqs-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong);margin:0;font-size:12px;font-weight:600}.qtv2-reqs{flex-direction:column;gap:6px;display:flex}.qtv2-flow-hint{background:var(--accent-soft);border:1px solid var(--accent-soft-2);color:var(--accent-text);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin:-6px 0 -2px;padding:6px 12px;font-size:12.5px;font-weight:500;line-height:1.45;display:inline-flex}.qtv2-flow-hint-icon{background:#0ea5e92e;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.qtv2-flow-hint-text{letter-spacing:.01em}[data-theme=dark] .qtv2-flow-hint{color:#7dd3fc;background:#0ea5e91f;border-color:#38bdf847}[data-theme=dark] .qtv2-flow-hint-icon{background:#38bdf838}.qtv2-loaded-note{letter-spacing:.01em;background:var(--panel-muted);color:var(--muted-strong);border:1px solid var(--border);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.qtv2-loaded-note.is-loaded{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft-2)}.qtv2-loaded-note.is-loaded:before{content:"✓";font-size:12px;font-weight:700;line-height:1}[data-theme=dark] .qtv2-loaded-note{background:var(--panel-muted);color:var(--muted-strong);border-color:var(--border)}[data-theme=dark] .qtv2-loaded-note.is-loaded{color:#7dd3fc;background:#0ea5e91f;border-color:#38bdf847}.qtv2-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qtv2-primary{justify-content:center;min-width:172px}.qtv2-primary-success{background:var(--success);border-color:var(--success)}.qtv2-primary-success:hover{background:#059669;border-color:#059669}[data-theme=dark] .qtv2-primary-success{color:#04231a;background:#10b981;border-color:#10b981}[data-theme=dark] .qtv2-primary-success:hover{background:#34d399;border-color:#34d399}.qtv2-solution{border:1px solid var(--border);background:var(--panel-muted);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}[data-theme=dark] .qtv2-solution{background:var(--panel-muted);border-color:var(--border)}.qtv2-solution-head{color:var(--text);font-size:13px;line-height:1.5}.qtv2-solution-head strong{font-weight:700}.qtv2-solution-sublabel{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong);font-size:11px;font-weight:600}.qtv2-solution-hints{color:var(--text-soft);flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:13px;line-height:1.6;display:flex}.qtv2-solution-hints li{padding-left:4px}.qtv2-fb-review{background:var(--panel-muted)!important;color:var(--text)!important;border-color:var(--border)!important}[data-theme=dark] .qtv2-fb-review{background:var(--panel-muted)!important;border-color:var(--border)!important}.qtv2-fb-warn{background:var(--warning-soft)!important;color:var(--warning-text)!important;border-color:#f59e0b47!important}.qtv2-fb-warn .qt-fb-sub{opacity:.82;color:var(--warning-text)!important}[data-theme=dark] .qtv2-fb-warn{color:var(--warning-text)!important;background:#fbbf241a!important;border-color:#fbbf2452!important}[data-theme=dark] .qtv2-fb-warn .qt-fb-sub{opacity:.82;color:var(--warning-text)!important}.qtv2-fb-neutral{background:var(--panel-muted)!important;color:var(--text)!important;border-color:var(--border)!important}.qtv2-fb-neutral .qt-fb-sub{color:var(--muted)!important}[data-theme=dark] .qtv2-fb-neutral{background:var(--panel-muted)!important;border-color:var(--border)!important;color:var(--text)!important}@keyframes qtv2-fb-pulse-kf{0%{box-shadow:0 0 #6366f18c}60%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}.qtv2-fb-pulse{border-radius:12px;animation:.9s ease-out qtv2-fb-pulse-kf}.qtv2-fb-review-note{color:var(--muted);margin:4px 0 0;font-size:12.5px}.qtv2-nav{justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 2px;display:flex}.qtv2-nav-pos{letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.qtv2-prev,.qtv2-next{justify-content:center;min-width:120px}.qtv2-prev:disabled,.qtv2-next:disabled{opacity:.45;cursor:not-allowed}@media (width<=720px){.qtv2-scroll{padding:16px 14px 24px}.qtv2-card{padding:20px 18px 18px}.qtv2-titlerow{flex-direction:column;align-items:flex-start}.qtv2-primary{width:100%;min-width:0}.qtv2-nav{flex-wrap:wrap}.qtv2-prev,.qtv2-next{flex:1}}.code-panel,.flow-panel{overflow:clip}.code-panel>.panel-header,.flow-panel>.panel-header{z-index:5;background:var(--panel);-webkit-backdrop-filter:saturate(1.4);box-shadow:0 1px 0 var(--border-soft);position:sticky;top:0}.flow-panel>.panel-header.flow-header{min-height:48px;padding:8px 10px}[data-theme=dark] .code-panel>.panel-header,[data-theme=dark] .flow-panel>.panel-header{background:var(--panel);box-shadow:0 1px 0 var(--border)}.flow-scroll{position:relative}.map-default-start{pointer-events:none;z-index:1;justify-content:center;align-items:flex-start;padding:56px 24px 24px;display:flex;position:absolute;inset:0}.map-default-start[hidden],#flow[hidden]{display:none!important}.wt-scroll,.flow-scroll,.trace-scroll{--grid-x:0px;--grid-y:0px;--grid-dot:#94a3b82e;background-color:var(--panel);background-image:radial-gradient(circle at 1px 1px, var(--grid-dot) 1px, transparent 0);background-size:22px 22px;background-position:var(--grid-x) var(--grid-y);background-repeat:repeat;transition:background-position .45s ease-out}@media (prefers-reduced-motion:no-preference){.wt-scroll.viz-hover-grid-host:hover,.flow-scroll.viz-hover-grid-host:hover,.trace-scroll.viz-hover-grid-host:hover{--grid-dot:#94a3b842}}[data-theme=dark] .wt-scroll,[data-theme=dark] .flow-scroll,[data-theme=dark] .trace-scroll{background-color:var(--panel);--grid-dot:#94a3b829;background-image:radial-gradient(circle at 1px 1px, var(--grid-dot) 1px, transparent 0);background-size:22px 22px;background-position:var(--grid-x) var(--grid-y);background-repeat:repeat;transition:background-position .45s ease-out}@media (prefers-reduced-motion:no-preference){[data-theme=dark] .wt-scroll.viz-hover-grid-host:hover,[data-theme=dark] .flow-scroll.viz-hover-grid-host:hover,[data-theme=dark] .trace-scroll.viz-hover-grid-host:hover{--grid-dot:#94a3b83d}}@media (prefers-reduced-motion:reduce){.wt-scroll,.flow-scroll,.trace-scroll{--grid-x:0px;--grid-y:0px;transition:none}.wt-scroll.viz-hover-grid-host,.flow-scroll.viz-hover-grid-host,.trace-scroll.viz-hover-grid-host{--grid-x:0!important;--grid-y:0!important}}.vis-empty-caption{text-align:center;max-width:320px;color:var(--muted);letter-spacing:.005em;font-size:12.5px;font-style:normal;line-height:1.55;font-family:var(--ui-font);margin:14px auto 0}[data-theme=dark] .vis-empty-caption{color:var(--muted)}.trace-default{flex-direction:column;align-items:center;padding:48px 16px 24px;display:flex}.trace-default[hidden]{display:none!important}.vis-empty-tl{flex-direction:column;align-items:stretch;width:100%;max-width:420px;display:flex}.trace-box--preview{opacity:.86;cursor:default;box-shadow:none;border-style:dashed}[data-theme=dark] .trace-box--preview{opacity:.78;background:var(--panel);border-color:var(--border-strong)}.map-default-start{flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:40px 24px 28px}.vis-empty-flow{flex-direction:column;align-items:center;width:100%;max-width:520px;display:flex}.vis-empty-flow-svg{width:min(100%,420px);height:auto;max-height:220px;overflow:visible}.vis-empty-flow-connector{stroke:var(--border-strong);stroke-width:2px;stroke-linecap:round;stroke-dasharray:4 5;opacity:.65}.vis-empty-flow-placeholder>rect{fill:var(--panel);stroke:var(--border-strong);stroke-width:1.5px;stroke-dasharray:5 5;opacity:.9}.vis-empty-flow-placeholder>text{fill:var(--muted);font-family:var(--ui-font);letter-spacing:.005em;font-size:12.5px;font-weight:500}[data-theme=dark] .vis-empty-flow-connector{stroke:var(--border-strong);opacity:.7}[data-theme=dark] .vis-empty-flow-placeholder>rect{fill:var(--panel-muted);stroke:var(--border-strong)}[data-theme=dark] .vis-empty-flow-placeholder>text{fill:var(--muted)}.qtv2-card [hidden]{display:none!important}.qtv2-card .qtv2-reqs{gap:4px}.qtv2-card .qtv2-reqs .qt-req{background:0 0;border:none;border-radius:0;grid-template-columns:14px 1fr;gap:10px;padding:3px 0}.qtv2-card .qtv2-reqs .qt-req-dot{width:auto;min-width:12px;height:auto;color:var(--muted);text-align:center;background:0 0;border:none;margin-top:0;font-size:14px;line-height:1.6;display:inline-block}.qtv2-card .qtv2-reqs .qt-req-dot:before{content:""}.qtv2-card .qtv2-reqs .qt-req-label{color:var(--text-soft);font-size:13.5px;line-height:1.6}[data-theme=dark] .qtv2-card .qtv2-reqs .qt-req{background:0 0;border:none}[data-theme=dark] .qtv2-card .qtv2-reqs .qt-req-dot{color:var(--muted)}[data-theme=dark] .qtv2-card .qtv2-reqs .qt-req-label{color:var(--text-soft)}.qtv2-card .qtv2-hints{background:var(--panel-muted);border:1px solid var(--border-soft)}.qtv2-card .qtv2-hints .qt-hints-label{color:var(--muted-strong)}.qtv2-card .qtv2-hints .qt-hint{color:var(--text-soft)}[data-theme=dark] .qtv2-card .qtv2-hints{background:var(--panel-muted);border-color:var(--border)}[data-theme=dark] .qtv2-card .qtv2-hints .qt-hints-label{color:var(--muted-strong)}[data-theme=dark] .qtv2-card .qtv2-hints .qt-hint{color:var(--text-soft)}.qtv2-card .qtv2-expected{background:var(--panel-sunken);border:1px solid var(--border-soft)}.qtv2-card .qtv2-expected .qt-expected-label{color:var(--muted-strong)}.qtv2-card .qtv2-expected .qt-expected-pre{color:var(--text);background:0 0}[data-theme=dark] .qtv2-card .qtv2-expected{background:var(--code-bg);border-color:var(--code-border)}[data-theme=dark] .qtv2-card .qtv2-expected .qt-expected-label{color:var(--code-muted)}[data-theme=dark] .qtv2-card .qtv2-expected .qt-expected-pre{color:var(--code-text)}.qtv2-card .qtv2-fb-warn{color:var(--warning-text)!important;background:#f59e0b14!important;border-color:#f59e0b38!important}[data-theme=dark] .qtv2-card .qtv2-fb-warn{color:var(--warning-text)!important;background:#fbbf2412!important;border-color:#fbbf243d!important}.qtv2-card .qtv2-actions{border-top:1px solid var(--border-soft);padding-top:12px}[data-theme=dark] .qtv2-card .qtv2-actions{border-top-color:var(--border)}.qtv2-card .qtv2-solution-btn,.qtv2-card .qtv2-reset-btn{color:var(--muted);background:0 0;border-color:#0000;padding:7px 10px;font-weight:500}.qtv2-card .qtv2-solution-btn:hover:not(:disabled),.qtv2-card .qtv2-reset-btn:hover:not(:disabled){background:var(--panel-muted);color:var(--text-soft);border-color:#0000}[data-theme=dark] .qtv2-card .qtv2-solution-btn,[data-theme=dark] .qtv2-card .qtv2-reset-btn{color:var(--muted);background:0 0;border-color:#0000}[data-theme=dark] .qtv2-card .qtv2-solution-btn:hover:not(:disabled),[data-theme=dark] .qtv2-card .qtv2-reset-btn:hover:not(:disabled){background:var(--panel-muted);color:var(--text)}.qtv2-card .qtv2-flow-hint{background:var(--panel-muted);border-color:var(--border-soft);color:var(--muted-strong)}.qtv2-card .qtv2-flow-hint-icon{background:var(--accent-soft);color:var(--accent-text)}[data-theme=dark] .qtv2-card .qtv2-flow-hint{background:var(--panel-muted);border-color:var(--border);color:var(--muted-strong)}[data-theme=dark] .qtv2-card .qtv2-flow-hint-icon{color:#7dd3fc;background:#38bdf829}@keyframes visEmptyFloat{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes visEmptyGlow{0%,to{filter:drop-shadow(0 2px 10px #94a3b814)}50%{filter:drop-shadow(0 10px 26px #38bdf824)}}.vis-empty-float-target{will-change:transform, filter;animation:6s ease-in-out infinite alternate visEmptyFloat,6s ease-in-out infinite visEmptyGlow}[data-theme=dark] .vis-empty-float-target{animation:6s ease-in-out infinite alternate visEmptyFloat,6s ease-in-out infinite visEmptyGlowDark}@keyframes visEmptyGlowDark{0%,to{filter:drop-shadow(0 2px 12px #0f172a73)}50%{filter:drop-shadow(0 12px 30px #38bdf82e)}}@media (prefers-reduced-motion:reduce){.vis-empty-float-target,[data-theme=dark] .vis-empty-float-target{filter:none;will-change:auto;animation:none;transform:none}}.drill-helper-root{z-index:50;position:relative}.drill-helper-root[hidden],.drill-helper-fab[hidden],.drill-helper-float[hidden],.drill-helper-float-body[hidden]{display:none}.drill-helper-fab{border:1px solid var(--border-strong);background:var(--panel);color:var(--text);letter-spacing:-.002em;cursor:pointer;z-index:52;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex;position:fixed;bottom:18px;right:18px;box-shadow:0 6px 20px -8px #0f172a40,0 2px 6px -2px #0f172a14}.drill-helper-fab:hover{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--accent-text)}.drill-helper-fab:active{transform:translateY(1px)}.drill-helper-fab:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 6px 20px -8px #0f172a40,0 0 0 4px #0ea5e940}.drill-helper-fab-icon{font-size:14px;line-height:1}.drill-helper-fab-label{line-height:1}[data-theme=dark] .drill-helper-fab{background:var(--panel);border-color:var(--border-strong);color:var(--text);box-shadow:0 10px 28px -10px #0206178c,0 2px 8px -3px #02061759}[data-theme=dark] .drill-helper-fab:hover{color:#7dd3fc;background:#0ea5e929;border-color:#38bdf859}.drill-helper-float{background:var(--panel);border:1px solid var(--border-strong);z-index:51;border-radius:14px;flex-direction:column;width:352px;max-width:calc(100vw - 24px);min-height:140px;max-height:520px;transition:box-shadow .18s;display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 60px -24px #0f172a47,0 6px 14px -6px #0f172a1a}.drill-helper-float.is-dragging{-webkit-user-select:none;user-select:none;box-shadow:0 30px 80px -20px #0f172a66,0 10px 24px -8px #0f172a2e}.drill-helper-float.is-minimized{width:280px;min-height:0;max-height:none}[data-theme=dark] .drill-helper-float{background:var(--panel);border-color:var(--border-strong);box-shadow:0 28px 70px -24px #020617b3,0 8px 20px -6px #02061773}.drill-helper-float-head{border-bottom:1px solid var(--border);background:var(--panel-muted);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 14px;display:flex}.drill-helper-float.is-minimized .drill-helper-float-head{border-bottom:none}.drill-helper-float.is-dragging .drill-helper-float-head,.drill-helper-float-head:active{cursor:grabbing}[data-theme=dark] .drill-helper-float-head{background:var(--panel-muted);border-bottom-color:var(--border)}.drill-helper-float-title{flex-direction:column;gap:1px;min-width:0;display:flex}.drill-helper-float-title strong{color:var(--text);letter-spacing:-.005em;font-size:13px;font-weight:700;line-height:1.2}.drill-helper-float-sub{color:var(--muted);letter-spacing:.01em;font-size:11px;line-height:1.2}.drill-helper-float-controls{align-items:center;gap:4px;display:inline-flex}.drill-helper-float-btn{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-family:inherit;font-size:15px;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.drill-helper-float-btn:hover{background:var(--panel);color:var(--text);border-color:var(--border)}.drill-helper-float-close{font-size:18px}[data-theme=dark] .drill-helper-float-btn:hover{background:var(--bg-elev);color:var(--text);border-color:var(--border)}.drill-helper-float-body{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:12px 14px 14px;display:flex;overflow:hidden}.drill-helper-msgs{flex-direction:column;flex:auto;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.drill-helper-msg{word-wrap:break-word;overflow-wrap:anywhere;border-radius:10px;max-width:100%;padding:8px 11px;font-size:13px;line-height:1.5}.drill-helper-msg-helper{background:var(--panel-muted);border:1px solid var(--border);color:var(--text);align-self:flex-start}.drill-helper-msg-user{background:var(--accent-soft);border:1px solid var(--accent-soft-2);color:var(--accent-text);align-self:flex-end;max-width:90%}[data-theme=dark] .drill-helper-msg-helper{background:var(--panel-muted);border-color:var(--border);color:var(--text)}[data-theme=dark] .drill-helper-msg-user{color:#7dd3fc;background:#0ea5e92e;border-color:#38bdf84d}.drill-helper-inline-code{font-family:var(--mono-font);background:var(--panel-sunken);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:12px}[data-theme=dark] .drill-helper-inline-code{border-color:var(--code-border);color:var(--code-text);background:#0f172a8c}.drill-helper-code{font-family:var(--mono-font);background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-border);white-space:pre;border-radius:8px;margin:6px 0 2px;padding:10px 12px;font-size:12px;overflow-x:auto}.drill-helper-chips{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.drill-helper-chip{appearance:none;background:var(--panel);border:1px solid var(--border);color:var(--text-soft);cursor:pointer;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.drill-helper-chip:hover{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--accent-text)}[data-theme=dark] .drill-helper-chip{background:var(--panel);border-color:var(--border);color:var(--text-soft)}[data-theme=dark] .drill-helper-chip:hover{color:#7dd3fc;background:#0ea5e929;border-color:#38bdf859}.drill-helper-form{flex-shrink:0;align-items:center;gap:8px;display:flex}.drill-helper-input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;flex:1;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.drill-helper-input::placeholder{color:var(--muted)}.drill-helper-input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.drill-helper-send{padding:8px 14px;font-size:12.5px}@media (width<=900px){.drill-helper-float.is-mobile-dock{border-bottom:none;border-radius:14px 14px 0 0;width:100vw;max-width:100vw;max-height:70vh;bottom:0;right:0;top:auto!important;left:0!important}.drill-helper-float.is-mobile-dock .drill-helper-float-head{cursor:default}.drill-helper-float.is-mobile-dock.is-minimized{width:100vw}.drill-helper-fab{padding:9px 14px;font-size:12.5px;bottom:12px;right:12px}.drill-helper-msg-user{max-width:100%}main{grid-template-rows:auto;grid-template-columns:1fr;min-height:0}main>.code-panel,main>.flow-panel,main>.output-panel,main>.vars-panel{grid-area:auto/1}.code-panel{min-height:320px}.flow-panel{min-height:380px}.output-panel{max-height:220px}.vars-panel{max-height:280px}.tab-bar{scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}}html,body{overflow-x:hidden}@media (width<=720px){.app{gap:10px;padding:12px 12px 14px}.app-shell-banner-slot{margin-top:2px;margin-bottom:0}header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 10px;padding-bottom:6px;display:grid}header>.spacer{display:none}header>.brand{grid-area:1/1;min-width:0}header>#ui-lang-switch.ui-lang-switch{flex:none;grid-area:1/2;justify-self:end;gap:4px;font-size:12px}header>#ui-lang-switch.ui-lang-switch .ui-lang-link{padding:2px 4px}header>#theme-toggle{grid-area:1/3;justify-self:end}header:has(.shell-nav-link){grid-template-columns:minmax(0,1fr) auto auto auto}header:has(.shell-nav-link)>#app-shell-credits-slot{grid-area:1/2;justify-self:end;min-width:0;max-width:none;display:inline-flex!important}header:has(.shell-nav-link)>#ui-lang-switch.ui-lang-switch{grid-area:1/3}header:has(.shell-nav-link)>#theme-toggle{grid-area:1/4}header:has(.shell-nav-link)>#app-shell-account-slot{grid-area:2/1/auto/-1;justify-content:flex-start;gap:8px;width:100%;min-width:0}header:has(.shell-account){grid-template-columns:minmax(0,1fr) auto auto}header:has(.shell-account)>#ui-lang-switch.ui-lang-switch{grid-area:1/2}header:has(.shell-account)>#theme-toggle{grid-area:1/3}header:has(.shell-account)>#app-shell-credits-slot{flex-shrink:0;grid-area:2/1;place-self:center start;max-width:none}header:has(.shell-account)>#app-shell-account-slot{grid-area:2/2/auto/-1;justify-self:end;width:auto;min-width:0;max-width:min(68%,240px);display:flex}header>#lang-switcher.lang-switcher{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;grid-area:3/1/auto/-1;gap:2px;min-width:0;max-width:100%;padding:2px;overflow-x:auto}header>#lang-switcher.lang-switcher::-webkit-scrollbar{display:none}header>#lang-switcher .lang-tab{gap:5px;padding:4px 9px 4px 4px;font-size:12px}header>#lang-switcher .lang-icon{width:20px;height:20px;font-size:10px}header>#loading.loading{grid-area:4/1/auto/-1;justify-content:center;justify-self:stretch;max-width:100%}header>#loading.loading.hidden,.lang-tab .soon{display:none}.shell-nav-link,.shell-nav-cta{align-items:center;min-height:36px;padding:6px 10px;display:inline-flex}.code-panel .panel-header{flex-wrap:wrap;gap:8px;min-height:auto;padding:6px 8px}.code-panel .code-title{flex:none;font-size:12.5px}.code-panel .panel-header .level-badge-wrap{flex:none;margin-left:auto;margin-right:0}.level-badge{padding:4px 8px;font-size:11.5px}.step-banner{gap:4px;padding:8px 10px 10px}.step-narrative{font-size:12.5px}.code-panel .panel-header .code-actions{flex-wrap:wrap;flex:100%;justify-content:space-between;align-items:center;gap:6px 8px;width:100%;min-width:0;max-width:100%;display:flex}.code-actions .btn{padding:7px 11px;font-size:12.5px}.code-actions .btn-clear{white-space:nowrap;flex-shrink:0}.code-actions .btn-run{flex-shrink:0}.code-actions .btn-submit-answer{white-space:nowrap;flex-shrink:0}#submit-answer[hidden],.code-panel .code-actions .btn-submit-answer[hidden]{pointer-events:none!important;border:0!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.code-actions .examples-wrap,.code-actions .btn-share{display:none}.app{width:100%;max-width:100%}main,main>.panel,main>.code-panel,main>.flow-panel,main>.output-panel,main>.vars-panel{min-width:0;max-width:100%}#output{overflow-wrap:anywhere;word-break:break-word}.vars-list{overflow-x:hidden}.var-row{padding:9px 12px}.var-head{grid-template-columns:minmax(0,auto) auto minmax(0,1fr) auto;gap:8px;min-width:0}.var-head>*{min-width:0}.controls{gap:8px;padding:10px 12px}.controls .btn,.controls .btn-primary{min-width:0;padding:6px 12px;font-size:13px}.controls .speed-label{gap:6px;margin-left:0;font-size:12px}.controls .scrub{flex:100%;gap:8px;min-width:0;margin-left:0}.controls #step-label{min-width:0;font-size:11.5px}.editor-wrap,.editor-host,.flow-scroll,#flow,#tab-host{min-width:0;max-width:100%}#flow{height:auto;min-height:0;max-height:60vh}.flow-panel{min-height:340px}.editor-host .cm-content,.editor-host .cm-line{font-size:16px;line-height:1.5}.controls .speed-label select{font-size:16px}.level-badge-wrap,.level-badge{max-width:100%}.level-badge .level-label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.examples-menu{top:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:200;-webkit-overflow-scrolling:touch;border-radius:14px;width:auto;max-height:min(60vh,420px);padding:8px;position:fixed;box-shadow:0 -8px 32px -6px #0f172a52,0 -2px 10px -2px #0f172a33}.examples-menu .example-item{border-radius:8px;padding:11px 12px}.examples-menu .example-item-title{font-size:14px}.examples-menu .example-item-blurb{font-size:12.5px;line-height:1.45}.examples-menu .examples-menu-head{border-bottom:1px solid var(--border-soft);background:var(--panel);z-index:1;justify-content:space-between;align-items:center;gap:12px;margin:-8px -8px 6px;padding:8px 6px 10px 10px;display:flex;position:sticky;top:-8px}.examples-menu .examples-menu-title{letter-spacing:-.005em;color:var(--text);font-size:13px;font-weight:600}.examples-menu .examples-menu-close{appearance:none;border:1px solid var(--border);background:var(--panel-muted,transparent);color:var(--muted-strong);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:20px;line-height:1;display:inline-flex}.examples-menu .examples-menu-close:active{transform:scale(.96)}}@media (width>=721px){.examples-menu .examples-menu-head{display:none}}@media (width<=430px){.app{gap:8px;padding:8px 8px 10px}header{gap:6px 8px}header>.brand{padding:0 2px}header>#ui-lang-switch.ui-lang-switch{font-size:11.5px}header>#theme-toggle{border-color:var(--border-soft);background:var(--panel);border-radius:8px;width:32px;height:32px}header>#theme-toggle .theme-icon{width:16px;height:16px}header>#lang-switcher.lang-switcher{border-radius:9px;padding:2px}header>#lang-switcher .lang-tab{gap:4px;padding:3px 7px 3px 3px;font-size:11.5px}header>#lang-switcher .lang-icon{border-radius:5px;width:18px;height:18px;font-size:9.5px}header>#loading.loading{padding:3px 8px;font-size:11px}.brand{gap:6px}.brand-mark{width:22px;height:22px}.brand-name{font-size:15px}.shell-nav-link,.shell-nav-cta{min-height:34px;padding:5px 9px;font-size:11.5px}.shell-account-btn{padding:4px 10px 4px 4px}.shell-account-avatar{width:22px;height:22px;font-size:10.5px}.shell-banner{border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 10px;font-size:11.5px;line-height:1.35}.shell-banner-text{flex:140px;min-width:0}.shell-banner-cta{flex-shrink:0;padding:5px 9px;font-size:11px}.shell-banner-link{flex-shrink:0;font-size:11.5px}.shell-banner-dismiss{flex-shrink:0;padding:2px 4px;font-size:16px}.code-panel .panel-header{flex-wrap:nowrap;align-items:center;gap:6px;padding:5px 8px}.code-panel .code-title{background:var(--panel-muted);border:1px solid var(--border);color:var(--text);white-space:nowrap;letter-spacing:-.005em;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.code-panel .code-status-dot{width:7px;height:7px}.code-panel .panel-header .level-badge-wrap{margin:0;display:none}.code-panel .panel-header:has(.level-badge:not([hidden])) .code-title{display:none}.code-panel .panel-header:has(.level-badge:not([hidden])) .level-badge-wrap{flex:none;margin:0;display:flex}.code-panel .panel-header:has(.level-badge:not([hidden])) .level-badge{cursor:pointer;align-items:center;gap:6px;max-width:none;padding:6px 9px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.code-panel .panel-header:has(.level-badge:not([hidden])) .level-badge .level-label{display:none}.code-panel .panel-header:has(.level-badge:not([hidden])) .level-badge:after{content:"Code";letter-spacing:-.005em;font-weight:600}.code-panel .panel-header:has(.level-badge:not([hidden])) .level-badge .level-dot{flex-shrink:0;width:7px;height:7px}.code-panel .panel-header .code-actions{flex-wrap:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:0 6px;width:auto;min-width:0;max-width:100%;display:flex}#submit-answer[hidden],.code-panel .code-actions .btn-submit-answer[hidden]{pointer-events:none!important;border:0!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.code-panel{min-height:260px}.editor-wrap,.editor-host{min-height:180px}.step-banner{padding:6px 8px 8px}.error-banner,.cap-banner{margin-left:8px;margin-right:8px;font-size:12px}.code-panel #error-banner[hidden],.code-panel #cap-banner[hidden],.code-panel #step-banner[hidden]{border:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.code-panel #cap-banner:empty,.code-panel #error-banner:empty{border:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important}.flow-panel{min-height:300px}.output-panel{max-height:180px}.vars-panel{max-height:220px}.flow-panel .panel-header{gap:6px;padding:6px 8px}.tab-bar{scrollbar-width:none;-ms-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{padding:5px 8px;font-size:11px}.controls{padding:8px 10px}.controls .btn,.controls .btn-primary{padding:6px 10px;font-size:12.5px}}@media (width<=390px){.app{gap:7px}.shell-banner{padding:5px 8px;font-size:11px}.shell-banner-text{flex-basis:100%}.code-panel .code-actions .btn-submit-answer{padding:6px 8px;font-size:11px}.code-panel .panel-header{gap:5px}.code-panel .code-title{gap:5px;padding:5px 8px;font-size:11.5px}.code-panel .panel-header:has(.level-badge:not([hidden])) .level-badge{gap:5px;padding:5px 8px;font-size:11.5px}.code-panel .panel-header .code-actions{justify-content:flex-end;gap:5px}.code-panel .code-actions .btn-clear,.code-panel .code-actions .btn-run,.code-panel .code-actions .btn-submit-answer{min-height:34px;padding:6px 8px}}@media (width<=375px){.brand-name{font-size:14.5px}.code-panel{min-height:248px}.editor-wrap,.editor-host{min-height:168px}.code-panel .panel-header{gap:4px;padding:5px 6px}.code-panel .code-title{gap:5px;padding:5px 7px;font-size:11px}.code-panel .panel-header:has(.level-badge:not([hidden])) .level-badge{gap:5px;padding:5px 7px;font-size:11px}.code-panel .panel-header .code-actions{justify-content:flex-end;gap:4px}.code-panel .code-actions .btn-run{padding:7px 11px;font-size:12.5px}.code-panel .code-actions .btn-clear,.code-panel .code-actions .btn-submit-answer{min-height:34px;padding:6px 7px;font-size:11px}}.var-value-compact{color:var(--muted-strong);font-size:12px}.btn-view-data{background:var(--accent-soft);color:var(--accent-text);cursor:pointer;white-space:nowrap;border:1px solid #0ea5e973;border-radius:999px;flex-shrink:0;padding:4px 9px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s}.btn-view-data:hover{background:var(--accent-soft-2);border-color:var(--accent);color:var(--accent-strong)}.btn-view-data:focus-visible{box-shadow:var(--ring);outline:none}.data-viewer-overlay{z-index:1200;opacity:0;background:#0f172a9e;justify-content:center;align-items:center;padding:16px;transition:opacity .18s;display:flex;position:fixed;inset:0}.data-viewer-overlay.open{opacity:1}.data-viewer-dialog{background:var(--panel);border:1px solid var(--border-strong);border-radius:14px;flex-direction:column;width:min(520px,100vw - 32px);max-height:min(78vh,640px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px -12px #0f172a73,0 0 0 1px #38bdf81f,0 0 28px -6px #0ea5e938}.data-viewer-close{z-index:2;border:1px solid var(--border);background:var(--panel-muted);width:32px;height:32px;color:var(--muted-strong);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;top:10px;right:10px}.data-viewer-close:hover{background:var(--panel-sunken);color:var(--text);border-color:var(--border-strong)}.data-viewer-close:focus-visible{box-shadow:var(--ring);outline:none}.data-viewer-header{border-bottom:1px solid var(--border-soft);background:linear-gradient(180deg, var(--panel-muted) 0%, var(--panel) 100%);flex:none;padding:10px 44px 8px 14px}.data-viewer-title-row{align-items:center;min-height:20px;padding-right:2px;display:flex}.data-viewer-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-size:11px;font-weight:600;line-height:1.2}.data-viewer-meta-primary{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;margin-top:6px;display:flex}.data-viewer-var-name{min-width:0;font-family:var(--mono-font);color:var(--text);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:15px;font-weight:600;overflow:hidden}.data-viewer-type-badge{letter-spacing:.02em;white-space:nowrap;background:var(--accent-soft);color:var(--accent-text);border:1px solid #0ea5e947;border-radius:999px;flex:none;align-items:center;padding:2px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.data-viewer-type-hint{color:var(--muted-strong);margin:4px 0 0;font-size:10.5px;font-weight:500;line-height:1.3}.data-viewer-subtitle{color:var(--muted);margin:5px 0 0;font-size:10.5px;line-height:1.35}.data-viewer-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:8px 12px 12px;overflow:hidden auto}.data-viewer-table{flex-direction:column;gap:2px;display:flex}.data-viewer-table-head,.data-viewer-table-row{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;display:grid}.data-viewer-table-head{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border-soft);padding:4px 8px 2px;font-size:10px;font-weight:600}.data-viewer-table-row{background:var(--panel-muted);border:1px solid var(--border-soft);border-radius:6px;min-height:28px;padding:5px 8px}.data-viewer-cell-label{font-family:var(--mono-font);color:var(--muted-strong);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:500}.data-viewer-cell-value{font-family:var(--mono-font);color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:1.3}.data-viewer-card-stack{flex-direction:column;gap:6px;display:flex}.data-viewer-card{background:var(--panel-muted);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.data-viewer-card-title{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-text);margin-bottom:4px;font-size:11px;font-weight:700}.data-viewer-fields{flex-direction:column;gap:3px;display:flex}.data-viewer-field{grid-template-columns:minmax(72px,38%) minmax(0,1fr);align-items:baseline;gap:6px 8px;font-size:12px;line-height:1.35;display:grid}.data-viewer-field-key{color:var(--muted-strong);flex:none;font-weight:600}.data-viewer-field-value{font-family:var(--mono-font);color:var(--text);overflow-wrap:anywhere;word-break:break-word}.data-viewer-body>.data-viewer-card+.data-viewer-card{margin-top:6px}.data-viewer-inline-value,.data-viewer-fallback{background:var(--panel-muted);border:1px solid var(--border-soft);font-family:var(--mono-font);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border-radius:8px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5}.data-viewer-more,.data-viewer-truncation{color:var(--muted);margin:6px 0 0;font-size:10.5px;font-style:italic;line-height:1.35}[data-theme=dark] .data-viewer-overlay{background:#030712b8}[data-theme=dark] .data-viewer-dialog{background:var(--panel);border-color:var(--border-strong);box-shadow:0 24px 48px -12px #0000008c,0 0 0 1px #38bdf82e,0 0 32px -8px #38bdf833}[data-theme=dark] .btn-view-data{border-color:#38bdf859}@media (width<=640px){.data-viewer-overlay{align-items:flex-end;padding:0}.data-viewer-dialog{border-bottom:none;border-radius:14px 14px 0 0;width:100%;max-width:100%;max-height:min(78vh,640px)}.data-viewer-header{padding:10px 44px 8px 12px}.data-viewer-close{width:36px;height:36px;top:8px;right:8px}.data-viewer-body{padding:8px 10px 12px}.data-viewer-table-head,.data-viewer-table-row{grid-template-columns:44px minmax(0,1fr);gap:6px}.data-viewer-field{grid-template-columns:minmax(64px,34%) minmax(0,1fr)}}@media (width>=641px){.data-viewer-header{padding:12px 48px 10px 16px}.data-viewer-body{padding:10px 14px 14px}.data-viewer-table-head,.data-viewer-table-row{grid-template-columns:64px minmax(0,1fr)}}.data-viewer-v2 .data-viewer-dialog{width:min(560px,100vw - 32px)}.data-viewer-v2 .dv2-header{flex-direction:column;gap:12px;padding:14px 16px 12px;display:flex}.data-viewer-v2 .dv2-title-row{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.data-viewer-v2 .dv2-title-left{align-items:center;gap:10px;min-width:0;display:flex}.data-viewer-v2 .data-viewer-close.dv2-close{flex:none;width:32px;height:32px;position:static}.data-viewer-v2 .dv2-back-btn{border:1px solid var(--border);background:var(--panel-muted);color:var(--muted-strong);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s}.data-viewer-v2 .dv2-back-btn:hover{background:var(--panel-sunken);color:var(--text);border-color:var(--border-strong)}.data-viewer-v2 .dv2-back-btn:focus-visible{box-shadow:var(--ring);outline:none}.data-viewer-v2 .dv2-meta{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.data-viewer-v2 .dv2-var-name{width:100%;font-family:var(--mono-font);color:var(--text);letter-spacing:-.01em;overflow-wrap:anywhere;word-break:break-word;font-size:16px;font-weight:600;line-height:1.35}.data-viewer-v2 .dv2-type-badge{overflow-wrap:anywhere;max-width:100%}.data-viewer-v2 .data-viewer-subtitle{margin:0}.data-viewer-v2 .dv2-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-viewer-v2 .dv2-cols-index-value,.data-viewer-v2 .dv2-cols-key-value{grid-template-columns:56px minmax(0,1fr)}.data-viewer-v2 .dv2-cols-nested{grid-template-columns:56px 72px minmax(0,1fr) auto;gap:8px}.data-viewer-v2 .dv2-cols-set{grid-template-columns:minmax(0,1fr)}.data-viewer-v2 .dv2-cols-lofd{grid-template-columns:48px repeat(var(--dv2-lofd-cols,2), minmax(72px, 1fr));gap:8px;min-width:max-content}.data-viewer-v2 .dv2-type-cell{color:var(--accent-text);font-size:11px;font-weight:600}.data-viewer-v2 .dv2-preview-cell{color:var(--muted-strong);font-size:11.5px}.data-viewer-v2 .dv2-action-cell{justify-content:flex-end;align-items:center;display:flex}.data-viewer-v2 .dv2-view-btn{background:var(--accent-soft);color:var(--accent-text);cursor:pointer;white-space:nowrap;border:1px solid #0ea5e973;border-radius:999px;flex-shrink:0;padding:3px 8px;font-family:inherit;font-size:10.5px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s}.data-viewer-v2 .dv2-view-btn:hover{background:var(--accent-soft-2);border-color:var(--accent);color:var(--accent-strong)}.data-viewer-v2 .dv2-view-btn:focus-visible{box-shadow:var(--ring);outline:none}.data-viewer-v2 .dv2-scalar-card{background:var(--panel-muted);border:1px solid var(--border-soft);border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.data-viewer-v2 .dv2-scalar-value{font-family:var(--mono-font);color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-size:20px;font-weight:600;line-height:1.35}.data-viewer-v2 .dv2-scalar-type{color:var(--muted-strong);font-size:11.5px}.data-viewer-v2 .dv2-str-block{background:var(--panel-muted);border:1px solid var(--border-soft);font-family:var(--mono-font);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.55}.data-viewer-v2 .dv2-meta-inline{color:var(--muted-strong);flex-wrap:wrap;gap:12px 16px;margin-top:8px;font-size:11.5px;display:flex}.data-viewer-v2 .dv2-meta-inline strong{color:var(--text);font-weight:600}@media (width<=640px){.data-viewer-v2 .data-viewer-dialog{width:100%;max-width:100%}.data-viewer-v2 .dv2-header{gap:10px;padding:12px 14px 10px}.data-viewer-v2 .dv2-var-name{font-size:15px}.data-viewer-v2 .dv2-cols-index-value,.data-viewer-v2 .dv2-cols-key-value{grid-template-columns:44px minmax(0,1fr)}.data-viewer-v2 .dv2-cols-nested{grid-template-columns:40px 64px minmax(0,1fr) auto;gap:6px}.data-viewer-v2 .dv2-meta{gap:5px}}@media (width>=480px){.data-viewer-v2 .dv2-meta{flex-flow:wrap;align-items:baseline;gap:6px 10px}.data-viewer-v2 .dv2-var-name,.data-viewer-v2 .data-viewer-subtitle{flex:100%}}.demo-credits-badge{letter-spacing:.02em;color:var(--accent-text);background:var(--accent-soft);white-space:nowrap;border:1px solid #0ea5e947;border-radius:999px;flex:none;padding:4px 10px;font-size:11px;font-weight:600}.demo-limit-modal-overlay{z-index:1250;opacity:0;pointer-events:none;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;transition:opacity .18s;display:flex;position:fixed;inset:0}.demo-limit-modal-overlay.open{opacity:1;pointer-events:auto}.demo-limit-modal-card{background:var(--panel);border:1px solid var(--border-strong);border-radius:14px;width:min(400px,100vw - 32px);max-height:min(88vh,520px);padding:20px 20px 16px;overflow-y:auto;box-shadow:0 24px 48px -12px #0f172a80,0 0 0 1px #38bdf829,0 0 32px -8px #0ea5e938}.demo-limit-modal-title{letter-spacing:-.02em;color:var(--text);margin:0 0 10px;font-size:18px;font-weight:600}.demo-limit-modal-body{color:var(--muted-strong);margin:0 0 16px;font-size:14px;line-height:1.5}.demo-limit-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.demo-limit-modal-btn{min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.demo-limit-modal-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.demo-limit-modal-btn-secondary{background:var(--panel-muted);color:var(--text);border-color:var(--border-strong)}.demo-limit-modal-btn-ghost{color:var(--muted);background:0 0;margin-right:auto}[data-theme=dark] .demo-limit-modal-overlay{background:#030712b8}[data-theme=dark] .demo-limit-modal-card{box-shadow:0 24px 48px -12px #0000008c,0 0 0 1px #38bdf833,0 0 32px -10px #38bdf82e}@media (width<=640px){.demo-credits-badge{padding:3px 8px;font-size:10.5px}.demo-limit-modal-overlay{align-items:flex-end;padding:12px}.demo-limit-modal-card{border-radius:14px 14px 0 0;width:100%}.demo-limit-modal-btn{flex:auto;min-height:44px}.demo-limit-modal-btn-ghost{flex:100%;justify-content:flex-start;margin-right:0}}.demo-guide-spotlight{z-index:1080;pointer-events:none;background:0 0;border-radius:10px;transition:left .2s,top .2s,width .2s,height .2s,opacity .18s;position:fixed;box-shadow:0 0 0 9999px #0f172a66}.demo-guide-spotlight[hidden]{display:none!important}[data-theme=dark] .demo-guide-spotlight{box-shadow:0 0 0 9999px #03071285}.demo-guide-root{z-index:1100;pointer-events:none;width:min(360px,100vw - 32px);max-width:calc(100vw - 24px);position:fixed;left:auto;right:16px}.demo-guide-root--place-bottom{top:auto;bottom:16px}.demo-guide-root--place-top{top:max(12px, env(safe-area-inset-top,0px));bottom:auto}.demo-guide-root--raised{top:auto;bottom:112px}.demo-guide-card{pointer-events:auto;background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;padding:14px 16px 12px;box-shadow:0 16px 40px -12px #0f172a73,0 0 0 1px #38bdf824,0 0 24px -8px #0ea5e933}.demo-guide-step{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin-bottom:6px;font-size:10.5px;font-weight:600}.demo-guide-step[hidden]{display:none}.demo-guide-title{letter-spacing:-.02em;color:var(--text);margin:0 0 6px;font-size:16px;font-weight:600;line-height:1.25}.demo-guide-body{color:var(--muted-strong);margin:0 0 8px;font-size:13px;line-height:1.45}.demo-guide-credits{color:var(--accent-text);margin:0 0 10px;font-size:11px;font-weight:600}.demo-guide-credits[hidden]{display:none}.demo-guide-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.demo-guide-btn{min-height:36px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.demo-guide-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.demo-guide-btn-primary:hover{filter:brightness(1.06)}.demo-guide-btn-primary:disabled{opacity:.45;cursor:not-allowed;filter:none}.demo-guide-btn-secondary{background:var(--panel-muted);color:var(--text);border-color:var(--border-strong)}.demo-guide-btn-secondary:hover{background:var(--panel-sunken)}.demo-guide-btn-skip{color:var(--muted);background:0 0;border-color:#0000;margin-right:auto}.demo-guide-btn-skip:hover{color:var(--text)}.demo-guide-highlight{z-index:1090;outline-offset:2px;filter:none;border-radius:8px;outline:2px solid #38bdf8e6;position:relative;box-shadow:0 0 0 4px #0ea5e952,0 0 20px 3px #38bdf86b}.output-panel.demo-guide-highlight,.tab-btn.demo-guide-highlight,.flow-panel.demo-guide-highlight,#viz-btn.demo-guide-highlight,[data-demo-target=floating-play].demo-guide-highlight{border-radius:10px}#run.demo-guide-highlight{border-radius:8px}#play.demo-guide-highlight{border-radius:10px}@keyframes demo-guide-highlight-pulse{0%,to{box-shadow:0 0 0 4px #0ea5e947,0 0 14px 1px #38bdf852}50%{box-shadow:0 0 0 6px #0ea5e961,0 0 22px 3px #38bdf87a}}@media (prefers-reduced-motion:no-preference){.demo-guide-highlight{animation:2.4s ease-in-out infinite demo-guide-highlight-pulse}}@media (prefers-reduced-motion:reduce){.demo-guide-spotlight{transition:none}}[data-theme=dark] .demo-guide-card{box-shadow:0 16px 40px -12px #0000008c,0 0 0 1px #38bdf833,0 0 28px -10px #38bdf82e}.demo-guide-scroll{min-height:0}@media (width<=767px){body.demo-guide-active .app-shell-banner-slot,body.demo-guide-active .shell-credits-signup-title{display:none}.flow-panel .panel-header.flow-header{min-width:0;overflow:hidden}.flow-panel .tab-bar{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;flex:auto;width:100%;min-width:0;max-width:100%;display:flex;overflow:auto hidden}.flow-panel .tab-bar::-webkit-scrollbar{display:none}.flow-panel .tab-bar .tab-btn{flex:none}.demo-guide-root{width:calc(100% - 24px);max-width:none;left:12px;right:12px}.demo-guide-root--mobile-sheet.demo-guide-root--place-bottom{bottom:max(12px, env(safe-area-inset-bottom,0px));top:auto}.demo-guide-root--mobile-sheet.demo-guide-root--place-top{top:max(10px, env(safe-area-inset-top,0px));bottom:auto}.demo-guide-root--mobile-sheet.demo-guide-root--raised{bottom:max(96px, calc(84px + env(safe-area-inset-bottom,0px)))}.demo-guide-root--mobile-sheet .demo-guide-card{border-radius:14px;flex-direction:column;max-height:min(38svh,320px);padding:12px 14px 10px;display:flex;overflow:hidden}.demo-guide-root--mobile-sheet .demo-guide-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;overflow-y:auto}.demo-guide-root--mobile-sheet .demo-guide-title{margin-bottom:4px;font-size:15px}.demo-guide-root--mobile-sheet .demo-guide-body{margin-bottom:0;font-size:12.5px;line-height:1.4}.demo-guide-root--mobile-sheet .demo-guide-actions{border-top:1px solid var(--border-soft);flex-shrink:0;margin-top:6px;padding-top:8px}.demo-guide-root--mobile-sheet .demo-guide-btn-skip{flex:0 auto;min-height:40px;margin-right:auto}.demo-guide-root--mobile-sheet .demo-guide-btn-showme{flex:0 auto;min-height:36px;padding:0 12px;font-size:12px}.demo-guide-root--mobile-sheet .demo-guide-btn-showme[hidden]{display:none}.demo-guide-root--mobile-sheet .demo-guide-btn-primary{flex:auto;min-height:44px}body.demo-guide-step-play .demo-guide-spotlight-play{z-index:1080;border-radius:14px;box-shadow:0 0 0 9999px #0f172a42}[data-theme=dark] body.demo-guide-step-play .demo-guide-spotlight-play{box-shadow:0 0 0 9999px #03071257}body.demo-guide-step-play .flow-panel.demo-guide-active-viz2{z-index:1085;border-radius:12px;position:relative;box-shadow:0 0 0 1px #38bdf81f,0 12px 32px -16px #0f172a33}[data-theme=dark] body.demo-guide-step-play .flow-panel.demo-guide-active-viz2{box-shadow:0 0 0 1px #38bdf82e,0 12px 32px -16px #00000059}body.demo-guide-step-play [data-demo-target=floating-play].demo-guide-highlight{z-index:1095;filter:none;outline-width:3px;outline-color:#38bdf8;box-shadow:0 0 0 5px #0ea5e96b,0 0 28px 6px #38bdf88c,0 10px 24px -8px #0ea5e973}@keyframes demo-guide-play-pulse{0%,to{box-shadow:0 0 0 5px #0ea5e95c,0 0 22px 4px #38bdf87a,0 10px 24px -8px #0ea5e966}50%{box-shadow:0 0 0 8px #0ea5e980,0 0 34px 8px #38bdf89e,0 14px 28px -6px #0ea5e980}}@media (prefers-reduced-motion:no-preference){body.demo-guide-step-play [data-demo-target=floating-play].demo-guide-highlight{animation:1.8s ease-in-out infinite demo-guide-play-pulse}}.demo-guide-highlight{outline-offset:3px}}@media (width>=768px){body.demo-guide-desktop-play-focus .demo-guide-spotlight-play{z-index:1080;border-radius:14px;box-shadow:0 0 0 9999px #0f172a4d}[data-theme=dark] body.demo-guide-desktop-play-focus .demo-guide-spotlight-play{box-shadow:0 0 0 9999px #03071261}body.demo-guide-desktop-play-focus.demo-guide-viz2-running .demo-guide-spotlight,body.demo-guide-desktop-play-focus.demo-guide-viz2-running .demo-guide-spotlight-play,body.demo-guide-desktop-play-focus.demo-guide-viz2-running .demo-guide-spotlight-viz-running{visibility:hidden!important;box-shadow:none!important;opacity:0!important;pointer-events:none!important;display:none!important}body.demo-guide-desktop-play-focus .flow-panel.demo-guide-active-viz2{z-index:1085;opacity:1;filter:none;border-radius:12px;position:relative;box-shadow:0 0 0 2px #38bdf859,0 0 0 6px #0ea5e924,0 16px 40px -20px #0f172a47}body.demo-guide-desktop-play-focus .flow-panel.demo-guide-active-viz2 .tab-host.demo-guide-active-viz2-host{z-index:1;opacity:1;filter:none;pointer-events:auto;position:relative}[data-theme=dark] body.demo-guide-desktop-play-focus .flow-panel.demo-guide-active-viz2{box-shadow:0 0 0 2px #38bdf86b,0 0 0 6px #0ea5e92e,0 16px 40px -20px #00000073}body.demo-guide-desktop-play-focus.demo-guide-viz2-running .flow-panel.demo-guide-active-viz2{z-index:1090;box-shadow:0 0 0 2px #38bdf880,0 0 0 8px #0ea5e933,0 20px 48px -18px #0ea5e938}body.demo-guide-desktop-play-focus.demo-guide-viz2-running .flow-panel.demo-guide-active-viz2.demo-guide-highlight,body.demo-guide-desktop-play-focus.demo-guide-viz2-running .flow-panel.demo-guide-active-viz2 .tab-host.demo-guide-active-viz2-host{filter:none;opacity:1}body.demo-guide-desktop-play-focus #viz-btn.demo-guide-highlight,body.demo-guide-desktop-play-focus [data-demo-target=floating-play].demo-guide-highlight,body.demo-guide-desktop-play-focus #play.demo-guide-highlight{z-index:1095;filter:none;opacity:1;outline-width:3px;outline-color:#38bdf8;box-shadow:0 0 0 5px #0ea5e96b,0 0 28px 6px #38bdf88c,0 10px 24px -8px #0ea5e973}@keyframes demo-guide-desktop-play-pulse{0%,to{box-shadow:0 0 0 5px #0ea5e95c,0 0 22px 4px #38bdf87a,0 10px 24px -8px #0ea5e966}50%{box-shadow:0 0 0 8px #0ea5e980,0 0 34px 8px #38bdf89e,0 14px 28px -6px #0ea5e980}}@media (prefers-reduced-motion:no-preference){body.demo-guide-desktop-play-focus #viz-btn.demo-guide-highlight,body.demo-guide-desktop-play-focus [data-demo-target=floating-play].demo-guide-highlight,body.demo-guide-desktop-play-focus #play.demo-guide-highlight{animation:1.8s ease-in-out infinite demo-guide-desktop-play-pulse}}}@media (width<=640px){.demo-guide-root{width:auto;max-width:none;left:12px;right:12px}.demo-guide-root--place-bottom{bottom:max(12px, env(safe-area-inset-bottom,0px))}.demo-guide-root--place-top{top:max(10px, env(safe-area-inset-top,0px))}.demo-guide-root--raised{bottom:max(108px, calc(96px + env(safe-area-inset-bottom,0px)))}.demo-guide-highlight{outline-offset:3px}.demo-guide-actions{gap:10px}.demo-guide-btn{flex:auto;min-height:40px}.demo-guide-btn-skip{flex:100%;justify-content:flex-start;min-height:36px;margin-right:0}}@keyframes step-active-pulse{0%{box-shadow:0 0 #0ea5e959,0 0 #0ea5e900}60%{box-shadow:0 0 0 5px #0ea5e933,0 6px 18px -4px #0ea5e94d}to{box-shadow:0 0 0 3px #0ea5e92e,0 6px 18px -4px #0ea5e94d}}.wt-card.active{animation:.52s cubic-bezier(.22,.8,.25,1) both step-active-pulse}@keyframes step-pass-pulse{0%{background-color:var(--accent-soft)}50%{background-color:var(--accent-soft-2)}to{background-color:var(--accent-soft)}}.wt-pass-head.active{animation:.52s ease-out both step-pass-pulse}@keyframes output-reveal{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}#output.just-updated{animation:.28s cubic-bezier(.22,.8,.25,1) both output-reveal}.btn-primary,.btn-run,.btn-viz,.btn-submit-answer{transition:transform .12s cubic-bezier(.2,.8,.2,1),background-color .16s,border-color .16s,box-shadow .16s}.btn-primary:active:not(:disabled),.btn-run:active:not(:disabled),.btn-submit-answer:active:not(:disabled){transform:translateY(1px)scale(.98)}@media (prefers-reduced-motion:reduce){.wt-card.active,.wt-pass-head.active,#output.just-updated,.trace-box.just-revealed{animation:none!important}.btn-primary,.btn-run,.btn-viz,.btn-submit-answer{transition:none!important}.btn-primary:active:not(:disabled),.btn-run:active:not(:disabled),.btn-submit-answer:active:not(:disabled){transform:none!important}}@keyframes cm-placeholder-wipe{0%{clip-path:inset(0 100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}@keyframes cm-placeholder-caret-blink{0%,49%{opacity:.85}50%,to{opacity:0}}.editor-host .cm-placeholder{animation:.9s cubic-bezier(.22,.8,.25,1) .12s both cm-placeholder-wipe;position:relative}.editor-host .cm-placeholder:after{content:"";vertical-align:-2px;opacity:0;background:currentColor;width:1px;height:1.05em;margin-left:3px;animation:1.05s linear 1.05s infinite cm-placeholder-caret-blink;display:inline-block}.editor-host .cm-editor.cm-focused .cm-placeholder:after{display:none}@media (prefers-reduced-motion:reduce){.editor-host .cm-placeholder,.editor-host .cm-placeholder:after{opacity:.85;clip-path:none!important;animation:none!important}.editor-host .cm-placeholder:after{display:none}}.app-shell-account-slot{align-items:center;gap:8px;display:inline-flex}.app-shell-account-slot:empty{display:none}.app-shell-banner-slot{flex-direction:column;gap:0;display:flex}.app-shell-banner-slot:empty{display:none}.shell-nav-link{color:var(--muted-strong);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.shell-nav-link:hover{color:var(--text);background:var(--panel-muted)}.shell-nav-cta{color:#fff;background:var(--accent);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .15s}[data-theme=dark] .shell-nav-cta{color:#0b1220}.shell-nav-cta:hover{background:var(--accent-strong)}.shell-account{position:relative}.shell-account-btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:12.5px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.shell-account-btn:hover{border-color:var(--border-strong);background:var(--panel-muted)}.shell-account-btn:focus-visible{box-shadow:var(--ring);outline:none}.shell-account-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11.5px;font-weight:700;display:inline-flex}[data-theme=dark] .shell-account-avatar{color:#0b1220}.shell-account-email{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.shell-account-chev{color:var(--muted);font-size:10px;line-height:1}.shell-account-menu{background:var(--panel);border:1px solid var(--border);z-index:200;border-radius:10px;min-width:160px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px -8px #0f172a33}.shell-account-menu-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.shell-account-menu-item:hover{background:var(--panel-muted)}.shell-banner{background:var(--accent-soft);border:1px solid var(--accent-soft-2);color:var(--accent-text);border-radius:10px;align-items:center;gap:12px;margin:0 auto;padding:10px 16px;font-size:12.5px;display:flex}[data-theme=dark] .shell-banner{border-color:#38bdf859}.shell-banner-icon{color:var(--accent);font-weight:700}.shell-banner-text{color:var(--accent-text);flex:1}.shell-banner-cta{background:var(--accent);color:#fff;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s}[data-theme=dark] .shell-banner-cta{color:#0b1220}.shell-banner-cta:hover{background:var(--accent-strong)}.shell-banner-link{color:var(--accent-text);font-size:12.5px;font-weight:500;text-decoration:none}.shell-banner-link:hover{text-decoration:underline}.shell-banner-dismiss{appearance:none;color:var(--accent-text);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:18px;line-height:1;transition:opacity .15s,background .15s}.shell-banner-dismiss:hover{opacity:1;background:#0ea5e91f}[data-theme=dark] .shell-banner-dismiss:hover{background:#38bdf824}.app-shell-credits-slot{flex-shrink:0;align-self:center;align-items:center;max-width:min(100%,200px);display:inline-flex}.app-shell-credits-slot:empty{display:none}.shell-credits-wrap{flex-direction:column;align-items:flex-end;gap:3px;line-height:1.3;display:flex}.shell-credits-reward{color:var(--accent);letter-spacing:.01em;white-space:nowrap;background:#38bdf81a;border:1px solid #38bdf859;border-radius:999px;align-items:center;padding:5px 11px;font-size:12.5px;font-weight:700;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 0 14px -6px #38bdf873}[data-theme=light] .shell-credits-reward{background:#0ea5e914;border-color:#0ea5e959;box-shadow:0 0 12px -6px #0ea5e940}.shell-credits-reward:hover{background:#38bdf829;border-color:#38bdf880;box-shadow:0 0 16px -4px #38bdf866}.shell-credits-reward:focus-visible{box-shadow:var(--ring);outline:none}.shell-credits-reward-short{display:none}.shell-credits-more{border:none;margin:0;padding:0}.shell-credits-more-summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600;list-style:none;display:none}.shell-credits-more-summary::-webkit-details-marker{display:none}.shell-credits-more-summary:hover{color:var(--text-soft);background:#38bdf814}.shell-credits-secondary{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.shell-credits-balance{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:500}.shell-credits-balance strong,.shell-credits-daily-val,.shell-credits-paid-val{color:var(--text-soft);font-weight:600}.shell-credits-hint{color:var(--muted);opacity:.85;text-align:right;max-width:180px;font-size:9.5px;line-height:1.35;display:none}.shell-credits-buy{color:var(--muted);white-space:nowrap;margin-top:1px;font-size:10px;font-weight:600;text-decoration:none}.shell-credits-buy:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.shell-credits-signup{appearance:none;font:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin:0;padding:0;line-height:1}.shell-credits-signup:focus-visible{box-shadow:var(--ring);border-radius:999px;outline:none}.shell-credits-signup-pill{color:var(--accent);letter-spacing:.01em;white-space:nowrap;background:#38bdf814;border:1px solid #38bdf847;border-radius:999px;align-items:center;padding:5px 11px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}[data-theme=light] .shell-credits-signup-pill{background:#0ea5e90f;border-color:#0ea5e947}.shell-credits-signup:hover .shell-credits-signup-pill{background:#38bdf824;border-color:#38bdf86b}.shell-credits-signup-reward-long{display:inline}.shell-credits-signup-reward-short{display:none}.shell-credits-signup-title{display:none!important}@media (width>=721px){header{flex-wrap:nowrap;align-items:center;gap:10px}header>.brand{flex-direction:row;flex:0 auto;align-items:center;min-width:0;margin-right:0}header>.brand .subtitle{display:none}header>.spacer{flex:auto;min-width:12px}header>#ui-lang-switch.ui-lang-switch,header>#app-shell-credits-slot,header>#app-shell-account-slot,header>#theme-toggle{flex-shrink:0;align-self:center}header:has(.shell-nav-link)>#ui-lang-switch.ui-lang-switch{order:20}header:has(.shell-nav-link)>#app-shell-credits-slot{order:21;max-width:none;display:inline-flex!important}header:has(.shell-nav-link)>#app-shell-account-slot{order:22;align-items:center;gap:6px;display:inline-flex}header:has(.shell-nav-link)>#theme-toggle{order:23}header:has(.shell-nav-link) .shell-credits-signup-reward-long{display:inline}header:has(.shell-nav-link) .shell-credits-signup-reward-short{display:none}header:has(.shell-account)>#app-shell-credits-slot{order:20;max-width:none}header:has(.shell-account)>#ui-lang-switch.ui-lang-switch{order:21}header:has(.shell-account)>#app-shell-account-slot{order:22;align-items:center;min-width:0;max-width:min(240px,28vw);display:inline-flex}header:has(.shell-account)>#theme-toggle{order:23}header:has(.shell-account) .shell-credits-wrap{flex-direction:row;align-items:center;gap:0}header:has(.shell-account) .shell-credits-reward{box-shadow:none;background:var(--panel-muted);border-color:var(--border);color:var(--text-soft);padding:5px 10px;font-size:12px;font-weight:600}header:has(.shell-account) .shell-credits-reward:hover{background:var(--panel);border-color:var(--border-strong);color:var(--text);box-shadow:none}header:has(.shell-account) .shell-credits-reward-long{display:none}header:has(.shell-account) .shell-credits-reward-short{display:inline}header:has(.shell-account) .shell-account{min-width:0;max-width:100%}header:has(.shell-account) .shell-account-btn{min-width:0;max-width:100%}header:has(.shell-account) .shell-account-email{max-width:140px}.shell-credits-more{display:contents}.shell-credits-more-summary,.shell-credits-hint,.shell-credits-secondary{display:none!important}}@media (width<=720px){.shell-credits-reward-long{display:none}.shell-credits-reward-short{display:inline}header:has(.shell-account) #app-shell-credits-slot{align-self:center;align-items:center;max-width:none}header:has(.shell-account) .shell-credits-wrap{flex-direction:row;align-items:center;gap:0}header:has(.shell-account) .shell-credits-reward{box-sizing:border-box;min-height:32px;padding:6px 10px;font-size:12px;line-height:1}header:has(.shell-account) .shell-credits-more{display:none!important}.shell-credits-signup-reward-long{display:none}.shell-credits-signup-reward-short{display:inline}header:has(.shell-nav-link) .shell-credits-signup-pill{box-sizing:border-box;min-height:32px;padding:6px 10px;font-size:12px}header:has(.shell-nav-link) .shell-credits-signup-reward-long{display:inline}header:has(.shell-nav-link) .shell-credits-signup-reward-short{display:none}header:has(.shell-account) .shell-account{min-width:0;max-width:100%}header:has(.shell-account) .shell-account-btn{box-sizing:border-box;min-width:0;max-width:100%}header:has(.shell-account) .shell-account-email{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;max-width:120px;overflow:hidden}:is(header:has(.shell-account) .shell-account-avatar,header:has(.shell-account) .shell-account-chev){flex-shrink:0}.shell-banner{margin-top:0}}.shell-signup-modal-copy{color:var(--text-soft);flex-direction:column;gap:8px;margin-bottom:16px;font-size:14px;line-height:1.45;display:flex}.shell-signup-modal-copy p{margin:0}.shell-signup-modal-actions{flex-direction:column;align-items:stretch;gap:12px;display:flex}.shell-signup-modal-primary{color:#fff;background:var(--accent);border-radius:8px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}[data-theme=dark] .shell-signup-modal-primary{color:#0b1220}.shell-signup-modal-primary:hover{background:var(--accent-strong)}.shell-signup-modal-secondary{text-align:center;color:var(--muted);margin:0;font-size:13px}.shell-signup-modal-secondary a{color:var(--accent);font-weight:500;text-decoration:none}.shell-signup-modal-secondary a:hover{text-decoration:underline}.app-loading-root{z-index:9999;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:#0f172a;opacity:1;background-color:#f6f7f9;background-image:radial-gradient(70% 55% at 50% -5%,#ffc1071f,#0000 70%),radial-gradient(55% 55% at 100% 100%,#ffb80014,#0000 75%),radial-gradient(45% 55% at 0 100%,#ffc1070f,#0000 75%);justify-content:center;align-items:center;padding:24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:opacity .32s ease-out;display:flex;position:fixed;inset:0}.app-loading-root.is-hiding{opacity:0;pointer-events:none}.app-loading-card{text-align:center;background:#fff;border:1px solid #0f172a14;border-radius:20px;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:420px;padding:32px 24px;display:flex;box-shadow:0 24px 48px -24px #0f172a2e,inset 0 0 0 1px #fffc}.app-loading-brand.lp-ui-brand{justify-content:center}.app-loading-brand .lp-ui-brand-mark{border-radius:1rem;width:3rem;height:3rem}.app-loading-brand .lp-ui-brand-mark svg{width:1.5rem;height:1.5rem}.app-loading-brand .lp-ui-brand-name{font-size:1.125rem}.app-loading-brand .lp-ui-brand-tag{font-size:.75rem}.app-loading-status{flex-direction:column;gap:6px;width:100%;display:flex}.app-loading-title{letter-spacing:-.01em;color:#0f172a;margin:0;font-size:19px;font-weight:600}.app-loading-subtitle{color:#64748b;margin:0;font-size:14px;line-height:1.45}.app-loading-progress{background:#ffb8002e;border-radius:999px;width:100%;max-width:280px;height:4px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffb8001a}.app-loading-progress-bar{background:linear-gradient(90deg,#ffb80000 0%,#ffb800 45%,#ffc107 55%,#ffb80000 100%);border-radius:999px;width:38%;animation:1.4s ease-in-out infinite app-loading-slide;position:absolute;inset:0;box-shadow:0 0 18px #ffb80073}@keyframes app-loading-slide{0%{transform:translate(-110%)}to{transform:translate(280%)}}.app-loading-quote{color:#64748b;max-width:320px;min-height:1.4em;margin:0;font-size:13px;font-style:italic;line-height:1.45;transition:opacity .22s}.app-loading-quote.is-fading{opacity:0}.app-loading-fallback{flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:6px;display:flex}.app-loading-fallback[hidden]{display:none}.app-loading-fallback-text{color:#475569;margin:0;font-size:13px}.app-loading-fallback-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.app-loading-btn{appearance:none;cursor:pointer;letter-spacing:.01em;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-width:120px;min-height:44px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform 50ms,color .15s;display:inline-flex}.app-loading-btn:active{transform:scale(.985)}.app-loading-btn--secondary{color:#0f172a;background:#ffb800;border-color:#ffb800;box-shadow:0 10px 24px -12px #ffb80073}.app-loading-btn--secondary:hover{background:#ffc107;border-color:#ffc107}.app-loading-btn--ghost{color:#334155;background:#0f172a0a;border-color:#0f172a1f}.app-loading-btn--ghost:hover{background:#0f172a14;border-color:#0f172a2e}.app-loading-root[data-state=error] .app-loading-progress,.app-loading-root[data-state=error] .app-loading-quote{display:none}.app-loading-root[data-state=error] .app-loading-card{border-color:#f8717159}@media (prefers-reduced-motion:reduce){.app-loading-root{transition:none}.app-loading-progress-bar{opacity:.55;width:100%;animation:none}.app-loading-quote{transition:none}}.app-loading-root[data-reduced-motion=true] .app-loading-progress-bar{opacity:.55;width:100%;animation:none}@media (width<=360px){.app-loading-card{gap:14px;padding:26px 18px}.app-loading-title{font-size:17px}.app-loading-subtitle{font-size:13px}.app-loading-btn{min-width:108px;padding:10px 14px}}
