.system-map.svelte-z2ggtp{width:100%;min-width:0}.system-map.svelte-z2ggtp svg:where(.svelte-z2ggtp){display:block;width:100%;height:auto}.map-link.svelte-z2ggtp{stroke:#b9cbc2;stroke-width:1.3;stroke-dasharray:4 4;fill:none}.flow-link.svelte-z2ggtp{stroke:#16836b;stroke-width:2.4;fill:none}.map-node.svelte-z2ggtp{cursor:pointer;outline:none}.map-node.svelte-z2ggtp rect:where(.svelte-z2ggtp){fill:#fff;stroke:#d6e3dc}.map-node.svelte-z2ggtp circle:where(.svelte-z2ggtp){fill:#a7bcb1}.map-node.svelte-z2ggtp text:where(.svelte-z2ggtp){font:600 15px system-ui,sans-serif;fill:#243e36}.map-node.svelte-z2ggtp .node-state:where(.svelte-z2ggtp){font:12px system-ui,sans-serif;fill:#7a8d83}.map-node.visited.svelte-z2ggtp rect:where(.svelte-z2ggtp){stroke:#94beaa}.map-node.current.svelte-z2ggtp rect:where(.svelte-z2ggtp){fill:#eef8f1;stroke:#16836b;stroke-width:1.8}.map-node.current.svelte-z2ggtp circle:where(.svelte-z2ggtp){fill:#16836b}.map-node.svelte-z2ggtp:focus rect:where(.svelte-z2ggtp){stroke:#4d71bf;stroke-width:2}.flow-tag.svelte-z2ggtp rect:where(.svelte-z2ggtp){fill:#e9f4ed;stroke:#b7d5c3}.flow-tag.svelte-z2ggtp text:where(.svelte-z2ggtp){font:12px system-ui,sans-serif;fill:#216d50}.caption.svelte-z2ggtp{font:11px system-ui,sans-serif;fill:#7c9085}.system-map.svelte-z2ggtp p:where(.svelte-z2ggtp){font-size:11px;color:#7c9085;margin:0 12px}.compact-tabs.svelte-gu3dqx{grid-template-columns:repeat(2,1fr)!important}.inspector.svelte-gu3dqx{height:100%;min-height:500px;background:#fff;border:1px solid #e3e9e5;border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.inspector-head.svelte-gu3dqx{padding:22px 20px 17px;display:flex;align-items:center;justify-content:space-between}.inspector-head.svelte-gu3dqx h2:where(.svelte-gu3dqx){font-size:16px;margin:6px 0 0;color:#1c3436}.eyebrow.svelte-gu3dqx{font-size:9px;letter-spacing:.13em;color:#8b9993;font-weight:700}.inspect-live.svelte-gu3dqx{font-size:10px;color:#16836b;display:flex;gap:6px;align-items:center}.inspect-live.svelte-gu3dqx i:where(.svelte-gu3dqx),.inspector-foot.svelte-gu3dqx i:where(.svelte-gu3dqx){width:6px;height:6px;border-radius:50%;background:#28a67b}.inspector-tabs.svelte-gu3dqx{display:grid;grid-template-columns:repeat(5,1fr);padding:0 14px;border-bottom:1px solid #e8eeea}.inspector-tabs.svelte-gu3dqx button:where(.svelte-gu3dqx){border:0;background:transparent;padding:11px 2px;color:#7c8984;font:500 11px inherit;border-bottom:2px solid transparent;cursor:pointer}.inspector-tabs.svelte-gu3dqx button.active:where(.svelte-gu3dqx){border-color:#18836b;color:#146f5b;font-weight:700}.inspector-content.svelte-gu3dqx{padding:18px 18px 24px;overflow:auto;flex:1;min-height:0}.event-summary.svelte-gu3dqx{padding:16px;background:#f5f9f6;border:1px solid #e5eee8;border-radius:10px}.summary-kind.svelte-gu3dqx{display:inline-block;background:#e7f3ed;color:#19745f;padding:4px 7px;border-radius:4px;font-size:9px;font-weight:700}.event-summary.svelte-gu3dqx h3:where(.svelte-gu3dqx){font-size:15px;line-height:1.45;color:#243b3b;margin:12px 0 6px}.event-summary.svelte-gu3dqx p:where(.svelte-gu3dqx),.inspect-kicker.svelte-gu3dqx{font-size:10px;color:#82908b}.inspect-section.svelte-gu3dqx{padding:20px 0;border-bottom:1px solid #edf1ee}.inspect-section.svelte-gu3dqx dl:where(.svelte-gu3dqx){margin:10px 0 0}.inspect-section.svelte-gu3dqx dl:where(.svelte-gu3dqx) div:where(.svelte-gu3dqx){display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;padding:7px 0;font-size:10px}.inspect-section.svelte-gu3dqx dt:where(.svelte-gu3dqx){color:#8b9692}.inspect-section.svelte-gu3dqx dd:where(.svelte-gu3dqx){margin:0;color:#354947;overflow-wrap:anywhere}.data-preview.svelte-gu3dqx,.json-view.svelte-gu3dqx,.file-view.svelte-gu3dqx,.source-note.svelte-gu3dqx{background:#f7f9f8;border:1px solid #edf1ef;border-radius:8px;padding:12px;color:#425451;white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;max-height:260px;overflow:auto}.json-view.svelte-gu3dqx{margin-top:12px;max-height:600px}.file-picker.svelte-gu3dqx{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.file-picker.svelte-gu3dqx button:where(.svelte-gu3dqx){border:1px solid #e0e8e3;background:#fff;border-radius:5px;padding:5px 7px;color:#60716b;font:10px ui-monospace,monospace;cursor:pointer}.file-picker.svelte-gu3dqx button.chosen:where(.svelte-gu3dqx){border-color:#8bbba6;background:#f1f8f4;color:#176f5b}.file-view.svelte-gu3dqx{max-height:360px}.inspector-export.svelte-gu3dqx{width:100%;border:1px solid #dbe6df;background:#fff;border-radius:7px;padding:9px;color:#426259;font-size:10px;cursor:pointer}.diff-view.svelte-gu3dqx{border:1px solid #e7ece9;border-radius:8px;overflow:auto;background:#f8faf9}.diff-line.svelte-gu3dqx{display:flex;min-height:21px;font:10px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:#65736e}.diff-line.svelte-gu3dqx>span:where(.svelte-gu3dqx){flex:0 0 22px;text-align:center;color:#929f99}.diff-line.svelte-gu3dqx code:where(.svelte-gu3dqx){white-space:pre;padding-right:8px}.diff-line.added.svelte-gu3dqx{background:#eaf7ef;color:#176a44}.diff-line.added.svelte-gu3dqx>span:where(.svelte-gu3dqx){color:#187648}.diff-line.removed.svelte-gu3dqx{background:#fff0ed;color:#9c4034}.diff-line.removed.svelte-gu3dqx>span:where(.svelte-gu3dqx){color:#bb5142}.diff-legend.svelte-gu3dqx{display:flex;gap:12px;padding:8px 2px;font:10px system-ui,sans-serif}.removed-text.svelte-gu3dqx{color:#a34a3c}.added-text.svelte-gu3dqx{color:#21774c}.source-ref.svelte-gu3dqx{display:block;margin-top:14px;padding:12px;border:1px solid #dce8e1;border-radius:8px;background:#f6faf7;color:#176f5b;font-size:11px;overflow-wrap:anywhere}.source-pin.svelte-gu3dqx{font-size:10px;color:#7d8a84;overflow-wrap:anywhere}.source-pin.svelte-gu3dqx code:where(.svelte-gu3dqx){font-family:ui-monospace,monospace}.source-note.svelte-gu3dqx{font-size:9px}.mini-empty.svelte-gu3dqx{border:1px dashed #dce5e0;border-radius:8px;padding:24px 14px;color:#899590;font-size:11px;text-align:center;margin-top:15px}.inspector-empty.svelte-gu3dqx{flex:1;padding:48px 22px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.inspector-empty.svelte-gu3dqx>span:where(.svelte-gu3dqx){font-size:32px;color:#a0bdb0}.inspector-empty.svelte-gu3dqx b:where(.svelte-gu3dqx){font-size:12px;color:#475b56;margin-top:14px}.inspector-empty.svelte-gu3dqx p:where(.svelte-gu3dqx){font-size:10px;line-height:1.7;color:#899590}.inspector-foot.svelte-gu3dqx{border-top:1px solid #edf1ef;padding:12px 18px;display:flex;justify-content:space-between;font-size:9px;color:#85928d}.inspector-foot.svelte-gu3dqx span:where(.svelte-gu3dqx):first-child{display:flex;align-items:center;gap:6px}.explanation-nav.svelte-1n46o8q{display:flex;gap:6px;margin:10px 0}.explanation-nav.svelte-1n46o8q button:where(.svelte-1n46o8q){border:1px solid #dce6e0;border-radius:6px;background:#fff;padding:5px 10px;font-size:11px;color:#667b70;cursor:pointer}.explanation-nav.svelte-1n46o8q button.active:where(.svelte-1n46o8q){background:#edf6ef;color:#167553;border-color:#aacdb8}.api-code.svelte-1n46o8q{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7f5;border:1px solid #e1e9e5;border-radius:10px;padding:18px;font:12px/1.6 ui-monospace,SFMono-Regular,monospace;color:#27463f}.api-explorer.svelte-1n46o8q summary:where(.svelte-1n46o8q){cursor:pointer;font-size:13px;color:#35675b;margin:16px 0}.api-explorer.svelte-1n46o8q .settings-actions:where(.svelte-1n46o8q){margin-top:16px}.diagram-panel.svelte-1n46o8q .panel-heading:where(.svelte-1n46o8q),.diagram-panel.svelte-1n46o8q .lane-legend:where(.svelte-1n46o8q){display:none}.diagram-panel.svelte-1n46o8q{padding:8px;min-height:175px}.diagram-panel.svelte-1n46o8q svg{max-height:155px}.events-view.svelte-1n46o8q .event-list:where(.svelte-1n46o8q){display:flex;flex-direction:column;gap:8px}.events-view.svelte-1n46o8q .event-card:where(.svelte-1n46o8q){flex:none}.workbench-layout.svelte-1n46o8q{align-items:stretch}.learn-panel.svelte-1n46o8q,.right-panel.svelte-1n46o8q{height:100%}.workbench-footer.svelte-1n46o8q .secondary-button:where(.svelte-1n46o8q){display:inline-flex}@media(max-width:720px){.diagram-panel.svelte-1n46o8q{min-height:110px;padding:6px}.diagram-panel.svelte-1n46o8q svg{max-height:110px}.topbar.svelte-1n46o8q{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.chapter-nav.svelte-1n46o8q{margin:0;display:grid;grid-template-columns:22px minmax(0,1fr) 22px;min-width:0}.chapter-nav.svelte-1n46o8q label:where(.svelte-1n46o8q){min-width:0}.chapter-nav.svelte-1n46o8q label:where(.svelte-1n46o8q)>span:where(.svelte-1n46o8q){display:none}.chapter-nav.svelte-1n46o8q select:where(.svelte-1n46o8q){width:100%;max-width:none;min-width:0}.top-actions.svelte-1n46o8q{margin:0}.top-actions.svelte-1n46o8q .mode-pill:where(.svelte-1n46o8q),.top-actions.svelte-1n46o8q .icon-btn:where(.svelte-1n46o8q){display:none}.settings-link.svelte-1n46o8q{font-size:0;width:29px;height:29px;padding:5px}.settings-link.svelte-1n46o8q .gear:where(.svelte-1n46o8q){font-size:15px}.workbench-footer.svelte-1n46o8q .secondary-button:where(.svelte-1n46o8q){font-size:9px;padding:5px 4px}.workbench-footer.svelte-1n46o8q .range-wrap:where(.svelte-1n46o8q){min-width:40px}.workbench-footer.svelte-1n46o8q .range-caption:where(.svelte-1n46o8q) label:where(.svelte-1n46o8q){display:none}.lesson-copy.svelte-1n46o8q>p:where(.svelte-1n46o8q){display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.explanation-nav.svelte-1n46o8q{margin:6px 0}.explanation-nav.svelte-1n46o8q button:where(.svelte-1n46o8q){padding:4px 8px;font-size:10px}}:root{font-family:DM Sans,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;color:#203738;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#203738;--muted:#7f8d87;--line:#e3e9e4;--green:#16816a;--teal:#dff0e8;--paper:#fff;--mono:"DM Mono",monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7f4;font-size:13px}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #36a487;outline-offset:2px}.app-shell{min-height:100vh}.topbar{height:60px;background:#fff;border-bottom:1px solid #e6ebe7;display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:8}.brand{display:flex;align-items:center;gap:9px;color:#1f3939;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:27px;height:27px;background:#173c3c;color:#e6f5ed;border-radius:8px;font:700 13px var(--mono);letter-spacing:-.08em}.brand-light{color:#778780;font-weight:500}.top-center{margin:auto;display:flex;gap:9px;align-items:center;color:#50645e;font-size:11px}.crumb{color:#8d9994}.crumb-slash{color:#c4ceca}.top-actions{display:flex;align-items:center;gap:13px}.mode-pill{display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;background:#eff6f1;color:#27765f;font-size:10px}.mode-pill i,.panel-note i,.trace-state i{width:6px;height:6px;background:#239c74;border-radius:50%}.mode-pill.live{background:#fff3e8;color:#a05d22}.mode-pill.live i{background:#d88942}.icon-btn{border:0;background:none;color:#87938e;font-size:17px;cursor:pointer;padding:4px}.settings-link{display:flex;gap:6px;align-items:center;border:1px solid #e1e8e3;background:#fff;border-radius:7px;padding:7px 10px;font-size:10px;color:#4d6059;cursor:pointer}.gear{font-size:13px}.workbench-layout{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:230px minmax(420px,1fr) 304px;align-items:start;gap:25px;padding:25px 28px 34px}.sidebar{position:sticky;top:84px;min-height:calc(100vh - 115px);display:flex;flex-direction:column;padding:3px 0}.side-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.13em;color:#899791}.lesson-count{font:10px var(--mono);color:#a2aca6}.course-title{display:flex;gap:11px;align-items:center;padding:0 0 17px;border-bottom:1px solid #e4eae5}.course-icon{height:34px;width:34px;border-radius:10px;background:#e5f0e9;color:#307a64;display:grid;place-items:center;font-size:16px}.course-title strong,.course-title small{display:block}.course-title strong{font-size:12px}.course-title small{font-size:10px;color:#8d9892;margin-top:4px}.chapter-list{display:grid;gap:3px;margin-top:13px}.chapter{width:100%;display:grid;grid-template-columns:23px 1fr 14px;align-items:start;gap:7px;text-align:left;padding:9px 8px;border:0;border-radius:7px;background:transparent;color:#677770;cursor:pointer;line-height:1.5;font-size:10px}.chapter:hover{background:#edf3ef}.chapter.active{background:#e8f1ec;color:#206c56;font-weight:600}.chapter-num{font:9px var(--mono);color:#a0aaa4;padding-top:1px}.chapter.active .chapter-num{color:#368469}.chapter-name{min-width:0}.chapter-arrow{font-size:12px}.side-bottom{margin-top:auto;padding-top:22px}.progress-label{display:flex;justify-content:space-between;font-size:10px;color:#87938c}.progress-track{height:4px;background:#e5ebe6;border-radius:4px;margin:9px 0 18px;overflow:hidden}.progress-track i{display:block;height:100%;background:#368e72;border-radius:4px}.save-link{display:block;padding:7px 0;border:0;background:transparent;color:#65766e;text-align:left;font-size:10px;cursor:pointer}.main-column{min-width:0;max-width:790px;margin:0 auto;width:100%}.lesson-head{padding:2px 0 14px}.lesson-meta{display:flex;align-items:center;gap:9px}.lesson-meta .eyebrow{color:#277a62}.lesson-meta>span:last-child{font-size:10px;color:#a0aaa4}.meta-dot{height:3px;width:3px;border-radius:100%;background:#bdc7c1}.lesson-head h1{font-size:clamp(24px,2.5vw,33px);letter-spacing:-.045em;line-height:1.24;margin:13px 0 8px;color:#183536}.subtitle{font-size:12px;color:#72827b;margin:0;line-height:1.7}.lesson-copy{padding:8px 0 12px}.lesson-copy p{display:grid;grid-template-columns:26px 1fr;gap:9px;font-size:11px;line-height:1.9;color:#53645d;margin:9px 0}.paragraph-no{font:9px var(--mono);color:#9daaa3;padding-top:4px}.diagram-panel,.activity-panel,.exercise,.checkpoints{border:1px solid #e1e8e3;border-radius:12px;background:#fff;margin-top:15px;overflow:hidden}.diagram-panel{padding:17px 18px 12px}.panel-heading,.activity-title{display:flex;justify-content:space-between;align-items:center}.panel-heading h2,.activity-title h2{font-size:14px;margin:5px 0 0;letter-spacing:-.02em}.panel-note{display:flex;gap:6px;align-items:center;font-size:9px;color:#87938d}.panel-note i{width:5px;height:5px}.lane-legend{display:flex;gap:12px 14px;align-items:center;flex-wrap:wrap;border-top:1px solid #f0f2f0;padding-top:10px;margin-top:2px}.lane-legend span{display:flex;align-items:center;gap:5px;font-size:9px;color:#85928b}.lane-dot{width:6px;height:6px;border-radius:50%;background:#8bbaa5}.lane-dot.provider{background:#6889af}.lane-dot.user{background:#c59559}.lane-dot.tools{background:#7a72a8}.lane-dot.workspace{background:#4b9d81}.activity-panel{padding:17px 17px 0}.activity-title{padding-bottom:14px}.event-total{display:inline-grid;place-items:center;vertical-align:2px;margin-left:5px;background:#eef3ef;color:#71817a;font:9px var(--mono);width:21px;height:19px;border-radius:5px}.trace-state{display:flex;align-items:center;gap:6px;color:#708078;font-size:9px}.trace-state i{width:6px;height:6px;background:#adb8b2}.trace-state i.busy{background:#248e70;animation:pulse 1.3s infinite}.trace-state i.failed{background:#c35448}@keyframes pulse{50%{opacity:.35}}.empty-trace{padding:23px 12px 29px;border:1px dashed #dfe7e2;border-radius:8px;display:flex;align-items:center;flex-direction:column;color:#85928c}.empty-mark{font-size:23px;color:#7eaa96;margin-bottom:8px}.empty-trace strong{font-size:11px;color:#50635b}.empty-trace span{font-size:9px;margin-top:6px}.event-list{display:grid;gap:7px;max-height:490px;overflow:auto;padding:0 1px 10px}.event-card{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #e8ede9;border-radius:8px;background:#fff;padding:10px;cursor:pointer;transition:border-color .15s,background .15s}.event-card:hover,.event-card.event-selected{border-color:#a6cbbb;background:#f8fbf9}.event-icon{flex:none;width:27px;height:27px;border-radius:8px;background:#edf4ef;color:#317b63;display:grid;place-items:center;font-size:12px}.event-icon.provider{background:#edf1f8;color:#647da4}.event-icon.user{background:#f9f1e7;color:#a67b47}.event-icon.tools{background:#f1eff8;color:#7770a0}.event-main{display:block;min-width:0;flex:1}.event-overline{display:flex;align-items:center;gap:6px;color:#95a09a;font-size:8px}.event-overline b{font-weight:600;color:#52816d}.kind-chip{padding:2px 5px;background:#f1f4f1;border-radius:4px;font:8px var(--mono)}.event-main>strong{display:block;font-size:10px;color:#354b44;margin:4px 0;overflow-wrap:anywhere}.event-main>small{display:block;font-size:8px;color:#9aa49f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-chevron{color:#a3aea8}.timeline-controls{border-top:1px solid #edf1ee;margin:0 -17px;padding:12px 17px;display:flex;align-items:center;gap:13px}.transport button{width:25px;height:25px;border:1px solid #e1e8e3;border-radius:6px;background:#fff;color:#63736b;cursor:pointer;font-size:15px}.transport button:disabled{opacity:.4;cursor:default}.transport .play-button{background:#1d6554;border-color:#1d6554;color:#fff;font-size:9px}.range-wrap{flex:1;min-width:60px}.range-caption{display:flex;justify-content:space-between;align-items:center;color:#8b9690;font-size:8px;margin-bottom:3px}.range-caption b{font:9px var(--mono);color:#53685e}.range-caption em{font-style:normal;color:#aab4ae}.range-caption select{border:0;background:transparent;color:#78867f;font-size:8px}.range-wrap input[type=range],.setting-label input[type=range]{accent-color:#16816a;width:100%;height:3px}.export-link{white-space:nowrap;border:0;background:transparent;color:#39806a;font-size:9px;cursor:pointer}.export-link:disabled{opacity:.4}.exercise{padding:17px}.exercise-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.exercise-icon{height:30px;width:30px;border-radius:9px;background:#edf5f0;color:#28795f;display:grid;place-items:center}.exercise-head h2{font-size:13px;margin:4px 0 0}.field-label,.file-edit-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#52635b;margin-bottom:6px}.field-label span,.file-edit-head>span:last-child{font-size:9px;color:#99a39e}.prompt-input,.code-editor{width:100%;resize:vertical;border:1px solid #e2e9e4;border-radius:7px;padding:10px 11px;background:#fbfcfb;color:#42564d;font-size:10px;line-height:1.65;outline:none}.prompt-input{margin-bottom:13px;font-family:inherit}.code-editor{min-height:95px;background:#f7f9f7;font:10px/1.7 var(--mono);color:#365447}.file-edit-head{margin-bottom:6px}.file-edit-head code{font:9px var(--mono);color:#2c735a}.run-actions{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.primary-button,.danger-button{border:1px solid #1a6c58;border-radius:7px;background:#1a6c58;color:#fff;padding:9px 13px;font-size:10px;font-weight:600;cursor:pointer}.primary-button:disabled{opacity:.5;cursor:wait}.quiet-button,.secondary-button{border:1px solid #dce5df;background:#fff;border-radius:7px;padding:8px 11px;color:#61736a;font-size:10px;cursor:pointer}.run-hint{font-size:9px;color:#97a19b}.fixture-note{border:1px solid #eedfba;background:#fff9eb;border-radius:7px;padding:9px 10px;margin:-5px 0 12px;color:#806a3d;font-size:9px;line-height:1.6}.fixture-note b,.fixture-note span{display:block}.fixture-note b{margin-bottom:3px}.checkpoints{padding:17px}.checkpoint-head{display:flex;justify-content:space-between;margin-bottom:9px;color:#51645a;font-size:10px}.check-row{display:grid;grid-template-columns:14px 21px 1fr;gap:7px;align-items:start;border-top:1px solid #f0f3f1;padding:10px 0;color:#586a61;font-size:10px;line-height:1.65}.check-row input{accent-color:#18826a}.check-num{font:9px var(--mono);color:#9ba69f}.sources{display:grid;gap:8px;margin-top:9px;padding-top:12px;border-top:1px solid #edf1ee}.sources>a{color:#4d7764;text-decoration:none;font-size:9px;line-height:1.5}.inspector-column{position:sticky;top:84px;min-width:0}.settings-page{max-width:1100px;margin:0 auto;padding:56px 32px 60px}.settings-intro{margin-bottom:27px}.settings-intro h1{margin:12px 0 8px;font-size:33px;letter-spacing:-.045em;color:#173637}.settings-intro h1 span{color:#7e9589}.settings-intro p{font-size:12px;color:#7a8981}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-card{background:#fff;border:1px solid #e1e8e3;border-radius:12px;padding:21px}.setting-title{display:flex;gap:12px;align-items:start;margin-bottom:19px}.setting-index{font:10px var(--mono);color:#39856b;background:#edf5ef;border-radius:6px;padding:6px 7px}.setting-title h2{font-size:14px;margin:1px 0 5px}.setting-title p{font-size:10px;color:#89958f;margin:0}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:19px}.mode-options button{position:relative;text-align:left;display:grid;grid-template-columns:25px 1fr 12px;align-items:center;column-gap:7px;padding:12px 9px;border:1px solid #e3eae5;border-radius:8px;background:#fff;cursor:pointer}.mode-options button.chosen{border-color:#89bba5;background:#f6faf7}.option-icon{grid-row:span 2;color:#347d63;font-size:16px}.mode-options b{font-size:10px}.mode-options small{grid-column:2/4;font-size:8px;color:#8d9892;margin-top:5px;line-height:1.45}.radio{grid-column:3;grid-row:1;width:10px;height:10px;border:1px solid #bcc9c1;border-radius:50%}.chosen .radio{border:3px solid #208367}.setting-label{display:block;font-size:10px;font-weight:600;color:#52645c;margin:13px 0}.setting-label>span{float:right;color:#89958e;font-size:9px;font-weight:400}.setting-label input:not([type=range]),.setting-label select{display:block;width:100%;margin-top:6px;padding:9px 10px;border:1px solid #e1e8e3;background:#fff;border-radius:6px;color:#42544c;font-size:10px}.setting-label input[type=range]{display:block;margin-top:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.key-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.key-actions>span{font-size:8px;color:#9aa39f}.text-button{border:0;background:transparent;color:#6a8275;font-size:9px;cursor:pointer;padding:7px}.text-button:disabled{opacity:.4}.endpoint-box{position:relative;display:grid;gap:7px;background:#f4f7f5;border:1px solid #e6ece8;border-radius:7px;padding:11px;margin-top:16px}.endpoint-box>span:first-child{font-size:9px;color:#8b9891}.endpoint-box code,.confirm-endpoint code{font:10px var(--mono);color:#3a6252;overflow-wrap:anywhere;padding-right:35px}.endpoint-method{position:absolute;right:10px;bottom:11px;color:#397c62;font:9px var(--mono)}.warning-box{display:grid;gap:5px;padding:11px;margin-top:12px;border-radius:7px;background:#fff6eb;border:1px solid #f0dfc7;color:#886337}.warning-box b{font-size:10px}.warning-box span{font-size:9px;line-height:1.6}.scenario-card{grid-column:1/-1}.storage-note{display:flex;gap:11px;padding:13px;background:#f6f9f7;border:1px solid #e8eeea;border-radius:8px}.storage-icon{width:28px;height:28px;background:#e5f1e9;border-radius:7px;display:grid;place-items:center;color:#348068}.storage-note b{font-size:10px}.storage-note p{margin:5px 0 0;font-size:9px;color:#829087;line-height:1.6}.settings-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.saved-notice{color:#278268;font-size:9px;margin-top:10px}.privacy-foot{font-size:9px;line-height:1.6;color:#929d97;margin:13px 0 0}.app-footer{max-width:1600px;margin:0 auto;padding:12px 28px 19px;border-top:1px solid #e5ebe6;display:flex;justify-content:space-between;color:#95a09a;font-size:8px}.app-footer i{font-style:normal;color:#c1cbc5}.modal-scrim{position:fixed;z-index:20;inset:0;background:#142e2dbb;display:grid;place-items:center;padding:20px}.confirm-modal{width:min(440px,100%);border-radius:14px;background:#fff;padding:28px;box-shadow:0 24px 70px #11292340}.confirm-icon{width:31px;height:31px;border-radius:10px;background:#fff2e4;color:#b26c26;display:grid;place-items:center;margin-bottom:15px;font-weight:700}.confirm-modal h2{font-size:20px;margin:7px 0}.confirm-modal>p{font-size:11px;line-height:1.75;color:#687870}.confirm-endpoint{background:#f4f7f5;border:1px solid #e6ece8;border-radius:7px;padding:10px;display:grid;gap:6px}.confirm-endpoint span{font:9px var(--mono);color:#318067}.confirm-model{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;color:#8b9690;font-size:10px}.confirm-model b{color:#3c5148}.redact{grid-column:1/-1;color:#9b7b53;font-size:9px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.danger-button{background:#a34c3e;border-color:#a34c3e}.error-banner{display:flex;flex-direction:column;gap:4px;margin-bottom:11px;padding:10px;background:#fff3f0;border:1px solid #f1d3cb;border-radius:7px;color:#994b3f;font-size:10px}.error-banner span{line-height:1.5}@media(max-width:1120px){.workbench-layout{grid-template-columns:190px minmax(0,1fr);gap:21px;padding:22px}.inspector-column{grid-column:2;position:static}.inspector{min-height:360px}.sidebar{grid-row:1/3}.main-column{max-width:none}.settings-page{padding:42px 24px}}@media(max-width:700px){.topbar{height:55px;padding:0 14px}.top-center{display:none}.top-actions{margin-left:auto;gap:8px}.top-actions .icon-btn{display:none}.workbench-layout{display:flex;flex-direction:column;padding:17px 14px 25px;gap:14px}.sidebar{position:static;min-height:0;width:100%;padding:0}.side-heading{margin:0 0 9px}.course-title{padding-bottom:9px}.chapter-list{display:flex;overflow:auto;gap:5px;margin-top:9px;padding-bottom:3px;scrollbar-width:thin}.chapter{flex:none;width:175px;min-height:48px;background:#fff;border:1px solid #e4eae5;padding:7px}.chapter.active{border-color:#b2cdbf}.side-bottom{display:none}.main-column{width:100%}.lesson-head h1{font-size:25px}.lesson-copy p{font-size:11px}.diagram-panel{padding:14px 12px 10px}.panel-heading h2,.activity-title h2{font-size:13px}.panel-note{font-size:8px}.system-map svg{min-height:0;width:100%}.lane-legend{gap:9px 11px}.activity-panel{padding:14px 12px 0}.timeline-controls{margin:0 -12px;padding:10px 12px;gap:8px}.export-link{font-size:8px}.event-list{max-height:370px}.exercise,.checkpoints{padding:14px}.inspector-column{width:100%}.inspector{min-height:400px}.settings-page{padding:30px 14px}.settings-intro h1{font-size:28px}.settings-grid{grid-template-columns:1fr}.scenario-card{grid-column:auto}.settings-card{padding:16px}.app-footer{padding:11px 14px 16px;gap:10px;flex-direction:column}.modal-actions{flex-wrap:wrap}.confirm-modal{padding:22px}}@media(max-width:390px){.mode-pill{font-size:9px;padding:5px 7px}.settings-link{padding:6px 8px}.brand{font-size:14px}.lesson-head h1{font-size:23px}.timeline-controls{gap:6px}.transport{gap:3px}.transport button{width:23px;height:23px}.range-caption{font-size:7px}.export-link{font-size:7px;padding:0 2px}.lane-legend{gap:8px}.lane-legend span{font-size:8px}.event-card{padding:8px;gap:7px}.event-main>strong{font-size:9px}}html,body,#app{height:100%;min-height:0}body{overflow:hidden}.app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:58px;min-height:58px;position:relative;padding:0 24px}.chapter-nav{display:flex;align-items:center;gap:8px;margin:auto}.chapter-nav>button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:20px;cursor:pointer}.chapter-nav>button:disabled{opacity:.35;cursor:default}.chapter-nav label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.chapter-nav select{max-width:min(42vw,430px);border:0;background:transparent;color:var(--ink);font-weight:700;font-size:12px;padding:6px}.workbench-layout{width:min(1500px,100%);height:calc(100dvh - 96px);min-height:0;flex:1;margin:0 auto;padding:16px 22px 12px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);grid-template-rows:minmax(0,1fr) 68px;gap:14px 18px;overflow:hidden}.learn-panel,.right-panel{min-height:0;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.learn-panel{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:15px}.lesson-head h1{font-size:clamp(22px,2.1vw,31px);line-height:1.18;margin:8px 0}.lesson-head .subtitle{margin:0;color:#687a73}.api-chapter-link{margin-top:9px;border:1px solid #d9e7df;background:#fff;border-radius:8px;color:#18816a;padding:7px 10px;font-size:10px;font-weight:700;cursor:pointer}.lesson-copy{padding:12px 15px;border-left:3px solid #249675;background:#f4f8f5;border-radius:0 9px 9px 0}.step-marker{display:flex;justify-content:space-between;color:#829089;font-size:10px;font-weight:700}.step-marker b{color:#18816a}.lesson-copy>p{display:block;grid-template-columns:none;font-size:12px;line-height:1.7;color:#405650;margin:8px 0 0}.more-lesson{margin-top:8px;color:#18735f;font-size:11px}.more-lesson summary,.sources summary{cursor:pointer;font-weight:700}.more-lesson p{font-size:11px;line-height:1.65;color:#53655e}.diagram-panel{margin:0;padding:13px 14px 9px;min-height:175px;flex:1;background:#f9fbf9;border:1px solid #e5ebe7;border-radius:12px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.diagram-panel .panel-heading{margin:0 0 5px}.diagram-panel .panel-heading h2{font-size:13px;margin:4px 0}.system-map svg{height:auto;max-height:230px}.lane-legend{gap:7px 12px;margin-top:5px}.lane-legend span{font-size:9px}.chapter-notes{padding-top:2px}.notes-head{display:flex;gap:10px;align-items:center;color:#42554e;font-weight:700;font-size:11px;margin-bottom:6px}.check-row{display:flex;gap:9px;align-items:flex-start;padding:4px 0;color:#64736d;font-size:10px;line-height:1.45}.check-num{color:#19836a;font:10px var(--mono)}.sources{margin-top:6px;font-size:10px;color:#25816b}.sources a{display:block;margin:5px;color:#4d7668}.right-panel{display:flex;flex-direction:column}.right-tabs{height:46px;min-height:46px;display:flex;align-items:stretch;padding:0 12px;border-bottom:1px solid var(--line);gap:6px}.right-tabs button{position:relative;border:0;background:transparent;color:#75837d;padding:0 16px;font-size:11px;cursor:pointer}.right-tabs button.active{color:#167860;font-weight:700}.right-tabs button.active:after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:#19836a}.right-tabs button span{margin-left:4px;color:#82928a;font-size:9px}.right-panel>.inspector,.inspector-host{flex:1;min-height:0;border:0;border-radius:0}.inspector-host>.inspector{min-height:0}.right-panel .inspector-head{padding:14px 18px 10px}.right-panel .inspector-head h2{font-size:14px}.right-panel .inspector-content{padding:12px 16px 18px}.right-panel .inspector-foot{min-height:30px}.events-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:14px 16px 8px}.events-view>.panel-heading{margin:0 0 8px}.events-view .panel-heading h2{font-size:14px;margin:4px 0}.events-view .event-list{flex:1;max-height:none;min-height:0;overflow:auto}.events-view .event-card{padding:9px 10px}.events-view .event-main>strong{font-size:11px}.events-view .event-main small{font-size:9px}.empty-trace{margin:auto;min-height:130px}.projection-note{padding:10px;background:#fff8ee;border-radius:8px;color:#815e32;font-size:11px}.projection-note button{display:block;margin-top:6px;border:0;background:none;color:#167860;font-weight:700;cursor:pointer}.inspector-empty{display:grid;place-content:center;justify-items:center;flex:1;min-height:0;color:#89958f;text-align:center;padding:24px}.inspector-empty>span{font-size:24px}.inspector-empty b{color:#40534c;font-size:12px}.inspector-empty p{max-width:260px;font-size:10px;line-height:1.6}.inspector-export-row{height:42px;min-height:42px;padding:5px 14px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.inspector-export-row button{border:0;background:transparent;color:#63766d;font-size:10px;cursor:pointer}.workbench-footer{grid-column:1/-1;min-height:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;align-items:center;gap:12px}.transport{display:flex;gap:5px}.transport button{width:28px;height:28px;border-radius:7px;border:1px solid #e3eae5;background:#fff;cursor:pointer}.transport button:disabled{opacity:.4}.transport .play-button{background:#1b7f68;color:#fff;border-color:#1b7f68}.range-wrap{flex:1;min-width:90px}.range-caption{display:flex;justify-content:space-between;font-size:9px;color:#78867f}.range-caption b{color:#385b50}.range-caption em{font-style:normal;color:#aab5af}.range-caption select{border:0;background:transparent;font-size:9px;color:#60736a}.range-wrap input{width:100%;height:3px;accent-color:#19836a;display:block;margin-top:7px}.footer-state{white-space:nowrap;font-size:9px;color:#6d7f76}.footer-state i{display:inline-block;width:6px;height:6px;background:#29a77a;border-radius:50%;margin-right:5px}.full-trace{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:9px;color:#63746d}.full-trace input{accent-color:#16816a}.secondary-button,.primary-button,.quiet-button{white-space:nowrap}.workbench-footer .secondary-button,.workbench-footer .primary-button,.workbench-footer .quiet-button{padding:8px 11px;font-size:10px}.app-footer{height:22px;min-height:22px;padding:3px 20px;font-size:9px}.exercise-modal{width:min(600px,calc(100vw - 28px));max-height:min(86dvh,760px);overflow:auto;background:#fff;border-radius:16px;padding:22px;box-shadow:0 24px 80px #102b2533}.exercise-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.exercise-head h2{font-size:20px;margin:4px 0}.close-button{border:0;background:none;font-size:24px;cursor:pointer}.exercise-modal .code-editor{min-height:160px}.exercise-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.settings-page{flex:1;overflow:auto}.api-code{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7f5;border:1px solid #e1e9e5;border-radius:10px;padding:18px;font:12px/1.6 ui-monospace,SFMono-Regular,monospace;color:#27463f}.api-explorer summary{cursor:pointer;font-size:13px;color:#35675b;margin:16px 0}.api-explorer .settings-actions{margin-top:16px}@media(max-width:1050px){.workbench-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);padding:12px;gap:10px;grid-template-rows:minmax(0,1fr) 66px}.learn-panel{padding:15px;gap:10px}.workbench-footer{gap:7px;padding:7px}.workbench-footer .secondary-button,.footer-state{display:none}}@media(max-width:720px){html,body,#app{height:100%;overflow:hidden}.topbar{height:54px;min-height:54px;padding:0 10px}.brand{font-size:13px}.chapter-nav{gap:3px}.chapter-nav label{gap:2px}.chapter-nav select{max-width:43vw;font-size:10px;padding:4px}.chapter-nav>button{width:25px;height:27px}.top-actions{gap:5px}.mode-pill{font-size:8px;padding:4px 6px}.settings-link{font-size:9px;padding:6px}.workbench-layout{height:calc(100dvh - 81px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr) 58px;padding:7px;gap:7px;overflow:hidden}.learn-panel,.right-panel{grid-column:1;min-height:0}.learn-panel{padding:11px;gap:7px}.lesson-head h1{font-size:19px;margin:5px 0}.lesson-head .subtitle{font-size:10px}.lesson-meta{font-size:9px}.lesson-copy{padding:8px 10px}.lesson-copy>p{font-size:10px;line-height:1.5;margin-top:5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.more-lesson{display:none}.diagram-panel{min-height:90px;padding:6px 9px}.diagram-panel .panel-heading{margin:0}.diagram-panel .panel-heading h2{font-size:10px;margin:2px 0}.system-map svg{max-height:115px}.lane-legend,.chapter-notes{display:none}.right-tabs{height:35px;min-height:35px;justify-content:space-around}.right-tabs button{padding:0 12px;font-size:10px}.right-panel .inspector-head{padding:8px 12px 5px}.right-panel .inspector-head h2{font-size:12px}.right-panel .inspector-content{padding:8px 11px}.inspector-content .inspect-section{padding:8px 0}.inspector-content .data-preview{max-height:90px}.right-panel .inspector-foot{display:none}.events-view{padding:7px 9px}.events-view>.panel-heading{margin:0 0 4px}.events-view .panel-heading h2{font-size:11px}.events-view .event-list{max-height:none}.events-view .event-card{padding:6px}.events-view .event-main>strong{font-size:9px}.events-view .event-main small,.event-overline{font-size:8px}.inspector-export-row{height:28px;min-height:28px;padding:3px 8px}.workbench-footer{grid-column:1;grid-row:3;gap:5px;padding:5px 7px}.transport button{width:25px;height:25px}.range-caption,.full-trace{font-size:8px}.full-trace input{margin:0}.workbench-footer .primary-button,.workbench-footer .quiet-button{padding:6px 8px;font-size:9px}.footer-state{display:none}.app-footer{height:17px;min-height:17px;padding:2px 8px;font-size:7px;overflow:hidden;white-space:nowrap}.app-footer span:last-child{display:none}.settings-page{padding:22px 12px}.settings-grid{grid-template-columns:1fr}.modal-scrim{padding:8px}}@media(max-height:650px)and (min-width:721px){.workbench-layout{padding-top:8px;padding-bottom:8px;gap:8px 12px;grid-template-rows:minmax(0,1fr) 58px}.learn-panel{padding:11px 16px;gap:7px}.lesson-head h1{font-size:22px;margin:5px 0}.lesson-copy{padding:8px 11px}.lesson-copy>p{font-size:10px;line-height:1.48}.diagram-panel{min-height:120px;padding:6px}.system-map svg{max-height:160px}.chapter-notes{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
