:root{--bg-0:#07070c;--bg-1:#0e0e16;--bg-2:#161622;--bg-3:#1d1d2c;--line:#2a2a3a;--line-soft:#1d1d2c;--ink-0:#f4f1ea;--ink-1:#c9c5b9;--ink-2:#7a7669;--ink-3:#4a4740;--accent:#f4d27a;--accent-2:#e8a96a;--accent-3:#c98aff;--accent-4:#6affe8;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 48px #000000b3;--glass-bg:#0e0e16c7;--glass-border:#f4d27a24;--ease:cubic-bezier(.4, 0, .2, 1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--text-xs:10px;--text-sm:11px;--text-md:12px;--text-body:13px;--control-min:28px;--touch-min:44px;--duration-fast:.12s;--duration-normal:.2s;--focus-ring:2px solid var(--accent);--studio-panel-width:280px}*{box-sizing:border-box}html,body{background:var(--bg-0);height:100%;color:var(--ink-0);font-feature-settings:"tnum" 1, "ss01" 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}body{grid-template-rows:36px 1fr 32px;grid-template-columns:var(--studio-panel-width) 1fr;grid-template-areas:"header header""side canvas""footer footer";display:grid}body[data-layout=compact]{--studio-panel-width:220px;grid-template-rows:36px 1fr 24px;grid-template-columns:var(--studio-panel-width) 1fr;font-size:12px}body[data-layout=compact] header{gap:12px;padding:0 14px}body[data-layout=compact] .brand-sub,body[data-layout=compact] .kbd-hints{display:none}body[data-layout=compact] aside#panel{padding:8px 10px}body[data-layout=wide-canvas]{--studio-panel-width:clamp(250px, 20vw, 300px);grid-template-rows:36px 1fr;grid-template-columns:var(--studio-panel-width) 1fr;grid-template-areas:"header header""side canvas"}body[data-layout=wide-canvas] footer,body[data-layout=presentation] header,body[data-layout=presentation] #panel,body[data-layout=presentation] footer{display:none}body[data-layout=presentation] main{inset:0}.fs-exit-hint{-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink-1);letter-spacing:.04em;z-index:90;pointer-events:none;opacity:.9;background:#080810b8;align-items:center;gap:6px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:11px;display:none;position:fixed;top:14px;left:50%;transform:translate(-50%)}.fs-exit-hint kbd{background:var(--bg-3);border:1px solid var(--line);color:var(--ink-0);border-radius:4px;padding:1px 6px;font-family:inherit}body[data-layout=presentation] .fs-exit-hint{animation:6s ease-out forwards fs-hint-fade;display:inline-flex}@keyframes fs-hint-fade{0%,60%{opacity:.9}to{opacity:0}}body[data-layout=presentation] .fs-exit-hint:hover{opacity:.9;animation:none}header{background:linear-gradient(180deg, var(--bg-1), var(--bg-0));border-bottom:1px solid var(--line);grid-area:header;justify-content:space-between;align-items:center;gap:16px;padding:0 14px;display:flex;position:relative}header:after{content:"";background:linear-gradient(90deg, transparent, var(--glass-border), transparent);pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand{align-items:baseline;gap:12px;display:flex}.brand-mark{letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:11px}.brand-title{letter-spacing:.01em;background:linear-gradient(135deg, var(--ink-0), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:13px;font-weight:600}.brand-title-prefix{display:none}.brand-sub{color:var(--ink-2);max-width:480px;font-size:12px}.global-quality-control{z-index:900;align-items:center;gap:8px;display:flex;position:fixed;top:4px;right:10px}.global-quality-label{color:var(--ink-2);letter-spacing:.1em;text-transform:uppercase;font:8px JetBrains Mono,monospace}.global-quality-menu{min-width:64px;position:relative}.global-quality-menu>summary{border:1px solid var(--line);min-width:64px;min-height:28px;color:var(--accent);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--shadow-sm);background:#0e0e16f0;border-radius:5px;place-items:center;padding:4px 9px;font:9px JetBrains Mono,monospace;list-style:none;display:grid}.global-quality-menu>summary::-webkit-details-marker{display:none}.global-quality-menu>summary:hover,.global-quality-menu[open]>summary{border-color:var(--accent);background:var(--bg-2);color:var(--ink-0)}.global-quality-popover{border:1px solid var(--line);background:#08080efa;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:190px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0009}.global-quality-popover button{border:1px solid var(--line);background:var(--bg-1);min-width:0;min-height:30px;color:var(--ink-2);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:4px 3px;font:9px JetBrains Mono,monospace}.global-quality-popover button:hover{border-color:var(--accent);color:var(--ink-0)}.global-quality-popover button.on{border-color:var(--accent);background:var(--bg-2);color:var(--accent)}body.presentation-mode .global-quality-control{display:none}.tabs{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#00000040;flex-shrink:0;display:flex;position:relative;overflow:hidden}.tab{color:var(--ink-1);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .14s var(--ease), background .14s var(--ease);border:none;border-right:1px solid var(--line);white-space:nowrap;background:0 0;flex-shrink:0;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:500;position:relative}.tab:last-child{border-right:none}.tab:hover{color:var(--ink-0);background:var(--bg-2)}.tab.active{background:var(--accent);color:var(--bg-0);font-weight:600}.tab-more{color:var(--ink-2);font-style:italic;position:relative}.tab-more:hover{background:var(--bg-2)}.more-menu{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;flex-direction:column;gap:2px;min-width:160px;margin-top:6px;padding:6px;display:flex;position:absolute;top:100%;right:0}.more-menu.hidden{display:none}.more-item{color:var(--ink-1);letter-spacing:.04em;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:none;padding:7px 12px;font-family:JetBrains Mono,monospace;font-size:11px}.more-item:hover{background:var(--bg-3);color:var(--ink-0)}.save-bar{gap:4px;margin-bottom:12px;display:flex}.save-bar button{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-1);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease), transform .12s var(--ease);flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.save-bar button:hover{background:var(--bg-3);color:var(--ink-0);border-color:var(--accent)}.save-bar button:active{transform:translateY(1px)}.save-bar .share-btn:hover{color:var(--accent)}.save-bar .reset-btn:hover{color:#ff7f6e}.save-bar .surprise-btn:hover{color:#ff9550;background:var(--bg-3);border-color:#ff9550}.saved-toast{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius-lg);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;opacity:0;transition:opacity .22s var(--ease), transform .22s var(--ease);z-index:100;box-shadow:var(--shadow-md), 0 0 24px #f4d27a26;padding:10px 22px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;position:fixed;bottom:48px;left:50%;transform:translate(-50%,20px)}.saved-toast.visible{opacity:1;transform:translate(-50%)}.more-item.active{background:var(--accent);color:var(--bg-0)}.kbd-hints{color:var(--ink-2);letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:10px}kbd{color:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:inherit;background:var(--bg-2);border-bottom-width:2px;margin:0 2px;padding:1px 6px}@media (width<=1180px){.brand-sub{display:none}}@media (width<=980px){.kbd-hints{display:none}}aside#panel{background:linear-gradient(180deg, var(--bg-1), var(--bg-0));border-right:1px solid var(--line);flex-direction:column;grid-area:side;padding:0;display:flex;overflow:hidden}aside#panel h3{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:18px 0 8px;font-size:10px;font-weight:600}aside#panel h3:first-child{margin-top:0}.field{margin-bottom:10px}.field-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.field-label{color:var(--ink-1);letter-spacing:.02em;font-size:11px}.field-value{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:10px}select{background:var(--bg-2);width:100%;color:var(--ink-0);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .14s var(--ease);padding:6px 8px;font-family:inherit;font-size:11px}select:hover{border-color:var(--ink-3)}.swatches{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.swatch{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:transform .12s var(--ease), border-color .12s var(--ease);border:1px solid #0000}.swatch:hover{transform:scale(1.1)}.swatch.active{border-color:var(--ink-0)}.seg{border:1px solid var(--line);border-radius:var(--radius-sm);background:#0003;display:flex;overflow:hidden}.seg button{min-height:var(--control-min);color:var(--ink-1);border:none;border-right:1px solid var(--line);padding:6px var(--space-1);font-size:var(--text-xs);letter-spacing:.04em;cursor:pointer;transition:all .12s var(--ease);text-transform:uppercase;background:0 0;flex:1;font-family:inherit;font-weight:500}.seg button:last-child{border-right:none}.seg button:hover{background:var(--bg-2);color:var(--ink-0)}.seg button.on{background:var(--accent);color:var(--bg-0);font-weight:600}.meta{color:var(--ink-2);background:var(--bg-0);border-radius:var(--radius-sm);border:1px solid var(--line-soft);margin-top:4px;padding:8px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.6}.meta b{color:var(--ink-1);font-weight:500}main{background:var(--bg-0);grid-area:canvas;min-height:0;position:relative;overflow:hidden}#canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}#canvas:focus-visible{outline:var(--focus-ring);outline-offset:-4px}.ov{pointer-events:none;color:var(--ink-2);letter-spacing:.04em;z-index:2;text-shadow:0 1px 4px #000c;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.6;position:absolute}.ov-tl{top:16px;left:16px}.ov-tr{text-align:right;top:16px;right:16px}.ov-bl{bottom:16px;left:16px}.ov-br{text-align:right;bottom:16px;right:16px}.ov b{color:var(--ink-1);font-weight:500}.tooltip{pointer-events:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-1);letter-spacing:.04em;white-space:normal;overflow-wrap:anywhere;opacity:0;width:max-content;max-width:min(320px,100% - 20px);transition:opacity .12s var(--ease);z-index:10;box-shadow:var(--shadow-md);padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.6;position:absolute}.tooltip.visible{opacity:1}.tooltip b{color:var(--accent);font-weight:500}.tooltip .ttip-head{color:var(--ink-0);border-bottom:1px solid var(--line-soft);margin-bottom:4px;padding-bottom:4px;font-size:11px;font-weight:500}.tooltip .ttip-coords{color:var(--accent-4);font-feature-settings:"tnum" 1;white-space:normal;overflow-wrap:anywhere;font-size:9px}footer{background:var(--bg-1);border-top:1px solid var(--line);color:var(--ink-2);letter-spacing:.04em;grid-area:footer;justify-content:space-between;align-items:center;padding:0 20px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.command-palette{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#00000080;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.command-palette.hidden{display:none}.cmd-box{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(18px);width:min(520px,100vw - 28px);box-shadow:var(--shadow-lg);grid-template-columns:1fr;gap:8px;padding:14px;display:grid}.cmd-search{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);width:100%;min-height:38px;color:var(--ink-0);font:inherit;transition:border-color .14s var(--ease);padding:8px 12px}.cmd-search:focus{border-color:var(--accent)}.cmd-list{gap:5px;max-height:min(56vh,520px);display:grid;overflow-y:auto}.cmd-list button{text-align:left;border-radius:var(--radius-sm);min-height:34px;color:var(--ink-1);font:inherit;cursor:pointer;transition:background .1s var(--ease), border-color .1s var(--ease);background:0 0;border:1px solid #0000;padding:8px 12px}.cmd-list button:hover,.cmd-list button.cmd-active{background:var(--bg-2);border-color:var(--accent);color:var(--ink-0)}.cmd-empty{color:var(--ink-2);padding:12px 4px}.cmd-close{justify-self:end;width:32px;text-align:center!important}.perf-overlay{z-index:80;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);color:var(--ink-1);pointer-events:none;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.5;position:fixed;bottom:44px;right:16px}.perf-overlay.hidden{display:none}.inspector-grid{color:var(--ink-1);grid-template-columns:auto 1fr;gap:3px 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:grid}.inspector-grid b{color:var(--accent);font-weight:500}.compare-legend{color:var(--ink-2);gap:4px;margin-top:6px;font-size:10px;display:grid}.compare-dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}body.presentation-mode header,body.presentation-mode #panel,body.presentation-mode footer{display:none}body.presentation-mode main{inset:0}body.teaching-mode .ov{font-size:13px;line-height:1.45}.desktop-controls-toggle,.desktop-controls-close,.desktop-controls-backdrop{display:none}body.desktop-touch-shell,body.desktop-touch-shell[data-layout=compact],body.desktop-touch-shell[data-layout=wide-canvas]{grid-template:"canvas"1fr/1fr;overflow:hidden}body.desktop-touch-shell header,body.desktop-touch-shell footer{display:none}body.desktop-touch-shell .ov-tl{top:calc(var(--desktop-touch-vv-top,0px) + max(29px, calc(env(safe-area-inset-top) + 15px)));left:calc(var(--desktop-touch-vv-left,0px) + max(76px, calc(env(safe-area-inset-left) + 72px)));max-width:max(120px, calc(var(--desktop-touch-vw,100vw) - 190px));text-overflow:ellipsis;position:fixed;overflow:hidden}body.desktop-touch-shell .ov-tl .ov-touch-detail{display:none}body.desktop-touch-shell main{grid-area:canvas;width:100vw;min-height:100vh;overflow:hidden}body.desktop-touch-shell .desktop-controls-toggle{left:calc(var(--desktop-touch-vv-left,0px) + max(14px, env(safe-area-inset-left)));top:calc(var(--desktop-touch-vv-top,0px) + max(14px, env(safe-area-inset-top)));z-index:1650;border:1px solid var(--line);width:46px;min-width:46px;min-height:44px;color:var(--ink-0);box-shadow:var(--shadow-lg);letter-spacing:0;pointer-events:auto;touch-action:manipulation;background:#0e0e16e6;border-radius:18px;justify-content:center;align-items:center;padding:0;font:700 14px/1 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:inline-flex;position:fixed}body.desktop-touch-shell .global-quality-control{z-index:1650;top:calc(var(--desktop-touch-vv-top,0px) + max(58px, calc(env(safe-area-inset-top) + 50px)));right:auto;left:calc(var(--desktop-touch-vv-left,0px) + var(--desktop-touch-vw,100vw) - 72px - max(14px, env(safe-area-inset-right)));gap:0}body.desktop-touch-shell .global-quality-label{display:none}body.desktop-touch-shell .global-quality-menu{min-width:72px}body.desktop-touch-shell .global-quality-menu>summary{touch-action:manipulation;border-radius:18px;min-width:72px;min-height:44px;padding:8px 10px;font-size:10px}body.desktop-touch-shell .global-quality-popover{gap:6px;width:min(270px,100vw - 28px);padding:8px}body.desktop-touch-shell .global-quality-popover button{touch-action:manipulation;min-height:48px;font-size:10px}body.desktop-touch-shell .ov-tr{top:calc(var(--desktop-touch-vv-top,0px) + max(14px, calc(env(safe-area-inset-top) + 8px)));right:auto;left:calc(var(--desktop-touch-vv-left,0px) + var(--desktop-touch-vw,100vw) - max(16px, env(safe-area-inset-right)));width:max-content;max-width:max(132px, calc(var(--desktop-touch-vw,100vw) - 190px));position:fixed;transform:translate(-100%)}body.desktop-touch-shell .ov-bl{left:calc(var(--desktop-touch-vv-left,0px) + max(16px, env(safe-area-inset-left)));top:calc(var(--desktop-touch-vv-top,0px) + var(--desktop-touch-vh,100vh) - max(16px, env(safe-area-inset-bottom)));position:fixed;bottom:auto;transform:translateY(-100%)}body.desktop-touch-shell .ov-br{bottom:auto;right:auto;left:calc(var(--desktop-touch-vv-left,0px) + var(--desktop-touch-vw,100vw) - 76px - max(16px, env(safe-area-inset-right)));top:calc(var(--desktop-touch-vv-top,0px) + var(--desktop-touch-vh,100vh) - max(16px, env(safe-area-inset-bottom)));position:fixed;transform:translate(-100%,-100%)}body.desktop-touch-shell.desktop-controls-open .global-quality-control{display:none}body.desktop-touch-shell .desktop-controls-toggle:before{content:"";background:currentColor;border-radius:999px;width:18px;height:2px;display:block;box-shadow:0 -6px,0 6px}body.desktop-touch-shell.desktop-controls-open .desktop-controls-toggle{display:none}body.desktop-touch-shell.desktop-controls-open .desktop-controls-close{left:calc(var(--desktop-touch-vv-left,0px) + max(14px, env(safe-area-inset-left)));top:calc(var(--desktop-touch-vv-top,0px) + max(14px, env(safe-area-inset-top)));z-index:1700;border:1px solid var(--line);width:46px;min-width:46px;min-height:44px;color:var(--ink-0);box-shadow:var(--shadow-lg);letter-spacing:0;pointer-events:auto;touch-action:manipulation;background:#0e0e16f2;border-radius:17px;justify-content:center;align-items:center;padding:0;font:700 14px/1 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:inline-flex;position:fixed}body.desktop-touch-shell.desktop-controls-open .desktop-controls-close:before,body.desktop-touch-shell.desktop-controls-open .desktop-controls-close:after{content:"";background:currentColor;border-radius:999px;width:18px;height:2px;position:absolute}body.desktop-touch-shell.desktop-controls-open .desktop-controls-close:before{transform:rotate(45deg)}body.desktop-touch-shell.desktop-controls-open .desktop-controls-close:after{transform:rotate(-45deg)}body.desktop-touch-shell .desktop-controls-backdrop{inset:auto;left:var(--desktop-touch-vv-left,0px);top:var(--desktop-touch-vv-top,0px);z-index:1540;width:var(--desktop-touch-vw,100vw);height:var(--desktop-touch-vh,100vh);opacity:0;pointer-events:none;transition:opacity .16s var(--ease);background:#00000075;border:0;padding:0;display:block;position:fixed}body.desktop-touch-shell.desktop-controls-open .desktop-controls-backdrop{opacity:1;pointer-events:auto}body.desktop-touch-shell #panel,body.desktop-touch-shell[data-layout=presentation] #panel,body.desktop-touch-shell.presentation-mode #panel{inset:auto;left:var(--desktop-touch-vv-left,0px);top:var(--desktop-touch-vv-top,0px);z-index:1600;width:var(--desktop-touch-vw,min(480px, 100vw));height:var(--desktop-touch-vh,100vh);max-height:var(--desktop-touch-vh,100vh);border-right:1px solid var(--line);background:var(--bg-1);box-shadow:var(--shadow-lg);transition:transform .18s var(--ease);padding:0;font-size:15px;position:fixed;transform:translate(-105%);display:flex!important}body.desktop-touch-shell.desktop-controls-open #panel{transform:translate(0)}body.desktop-touch-shell #panel .ps-status{min-height:72px;padding:12px 14px 12px 116px;font-size:11px}body.desktop-touch-shell #panel .ps-scroll{padding:14px 14px 18px}body.desktop-touch-shell #panel .ps-title{margin-bottom:12px;font-size:17px}body.desktop-touch-shell #panel .ps-subtitle,body.desktop-touch-shell #panel .control-label,body.desktop-touch-shell #panel .control-value,body.desktop-touch-shell #panel .info-box,body.desktop-touch-shell #panel .learn-progress{font-size:13px}body.desktop-touch-shell #panel button,body.desktop-touch-shell #panel select,body.desktop-touch-shell #panel input{min-height:44px;font-size:14px}body.desktop-touch-shell #panel .seg{gap:8px}body.desktop-touch-shell #panel .seg button,body.desktop-touch-shell #panel .shape-pill{padding:9px 11px}body.desktop-touch-shell #panel .control-row{gap:10px;margin-bottom:12px}body.desktop-touch-shell #panel input[type=range]{height:6px}body.desktop-touch-shell #panel input[type=range]::-webkit-slider-thumb{width:24px;height:24px}body.desktop-touch-shell #panel .panel-footer{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}body.desktop-touch-shell #panel .panel-footer button{min-height:44px}body.desktop-touch-shell #panel pre,body.desktop-touch-shell #panel small{font-size:11px!important}.status-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;margin-right:6px;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}input[type=range]{appearance:none;background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--fill,50%), var(--bg-3) var(--fill,50%), var(--bg-3) 100%);cursor:pointer;border-radius:2px;outline:none;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ink-0);border:2px solid var(--accent);cursor:pointer;width:14px;height:14px;transition:transform .12s var(--ease), box-shadow .12s var(--ease);border-radius:50%;box-shadow:0 1px 4px #00000080}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 4px #f4d27a2e}input[type=range]::-moz-range-thumb{background:var(--ink-0);border:2px solid var(--accent);cursor:pointer;border-radius:50%;width:14px;height:14px}input[type=range]::-moz-range-track{background:var(--bg-3);border-radius:2px;height:4px}.lil-gui.root{--background-color:var(--bg-1);--text-color:var(--ink-1);--title-background-color:var(--bg-2);--title-text-color:var(--ink-0);--widget-color:var(--bg-2);--hover-color:var(--bg-3);--focus-color:var(--accent);--number-color:var(--accent);--string-color:var(--accent-3);--font-size:11px;--input-font-size:11px;--font-family:"Inter", sans-serif;--font-family-mono:"JetBrains Mono", monospace;--widget-height:22px;--padding:8px;--spacing:4px;--slider-knob-width:4px;--slider-input-width:28%;--color-input-width:28%;--slider-input-min-width:40px;--color-input-min-width:40px;--folder-indent:8px;--widget-padding:0 0 0 4px;--widget-border-radius:3px;--checkbox-size:calc(.75 * var(--widget-height));--scrollbar-width:4px;border-radius:var(--radius-md);border:1px solid var(--line)!important}.render-fallback,.learning-modal{z-index:1750;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);background:#0000008f;place-items:center;display:grid;position:fixed;inset:0}.render-fallback.hidden,.learning-modal.hidden{display:none}.fallback-card,.learning-dialog{border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:min(520px,100vw - 32px);max-height:min(760px,100vh - 32px);box-shadow:var(--shadow-lg);background:#0e0e16f0;overflow:auto}.fallback-card{text-align:center;justify-items:center;gap:18px;padding:28px;display:grid}.fallback-mark{aspect-ratio:1;border:2px solid #f4d27ab8;border-radius:50%;width:148px;position:relative}.fallback-mark:before,.fallback-mark:after{content:"";border:2px solid #f4d27a7a;border-radius:50%;position:absolute;inset:18%}.fallback-mark:after{inset:36%}.fallback-mark span{background:var(--accent-4);transform-origin:50%;opacity:.85;width:3px;height:86%;position:absolute;top:7%;left:50%}.fallback-mark span:nth-child(2){transform:rotate(45deg)}.fallback-mark span:nth-child(3){transform:rotate(90deg)}.fallback-mark span:nth-child(4){transform:rotate(135deg)}.fallback-copy strong{color:var(--ink-0);margin-bottom:6px;font-size:18px;display:block}.fallback-copy p,.modal-copy,.modal-small{color:var(--ink-1)}.fallback-actions,.modal-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.fallback-actions button,.modal-actions button{min-height:42px;padding:8px 14px}.learning-dialog{padding:22px;position:relative}.learning-dialog.learning-center-dialog{width:min(1080px,100vw - 32px);height:min(820px,100dvh - 32px);max-height:none;padding:0;overflow:hidden}.learning-center-shell{grid-template-columns:minmax(240px,.31fr) minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.learning-center-nav{overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid var(--line);background:var(--bg-1);min-height:0;padding:0 14px 22px;overflow:auto}.learning-center-nav,.learning-center-content{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 48%, var(--line)) transparent}.learning-center-nav::-webkit-scrollbar{width:8px}.learning-center-content::-webkit-scrollbar{width:8px}.learning-center-nav::-webkit-scrollbar-track{background:0 0}.learning-center-content::-webkit-scrollbar-track{background:0 0}.learning-center-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 48%, var(--line));background-clip:padding-box;border:2px solid #0000;border-radius:99px}.learning-center-content::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 48%, var(--line));background-clip:padding-box;border:2px solid #0000;border-radius:99px}.learning-nav-header{z-index:2;margin:0 -14px var(--space-4);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-1) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:22px 18px 15px;position:sticky;top:0}.learning-progress-summary{color:var(--ink-2);font-size:var(--text-xs);align-items:baseline;gap:5px;margin:8px 0 9px;display:flex}.learning-progress-summary strong{color:var(--ink-0);font:600 18px JetBrains Mono,monospace}.learning-progress-summary span{flex:1}.learning-progress-summary em{color:var(--accent);font:10px JetBrains Mono,monospace}.learning-overall-progress{background:var(--bg-3);border-radius:99px;height:4px;overflow:hidden}.learning-overall-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-4));height:100%;display:block}.learning-path{margin-bottom:var(--space-3)}.learning-path-title{margin:0 var(--space-1) var(--space-1);color:var(--ink-2);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.learning-path-title small{color:var(--ink-3);font-size:9px}.learning-path.active .learning-path-title{color:var(--accent)}.learning-lesson-link{border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--ink-1);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:6px;padding:8px;display:flex}.learning-lesson-copy{align-items:center;gap:8px;min-width:0;display:flex}.learning-lesson-copy>span:last-child{line-height:1.2}.learning-lesson-index{color:var(--ink-3);flex:0 0 22px;font:9px JetBrains Mono,monospace}.learning-lesson-link small{max-width:62px;color:var(--ink-3);text-align:right;text-transform:uppercase;font-size:8px;line-height:1.1}.learning-lesson-link:hover{background:var(--bg-2);border-color:var(--line)}.learning-lesson-link.active{background:var(--bg-3);border-color:var(--accent);color:var(--ink-0)}.learning-lesson-link.active .learning-lesson-index{color:var(--accent)}.learning-center-content{--learning-gutter:clamp(24px, 4vw, 46px);min-height:0;padding:30px var(--learning-gutter) 44px;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:smooth;overflow:auto}.learning-lesson-hero{margin:-30px calc(0px - var(--learning-gutter)) 20px;padding:28px var(--learning-gutter) 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--bg-0)), var(--bg-0) 58%);display:block}.learning-lesson-eyebrow{justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-lesson-eyebrow>span{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font:9px JetBrains Mono,monospace}.learning-lesson-hero h2{margin-top:8px;font-size:clamp(24px,3vw,34px);line-height:1.05}.learning-lesson-hero .modal-copy{max-width:680px;margin:0 0 14px;line-height:1.55}.learning-center-content h3{margin:var(--space-5) 0 var(--space-2);color:var(--ink-0);font-size:var(--text-md)}.learning-lesson-status{color:var(--ink-1);flex-wrap:wrap;gap:6px;font:9px/1.4 JetBrains Mono,monospace;display:flex}.learning-lesson-status span{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-2) 80%, transparent);border-radius:99px;padding:5px 8px}.learning-lesson-status span.is-complete{border-color:color-mix(in srgb, var(--good,#7df0b8) 48%, var(--line));color:var(--good,#7df0b8)}.learning-answer{margin:0 0 var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));border-radius:var(--radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 11%, var(--bg-1)), var(--bg-1));gap:10px;padding:clamp(18px,3vw,26px);display:grid}.learning-answer>span,.learning-check>div:first-child>span{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font:9px JetBrains Mono,monospace}.learning-answer p{color:var(--ink-0);margin:0;font-size:clamp(15px,2vw,18px);line-height:1.6}.learning-answer ul{color:var(--ink-1);font-size:var(--text-sm);gap:6px;margin:2px 0 0;padding-left:20px;line-height:1.5;display:grid}.learning-proof{margin:0 0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-1)}.learning-proof-header,.learning-more-header{min-height:48px;color:var(--ink-0);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-weight:700;display:flex}.learning-proof-header code{color:var(--accent-4);font-size:12px}.learning-proof>p{color:var(--ink-1);font-size:var(--text-sm);margin:0;padding:0 14px 12px;line-height:1.5}.learning-proof-table{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 14px 12px;overflow:hidden}.learning-proof-row{grid-template-columns:1fr .8fr 1.2fr;display:grid}.learning-proof-row span{border-top:1px solid var(--line);color:var(--ink-1);font-size:var(--text-xs);padding:7px 9px}.learning-proof-row span+span{border-left:1px solid var(--line)}.learning-proof-head span{background:var(--bg-2);color:var(--ink-2);text-transform:uppercase;border-top:0;font:9px JetBrains Mono,monospace}.learning-proof .learning-proof-boundary{border-left:2px solid var(--accent);background:var(--bg-2);margin:0 14px 14px;padding:9px 10px}.learning-prerequisite-grid,.learning-connection-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learning-prerequisite,.learning-connection-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-1);min-height:48px;color:var(--ink-1);text-align:left;padding:9px 11px}.learning-prerequisite.complete{border-color:color-mix(in srgb, var(--good,#7df0b8) 45%, var(--line))}.learning-prerequisite span,.learning-prerequisite small,.learning-connection-card span,.learning-connection-card small{display:block}.learning-prerequisite span,.learning-connection-card span{color:var(--ink-0);font-size:var(--text-sm)}.learning-prerequisite small,.learning-connection-card small{color:var(--ink-3);font-size:var(--text-xs);margin-top:3px}.learning-prerequisite:is(button):hover,.learning-connection-card:hover{border-color:var(--accent)}.learning-experiment{margin:var(--space-5) 0;border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-1) 88%, var(--accent) 12%);padding:16px}.learning-experiment-body{padding-top:4px}.learning-experiment-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.learning-experiment-header span,.learning-experiment-reflection>span,.learning-experiment-question>span,.learning-experiment-takeaway>span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font:9px JetBrains Mono,monospace;display:block}.learning-experiment-header h3{margin:2px 0 0}.learning-experiment-header>strong{color:var(--accent);font:600 18px JetBrains Mono,monospace}.learning-experiment-body>p{color:var(--ink-1);font-size:var(--text-sm);line-height:1.5}.learning-experiment-progress{background:var(--bg-3);border-radius:999px;height:5px;margin:12px 0;overflow:hidden}.learning-experiment-progress span{background:var(--accent);height:100%;transition:width .18s var(--ease);display:block}.learning-experiment-steps{gap:9px;display:grid}.learning-experiment-step{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-0);padding:11px}.learning-experiment-step.complete{border-color:color-mix(in srgb, var(--good,#7df0b8) 52%, var(--line))}.learning-experiment-step-head{grid-template-columns:22px 1fr auto;align-items:center;gap:8px;display:grid}.learning-experiment-step-head>span{border:1px solid var(--line);width:22px;height:22px;color:var(--accent);border-radius:50%;place-items:center;font:10px JetBrains Mono,monospace;display:grid}.learning-experiment-step-head strong{color:var(--ink-0);font-size:var(--text-sm)}.learning-experiment-step-head small{color:var(--ink-3);text-transform:uppercase;font-size:9px}.learning-experiment-step>p{color:var(--ink-1);font-size:var(--text-sm);margin:8px 0;line-height:1.45}.learning-experiment-question,.learning-experiment-takeaway,.learning-experiment-reflection{border-left:2px solid var(--accent);background:var(--bg-2);color:var(--ink-1);font-size:var(--text-sm);margin-top:8px;padding:9px;line-height:1.45}.learning-experiment-takeaway{border-left-color:var(--good,#7df0b8)}.learning-experiment-takeaway>span{color:var(--good,#7df0b8)}.learning-experiment-step-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.learning-experiment-step-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);min-height:38px;color:var(--ink-0)}.learning-experiment-step-actions button:hover{border-color:var(--accent)}.learning-experiment-step-actions button:first-child{border-color:color-mix(in srgb, var(--accent) 62%, var(--line));color:var(--accent)}.learning-experiment-coach{z-index:90;border:1px solid color-mix(in srgb, var(--accent) 60%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-0) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(370px,100vw - 280px);position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 18px 60px #0000006b}.experiment-coach-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 12px;display:flex}.experiment-coach-head span,.experiment-coach-head strong{display:block}.experiment-coach-head span{color:var(--accent);text-transform:uppercase;font:9px JetBrains Mono,monospace}.experiment-coach-head strong{color:var(--ink-0);margin-top:3px;font-size:12px}.experiment-coach-head button{min-width:30px;min-height:30px;padding:0}.experiment-coach-body{padding:12px}.experiment-coach-body>strong{color:var(--ink-0);font-size:13px}.experiment-coach-body>p{color:var(--ink-1);margin:6px 0 9px;font-size:11px;line-height:1.45}.experiment-question,.experiment-takeaway{border-left:2px solid var(--accent);background:var(--bg-2);color:var(--ink-1);padding:8px;font-size:10px;line-height:1.4}.experiment-takeaway{border-left-color:var(--good,#7df0b8);margin-top:7px}.experiment-question span,.experiment-takeaway span{color:var(--accent);text-transform:uppercase;margin-bottom:2px;font:8px JetBrains Mono,monospace;display:block}.experiment-takeaway span{color:var(--good,#7df0b8)}.experiment-coach-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 12px 12px;display:grid}.experiment-coach-actions button{min-width:0;min-height:36px;padding:5px;font-size:9px}.experiment-coach-actions button.complete{border-color:var(--good,#7df0b8);color:var(--good,#7df0b8)}.learning-objectives{gap:var(--space-2);color:var(--ink-1);font-size:var(--text-sm);margin:0;padding-left:20px;line-height:1.55;display:grid}.learning-activity{gap:var(--space-1);margin-top:var(--space-3);padding:var(--space-3);border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 8%, var(--bg-1));color:var(--ink-2);font-size:var(--text-sm);line-height:1.5;display:grid}.learning-activity strong{color:var(--accent)}.learning-primary-actions{margin-top:var(--space-3);justify-content:flex-start}.learning-primary-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-1);min-height:42px;color:var(--ink-0)}.learning-primary-actions button:hover{border-color:var(--accent);background:var(--bg-2)}.learning-primary-actions .learning-action-primary{border-color:var(--accent);background:var(--accent);color:var(--bg-0);font-weight:650}.learning-primary-actions .learning-action-primary:hover{filter:brightness(1.08)}.learning-primary-actions .learning-action-complete.is-complete{border-color:var(--good,#7df0b8);color:var(--good,#7df0b8)}.learning-check{margin:var(--space-5) 0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-1);justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.learning-check>div:first-child{gap:4px;display:grid}.learning-check>div:first-child strong{color:var(--ink-0);font-size:var(--text-sm)}.learning-check-actions{justify-content:flex-end}.learning-check-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);min-height:40px;color:var(--ink-0)}.learning-check-actions button:hover{border-color:var(--accent)}.learning-check-actions .learning-action-complete.is-complete{border-color:var(--good,#7df0b8);color:var(--good,#7df0b8)}.learning-more{margin:var(--space-4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.learning-more-header{color:var(--ink-2);padding-left:0;padding-right:0}.learning-more-body{padding:2px 0 var(--space-4)}.learning-claim-note{gap:var(--space-1);margin:var(--space-3) 0;padding:var(--space-3);border-left:3px solid var(--accent);background:var(--bg-2);color:var(--ink-2);font-size:var(--text-sm);display:grid}.learning-claim-note strong{color:var(--ink-0);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.essay-provenance{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--bg-2) 88%, transparent);color:var(--ink-3);gap:4px;margin:8px 0 10px;padding:8px;font-size:10px;line-height:1.4;display:grid}.essay-provenance strong{color:var(--ink-1);text-transform:uppercase;letter-spacing:.06em}.essay-provenance a{color:var(--accent)}.content-provenance{color:var(--ink-3);gap:3px;margin-top:8px;font-size:10px;line-height:1.4;display:grid}.content-provenance strong{color:var(--ink-1);text-transform:uppercase;letter-spacing:.06em}.content-provenance a{color:var(--accent)}.learning-resource-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learning-resource-card,.learning-source-card{gap:var(--space-1);min-height:54px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-1);color:var(--ink-0);text-align:left;text-decoration:none;display:grid}.learning-resource-card:hover,.learning-source-card:hover{border-color:var(--accent);background:var(--bg-2)}.learning-resource-card small,.learning-source-card small{color:var(--ink-2);font-size:var(--text-xs)}.learning-source-card em{color:var(--ink-2);font-size:var(--text-xs);font-style:normal;line-height:1.4}.learning-source-list{gap:var(--space-2);display:grid}.learning-lesson-nav{margin:calc(-1 * var(--space-3)) 0 var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.learning-lesson-nav-button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-2);min-width:0;min-height:58px;color:var(--ink-0);cursor:pointer;transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease), transform .12s var(--ease);padding:10px 12px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.2}.learning-lesson-nav-button:hover:not(:disabled){border-color:var(--accent);background:var(--bg-3);transform:translateY(-1px)}.learning-lesson-nav-finish{border-color:var(--accent);background:var(--accent);color:var(--bg-0)}.learning-lesson-nav-finish:hover{border-color:var(--ink-0);background:color-mix(in srgb, var(--accent) 88%, white)}.learning-lesson-nav-finish.is-complete{border-color:var(--good,#7df0b8);background:color-mix(in srgb, var(--good,#7df0b8) 18%, var(--bg-1));color:var(--good,#7df0b8)}.learning-lesson-nav-next:not(:disabled){border-color:color-mix(in srgb, var(--accent-4) 65%, var(--line));color:var(--accent-4)}.learning-lesson-nav-button:disabled{opacity:.42;cursor:default}@media (width<=720px){.learning-dialog.learning-center-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.learning-center-shell{flex-direction:column;min-height:0;display:flex}.learning-center-nav{border-right:0;border-bottom:1px solid var(--line);flex:0 0 188px}.learning-center-content{flex:auto;min-height:0;padding:20px 16px 34px;overflow:auto}.learning-lesson-hero{margin:-20px -16px 18px;padding:20px 16px 18px}.learning-resource-grid,.learning-prerequisite-grid,.learning-connection-grid{grid-template-columns:1fr}.learning-lesson-nav{gap:7px}.learning-lesson-nav-button{min-height:54px;padding-inline:6px;font-size:12px}.learning-experiment{padding:12px}.learning-check{flex-direction:column;align-items:stretch}.learning-check-actions{justify-content:flex-start}.learning-proof-row{grid-template-columns:.9fr .8fr 1.2fr}.learning-experiment-coach{width:calc(100vw - 20px);bottom:10px;right:10px}}.modal-close{z-index:8;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-1) 92%, transparent);width:34px;height:34px;color:var(--ink-1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:absolute;top:10px;right:10px;box-shadow:0 8px 24px #00000038}.modal-close:hover{border-color:var(--accent);color:var(--accent)}.modal-kicker{color:var(--accent-4);letter-spacing:.14em;text-transform:uppercase;font-size:10px}.learning-dialog h2{letter-spacing:0;margin:6px 36px 8px 0;font-size:22px}.quiz-form{gap:12px;margin:16px 0;display:grid}.quiz-question{border:1px solid var(--line);border-radius:var(--radius-md);margin:0;padding:12px}.quiz-question legend{color:var(--ink-0);padding:0 4px}.quiz-choice{min-height:38px;color:var(--ink-1);align-items:center;gap:8px;display:flex}.quiz-result{color:var(--ink-1)}.quiz-result ul{padding-left:18px}.quiz-result .right{color:var(--good,#7df0b8)}.quiz-result .miss{color:var(--warn,#ffd27a)}.glossary-search{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);width:100%;color:var(--ink-0);font:inherit;margin:12px 0 14px;padding:10px 12px;font-size:13px}.glossary-search:focus{border-color:var(--accent-4);outline:none}.glossary-group{margin-bottom:16px}.glossary-entry{border-bottom:1px solid var(--line);padding:10px 0}.glossary-entry:last-child{border-bottom:none}.glossary-term{color:var(--ink-0);font-size:13px;font-weight:600}.glossary-short{color:var(--ink-1);margin:3px 0 0;font-size:12px}.glossary-long{color:var(--ink-2);margin:6px 0 0;font-size:11px;line-height:1.5}.glossary-related-row{color:var(--ink-2);margin-top:6px;font-size:10px}.glossary-related{border:1px solid var(--line);color:var(--accent-4);cursor:pointer;background:0 0;border-radius:3px;margin:0 3px;padding:1px 6px;font-size:10px}.glossary-related:hover{border-color:var(--accent-4)}.glossary-focus{background:var(--bg-1,#ffffff0a);border-radius:var(--radius-md);margin:6px 0;padding:10px 12px}.biography-list{gap:12px;margin-top:12px;display:grid}.biography-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);padding:12px 14px}.biography-focus{border-color:var(--accent-4)}.biography-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.biography-name{color:var(--ink-0);font-size:14px;font-weight:600}.biography-dates{color:var(--ink-2);white-space:nowrap;font-size:10px}.biography-field{color:var(--accent-4);letter-spacing:.08em;text-transform:uppercase;margin:2px 0 6px;font-size:10px}.biography-blurb{color:var(--ink-1);font-size:12px;line-height:1.5}.cheat-grid{grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:14px;display:grid}@media (width<=720px){.cheat-grid{grid-template-columns:1fr;gap:14px}}.cheat-group{gap:4px;display:grid}.cheat-row{align-items:center;gap:10px;min-height:26px;display:flex}.cheat-key{border:1px solid var(--line);background:var(--bg-0);min-width:28px;color:var(--ink-0);text-align:center;border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.4;display:inline-block}.cheat-desc{color:var(--ink-1);font-size:12px}.timeline-list{gap:0;margin-top:14px;display:grid}.timeline-entry{border-top:1px solid var(--line);grid-template-columns:90px 1fr;gap:14px;padding:12px 0;display:grid}.timeline-entry:first-child{border-top:none}.timeline-year{color:var(--accent-4);text-align:right;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.timeline-title{color:var(--ink-0);margin-bottom:3px;font-size:13px;font-weight:500}.timeline-desc{color:var(--ink-1);font-size:11px;line-height:1.5}.proof-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);margin-bottom:16px;padding:14px 16px}.proof-title{color:var(--ink-0);margin-bottom:8px;font-size:14px;font-weight:600}.proof-copy{color:var(--ink-1);margin:0 0 10px;font-size:11px;line-height:1.55}.proof-faces button{font-size:11px}.proof-faces button.on{border-color:var(--accent);color:var(--accent)}.proof-count-row{color:var(--ink-1);align-items:center;gap:10px;margin:12px 0;font-size:11px;display:flex}.proof-count{flex:1}.proof-count-val{color:var(--accent);text-align:center;min-width:16px;font-family:JetBrains Mono,monospace;font-weight:600}.proof-sum-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:10px 0 6px;display:grid}.proof-sum-label{color:var(--ink-0);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.proof-bar{background:var(--bg-2);border-radius:5px;height:10px;position:relative;overflow:hidden}.proof-bar-fill{background:var(--good,#7df0b8);width:0%;height:100%;transition:width .2s var(--ease), background .2s var(--ease)}.proof-bar-limit{background:var(--warn,#ffd27a);width:2px;height:100%;position:absolute;top:0;right:0}.proof-limit-label{color:var(--ink-2);white-space:nowrap;font-size:9px}.proof-verdict{min-height:18px;margin-top:8px;font-size:12px}.proof-good{color:var(--good,#7df0b8);font-weight:500}.proof-bad{color:var(--warn,#ffd27a);font-weight:500}.proof-meh{color:var(--ink-2)}.proof-decomp{justify-content:center;align-items:center;gap:14px;margin:14px 0;display:flex}.decomp-term{flex-direction:column;align-items:center;gap:4px;display:flex}.decomp-num{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:28px;font-weight:600}.decomp-lbl{color:var(--ink-2);text-align:center;font-size:9px;line-height:1.3}.decomp-answer .decomp-num{color:var(--good,#7df0b8);font-size:34px}.decomp-plus,.decomp-eq{color:var(--ink-1);font-size:20px}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px;display:grid}.preset-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);color:var(--ink-1);cursor:pointer;text-align:left;transition:border-color .14s var(--ease), transform .14s var(--ease);flex-direction:column;gap:6px;padding:10px;display:flex}.preset-card:hover{border-color:var(--accent);transform:translateY(-2px)}.preset-card:active{transform:translateY(0)}.preset-swatch{border:1px solid var(--line);border-radius:4px;width:100%;height:48px;display:block;box-shadow:inset 0 -18px 22px #00000038}.preset-name{color:var(--ink-0);font-size:12px;font-weight:500}.preset-desc{color:var(--ink-2);font-size:var(--text-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.preset-meta{color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:10px}.preset-palette{color:var(--accent);text-transform:capitalize;font-family:JetBrains Mono,monospace;font-size:9px}.postcard-caption{color:var(--ink-1);gap:6px;margin:14px 0;display:grid}.postcard-caption textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);width:100%;min-height:92px;color:var(--ink-0);font:inherit;padding:10px}.unlock-strip,.learn-progress{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:10px;display:flex}.unlock-strip strong{color:var(--accent)}.quiz-grid,.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.quiz-card,.reward-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-1);min-height:56px;color:var(--ink-1);text-align:left;padding:9px}.quiz-card{cursor:pointer}.quiz-card span,.reward-card span:not(.reward-swatch){color:var(--ink-0);display:block}.quiz-card small,.reward-card small{color:var(--ink-2);margin-top:3px;font-size:9px;display:block}.quiz-card.passed,.reward-card.unlocked{border-color:#f4d27a9e}.reward-card.locked{opacity:.68}.reward-swatch{border-radius:999px;width:100%;height:10px;margin-bottom:7px;display:block}.curiosity-card{border-color:#6affe857}.panel-tabs{gap:var(--space-1);margin-bottom:var(--space-3);border-bottom:1px solid var(--line);padding-bottom:8px;display:flex}.panel-tab{border:1px solid var(--line);color:var(--ink-2);min-height:var(--control-min);padding:6px var(--space-1);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);background:0 0;flex:1}.panel-tab:hover{color:var(--ink-0);border-color:var(--accent)}.panel-tab.active{background:var(--accent);color:var(--bg-0);border-color:var(--accent)}.panel-status{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;grid-template-columns:1fr 1fr;gap:4px 8px;margin-bottom:10px;padding:8px 10px;font-size:10px;display:grid}.status-line{flex-direction:column;gap:1px;display:flex}.status-key{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.status-val{color:var(--ink-0);font-family:JetBrains Mono,monospace}.status-val .badge{border-radius:3px;margin-right:3px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:9px;display:inline-block}.status-val .badge.fx{color:#ffb450;background:#ffb45040}.status-val .badge.shift{color:#78c8ff;background:#78c8ff40}.status-val .badge.rot{color:#b4ffb4;background:#b4ffb440}.panel-body{padding:4px 0}.tab-section{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:10px}.tab-section:last-child{border-bottom:none}.control-row{align-items:center;gap:var(--space-2);min-height:var(--control-min);margin-bottom:6px;display:flex}.control-label{font-size:var(--text-sm);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;flex:0 0 70px}.control-row input[type=range]{flex:1;min-width:60px}.control-value{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--ink-1);text-align:right;flex:0 0 50px}.seg-wrap{flex-wrap:wrap}.slider-auto{border:1px solid var(--line);width:26px;height:26px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:50%;flex:0 0 26px;padding:0;font-size:13px;line-height:1;transition:color .15s,border-color .15s,background .15s}.slider-auto:hover{color:var(--ink-0);border-color:var(--accent)}.slider-auto.on{color:var(--bg-0);background:var(--accent);border-color:var(--accent);animation:3s linear infinite slider-auto-spin}@keyframes slider-auto-spin{to{transform:rotate(360deg)}}.card-row{flex-wrap:wrap;gap:6px;display:flex}.shape-card{background:var(--bg-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;flex-direction:column;flex:calc(50% - 3px);align-items:center;gap:4px;padding:10px 6px 8px;transition:all .14s;display:flex}.shape-card:hover{border-color:var(--accent);background:var(--bg-3)}.shape-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:#ffb4501f}.shape-icon{width:28px;height:28px;color:var(--ink-1);background:currentColor;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.shape-card.active .shape-icon{color:var(--accent)}.shape-name{color:var(--ink-0);font-size:11px;font-weight:500}.shape-card.active .shape-name{color:var(--accent)}.shape-meta{color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:9px}.card-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.swatch-grid .swatch{cursor:pointer;border:1px solid #0000;border-radius:3px;width:100%;height:26px;transition:transform .12s}.swatch-grid .swatch:hover{border-color:var(--ink-1);transform:scale(1.08)}.swatch-grid .swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.info-box{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);border-radius:4px;padding:8px 10px;font-size:11px;line-height:1.5}.info-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-bottom:4px;font-size:10px;display:block}.info-box b{color:var(--accent);font-weight:500}.class-row{align-items:center;gap:8px;padding:2px 0;font-size:11px;display:flex}.class-dot{border-radius:2px;width:10px;height:10px;display:inline-block}.class-label{flex:1}.class-size{color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:10px}.timeline{border:1px solid var(--line)}.panel-footer{border-top:1px solid var(--line);gap:4px;margin-top:12px;padding-top:10px;display:flex}.panel-footer button{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);cursor:pointer;border-radius:4px;flex:1;padding:6px;font-size:11px}.panel-footer button:hover{background:var(--bg-3);color:var(--ink-0);border-color:var(--accent)}.panel-shortcuts{color:var(--ink-2);flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:4px 8px;padding:6px 2px 0;font:8px/1.5 JetBrains Mono,monospace;display:flex}.panel-shortcuts span{white-space:nowrap}.panel-shortcuts kbd{color:var(--ink-1);font:inherit;background:0 0;border:0;padding:0}.seg-tiny button{padding:3px 5px;font-size:9px}.shape-icon[data-shape=tetrahedron]{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3 L22 21 L2 21 Z M12 3 L12 21 M2 21 L22 21' fill='black' stroke='none'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3 L22 21 L2 21 Z M12 3 L12 21 M2 21 L22 21' fill='black' stroke='none'/></svg>") 50%/contain no-repeat}.shape-icon[data-shape=cube]{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4 H20 V20 H4 Z M4 4 L8 8 L20 4 M4 20 L8 16 L20 20 M8 8 V16' fill='black' stroke='none'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4 H20 V20 H4 Z M4 4 L8 8 L20 4 M4 20 L8 16 L20 20 M8 8 V16' fill='black' stroke='none'/></svg>") 50%/contain no-repeat}.shape-icon[data-shape=octahedron]{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2 L22 12 L12 22 L2 12 Z M12 2 V22 M2 12 H22' fill='black' stroke='none'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2 L22 12 L12 22 L2 12 Z M12 2 V22 M2 12 H22' fill='black' stroke='none'/></svg>") 50%/contain no-repeat}.shape-icon[data-shape=icosahedron]{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3 L21 9 L18 21 L6 21 L3 9 Z M12 3 L6 21 M12 3 L18 21 M3 9 L18 21 M3 9 L6 21 M3 9 L21 9' fill='black' stroke='none'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3 L21 9 L18 21 L6 21 L3 9 Z M12 3 L6 21 M12 3 L18 21 M3 9 L18 21 M3 9 L6 21 M3 9 L21 9' fill='black' stroke='none'/></svg>") 50%/contain no-repeat}.shape-icon[data-shape=dodecahedron]{-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2 L22 9 L18 21 L6 21 L2 9 Z M2 9 L22 9 M22 9 L18 21 M18 21 L6 21 M6 21 L2 9 M12 2 L6 21 M12 2 L18 21' fill='black' stroke='none'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2 L22 9 L18 21 L6 21 L2 9 Z M2 9 L22 9 M22 9 L18 21 M18 21 L6 21 M6 21 L2 9 M12 2 L6 21 M12 2 L18 21' fill='black' stroke='none'/></svg>") 50%/contain no-repeat}.essay-host{z-index:100;pointer-events:none;width:340px;max-width:calc(100vw - 320px);position:fixed;bottom:44px;right:16px}.essay-host>*{pointer-events:auto}.essay-toggle{border:1px solid var(--line);background:var(--bg-2);width:36px;height:36px;color:var(--ink-1);cursor:pointer;border-radius:50%;margin-left:auto;font-size:16px;transition:all .14s;display:block}.essay-toggle:hover{color:var(--accent);border-color:var(--accent)}.essay-panel{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);border-radius:8px;padding:10px 14px 12px;font-size:11px;line-height:1.55;box-shadow:0 8px 32px #00000080}.essay-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.essay-close{border:1px solid var(--line);min-height:40px;color:var(--ink-1);cursor:pointer;background:0 0;border-radius:5px;padding:0 12px;font:600 10px JetBrains Mono,monospace}.essay-close:hover{color:var(--accent);border-color:var(--accent)}.essay-nav{align-items:center;gap:6px;display:flex}.essay-nav button{border:1px solid var(--line);color:var(--ink-1);cursor:pointer;background:0 0;border-radius:4px;width:22px;height:22px;font-size:12px}.essay-nav button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.essay-nav button:disabled{opacity:.3;cursor:not-allowed}.essay-counter{color:var(--ink-2);text-align:center;min-width:36px;font-family:JetBrains Mono,monospace;font-size:10px}.essay-title{color:var(--accent);margin-bottom:4px;font-size:12px;font-weight:500}.essay-selection{border-left:2px solid var(--accent);background:#ffffff09;margin:0 0 9px;padding:8px 9px}.essay-selection small{color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;display:block}.essay-selection strong{color:var(--ink-0);margin:2px 0;display:block}.essay-selection p{margin:0}.essay-body p{margin:0 0 8px}.essay-body p:last-child{margin-bottom:0}body.desktop-touch-shell .essay-host{bottom:auto;right:auto;left:calc(var(--desktop-touch-vv-left,0px) + var(--desktop-touch-vw,100vw) - 46px - max(14px, env(safe-area-inset-right)));top:calc(var(--desktop-touch-vv-top,0px) + var(--desktop-touch-vh,100vh) - 46px - max(14px, env(safe-area-inset-bottom)));z-index:1500;width:46px;max-width:none}body.desktop-touch-shell .essay-toggle{width:46px;height:46px;box-shadow:var(--shadow-lg);touch-action:manipulation;background:#0e0e16eb;font-size:18px}body.desktop-touch-shell .essay-host.is-open{top:calc(var(--desktop-touch-vv-top,0px) + max(70px, calc(env(safe-area-inset-top) + 62px)));bottom:auto;right:auto;left:calc(var(--desktop-touch-vv-left,0px) + max(12px, env(safe-area-inset-left)));width:calc(var(--desktop-touch-vw,100vw) - max(24px, calc(env(safe-area-inset-left) + env(safe-area-inset-right) + 24px)));height:calc(var(--desktop-touch-vh,100vh) - max(82px, calc(env(safe-area-inset-top) + env(safe-area-inset-bottom) + 74px)))}body.desktop-touch-shell .essay-panel{box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:16px;width:100%;height:100%;max-height:100%;padding:0 16px 20px;font-size:15px;line-height:1.65;overflow:hidden auto}body.desktop-touch-shell .essay-header{z-index:1;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-2) 96%, transparent);margin:0 -16px 14px;padding:12px 16px;position:sticky;top:0}body.desktop-touch-shell .essay-close,body.desktop-touch-shell .essay-nav button{touch-action:manipulation;min-height:44px;font-size:13px}body.desktop-touch-shell .essay-title{font-size:20px;line-height:1.25}body.desktop-touch-shell .essay-provenance{font-size:12px;line-height:1.5}.essay-term{color:var(--accent);text-underline-offset:2px;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.essay-term:hover,.essay-term:focus{background:var(--bg-1,#ffffff0f);text-decoration:underline}.essay-empty{color:var(--ink-2);text-align:center;font-style:italic}.panel-footer{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;position:relative}.panel-footer button,.panel-tools-menu>summary{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-width:0;padding:6px 8px;font-family:inherit;font-size:11px;list-style:none;transition:all .14s;display:flex}.panel-tools-menu>summary::-webkit-details-marker{display:none}.panel-footer button:hover,.panel-tools-menu>summary:hover,.panel-tools-menu[open]>summary{color:var(--accent);border-color:var(--accent);background:var(--bg-3)}.panel-tools-menu{min-width:0}.panel-tools-menu>summary{height:100%}.panel-tools-popover{z-index:40;border:1px solid var(--line);background:color-mix(in srgb, var(--bg-1) 94%, transparent);width:min(260px,100vw - 20px);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:7px;display:grid;position:absolute;bottom:calc(100% + 6px);right:0}.panel-tools-popover button:last-child{grid-column:1/-1}.panel-footer button.is-confirmed{color:#0b0910;background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.cartan-grid-wrap{font-size:10px}.cartan-roots{background:#0003;border-radius:4px;width:100%;height:70px;margin-bottom:6px;position:relative}.root-node{background:var(--bg-2);width:22px;height:22px;color:var(--ink-1);border:1px solid var(--line);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:10px;display:flex;position:absolute;transform:translate(-50%,-50%)}.root-node.on{background:var(--accent);color:#000;border-color:var(--accent)}.root-edge{width:100%;height:100%;color:var(--line);pointer-events:none;z-index:1;position:absolute}.cartan-info{color:var(--ink-1);background:#00000026;border-radius:3px;min-height:18px;margin-bottom:6px;padding:4px 6px;font-family:JetBrains Mono,monospace;font-size:10px}.cartan-matrix table{border-collapse:collapse;margin:0 auto;font-family:JetBrains Mono,monospace;font-size:10px}.cartan-matrix th,.cartan-matrix td{text-align:center;border:1px solid var(--line);color:var(--ink-2);min-width:16px;padding:2px 5px}.cartan-matrix th{color:var(--ink-1);background:#0003}.cartan-matrix td.on{background:var(--accent);color:#000;font-weight:700}.bracket-panel{font-size:10px}.bracket-header{justify-content:space-between;align-items:center;max-width:120px;margin-bottom:6px;margin-left:auto;margin-right:auto;display:flex}.bracket-header button{border:1px solid var(--line);color:var(--ink-1);cursor:pointer;background:0 0;border-radius:4px;width:22px;height:22px}.bracket-header button:hover{color:var(--accent);border-color:var(--accent)}.bracket-counter{color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:10px}.bracket-formula{text-align:center;background:#0003;border-radius:4px;margin-bottom:6px;padding:8px}.bracket-note{text-align:center;color:var(--ink-2);margin-bottom:8px;font-style:italic}.bracket-diagram{width:100%;max-width:200px;height:auto;margin:0 auto;display:block}.ps-scroll{flex:1;overflow-y:auto}.ps-scroll::-webkit-scrollbar{width:8px}.ps-scroll::-webkit-scrollbar-track{background:0 0}.ps-scroll::-webkit-scrollbar-thumb{background:var(--bg-3);border:2px solid var(--bg-1);border-radius:4px}.ps-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}.ps-status{background:linear-gradient(180deg, var(--bg-2), var(--bg-1));border-bottom:1px solid var(--line);color:var(--ink-2);margin-bottom:4px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:10px}.ps-status-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ps-status-key{color:var(--ink-1);text-transform:uppercase;letter-spacing:.04em}.ps-status-sep{color:var(--ink-3)}.ps-motion{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line);color:var(--ink-2);transition:color .2s var(--ease,ease), border-color .2s var(--ease,ease);border-radius:10px;padding:1px 7px;font-size:9px;font-weight:500;line-height:1.5}.ps-motion.is-idle{color:var(--ink-3)}.ps-motion.is-active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 8px #f4d27a40}.ps-motion.is-paused{color:var(--accent-2);border-color:var(--accent-2)}.ps-collapse-handle{display:none}.ps-mode-tabs{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0 10px 8px;display:grid}.ps-mode-tabs button{border:1px solid var(--line);background:var(--bg-1);min-height:29px;color:var(--ink-2);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;font:9px JetBrains Mono,monospace}.ps-mode-tabs button:hover{border-color:var(--accent);color:var(--ink-0)}.ps-mode-tabs button.on{border-color:var(--accent);background:var(--bg-2);color:var(--accent)}@keyframes ps-flash{0%{background:var(--bg-3)}to{background:0 0}}.ps-flash{animation:.8s ease-out ps-flash}.ps-section{border-bottom:1px solid var(--line-soft);padding:10px 14px 6px}.ps-section:last-child{border-bottom:none}.ps-title{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);align-items:center;gap:8px;margin-bottom:10px;padding-top:4px;font-size:9px;font-weight:600;display:flex}.ps-title:after{content:"";background:linear-gradient(90deg, var(--line), transparent);flex:1;height:1px}.ps-subtitle{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);margin:12px 0 6px;font-size:10px;font-weight:600}.ps-help{color:var(--ink-2);margin:4px 0 8px;font-size:9px;line-height:1.45}.primary-camera-controls{border-top:1px solid var(--line);margin-top:10px;padding-top:1px}.look-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:6px;display:grid}.look-card{border:1px solid var(--line);background:var(--bg-1);min-width:0;min-height:43px;color:var(--ink-1);cursor:pointer;text-align:left;border-radius:5px;padding:6px 7px;transition:border-color .15s,background .15s,transform .15s}.look-card:hover{border-color:var(--accent);transform:translateY(-1px)}.look-card.on{border-color:var(--accent);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--accent)}.look-card span,.look-card small{text-overflow:ellipsis;display:block;overflow:hidden}.look-card span{color:var(--ink-0);font-size:10px;font-weight:650}.look-card.on span{color:var(--accent)}.look-card small{color:var(--ink-2);white-space:nowrap;margin-top:2px;font-size:8px}.fx-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-bottom:7px;display:grid}.fx-catalog-item{border:1px solid var(--line);background:var(--bg-1);min-width:0;min-height:32px;color:var(--ink-1);cursor:pointer;border-radius:4px;padding:4px 5px}.fx-catalog-item span,.fx-catalog-item small{text-overflow:ellipsis;display:block;overflow:hidden}.fx-catalog-item span{white-space:nowrap;font-size:9px}.fx-catalog-item.on{border-color:var(--accent);color:var(--accent)}.fx-catalog-item.unavailable{cursor:not-allowed;opacity:.42}.fx-cost{letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font:7px JetBrains Mono,monospace}.fx-cost-low{color:#77d6a4}.fx-cost-medium{color:#e7bd66}.fx-cost-high{color:#ef8585}.ps-view-switch{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:8px;display:grid}.ps-view-switch button{grid-column:span 2;min-width:0;font-size:10px}.ps-view-switch button:last-child:nth-child(3n+1){grid-column:3/span 2}.ps-view-switch button:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}.ps-view-switch button:last-child:nth-child(3n+2){grid-column:4/span 2}.shape-row{gap:4px;margin-bottom:6px;display:flex}.shape-pill{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);min-height:var(--control-min);font-size:var(--text-xs);text-transform:uppercase;border-radius:var(--radius-sm,5px);cursor:pointer;transition:color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);flex:1;padding:7px 4px;font-family:JetBrains Mono,monospace;font-weight:500}.shape-pill:hover{border-color:var(--accent);background:var(--bg-3);transform:translateY(-1px)}.shape-pill.active{background:var(--accent);color:var(--bg-0);border-color:var(--accent);font-weight:600}.ps-phase{color:var(--accent);padding:2px 0 6px;font-family:JetBrains Mono,monospace;font-size:10px}.ps-section .control-row{margin-bottom:5px}.ps-section .control-label{flex:0 0 58px;font-size:10px}.ps-section .control-value{flex:0 0 36px;font-size:10px}.ps-section .seg{margin-bottom:4px}.ps-toggle-row{justify-content:space-between}.ps-toggle-button{border:1px solid var(--line);background:var(--bg-1);min-width:74px;min-height:28px;color:var(--ink-2);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:border-color .12s var(--ease), background .12s var(--ease), color .12s var(--ease);border-radius:4px;justify-content:center;align-items:center;gap:6px;margin-left:auto;padding:3px 7px;font:8px JetBrains Mono,monospace;display:inline-flex}.ps-toggle-button:hover{border-color:var(--accent);color:var(--ink-0)}.ps-toggle-button:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.ps-toggle-button.on{border-color:var(--accent);background:var(--bg-2);color:var(--accent)}.ps-toggle-track{border:1px solid var(--ink-3);width:28px;height:14px;transition:border-color .12s var(--ease), background .12s var(--ease);background:#ffffff0a;border-radius:999px;display:inline-block;position:relative}.ps-toggle-thumb{background:var(--ink-2);width:8px;height:8px;transition:transform .14s var(--ease), background .12s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.ps-toggle-button.on .ps-toggle-track{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent)}.ps-toggle-button.on .ps-toggle-thumb{background:var(--accent);transform:translate(14px)}.ps-section .swatch-grid{grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:6px;display:grid}.ps-section .swatch-grid .swatch{border-radius:3px;width:100%;height:20px}.palette-expand{border:1px dashed var(--line);width:100%;min-height:29px;color:var(--ink-1);cursor:pointer;background:0 0;border-radius:5px;margin:0 0 6px;font:9px JetBrains Mono,monospace}.palette-expand:hover,.palette-expand:focus-visible{border-color:var(--accent);color:var(--accent)}.control-disclosure{border:1px solid var(--line);background:var(--bg-1);border-radius:6px;margin:10px 0 5px;overflow:clip}.control-disclosure>summary{cursor:pointer;padding:8px 27px 8px 9px;list-style:none;position:relative}.control-disclosure>summary::-webkit-details-marker{display:none}.control-disclosure>summary:after{content:"+";color:var(--ink-2);font:14px JetBrains Mono,monospace;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.control-disclosure[open]>summary:after{content:"−";color:var(--accent)}.control-disclosure>summary span,.control-disclosure>summary small{display:block}.control-disclosure>summary span{color:var(--ink-0);font-size:10px;font-weight:650}.control-disclosure>summary small{color:var(--ink-2);margin-top:2px;font-size:8px}.control-disclosure[open]>summary{border-bottom:1px solid var(--line);background:var(--bg-2)}.control-disclosure-body{padding:0 8px 7px}.control-disclosure-body>.ps-subtitle:first-child{margin-top:8px}.learn-orientation p{margin:6px 0}.learn-orientation p:last-child{margin-bottom:0}.learn-equation{color:var(--accent-4);font-family:JetBrains Mono,monospace}.overlay-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.overlay-title button{border:1px solid var(--line);min-height:20px;color:var(--ink-2);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:999px;padding:2px 7px;font:8px JetBrains Mono,monospace}.overlay-title button:hover{border-color:var(--accent);color:var(--accent)}.overlay-group-label{color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;margin:5px 0 4px;font:8px JetBrains Mono,monospace}.overlay-structure-grid,.overlay-explorer-grid{gap:4px;margin-bottom:7px;display:grid}.overlay-structure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overlay-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overlay-option{border:1px solid var(--line);background:var(--bg-1);min-width:0;min-height:42px;color:var(--ink-1);cursor:pointer;text-align:left;border-radius:5px;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:5px;padding:5px 6px;transition:border-color .14s,background .14s,transform .14s;display:grid;position:relative}.overlay-option:hover{border-color:var(--accent);transform:translateY(-1px)}.overlay-option.on{border-color:var(--accent);background:var(--bg-2);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent)}.overlay-indicator{border:1px solid var(--ink-3);background:0 0;border-radius:50%;width:6px;height:6px}.overlay-option.on .overlay-indicator{border-color:var(--accent);background:var(--accent);box-shadow:0 0 6px color-mix(in srgb, var(--accent) 72%, transparent)}.overlay-copy,.overlay-copy strong,.overlay-copy small{min-width:0;display:block}.overlay-copy strong{color:var(--ink-0);text-overflow:ellipsis;font-size:9px;font-weight:600;line-height:1.15;overflow:hidden}.overlay-option.on .overlay-copy strong{color:var(--accent)}.overlay-copy small{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:7px;line-height:1.2;overflow:hidden}.overlay-structure-grid .overlay-option{text-align:center;grid-template-columns:1fr;min-height:39px;padding:5px}.overlay-structure-grid .overlay-indicator{width:5px;height:5px;position:absolute;top:4px;right:4px}.learn-fact-strip,.learn-progress-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:6px 0 8px;display:grid}.learn-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-fact-strip div,.learn-progress-stats div{border:1px solid var(--line-soft);background:var(--bg-1);text-align:center;border-radius:4px;min-width:0;padding:6px 3px}.learn-fact-strip strong,.learn-progress-stats strong{color:var(--accent);font:600 12px JetBrains Mono,monospace;display:block}.learn-fact-strip span,.learn-progress-stats span{color:var(--ink-2);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:2px;font-size:7px;display:block;overflow:hidden}.learning-center-launch{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-1));cursor:pointer;text-align:left;border-radius:5px;width:100%;min-height:58px;margin:0 0 12px;padding:10px 12px;display:block}.learning-center-launch:hover,.learning-center-launch:focus-visible{background:color-mix(in srgb, var(--accent) 19%, var(--bg-1));outline:1px solid var(--accent);outline-offset:2px}.learning-center-launch span,.learning-center-launch small{display:block}.learning-center-launch span{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font:700 11px JetBrains Mono,monospace}.learning-center-launch small{color:var(--ink-1);margin-top:5px;font-size:8px;line-height:1.35}.learn-path-grid{grid-template-columns:1fr;gap:5px;display:grid}.learn-path-card{border:1px solid var(--line);background:var(--bg-1);min-width:0;min-height:50px;color:var(--ink-1);cursor:pointer;text-align:left;border-radius:5px;padding:7px}.interactive-proofs-launch{border-color:color-mix(in srgb, var(--accent) 68%, var(--line));background:color-mix(in srgb, var(--accent) 9%, var(--bg-1));min-height:72px;padding:12px 14px}.interactive-proofs-launch:hover,.interactive-proofs-launch:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--bg-1));outline:1px solid var(--accent);outline-offset:2px}.interactive-proofs-launch span{font-size:12px;font-weight:700}.interactive-proofs-launch small{margin-top:5px;font-size:9px;line-height:1.4}body.desktop-touch-shell .interactive-proofs-launch{min-height:96px;padding:18px 14px}.learn-path-card.primary{border-color:color-mix(in srgb, var(--accent) 58%, var(--line));grid-column:1/-1}.learn-path-card:hover{border-color:var(--accent)}.learn-path-card span,.learn-path-card small{display:block}.learn-path-card span{color:var(--ink-0);font-size:10px;font-weight:650}.learn-path-card.primary span{color:var(--accent)}.learn-path-card small{color:var(--ink-2);margin-top:3px;font-size:8px;line-height:1.25}.learn-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:10px;display:grid}.learn-reference-grid button{border:1px solid var(--line);background:var(--bg-1);min-width:0;min-height:39px;color:var(--ink-1);cursor:pointer;border-radius:4px;padding:5px 3px}.learn-reference-grid button:hover{border-color:var(--accent)}.learn-reference-grid span,.learn-reference-grid small{display:block}.learn-reference-grid span{color:var(--ink-0);font-size:9px}.learn-reference-grid small{color:var(--ink-3);text-transform:uppercase;margin-top:2px;font-size:7px}.learn-disclosure{border:1px solid var(--line);background:var(--bg-1);border-radius:5px;margin:5px 0;overflow:clip}.learn-disclosure summary{cursor:pointer;padding:8px 25px 8px 9px;list-style:none;position:relative}.learn-disclosure summary::-webkit-details-marker{display:none}.learn-disclosure summary:after{content:"+";color:var(--ink-2);font:13px JetBrains Mono,monospace;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.learn-disclosure[open] summary:after{content:"−";color:var(--accent)}.learn-disclosure summary span,.learn-disclosure summary small{display:block}.learn-disclosure summary span{color:var(--ink-0);font-size:10px;font-weight:600}.learn-disclosure summary small{color:var(--ink-2);margin-top:2px;font-size:8px}.learn-disclosure[open] summary{border-bottom:1px solid var(--line);background:var(--bg-2)}.learn-disclosure-body{padding:8px}.learn-disclosure-body>.ps-subtitle:first-child{margin-top:3px}.learn-creative-card{margin-bottom:8px}.learn-code-card{border:1px solid var(--line);background:var(--bg-0);width:100%;color:var(--ink-1);cursor:pointer;text-align:left;border-radius:4px;margin-top:4px;padding:7px 8px;display:block}.learn-code-card:hover{border-color:var(--accent-4)}.learn-code-card span,.learn-code-card small{display:block}.learn-code-card span{color:var(--accent-4);font-size:9px}.learn-code-card small{color:var(--ink-2);margin-top:2px;font-size:8px;line-height:1.3}.learn-math-intro{margin-top:-3px}.palette-active-preview{border:1px solid var(--line);color:#fff;text-shadow:0 1px 3px #000;border-radius:5px;flex-direction:column;justify-content:flex-end;min-height:40px;margin:0 0 6px;padding:6px 8px;display:flex;box-shadow:inset 0 -22px 22px #00000047}.palette-active-preview span{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:650}.palette-active-preview small{opacity:.82;font-size:9px}.gallery-preview-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.gallery-nav{grid-template-columns:30px minmax(0,1fr) 30px;align-items:stretch;gap:4px;margin-bottom:5px;display:grid}.gallery-nav>button{border:1px solid var(--line);background:var(--bg-1);color:var(--ink-0);cursor:pointer;border-radius:4px;font-size:15px}.gallery-nav>button:hover{border-color:var(--accent);color:var(--accent)}.gallery-nav-current{border:1px solid var(--line);background:var(--bg-1);text-align:center;border-radius:4px;min-width:0;padding:4px 6px}.gallery-nav-current span,.gallery-nav-current small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.gallery-nav-current span{color:var(--ink-0);font-size:9px}.gallery-nav-current small{color:var(--ink-2);font:8px JetBrains Mono,monospace}.gallery-preview{border:1px solid var(--line);background:var(--bg-1);min-width:0;color:var(--ink-1);cursor:pointer;text-align:left;border-radius:4px;padding:3px;font:9px/1.2 inherit}.gallery-preview:hover,.gallery-preview.on{border-color:var(--accent);color:var(--ink-0)}.gallery-preview-swatch{border-radius:2px;height:17px;margin-bottom:3px;display:block}.gallery-browse{border:1px solid var(--line);width:100%;color:var(--ink-1);cursor:pointer;background:0 0;border-radius:4px;margin-top:4px;padding:5px;font:9px inherit}.gallery-browse:hover{border-color:var(--accent);color:var(--ink-0)}.cartan-scroll{margin-top:6px;overflow-x:auto}.dynkin-cartan{border-collapse:collapse;margin:0 auto}.dynkin-cartan td{border:1px solid var(--line);width:24px;height:24px;color:var(--ink-1);text-align:center;font:9px JetBrains Mono,monospace}.dynkin-cartan td:nth-child(n){background:color-mix(in srgb, var(--bg-2) 88%, transparent)}.root-lab-readout{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px;display:grid}.root-lab-readout>div{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 5%, transparent);border-radius:4px;justify-content:space-between;align-items:baseline;gap:6px;min-width:0;padding:7px 8px;display:flex}.root-lab-readout strong{color:var(--accent);font:700 11px/1 JetBrains Mono,monospace}.root-lab-readout span{color:var(--ink-2);text-transform:uppercase;font:8px/1.2 JetBrains Mono,monospace}.root-lab-equation{border:1px solid var(--line);color:var(--ink-2);text-transform:uppercase;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:7px 8px;font:8px/1.3 JetBrains Mono,monospace;display:flex}.root-lab-equation code{color:var(--ink-1);text-transform:none;font:9px/1.3 JetBrains Mono,monospace}.root-lab-lengths{margin-top:6px}
