:root{--theme-page:#111015;--theme-panel:#18161b;--theme-stage:#151419;--theme-accent:#a86dde;--theme-node:#d7c2ef;--theme-link:#b8a9ce;--theme-text:#f1edf5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--theme-page);color:var(--theme-text);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--theme-page);min-width:320px}body{background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--theme-accent) 13%, transparent), transparent 27rem), linear-gradient(145deg, color-mix(in srgb, var(--theme-page) 92%, white) 0%, var(--theme-page) 72%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.lab-shell{width:min(1460px,100% - 48px);margin:0 auto;padding:44px 0 52px}.lab-header{grid-template-columns:minmax(0,1fr) minmax(300px,500px);align-items:end;gap:80px;margin-bottom:34px;display:grid}.eyebrow{color:color-mix(in srgb, var(--theme-text) 58%, var(--theme-page));letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:12px;font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.eyebrow i,.status i{background:var(--theme-accent);width:7px;height:7px;box-shadow:0 0 14px color-mix(in srgb, var(--theme-accent) 70%, transparent);border-radius:50%;display:inline-block}h1{letter-spacing:-.065em;max-width:720px;margin:0;font-size:clamp(45px,6.2vw,92px);font-weight:360;line-height:.86}h1 span{color:color-mix(in srgb, var(--theme-accent) 72%, var(--theme-text))}.intro{max-width:46ch;color:color-mix(in srgb, var(--theme-text) 66%, var(--theme-page));margin:0 0 3px;font-size:15px;line-height:1.7}.intro-block{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.fullscreen-launch{border:1px solid color-mix(in srgb, var(--theme-accent) 62%, #3a3440);background:linear-gradient(115deg, color-mix(in srgb, var(--theme-accent) 22%, var(--theme-panel)), color-mix(in srgb, var(--theme-panel) 90%, transparent));width:min(100%,430px);min-height:68px;color:var(--theme-text);box-shadow:0 14px 40px color-mix(in srgb, var(--theme-accent) 10%, transparent);border-radius:11px;justify-content:space-between;align-items:center;gap:24px;padding:0 20px 0 22px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .16s,transform .16s,background .16s;display:flex}.fullscreen-launch i{color:var(--theme-accent);font-size:22px;font-style:normal;font-weight:400}.fullscreen-launch:hover,.fullscreen-launch:focus-visible{border-color:var(--theme-accent);background:linear-gradient(115deg, color-mix(in srgb, var(--theme-accent) 30%, var(--theme-panel)), var(--theme-panel));outline:none;transform:translateY(-2px)}.workbench{grid-template-columns:minmax(0,1fr) 340px;gap:18px;display:grid}body:not(.fullscreen-view) .workbench{grid-template-columns:minmax(0,1fr)}body:not(.fullscreen-view) .control-panel{display:none}.stage-column{min-width:0}.engine-switch{background:color-mix(in srgb, var(--theme-panel) 78%, transparent);border:1px solid #2f2b34;border-bottom:0;border-radius:14px 14px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.engine-tab{color:#77707d;cursor:pointer;background:0 0;border:0;border-right:1px solid #2f2b34;min-height:62px;transition:color .16s,background .16s}.engine-tab:last-child{border-right:0}.engine-tab span{color:#5e5765;margin-right:10px;font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace}.engine-tab.is-active{color:var(--theme-text);background:linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 14%, transparent), color-mix(in srgb, var(--theme-accent) 3%, transparent));box-shadow:inset 0 -2px var(--theme-accent)}.engine-tab:hover:not(.is-active){color:#b0a6b7;background:#ffffff05}.stage-frame{background:linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff05 1px, transparent 1px), radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--theme-accent) 12%, transparent), transparent 45%), var(--theme-stage);background-size:28px 28px,28px 28px,auto,auto;border:1px solid #312d36;border-radius:0 0 14px 14px;position:relative;overflow:hidden}.fullscreen-controls,.fullscreen-scrim{display:none}.fullscreen-icon-button{border:1px solid color-mix(in srgb, var(--theme-text) 18%, transparent);background:color-mix(in srgb, var(--theme-panel) 78%, transparent);width:46px;height:46px;color:color-mix(in srgb, var(--theme-text) 82%, var(--theme-page));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;border-radius:50%;padding:0;box-shadow:0 8px 30px #0000003d}.fullscreen-icon-button:hover,.fullscreen-icon-button:focus-visible{border-color:var(--theme-accent);color:var(--theme-text);outline:none}.menu-button{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.menu-button span{background:currentColor;border-radius:2px;width:18px;height:1.5px}.stage-toolbar{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;padding:15px 17px;display:flex;position:absolute;top:0;left:0;right:0}.status{color:#817985;letter-spacing:.04em;align-items:center;gap:9px;font:550 11px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.status i{width:6px;height:6px;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.stage-actions{pointer-events:auto;align-items:center;gap:7px;display:flex}#compact-mode-slot:empty{display:none}.mode-control.is-compact{grid-template-columns:auto 38px auto;gap:5px;margin-right:3px;font-size:9px}.mode-control.is-compact .mode-switch{width:38px;height:20px}.mode-control.is-compact .mode-track{padding:2px}.mode-control.is-compact .mode-track>span{width:14px;height:14px}.mode-control.is-compact .mode-switch input:checked+.mode-track>span{transform:translate(18px)}.stage-actions button{color:#99909f;cursor:pointer;background:#161419d1;border:1px solid #3a3440;border-radius:7px;padding:7px 10px;font-size:11px}.stage-actions button:hover{color:#e8dff0;border-color:#6f547f}.graph-stage{width:100%;height:clamp(470px,54vh,670px);min-height:420px;position:relative;overflow:hidden}.physics-canvas{touch-action:none;cursor:default;display:block}.physics-canvas.has-node-hover{cursor:grab}.physics-canvas.has-lesson-hover{cursor:pointer}.physics-canvas.is-dragging{cursor:grabbing}.drag-hint{color:#6d6672;pointer-events:none;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;bottom:16px;left:18px}.drag-hint span{color:var(--theme-accent);font-size:15px}.accessible-navigation{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.accessible-navigation.is-visible{z-index:18;clip-path:none;white-space:normal;border:1px solid color-mix(in srgb, var(--theme-accent) 38%, #39333f);background:color-mix(in srgb, var(--theme-panel) 97%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;flex-direction:column;width:min(330px,100vw - 36px);height:min(620px,100dvh - 112px);display:flex;position:fixed;top:82px;left:18px;overflow:hidden;box-shadow:0 25px 80px #00000085}.accessible-navigation>header{border-bottom:1px solid color-mix(in srgb, var(--theme-text) 9%, transparent);background:linear-gradient(110deg, color-mix(in srgb, var(--theme-accent) 12%, var(--theme-panel)), var(--theme-panel));flex:none;justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:13px 13px 13px 18px;display:none}.accessible-navigation.is-visible>header{display:flex}.accessible-navigation>header span{color:color-mix(in srgb, var(--theme-text) 46%, var(--theme-page));letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px;font:600 8px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.accessible-navigation>header h2{color:var(--theme-text);margin:0;font-size:17px;font-weight:520}.accessible-navigation>header button{background:color-mix(in srgb, var(--theme-panel) 80%, var(--theme-page));width:34px;height:34px;color:var(--theme-text);cursor:pointer;border:1px solid #453d4b;border-radius:8px;place-items:center;padding:0;font-size:20px;display:grid}.graph-tree{outline:none;min-height:0}.accessible-navigation.is-visible .graph-tree{scrollbar-color:color-mix(in srgb, var(--theme-accent) 55%, #3a3440) transparent;scrollbar-width:thin;flex:auto;padding:12px 10px;overflow:auto}.graph-tree [role=group]{margin-left:13px}.graph-tree-item{min-height:31px;color:color-mix(in srgb, var(--theme-text) 68%, var(--theme-page));text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:7px;padding:7px 9px 7px 24px;font-size:12px;line-height:1.25;position:relative;overflow:hidden}.graph-tree-item[aria-expanded]:before{color:var(--theme-accent);content:"▸";position:absolute;left:9px;transform:rotate(0)}.graph-tree-item[aria-expanded=true]:before{transform:rotate(90deg)}.graph-tree-item[aria-current=page]{font-weight:700}.graph-tree-item.is-active{border-color:color-mix(in srgb, var(--theme-accent) 62%, transparent);background:color-mix(in srgb, var(--theme-accent) 12%, transparent);color:var(--theme-text)}.accessible-center-node{border:1px solid color-mix(in srgb, var(--theme-accent) 38%, #39333f);background:color-mix(in srgb, var(--theme-accent) 8%, var(--theme-panel));color:var(--theme-text);cursor:pointer;border-radius:8px;margin:0 12px 12px;padding:10px 12px;font-size:11px;display:none}body[data-interaction-mode=mobile] .accessible-navigation.is-visible .accessible-center-node{display:block}.accessible-center-node:disabled{opacity:.38;cursor:default}.keyboard-feedback{z-index:5;border:1px solid color-mix(in srgb, var(--theme-accent) 34%, transparent);background:color-mix(in srgb, var(--theme-panel) 88%, transparent);pointer-events:none;border-radius:8px;max-width:min(60%,520px);padding:8px 11px;display:none;position:absolute;bottom:17px;right:18px;box-shadow:0 10px 28px #00000047}body.keyboard-navigation-active .keyboard-feedback{gap:2px;display:grid}.keyboard-feedback span{color:color-mix(in srgb, var(--theme-text) 45%, var(--theme-page));letter-spacing:.12em;text-transform:uppercase;font:600 8px ui-monospace,monospace}.keyboard-feedback strong{color:var(--theme-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:550;overflow:hidden}.engine-note{grid-template-columns:44px 1fr;align-items:start;gap:15px;padding:17px 7px 0;display:grid}.engine-note>span{color:#755a8f;padding-top:2px;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace}.engine-note h3{color:#aaa0b0;margin:0 0 6px;font-size:13px;font-weight:600}.engine-note p{color:#7f7784;max-width:76ch;margin:0 0 9px;font-size:12px;line-height:1.65}.engine-note ul{color:#746c79;gap:5px;max-width:100ch;margin:0;padding:0;font-size:11px;line-height:1.55;list-style:none;display:grid}.engine-note li{padding-left:14px;position:relative}.engine-note li:before{color:#755a8f;content:"·";position:absolute;left:0}.engine-note strong{color:#aaa0b0;font-weight:600}.control-panel{background:color-mix(in srgb, var(--theme-panel) 84%, transparent);border:1px solid #312d36;border-radius:14px;flex-direction:column;min-height:100%;padding:24px 25px;display:flex}.panel-heading>span,.observation>span{color:#7b7085;letter-spacing:.15em;text-transform:uppercase;font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace}.dashboard-section{border-top:1px solid #2e2a32;margin-top:24px;padding-top:24px}.dashboard-section h3{color:color-mix(in srgb, var(--theme-text) 78%, var(--theme-page));margin:0 0 16px;font-size:13px;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mode-control{color:color-mix(in srgb, var(--theme-text) 54%, var(--theme-page));grid-template-columns:1fr 54px 1fr;align-items:center;gap:11px;font-size:12px;display:grid}.mode-control>span:first-child{text-align:right}.mode-control>span:last-child{text-align:left}.mode-control>span.is-active{color:var(--theme-text)}.mode-switch{cursor:pointer;width:54px;height:28px;display:block;position:relative}.mode-switch input{opacity:0;cursor:pointer;position:absolute;inset:0}.mode-track{background:color-mix(in srgb, var(--theme-panel) 74%, var(--theme-page));border:1px solid #433b49;border-radius:999px;width:100%;height:100%;padding:3px;transition:border-color .16s,background .16s;display:block}.mode-track>span{background:color-mix(in srgb, var(--theme-accent) 72%, white);border-radius:50%;width:20px;height:20px;transition:transform .17s;display:block;transform:translate(0);box-shadow:0 0 0 1px #8d62ad,0 0 11px #b478e14d}.mode-switch input:checked+.mode-track{border-color:color-mix(in srgb, var(--theme-accent) 68%, #433b49);background:color-mix(in srgb, var(--theme-accent) 16%, var(--theme-panel))}.mode-switch input:checked+.mode-track>span{transform:translate(26px)}.mode-switch input:focus-visible+.mode-track{outline:2px solid color-mix(in srgb, var(--theme-accent) 80%, white);outline-offset:3px}.mode-section>small{color:#68616d;text-align:center;margin-top:10px;font-size:10px;display:block}.accessibility-option{min-height:34px;color:color-mix(in srgb, var(--theme-text) 70%, var(--theme-page));cursor:pointer;align-items:center;gap:10px;font-size:12px;display:flex}.accessibility-option input{width:17px;height:17px;accent-color:var(--theme-accent)}.accessibility-section>small{color:color-mix(in srgb, var(--theme-text) 38%, var(--theme-page));margin-top:9px;font-size:10px;line-height:1.5;display:block}body.motion-reduced .status i{animation:none}body.motion-reduced *,body.motion-reduced :before,body.motion-reduced :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.color-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.color-list label{min-width:0;color:color-mix(in srgb, var(--theme-text) 72%, var(--theme-page));justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.color-list input[type=color]{cursor:pointer;background:0 0;border:1px solid #433b49;border-radius:6px;flex:none;width:28px;height:24px;padding:2px}.theme-actions{gap:8px;margin-top:16px;display:flex}.theme-actions button{background:color-mix(in srgb, var(--theme-panel) 75%, var(--theme-page));min-height:34px;color:color-mix(in srgb, var(--theme-text) 78%, var(--theme-page));cursor:pointer;border:1px solid #433b49;border-radius:7px;padding:0 13px;font-size:11px}#theme-save-button{border-color:color-mix(in srgb, var(--theme-accent) 58%, #433b49);color:var(--theme-text)}.theme-actions button:hover,.theme-actions button:focus-visible{border-color:var(--theme-accent);outline:none}.save-with-tooltip{position:relative}.cookie-tooltip{z-index:8;background:color-mix(in srgb, var(--theme-panel) 92%, black);width:245px;color:color-mix(in srgb, var(--theme-text) 82%, var(--theme-page));opacity:0;pointer-events:none;border:1px solid #443b4b;border-radius:7px;padding:9px 10px;font-size:10px;line-height:1.45;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 9px);left:0;transform:translateY(4px);box-shadow:0 10px 30px #00000047}.save-with-tooltip:hover .cookie-tooltip,.save-with-tooltip:focus-within .cookie-tooltip{opacity:1;transform:translateY(0)}.panel-heading h2{letter-spacing:-.025em;margin:7px 0 0;font-size:22px;font-weight:470}.control-list{margin-top:0}.control{border-bottom:1px solid #2e2a32;margin:0 0 23px;padding:0 0 23px;display:block}.control-copy{color:#cfc7d5;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:13px;display:flex}.control output{color:var(--theme-accent);font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace}.control small{color:#68616d;margin-top:8px;font-size:10px;display:block}input[type=range]{--range-progress:50%;appearance:none;cursor:pointer;background:0 0;border:0;outline:0;width:100%;height:14px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--theme-accent) var(--range-progress), #3a3540 var(--range-progress));border-radius:999px;height:3px}input[type=range]::-moz-range-track{background:#3a3540;border-radius:999px;height:3px}input[type=range]::-moz-range-progress{background:var(--theme-accent);height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:color-mix(in srgb, var(--theme-accent) 72%, white);border:2px solid #18151c;border-radius:50%;width:14px;height:14px;margin-top:-5.5px;box-shadow:0 0 0 1px #8d62ad,0 0 11px #b478e159}input[type=range]::-moz-range-thumb{background:color-mix(in srgb, var(--theme-accent) 72%, white);border:2px solid #18151c;border-radius:50%;width:11px;height:11px}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #ae79e159}.observation{border-left:2px solid #76538d;margin-top:auto;padding:2px 0 2px 14px}.observation p{color:#857d8b;margin:8px 0 0;font-size:11px;line-height:1.55}body.fullscreen-view{background:var(--theme-stage);height:100dvh;overflow:hidden}body.fullscreen-view .lab-shell{width:100%;height:100dvh;margin:0;padding:0}body.fullscreen-view .lab-header,body.fullscreen-view .engine-switch,body.fullscreen-view .engine-note,body.fullscreen-view .stage-actions{display:none}body.fullscreen-view .workbench,body.fullscreen-view .stage-column,body.fullscreen-view .stage-frame{width:100%;height:100%}body.fullscreen-view .workbench{display:block}body.fullscreen-view .stage-frame{border:0;border-radius:0}body.fullscreen-view .graph-stage{height:100dvh;min-height:0}body.fullscreen-view .stage-toolbar{width:auto;padding:0;inset:auto auto 18px 18px}body.fullscreen-view .status{border:1px solid color-mix(in srgb, var(--theme-text) 12%, transparent);background:color-mix(in srgb, var(--theme-panel) 72%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:9px 12px}body.fullscreen-view .drag-hint{bottom:65px;left:24px}body.fullscreen-view .fullscreen-controls{z-index:12;pointer-events:none;justify-content:space-between;display:flex;position:fixed;top:18px;left:18px;right:18px}body.fullscreen-view .fullscreen-icon-button{pointer-events:auto}body.fullscreen-view .fullscreen-scrim{z-index:9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#0403067a;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}body.fullscreen-view .fullscreen-scrim[hidden]{display:none}body.fullscreen-view .control-panel{z-index:10;background:color-mix(in srgb, var(--theme-panel) 96%, transparent);border-width:0 0 0 1px;border-radius:0;width:min(370px,100% - 64px);height:100dvh;min-height:0;padding:80px 28px 30px;transition:transform .22s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-20px 0 60px #00000059}body.fullscreen-view .control-panel.is-open{transform:translate(0)}body.fullscreen-view.menu-open .menu-button{background:color-mix(in srgb, var(--theme-accent) 22%, var(--theme-panel))}.lesson-window{z-index:30;border:1px solid color-mix(in srgb, var(--theme-accent) 36%, #39333f);background:color-mix(in srgb, var(--theme-panel) 97%, transparent);width:min(560px,100vw - 32px);min-width:min(360px,100vw - 20px);max-width:min(900px,100vw - 20px);height:min(620px,100dvh - 32px);min-height:360px;max-height:calc(100dvh - 20px);box-shadow:0 28px 90px #00000085, 0 0 50px color-mix(in srgb, var(--theme-accent) 7%, transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:18px;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.lesson-window-resize{z-index:5;cursor:nwse-resize;touch-action:none;width:24px;height:24px;position:absolute;bottom:0;right:0}.lesson-window-resize:after{border-right:2px solid color-mix(in srgb, var(--theme-accent) 70%, transparent);border-bottom:2px solid color-mix(in srgb, var(--theme-accent) 70%, transparent);content:"";border-radius:0 0 3px;width:11px;height:11px;position:absolute;bottom:7px;right:7px}.lesson-window[hidden]{display:none}.lesson-window-header{border-bottom:1px solid color-mix(in srgb, var(--theme-text) 10%, transparent);background:linear-gradient(110deg, color-mix(in srgb, var(--theme-accent) 13%, var(--theme-panel)), var(--theme-panel));cursor:move;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;gap:18px;min-height:88px;padding:17px 18px 17px 23px;display:flex}.lesson-window.is-dragging .lesson-window-header{cursor:grabbing}.lesson-window-heading{min-width:0}.lesson-window-heading span{color:color-mix(in srgb, var(--theme-text) 50%, var(--theme-page));letter-spacing:.13em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-bottom:5px;font:600 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:block;overflow:hidden}.lesson-window-heading h2{color:var(--theme-text);letter-spacing:-.025em;margin:0;font-size:22px;font-weight:480}.lesson-window-nav{flex:none;gap:7px;display:flex}.lesson-window-nav button{background:color-mix(in srgb, var(--theme-panel) 80%, var(--theme-page));width:36px;height:36px;color:color-mix(in srgb, var(--theme-text) 78%, var(--theme-page));cursor:pointer;border:1px solid #453d4b;border-radius:9px;place-items:center;padding:0;font-size:11px;display:grid}#lesson-close{font-size:21px;font-weight:300}.lesson-window-nav button:hover,.lesson-window-nav button:focus-visible{border-color:var(--theme-accent);color:var(--theme-text);outline:none}.lesson-window-nav button:disabled{color:#514a56;cursor:default;border-color:#332e37}.lesson-window-content{min-height:0;color:color-mix(in srgb, var(--theme-text) 75%, var(--theme-page));scrollbar-color:color-mix(in srgb, var(--theme-accent) 55%, #3a3440) transparent;scrollbar-width:thin;padding:30px 34px 44px;overflow-y:auto}.lesson-window-content:focus{outline:none}.lesson-window-content .chapter-number{color:var(--theme-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 22px;font:600 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.lesson-window-content h3{color:var(--theme-text);letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(26px,4vw,38px);font-weight:420;line-height:1.1}.lesson-window-content h4{color:color-mix(in srgb, var(--theme-text) 90%, var(--theme-page));margin:32px 0 10px;font-size:15px;font-weight:600}.lesson-window-content p{max-width:70ch;margin:0 0 17px;font-size:14px;line-height:1.75}.inline-supplement-link{color:color-mix(in srgb, var(--theme-accent) 82%, var(--theme-text));text-decoration-line:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--theme-accent) 54%, transparent);text-decoration-color:color-mix(in srgb, var(--theme-accent) 54%, transparent);text-underline-offset:3px;font-weight:600;text-decoration-thickness:1px}.inline-supplement-link:hover,.inline-supplement-link:focus-visible{color:var(--theme-text);-webkit-text-decoration-color:var(--theme-accent);text-decoration-color:var(--theme-accent);outline:none}.lesson-window-content .chapter-note{border-left:2px solid var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 8%, transparent);color:color-mix(in srgb, var(--theme-text) 84%, var(--theme-page));border-radius:0 9px 9px 0;margin:28px 0;padding:16px 18px}.chapter-resources{border-top:1px solid color-mix(in srgb, var(--theme-text) 10%, transparent);flex-wrap:wrap;align-items:center;gap:8px;margin-top:32px;padding-top:20px;display:flex}.chapter-resources>span{width:100%;color:color-mix(in srgb, var(--theme-text) 48%, var(--theme-page));letter-spacing:.13em;text-transform:uppercase;margin-bottom:2px;font:600 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.chapter-resources a{border:1px solid color-mix(in srgb, var(--theme-accent) 34%, #39333f);background:color-mix(in srgb, var(--theme-accent) 7%, transparent);color:color-mix(in srgb, var(--theme-text) 82%, var(--theme-page));border-radius:8px;padding:8px 11px;font-size:12px;text-decoration:none}.chapter-resources a:hover,.chapter-resources a:focus-visible{border-color:var(--theme-accent);color:var(--theme-text);outline:none}.supplement-window{border:1px solid color-mix(in srgb, var(--theme-accent) 30%, #39333f);background:color-mix(in srgb, var(--theme-panel) 96%, transparent);width:min(340px,100vw - 24px);max-height:min(470px,100dvh - 24px);box-shadow:0 20px 65px #0000007a, 0 0 30px color-mix(in srgb, var(--theme-accent) 6%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.supplement-window:focus{outline:none}.supplement-window-header{border-bottom:1px solid color-mix(in srgb, var(--theme-text) 9%, transparent);background:linear-gradient(110deg, color-mix(in srgb, var(--theme-accent) 11%, var(--theme-panel)), var(--theme-panel));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:12px 12px 12px 17px;display:flex}.supplement-window.is-dragging .supplement-window-header{cursor:grabbing}.supplement-window-header span{color:color-mix(in srgb, var(--theme-text) 44%, var(--theme-page));letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px;font:600 8px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.supplement-window-header h3{color:var(--theme-text);margin:0;font-size:15px;font-weight:520}.supplement-window-header button{background:color-mix(in srgb, var(--theme-panel) 80%, var(--theme-page));width:32px;height:32px;color:color-mix(in srgb, var(--theme-text) 76%, var(--theme-page));cursor:pointer;border:1px solid #453d4b;border-radius:8px;flex:none;place-items:center;padding:0;font-size:19px;display:grid}.supplement-window-header button:hover,.supplement-window-header button:focus-visible{border-color:var(--theme-accent);color:var(--theme-text);outline:none}.supplement-window-content{min-height:0;color:color-mix(in srgb, var(--theme-text) 72%, var(--theme-page));scrollbar-color:color-mix(in srgb, var(--theme-accent) 55%, #3a3440) transparent;scrollbar-width:thin;padding:18px;overflow-y:auto}.supplement-window-content p{margin:0 0 13px;font-size:12px;line-height:1.65}.supplement-window-content p:last-child{margin-bottom:0}.supplement-window-content blockquote{border-left:2px solid var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 7%, transparent);color:color-mix(in srgb, var(--theme-text) 84%, var(--theme-page));margin:17px 0;padding:11px 13px;font-size:12px;line-height:1.55}.market-chart svg,.candle-example svg{width:100%;height:auto;display:block}.market-chart{border:1px solid color-mix(in srgb, var(--theme-text) 8%, transparent);background:color-mix(in srgb, var(--theme-page) 72%, var(--theme-panel));border-radius:10px;margin-bottom:15px;padding:9px}.chart-grid path{fill:none;stroke:color-mix(in srgb, var(--theme-text) 8%, transparent);stroke-width:1px}.chart-candles path{fill:none;stroke-width:2px}.chart-candles rect{stroke-width:1.5px}.chart-candles .is-up path,.chart-candles .is-up rect{fill:#40b887;stroke:#40b887}.chart-candles .is-down path,.chart-candles .is-down rect{fill:#e15f68;stroke:#e15f68}.market-chart .ema{fill:none;stroke-width:2.5px}.market-chart .ema-fast{stroke:#e3aa52}.market-chart .ema-slow{stroke:#7ab6ed}.ema-label{font:600 9px ui-monospace,monospace}.ema-label.fast{fill:#e3aa52}.ema-label.slow{fill:#7ab6ed}.candle-example{margin:0}.candle-example svg{border:1px solid color-mix(in srgb, var(--theme-text) 8%, transparent);background:color-mix(in srgb, var(--theme-page) 72%, var(--theme-panel));border-radius:10px;padding:10px}.candle-card path{fill:none;stroke-width:4px}.candle-card rect{stroke-width:3px}.candle-card text{text-anchor:middle;font:11px Inter,sans-serif}.candle-card.is-up path,.candle-card.is-up rect{fill:#40b88747;stroke:#40b887}.candle-card.is-up text{fill:#40b887}.candle-card.is-down path,.candle-card.is-down rect{fill:#e15f6847;stroke:#e15f68}.candle-card.is-down text{fill:#e15f68}.candle-example figcaption{color:color-mix(in srgb, var(--theme-text) 48%, var(--theme-page));margin-top:9px;font-size:10px;line-height:1.45}@media (width<=980px){.lab-shell{width:min(100% - 28px,820px);padding-top:28px}.lab-header{grid-template-columns:1fr;gap:24px}.intro{max-width:60ch}.workbench{grid-template-columns:1fr}.control-panel{min-height:auto}.control-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}.observation{margin-top:4px}}@media (width<=620px){.lab-shell{width:min(100% - 20px,520px);padding:22px 0 34px}h1{font-size:clamp(42px,15vw,66px)}.engine-tab{min-height:54px;font-size:11px}.engine-tab span{display:none}body:not(.fullscreen-view) .stage-toolbar{grid-template-columns:1fr;gap:8px;display:grid}body:not(.fullscreen-view) .stage-actions{flex-direction:row;justify-content:flex-end}.graph-stage{height:480px}.control-panel{padding:21px 19px}.control-list{grid-template-columns:1fr}.fullscreen-launch{width:100%;min-height:62px}body.fullscreen-view .control-list{grid-template-columns:1fr}body.fullscreen-view .control-panel{padding-left:20px;padding-right:20px}.lesson-window{border-radius:14px;width:calc(100vw - 20px);min-width:300px;height:min(680px,100dvh - 20px);min-height:320px}.lesson-window-header{min-height:78px;padding:13px 12px 13px 17px}.lesson-window-heading h2{font-size:18px}.lesson-window-nav{gap:4px}.lesson-window-nav button{width:32px;height:32px}.lesson-window-content{padding:25px 22px 36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
