@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/share-tech-mono-v16-latin-regular-CCqdbj5z.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Share Tech Mono", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg: #050608;--color-surface: #101218;--color-surface-elevated: #171a22;--color-border: #272b35;--color-border-subtle: #1b1f29;--color-accent: #00d4aa;--color-accent-soft: rgba(0, 212, 170, .12);--color-accent-glow: rgba(0, 212, 170, .25);--color-on-accent: #000000;--color-text: #e6edf7;--color-text-muted: #cacfd8;--color-danger: #ff4d6b;--color-success: #0a6;--color-warning: #c9a227;--color-error: #c44;--color-annotation-blue: #4d9fff;--color-annotation-orange: #ff8c3a;--color-annotation-contrast: #f0f4fa;--color-body-gradient-mid: #151a26;--color-panel-bg-from: #202636;--color-panel-bg-to: #11141d;--color-modal-backdrop: rgba(5, 6, 8, .85);--color-accent-rgb: 0, 212, 170;--color-wash-rgb: 255, 255, 255;--wash-strength: 1;--color-shade-rgb: 0, 0, 0;--shade-strength: 1;--text-scale-body: 1;font-family:var(--font-ui);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--color-text);background-color:var(--color-bg);--footer-height: 30px;--topbar-height: 0px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--scene-backdrop: repeating-linear-gradient(45deg, #0c1019 0, #0c1019 10px, #0b0f17 10px, #0b0f17 20px);--scene-bg: #0b0f17;--scene-grid: #252a33;--schematic-stroke: #a8b8c8;--schematic-stroke-dim: #4d5f70;--schematic-label: #8fb0c8;--schematic-value-label: #7a8ea0;--schematic-pin-label: #9fb4c6;--schematic-box-tint-rgb: 143, 176, 200;--schematic-body-fill: #0b0f18;--schematic-icon-fill: #0d1018;--schematic-readout-fill: #05070b;--schematic-scope-u: #00d060;--schematic-scope-i: #d08020;--schematic-wire: #8b95a7;--schematic-terminal-fill: #050608;--schematic-terminal-stroke: #6b7280;--schematic-flow-core: #ffe1da;--schematic-flow-mid: #ff5a45;--schematic-flow-edge: #e8391f;--schematic-flow-electron-core: #eaf6ff;--schematic-flow-electron-mid: #4fd2ff;--schematic-flow-electron-edge: #1f9fd0;--schematic-flow-neutral-core: #ffffff;--schematic-flow-neutral-mid: #f4f7fb;--schematic-flow-neutral-edge: #d5dde9;--schematic-analyzer-1: #38bdf8;--schematic-analyzer-2: #a78bfa;--schematic-analyzer-3: #34d399;--schematic-analyzer-4: #fbbf24;--schematic-analyzer-5: #f472b6;--schematic-analyzer-status: #fbbf24;--particle-pipe-fill: var(--color-surface-elevated);--particle-pipe-wall: var(--color-border);--particle-lattice-rgb: 200, 200, 200;--particle-outline-rgb: 255, 255, 255;--particle-plate-rgb: 0, 0, 0;--particle-arrow-force: #f5a623;--particle-arrow-velocity: #50d080;--particle-efield-arrow: #ffd34d;--particle-ammeter: #00d4ff;--particle-density-meter: #b07cff;--particle-bfield: #5fd39b;--particle-capacitor-plate: #00d4aa;--particle-switch-open: #50c878;--particle-valve-arrow: #f5a623;--particle-pump-neg: #2a4a8a;--particle-pump-pos: #8a2a2a;--particle-neutral-label: rgba(180, 180, 180, .6);--particle-hint: rgba(180, 180, 180, .65);--scene-handle: #00d4aa;--scene-ink-rgb: 255, 255, 255;--scene-face-rgb: 10, 14, 22;--em-arrow-weak-rgb: 100, 160, 255;--em-arrow-strong-rgb: 255, 240, 255;--em-field-line: #4dff88;--em-force: #ffb000;--em-torque: #c08bff;--em-neutral-rgb: 220, 220, 220;--em-coil-rgb: 120, 200, 160;--em-coil-label: rgba(180, 240, 205, .97);--em-sparkline: rgba(120, 220, 160, .95)}:root{--skilltree-bg: radial-gradient(circle at top left, #202636, #11141d);--skilltree-node-fill: #0e151f;--skilltree-node-fill-locked: #0a0e15;--skilltree-node-border: #2a4055;--skilltree-node-border-locked: #1a2535;--skilltree-ring-track: #1a2535;--skilltree-locked-veil: rgba(5, 8, 14, .6);--skilltree-lock: #3a4d60;--skilltree-edge-faint: #2a3340;--skilltree-admin: #f59e0b}:root:has(.app-topbar){--topbar-height: 22px}[data-text-scale="0"]{--text-scale-body: .85}[data-text-scale="2"]{--text-scale-body: 1.15}[data-text-scale="3"]{--text-scale-body: 1.3}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,var(--color-body-gradient-mid) 0,var(--color-bg) 55%);color:var(--color-text)}*{scrollbar-width:thin;scrollbar-color:var(--color-accent-glow) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-accent-glow);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}a{font-weight:500;color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{border-radius:2px;border:1px solid var(--color-border);padding:.5rem .9rem;font-size:.95rem;font-weight:500;font-family:var(--font-ui);background:linear-gradient(to bottom,rgba(var(--color-wash-rgb),calc(.03 * var(--wash-strength))),rgba(var(--color-shade-rgb),calc(.2 * var(--shade-strength))));color:var(--color-text);cursor:pointer;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out,transform .05s ease-out}button:hover:not(:disabled){border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-glow)}button:active:not(:disabled){transform:translateY(1px);background-color:rgba(var(--color-shade-rgb),calc(.5 * var(--shade-strength)))}button:disabled{opacity:.5;cursor:default}.settings-gear{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-muted);font-size:13px;line-height:1;opacity:.7;cursor:pointer}.settings-gear:hover:not(:disabled),.settings-gear:focus-visible{color:var(--color-accent);background:var(--color-accent-soft);box-shadow:none;opacity:1}.settings-gear:disabled{opacity:.3;cursor:not-allowed}.app-root{height:100vh;display:flex;flex-direction:column;align-items:stretch;padding:max(1.5rem,calc(var(--topbar-height) + 8px)) 1.5rem calc(1.5rem + var(--footer-height) + 8px) 1.5rem;color:var(--color-text);overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-inline:1.5rem}.app-header-left{display:flex;align-items:center;gap:.75rem}.app-header-right{display:flex;align-items:center;gap:.5rem}.app-title{margin:0;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.app-main{flex:1;display:flex;align-items:stretch;justify-content:stretch;min-width:0;min-height:0}.app-panel{width:100%;max-width:none;border-radius:10px;padding:1rem 1.2rem;background:radial-gradient(circle at top left,var(--color-panel-bg-from),var(--color-panel-bg-to));box-shadow:0 0 0 1px var(--color-border-subtle),0 18px 40px rgba(var(--color-shade-rgb),calc(.9 * var(--shade-strength)))}.header-button{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;padding-inline:.8rem}.main-menu{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:2.5rem}.main-menu-header{text-align:center}.main-menu-title{margin:0;font-size:2.4rem;letter-spacing:.18em;text-transform:uppercase}.main-menu-subtitle{margin-top:1rem;margin-bottom:0;font-size:clamp(1.05rem,3.5vw,1.45rem);color:var(--color-text)}.main-menu-subtitle-accent{color:var(--color-accent)}.main-menu-buttons{display:flex;flex-direction:column;gap:.75rem;width:min(360px,90vw)}.main-menu-storage-note{width:min(360px,90vw);box-sizing:border-box;margin:-1.5rem 0 0;padding:.6rem .8rem;border-left:3px solid var(--color-warning);background:var(--color-surface);font-size:.85rem;line-height:1.4;color:var(--color-text)}.menu-button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;padding-block:.9rem;padding-inline:1.1rem;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:var(--font-ui);font-weight:500;text-decoration:none;cursor:pointer;transition:border-color .15s ease-out,box-shadow .15s ease-out;background:linear-gradient(to bottom,rgba(var(--color-wash-rgb),calc(.02 * var(--wash-strength))),rgba(var(--color-shade-rgb),calc(.5 * var(--shade-strength)))),radial-gradient(circle at left,var(--color-accent-soft),transparent 55%)}.menu-button:hover:not(:disabled){border-color:var(--color-accent);text-decoration:none;box-shadow:0 0 0 1px var(--color-accent-glow),0 8px 22px rgba(var(--color-shade-rgb),calc(.85 * var(--shade-strength)))}.maturity-badge{padding:.1rem .4rem;border:1px solid var(--maturity-color);border-radius:2px;background:none;color:var(--maturity-color);font-family:var(--font-ui);font-size:.6rem;font-weight:500;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:help}.maturity-badge:hover:not(:disabled){border-color:var(--maturity-color);box-shadow:0 0 0 1px var(--maturity-color)}.maturity-badge[data-tone=wip]{--maturity-color: var(--color-success)}.maturity-badge[data-tone=early]{--maturity-color: var(--color-warning)}.maturity-badge[data-tone=prototype]{--maturity-color: var(--color-danger)}.maturity-badge[data-tone=language]{--maturity-color: var(--color-text-muted)}.menu-button-slot{position:relative;display:flex;flex-direction:column}.menu-dot{display:inline-block;width:6px;height:6px;margin-left:.45rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 6px var(--color-accent-glow);vertical-align:middle}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:.2rem .6rem;border:1px solid var(--color-border);border-radius:3px;background:none;color:var(--color-text-muted);font-size:12px;font-weight:500}.filter-chip[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-glow)}.filter-chip-count{font-size:10px;font-variant-numeric:tabular-nums;opacity:.7}.change-tag{padding:.05rem .35rem;border:1px solid var(--color-border);border-radius:2px;color:var(--color-text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.change-tag-kind{border-color:var(--color-accent);color:var(--color-accent)}.menu-button-badge{position:absolute;top:.45rem;right:.5rem;z-index:1}.menu-button-label{font-size:1.05rem;text-transform:uppercase;letter-spacing:.12em}.menu-button-sub{margin-top:.3rem;font-size:.8rem;color:var(--color-text-muted)}.journey-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:300px;max-width:100%;padding:16px 18px;border-radius:5px;text-align:left}.journey-card-title{font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--color-accent)}.journey-card-text{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-muted)}.journey-card-meta{font-size:12px;color:var(--color-text-muted)}.journey-card-action{margin-top:4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.journey-card:hover .journey-card-action{color:var(--color-accent)}.journey-progress{width:100%;height:6px;border-radius:3px;background:rgba(var(--color-wash-rgb),calc(.08 * var(--wash-strength)));overflow:hidden}.journey-progress-fill{height:100%;background:var(--color-accent);transition:width .3s ease-out}.simulation-overlay-toggles input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer;width:1rem;height:1rem}.simulation-overlay-toggles label:hover{color:var(--color-text)}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:100%;max-width:420px;padding:1.75rem 1.5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 20px 50px rgba(var(--color-shade-rgb),calc(.5 * var(--shade-strength)))}.modal-title{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text)}.modal-description{margin:0 0 1.25rem;font-size:.9rem;line-height:1.5;color:var(--color-text-muted)}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.modal-input{width:100%;padding:.65rem .9rem;font-size:1rem;font-family:var(--font-ui);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;transition:border-color .15s ease,box-shadow .15s ease}.modal-input::placeholder{color:var(--color-text-muted);opacity:.8}.modal-input:hover{border-color:var(--color-border)}.modal-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow)}.modal-input:disabled{opacity:.6;cursor:not-allowed}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.25rem}.modal-button{min-width:5rem}.modal-button-primary{border-color:var(--color-accent);background:linear-gradient(to bottom,var(--color-accent-soft),transparent);color:var(--color-accent)}.modal-button-primary:hover:not(:disabled){box-shadow:0 0 0 1px var(--color-accent)}.modal-button-secondary:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text)}.modal-button-danger{border-color:var(--color-danger);background:linear-gradient(to bottom,rgba(255,77,107,.12),transparent);color:var(--color-danger)}.modal-button-danger:hover:not(:disabled){box-shadow:0 0 0 1px var(--color-danger)}@keyframes draw-edge{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.skill-tree-edge-draw{stroke-dashoffset:1;animation:draw-edge .65s ease-out forwards}@keyframes tour-drop-zone-pulse{0%,to{box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.9),0 0 14px 3px rgba(var(--color-accent-rgb),.55);background:rgba(var(--color-accent-rgb),.16)}50%{box-shadow:0 0 0 3px rgba(var(--color-accent-rgb),1),0 0 26px 8px rgba(var(--color-accent-rgb),.85);background:rgba(var(--color-accent-rgb),.32)}}.tour-drop-zone{border:3px dashed var(--color-accent);border-radius:4px;box-sizing:border-box;animation:tour-drop-zone-pulse 1.1s ease-in-out infinite}[data-authoring-controls=on] [data-control-id]{outline:1px dashed var(--color-accent);outline-offset:1px;cursor:context-menu;position:relative}[data-authoring-controls=on] [data-control-id]:after{content:"";position:absolute;top:-3px;right:-3px;width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1px var(--color-bg);pointer-events:none;z-index:3}[data-authoring-controls=on] [data-control-id][data-control-container]{cursor:pointer}[data-authoring-controls=on] [data-control-id][data-control-override=true]{outline:2px solid var(--color-warning, #e0a020)}[data-authoring-controls=on] [data-control-id][data-control-override=true]:after{background:var(--color-warning, #e0a020)}@keyframes control-highlight-pulse{0%,to{box-shadow:0 0 rgba(var(--color-accent-rgb),0)}30%{box-shadow:0 0 0 3px rgba(var(--color-accent-rgb),.9),0 0 12px 2px rgba(var(--color-accent-rgb),.6)}}.control-highlight-pulse{animation:control-highlight-pulse 1.2s ease-in-out;border-radius:3px}@keyframes ring-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(var(--color-accent-rgb),.3))}50%{filter:drop-shadow(0 0 6px rgba(var(--color-accent-rgb),.7))}}.skill-tree-ring-active{animation:ring-pulse 2.4s ease-in-out infinite}@keyframes streak-glow{0%{box-shadow:0 0 #f0c04000}30%{box-shadow:0 0 14px 5px #f0c040bf}to{box-shadow:0 0 4px 1px #f0c04000}}.streak-glow-overlay{animation:streak-glow .7s ease-out forwards;pointer-events:none}@keyframes xp-fill-glow{0%{box-shadow:0 0 0 0 currentColor}35%{box-shadow:0 0 16px 4px currentColor}to{box-shadow:0 0 3px 0 currentColor}}.xp-fill--animating{animation:xp-fill-glow 1.8s ease-out}.xp-fill-sparks{position:absolute;top:50%;width:0;height:0;transition:left 1.8s ease;pointer-events:none}@keyframes xp-spark-fly{0%{opacity:1;transform:rotate(var(--spark-angle)) translate(0) scale(1)}to{opacity:0;transform:rotate(var(--spark-angle)) translate(var(--spark-dist)) scale(.4)}}.xp-spark{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--xp-spark-color, var(--color-accent));box-shadow:0 0 6px var(--xp-spark-color, var(--color-accent));opacity:0;animation:xp-spark-fly .9s ease-out forwards}@media(prefers-reduced-motion:reduce){.xp-fill--animating,.xp-spark{animation:none}}@keyframes skill-mastered-pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.skill-mastered-card{animation:skill-mastered-pop .45s cubic-bezier(.34,1.56,.64,1) both}.skill-mastered-hero{position:relative;text-align:center;padding:8px 0 4px}.skill-mastered-name{font-size:1.3rem;font-weight:700;color:var(--color-success);margin-top:.3rem}.skill-mastered-burst{position:absolute;left:50%;top:50%;width:0;height:0}@keyframes skill-mastered-spark-fly{0%{opacity:1;transform:rotate(var(--spark-angle)) translate(0) scale(1)}70%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translate(var(--spark-dist)) scale(.3)}}.skill-mastered-spark{position:absolute;left:-2.5px;top:-2.5px;width:5px;height:5px;border-radius:50%;background:var(--color-success);box-shadow:0 0 8px var(--color-success);opacity:0;animation:skill-mastered-spark-fly .9s ease-out forwards}.skill-mastered-unlock-list{margin:.4rem 0 0;padding-left:1.2rem;color:var(--color-text);font-size:.9rem;line-height:1.6}@media(prefers-reduced-motion:reduce){.skill-mastered-card,.skill-mastered-spark{animation:none}}.flashcard{position:relative;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);padding:10px 12px;text-align:left;font-family:var(--font-ui)}.flashcard--tile,.flashcard--locked{width:168px;height:128px;display:flex;flex-direction:column;gap:6px}.flashcard--locked{color:var(--color-text-muted);background:var(--color-surface-elevated)}.flashcard--full{width:100%}.flashcard--clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.flashcard--clickable:hover,.flashcard--clickable:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-glow);outline:none}.flashcard-type-marker{position:absolute;top:8px;right:10px;font-size:.85rem;color:var(--color-accent);opacity:.85}.flashcard-new-badge{position:absolute;top:8px;left:10px;font-size:.62rem;letter-spacing:.06em;font-weight:700;color:var(--color-accent);background:var(--color-accent-soft);border-radius:3px;padding:1px 5px}.flashcard-title{font-weight:600;font-size:.92rem;line-height:1.25;padding-right:1.1rem}.flashcard--tile .flashcard-title,.flashcard--locked .flashcard-title{margin-top:.6rem}.flashcard-summary{font-size:.85rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.flashcard-summary--text{-webkit-line-clamp:2;line-clamp:2;flex-shrink:0}.flashcard--tile:has(.flashcard-summary--text){height:auto;min-height:128px}.flashcard-latex,.flashcard-latex-loading{font-size:.85rem}.flashcard-formula-large{font-size:1.3rem;margin:.5rem 0}.flashcard-body{margin-top:.5rem;font-size:.9rem;line-height:1.5;color:var(--color-text)}.flashcard-body p{margin:.3rem 0 0}.flashcard-context{font-style:italic;color:var(--color-text-muted);font-size:.85rem}.flashcard-quantity-table{display:flex;flex-direction:column;gap:.3rem}.flashcard-quantity-table>div{display:flex;justify-content:space-between;gap:1rem}.flashcard-quantity-label{color:var(--color-text-muted)}.flashcard-locked-placeholder{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}.flashcard-locked-placeholder:before,.flashcard-locked-placeholder:after{content:"";display:block;height:8px;border-radius:4px;background:var(--color-border);opacity:.6}.flashcard-locked-placeholder:after{width:60%}@keyframes hint-card-unfold{0%{opacity:0;transform:perspective(600px) rotateX(-70deg)}to{opacity:1;transform:none}}.hint-card-revealed{transform-origin:top center;animation:hint-card-unfold .4s ease-out}@media(prefers-reduced-motion:reduce){.hint-card-revealed{animation:none}}.unit-header{gap:1rem}.unit-header-progress{flex:0 1 240px;min-width:150px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:4px;font-size:12px;line-height:1.2;color:var(--color-text-muted)}.unit-header-progress-value{font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}[data-theme=garnet]{--color-bg: #080406;--color-surface: #120810;--color-surface-elevated: #1a0d16;--color-border: #35192a;--color-border-subtle: #220f1c;--color-accent: #c41a3c;--color-accent-rgb: 196, 26, 60;--color-accent-soft: rgba(196, 26, 60, .12);--color-accent-glow: rgba(196, 26, 60, .28);--color-on-accent: #ffffff;--color-text: #f0e8ee;--color-text-muted: #c4a8bc;--color-danger: #ff6b4d;--color-success: #0a9060;--color-warning: #c9a227;--color-error: #d44;--color-body-gradient-mid: #1a0812;--color-panel-bg-from: #1e0f1a;--color-panel-bg-to: #0e0610;--color-modal-backdrop: rgba(8, 4, 6, .85);color-scheme:dark}[data-theme=bordeaux]{--color-bg: #060408;--color-surface: #0e0810;--color-surface-elevated: #170e1a;--color-border: #2e1628;--color-border-subtle: #1e0d1c;--color-accent: #962040;--color-accent-rgb: 150, 32, 64;--color-accent-soft: rgba(150, 32, 64, .14);--color-accent-glow: rgba(150, 32, 64, .3);--color-on-accent: #ffffff;--color-text: #ede0ea;--color-text-muted: #b898b0;--color-danger: #ff6b4d;--color-success: #0a9060;--color-warning: #c9a227;--color-error: #d44;--color-body-gradient-mid: #160a18;--color-panel-bg-from: #1a0e20;--color-panel-bg-to: #0c0610;--color-modal-backdrop: rgba(6, 4, 8, .85);color-scheme:dark}[data-theme=navygold]{--color-bg: #fbfaf6;--color-surface: #f1eee5;--color-surface-elevated: #ffffff;--color-border: #b5b0a0;--color-border-subtle: #d4d0c2;--color-accent: #01456f;--color-accent-rgb: 1, 69, 111;--color-accent-soft: rgba(1, 69, 111, .12);--color-accent-glow: rgba(1, 69, 111, .3);--color-on-accent: #fbfaf6;--color-text: #0e1a24;--color-text-muted: #45423a;--color-danger: #b5302a;--color-success: #2e7d4f;--color-warning: #a57c00;--color-error: #8f241f;--color-annotation-contrast: #0e1a24;--color-body-gradient-mid: #fbf3d6;--color-panel-bg-from: #ffffff;--color-panel-bg-to: #f4f2ec;--color-modal-backdrop: rgba(2, 42, 65, .55);--color-wash-rgb: 14, 26, 36;--wash-strength: 1.5;--color-shade-rgb: 2, 42, 65;--shade-strength: .3;--scene-backdrop: #fbfaf6;--scene-bg: #fbfaf6;--scene-grid: #e0dccf;--schematic-stroke: #1f2d3a;--schematic-stroke-dim: #6f7d8a;--schematic-label: #2a4d68;--schematic-value-label: #4f5f6d;--schematic-pin-label: #36556e;--schematic-box-tint-rgb: 1, 69, 111;--schematic-body-fill: #ffffff;--schematic-icon-fill: #f1eee5;--schematic-readout-fill: #f1eee5;--schematic-scope-u: #1f7a45;--schematic-scope-i: #9a5a00;--schematic-wire: #3d4b58;--schematic-terminal-fill: #fbfaf6;--schematic-terminal-stroke: #5e6b78;--schematic-flow-core: #8f1d10;--schematic-flow-mid: #d0341f;--schematic-flow-edge: #ef7a62;--schematic-flow-electron-core: #01456f;--schematic-flow-electron-mid: #0a6fb0;--schematic-flow-electron-edge: #5aa6d6;--schematic-flow-neutral-core: #0e1a24;--schematic-flow-neutral-mid: #22303c;--schematic-flow-neutral-edge: #5e5a4f;--schematic-analyzer-1: #0369a1;--schematic-analyzer-2: #6d28d9;--schematic-analyzer-3: #047857;--schematic-analyzer-4: #a16207;--schematic-analyzer-5: #be185d;--schematic-analyzer-status: #a16207;--particle-pipe-fill: #e6ebf0;--particle-pipe-wall: #6f7d8a;--particle-lattice-rgb: 125, 135, 145;--particle-outline-rgb: 14, 26, 36;--particle-plate-rgb: 255, 255, 255;--particle-arrow-force: #c27100;--particle-arrow-velocity: #1f8a4c;--particle-efield-arrow: #a16207;--particle-ammeter: #0a6fb0;--particle-density-meter: #6d28d9;--particle-bfield: #047857;--particle-capacitor-plate: #01456f;--particle-switch-open: #1f8a4c;--particle-valve-arrow: #c27100;--particle-pump-neg: #8fb0e3;--particle-pump-pos: #e3a0a0;--particle-neutral-label: rgba(70, 70, 70, .8);--particle-hint: rgba(60, 66, 72, .8);--scene-handle: #01456f;--scene-ink-rgb: 14, 26, 36;--scene-face-rgb: 255, 255, 255;--em-arrow-weak-rgb: 140, 170, 205;--em-arrow-strong-rgb: 1, 45, 85;--em-field-line: #0f7a3f;--em-force: #b06f00;--em-torque: #6d28d9;--em-neutral-rgb: 60, 70, 80;--em-coil-rgb: 31, 122, 69;--em-coil-label: #145c34;--em-sparkline: #1f7a45;--skilltree-bg: radial-gradient(circle at top left, #ffffff, #f4f2ec);--skilltree-node-fill: #ffffff;--skilltree-node-fill-locked: #ece9e0;--skilltree-node-border: #b5b0a0;--skilltree-node-border-locked: #d4d0c2;--skilltree-ring-track: #e0dccf;--skilltree-locked-veil: rgba(241, 238, 229, .65);--skilltree-lock: #8b8678;--skilltree-edge-faint: #c9c4b5;--skilltree-admin: #a16207;color-scheme:light}[data-theme=navygold] ::selection{background:#f2d572;color:#022a41}[data-theme=midnight]{--color-bg: #030811;--color-surface: #070e1e;--color-surface-elevated: #0c1830;--color-border: #1a2e54;--color-border-subtle: #0f1e3a;--color-accent: #4d8ef0;--color-accent-rgb: 77, 142, 240;--color-accent-soft: rgba(77, 142, 240, .12);--color-accent-glow: rgba(77, 142, 240, .25);--color-text: #ccd8f0;--color-text-muted: #7a90bc;--color-danger: #e04060;--color-success: #0a8a50;--color-warning: #c9a227;--color-error: #c04040;--color-body-gradient-mid: #0a1428;--color-panel-bg-from: #0f1c38;--color-panel-bg-to: #080f20;--color-modal-backdrop: rgba(3, 8, 17, .85);color-scheme:dark}@keyframes thumb-march{to{stroke-dashoffset:-28}}.thumb-march{animation:thumb-march .9s linear infinite}@keyframes thumb-breathe{0%,to{opacity:.25}50%{opacity:.65}}.thumb-breathe{animation:thumb-breathe 2.6s ease-in-out infinite}@keyframes thumb-glow{0%,to{opacity:.35}50%{opacity:.7}}.thumb-glow{animation:thumb-glow 2.6s ease-in-out infinite}@keyframes thumb-orbit{0%{offset-distance:0%}to{offset-distance:100%}}.thumb-electron{offset-path:path("M42,26 L118,26 A10,10 0 0 1 128,36 L128,64 A10,10 0 0 1 118,74 L42,74 A10,10 0 0 1 32,64 L32,36 A10,10 0 0 1 42,26 Z");offset-rotate:0deg;animation:thumb-orbit 20s linear infinite}@media(prefers-reduced-motion:reduce){.thumb-march,.thumb-breathe,.thumb-glow,.thumb-electron{animation:none}}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:9000;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:4px 14px;pointer-events:none}.app-footer-link{pointer-events:auto;background:none;border:none;padding:2px 4px;font-family:var(--font-ui);font-size:11px;letter-spacing:.04em;cursor:pointer;color:var(--color-accent);opacity:.25;transition:opacity .2s ease}.app-footer-link:hover{opacity:.75;text-decoration:underline}.app-topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);z-index:9000;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 14px;pointer-events:none}.app-topbar-admin{background:#f59e0b;color:#000;font-size:10px;font-weight:700;letter-spacing:.12em;padding:2px 8px;border-radius:4px;-webkit-user-select:none;user-select:none}.app-topbar-languages{display:flex;align-items:center;gap:0}.app-topbar-language{pointer-events:auto;background:none;border:none;padding:2px 3px;font-family:var(--font-ui);font-size:11px;font-weight:400;letter-spacing:.08em;cursor:pointer;color:var(--color-accent);opacity:.65;transition:opacity .2s ease}.app-topbar-language+.app-topbar-language:before{content:"·";margin-right:6px;opacity:.6;pointer-events:none}.app-topbar-language:hover:not(:disabled),.app-topbar-language:active:not(:disabled){box-shadow:none;transform:none;background:none}.app-topbar-language:hover{opacity:.85}.app-topbar-language--active,.app-topbar-language--active:hover{opacity:1;font-weight:800;cursor:default}.spoken-text-word{transition:color .15s ease,background-color .15s ease}.spoken-text-word[data-spoken]{color:var(--color-text);background-color:var(--color-accent-soft)}.spoken-text--interactive .spoken-text-word[data-seek]{cursor:pointer}.spoken-text--interactive .spoken-text-word[data-seek]:hover{text-decoration:underline;text-underline-offset:2px}.editor-mode-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-muted);cursor:pointer}.editor-mode-toggle-track{width:44px;height:24px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface-elevated);position:relative;cursor:pointer;flex-shrink:0}.editor-mode-toggle-track[aria-checked=true]{background:var(--color-accent)}.editor-mode-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s ease}.editor-mode-toggle-track[aria-checked=true] .editor-mode-toggle-knob{left:22px}.subcircuit-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 8px;margin-bottom:4px;font-size:12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-elevated)}.subcircuit-breadcrumbs__up,.subcircuit-breadcrumbs__crumb{background:none;border:1px solid transparent;border-radius:4px;padding:1px 6px;color:var(--color-accent);font:inherit;cursor:pointer}.subcircuit-breadcrumbs__up{border-color:var(--color-border)}.subcircuit-breadcrumbs__up:hover,.subcircuit-breadcrumbs__crumb:hover{border-color:var(--color-accent)}.subcircuit-breadcrumbs__sep{color:var(--color-text-muted);margin:0 2px}.subcircuit-breadcrumbs__current{color:var(--color-text);font-weight:600;padding:1px 6px}@media(max-width:700px){.app-root{padding:max(.5rem,calc(var(--topbar-height) + 4px)) .4rem calc(.4rem + var(--footer-height)) .4rem}.app-panel{padding:.5rem .45rem}.app-header{padding-inline:.4rem;margin-bottom:.5rem;gap:.5rem}.app-header-left{flex:1;min-width:0;gap:.5rem}.app-title{font-size:.9rem;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-header{flex-wrap:wrap;row-gap:.4rem}.unit-header-progress{flex:1 0 100%}.split-dropdown-trigger{display:none}.sim-side-panel:not(.sim-side-panel--collapsed){position:fixed;left:0;top:0;height:100vh;height:100dvh;z-index:400;max-width:85vw;overflow-y:auto;padding:8px 10px!important;background:var(--color-surface-elevated);border-right:1px solid var(--color-border);box-shadow:12px 0 40px rgba(var(--color-shade-rgb),calc(.55 * var(--shade-strength)))}.sim-side-panel:not(.sim-side-panel--collapsed) .sim-side-panel-scroll{max-height:none!important}.flashcard--tile,.flashcard--locked{width:140px;height:112px}.flashcard--tile:has(.flashcard-summary--text){min-height:112px}}
