:root{--page-bg: #eef3f2;--page-gradient-start: rgba(255, 255, 255, .72);--page-gradient-end: rgba(238, 243, 242, .94);--text-primary: #1f2d36;--text-heading: #18272f;--text-secondary: #63717a;--text-muted: #6d7880;--surface-bg: rgba(255, 255, 255, .86);--surface-border: rgba(108, 125, 133, .2);--surface-shadow: rgba(48, 72, 82, .12);--panel-icon-bg: #eaf3f4;--panel-icon-border: #d1e2e4;--control-bg: #fbfcfc;--control-bg-hover: #f6faf9;--control-border: #d8e1e4;--selected-base: #ffffff;--divider: rgba(108, 125, 133, .18);--button-bg: #f6faf9;--button-bg-active: #eaf5f8;--button-border: rgba(36, 120, 166, .22);--button-border-active: rgba(36, 120, 166, .42);--button-disabled: #9aa6ac;--stage-bg: rgba(255, 255, 255, 0);--timeline-bed: rgba(255, 255, 255, .72);--timeline-fade-color: #ffffff;--anatomy-axon-fill: #f7f9fa;--anatomy-axon-stroke: #dfe3e6;--anatomy-dendrite-fill: #f7f9f8;--anatomy-dendrite-stroke: #dce3e1;--tooltip-bg: rgba(20, 32, 39, .88);--tooltip-text: #f7fbfc;--tooltip-secondary: rgba(247, 251, 252, .82);--action-color: #2478a6;color:var(--text-primary);background:var(--page-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:linear-gradient(180deg,var(--page-gradient-start),var(--page-gradient-end)),var(--page-bg);min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,var(--page-gradient-start),var(--page-gradient-end)),var(--page-bg)}button,input{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(180deg,var(--page-gradient-start),var(--page-gradient-end)),var(--page-bg);color:var(--text-primary);min-height:100vh;padding:24px}:root[data-theme=dark]{--page-bg: #101513;--page-gradient-start: rgba(31, 42, 38, .94);--page-gradient-end: rgba(13, 18, 17, .98);--text-primary: #edf5f2;--text-heading: #f6fbf9;--text-secondary: #a4b4af;--text-muted: #91a09b;--surface-bg: rgb(23, 30, 28);--surface-border: rgba(158, 178, 174, .22);--surface-shadow: rgba(0, 0, 0, .34);--panel-icon-bg: rgba(36, 120, 166, .16);--panel-icon-border: rgba(92, 164, 190, .26);--control-bg: #1a2320;--control-bg-hover: #22302c;--control-border: rgba(151, 171, 167, .22);--selected-base: #1a2320;--divider: rgba(158, 178, 174, .16);--button-bg: #1a2320;--button-bg-active: #22302c;--button-border: rgba(92, 164, 190, .24);--button-border-active: rgba(92, 164, 190, .46);--button-disabled: #73827e;--stage-bg: rgb(23, 30, 28);--timeline-bed: rgb(23, 30, 28);--timeline-fade-color: rgb(23, 30, 28);--anatomy-axon-fill: #232d2a;--anatomy-axon-stroke: #43524e;--anatomy-dendrite-fill: #222b29;--anatomy-dendrite-stroke: #40504c;--tooltip-bg: rgba(238, 246, 243, .94);--tooltip-text: #17211e;--tooltip-secondary: rgba(23, 33, 30, .76);--action-color: #55b6df;color-scheme:dark}.app-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;margin:0 auto;max-width:1540px}.intro-host{margin:0 auto 18px;max-width:1540px}.left-rail,.workspace{display:grid;gap:18px;min-width:0}.left-rail{align-content:start}.panel,.scene-shell{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;box-shadow:0 18px 50px var(--surface-shadow)}.panel{padding:18px}.panel-heading,.scene-topline{align-items:center;display:flex;gap:12px;justify-content:space-between}.panel-heading{justify-content:flex-start;margin-bottom:16px}.panel-heading>svg{background:var(--panel-icon-bg);border:1px solid var(--panel-icon-border);border-radius:8px;color:var(--action-color);flex:0 0 auto;height:40px;padding:9px;width:40px}.eyebrow,.panel h2,.scene-topline h1{margin:0}.eyebrow{color:var(--text-muted);font-size:.73rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.panel h2{font-size:1.12rem;line-height:1.2}.intervention-grid{display:grid;gap:8px}.control-section{border-top:1px solid var(--divider);display:grid;gap:12px;margin-top:15px;padding-top:15px}.control-section-primary{border-top:0;margin-top:0;padding-top:0}.intervention-strength-placeholder{pointer-events:none}.intervention-strength-placeholder>*{visibility:hidden}.intervention-section{border-top:1px solid var(--divider);display:grid;gap:10px;margin-top:15px;padding-top:15px}.selector-label{color:var(--text-heading);font-size:.88rem;font-weight:800;line-height:1.2;margin:0}.intervention-button{--accent: #2478a6;align-items:center;background:var(--control-bg);border:1px solid var(--control-border);border-left:5px solid var(--accent);border-radius:8px;color:var(--text-primary);display:flex;gap:9px;min-height:58px;padding:8px 11px 8px 9px;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:100%}.intervention-option{position:relative}.intervention-button:hover{background:var(--control-bg-hover);transform:translateY(-1px)}.intervention-button[aria-checked=true]{background:color-mix(in srgb,var(--accent) 14%,var(--selected-base));border-color:color-mix(in srgb,var(--accent) 52%,var(--control-border))}.icon-shell{align-items:center;background:color-mix(in srgb,var(--accent) 13%,var(--selected-base));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--control-border));border-radius:8px;color:var(--accent);display:inline-flex;flex:0 0 auto;height:30px;justify-content:center;width:30px}.intervention-button span:last-child{display:grid;gap:3px;min-width:0}.intervention-button strong{font-size:.9rem;line-height:1.1}.intervention-button small,.control-row small{color:var(--text-secondary);font-size:.76rem;line-height:1.25}.control-list{display:grid;gap:14px}.control-row{display:grid;gap:8px}.control-row span{align-items:baseline;display:flex;justify-content:space-between}.control-row strong{font-size:.92rem}input[type=range]{accent-color:var(--action-color);width:100%}.key-concepts{display:grid;gap:14px}.key-concepts-heading{display:grid;gap:4px}.key-concepts h2,.key-concepts-list,.key-concept dt,.key-concept dd{margin:0}.key-concepts h2{color:var(--text-heading);font-size:1.08rem;line-height:1.16}.key-concepts-list{display:grid;gap:10px}.key-concept{border-top:1px solid var(--divider);display:grid;gap:4px;padding-top:10px}.key-concept:first-child{border-top:0;padding-top:0}.key-concept dt{color:var(--text-heading);font-size:.86rem;font-weight:800;line-height:1.15}.key-concept dd{color:var(--text-secondary);font-size:.78rem;line-height:1.34}.scene-shell{display:grid;grid-template-rows:auto auto minmax(126px,1fr);overflow:hidden}.intro-panel{position:relative;display:grid;gap:12px}.intro-dismiss{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-muted);display:inline-flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:background .16s ease,border-color .16s ease,color .16s ease;width:32px}.intro-dismiss:hover{background:var(--control-bg-hover);border-color:var(--control-border);color:var(--text-primary)}.intro-heading{display:grid;gap:4px;padding-right:40px}.intro-heading h2{color:var(--text-heading);font-size:1.12rem;line-height:1.2;margin:0}.intro-lede{color:var(--text-secondary);font-size:.88rem;line-height:1.45;margin:0}.intro-steps{counter-reset:intro-step;display:grid;gap:10px;list-style:none;margin:0;padding:0}.intro-step{align-items:flex-start;color:var(--text-secondary);display:grid;font-size:.84rem;gap:10px;grid-template-columns:30px minmax(0,1fr);line-height:1.4}.intro-step-icon{align-items:center;background:var(--panel-icon-bg);border:1px solid var(--panel-icon-border);border-radius:8px;color:var(--action-color);display:inline-flex;flex:0 0 auto;height:30px;justify-content:center;width:30px}.intro-scope{border-top:1px solid var(--divider);color:var(--text-secondary);font-size:.78rem;line-height:1.45;margin:2px 0 0;padding-top:12px}.intro-scope strong{color:var(--text-heading)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(min-width:1121px){.scene-shell{min-height:var(--scene-shell-target-height, auto)}}.scene-topline{padding:20px 22px 8px}.scene-topline h1{color:var(--text-heading);font-size:clamp(1.55rem,2.5vw,2.45rem);line-height:1.04}.scene-title-copy{display:grid;gap:5px}.topline-actions{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.topline-button{align-items:center;background:var(--button-bg);border:1px solid var(--button-border);border-radius:8px;color:var(--action-color);display:inline-flex;flex:0 0 auto;gap:7px;min-height:38px;padding:8px 11px;transition:background .16s ease,border-color .16s ease,color .16s ease}.topline-button:hover:not(:disabled),.topline-button[aria-pressed=true]{background:var(--button-bg-active);border-color:var(--button-border-active)}.topline-button:disabled{color:var(--button-disabled);cursor:not-allowed;opacity:.66}.topline-button span{font-size:.84rem;font-weight:800;line-height:1}.synapse-stage{aspect-ratio:960 / 470;background:var(--stage-bg);min-height:250px;overflow:hidden;position:relative;width:100%}.synapse-svg,.molecule-canvas{left:0;position:absolute;top:50%;transform:translateY(-50%)}.synapse-svg{aspect-ratio:960 / 560;height:auto;width:100%}.molecule-canvas{aspect-ratio:960 / 560;height:auto;pointer-events:none;width:100%}.scene-tooltip{background:var(--tooltip-bg);border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:0 14px 34px #1a2c3638;color:var(--tooltip-text);display:grid;gap:3px;max-width:236px;padding:9px 10px;pointer-events:none;position:absolute;z-index:4}.scene-tooltip strong{font-size:.78rem;line-height:1.1}.scene-tooltip span{color:var(--tooltip-secondary);font-size:.74rem;line-height:1.25}.intervention-tooltip{left:calc(100% + 10px);max-width:278px;min-width:236px;top:50%;transform:translateY(-50%)}.vesicle-core{fill:#ffffff6b}.vesicle-rim{fill:none;stroke:#975d4952;stroke-width:2.1px}.vesicle-fusion{fill:#ffffff85}.dendrite-activation-glow{pointer-events:none}.dendrite-activation-fill,.dendrite-activation-pulse{transition:opacity 90ms linear}.dendrite-activation-enhanced-fill,.dendrite-activation-pulse-enhanced{mix-blend-mode:screen}.transporter-rail{transform-box:fill-box;transform-origin:center;transition:opacity .18s ease,transform .28s cubic-bezier(.2,.82,.24,1)}.transporter-rail-body{filter:drop-shadow(0 1px 1px rgba(20,32,39,.12));transition:fill .18s ease,height .18s ease,y .18s ease}.transporter-channel-line{transition:opacity .18s ease,stroke .18s ease}.allosteric-site-outline{opacity:.38;transition:height .18s ease,opacity .18s ease,stroke-width .18s ease,width .18s ease,x .18s ease,y .18s ease}.note-timeline{align-items:center;border-top:1px solid var(--divider);display:flex;min-height:126px;padding:0 16px}.note-timeline-svg{display:block;height:118px;width:100%}.timeline-bed{fill:var(--timeline-bed)}.staff-line{stroke:var(--signal-color-soft, rgba(45, 157, 240, .28));stroke-linecap:round;stroke-width:1.8}.timeline-now{stroke:var(--signal-color-medium, rgba(45, 157, 240, .48));stroke-linecap:round;stroke-width:2.4}.timeline-sustain{fill:color-mix(in srgb,var(--signal-color, #2d9df0) 72%,transparent);filter:drop-shadow(0 2px 3px rgba(45,157,240,.13));stroke:#ffffffad;stroke-width:1.8px}.timeline-note{filter:drop-shadow(0 2px 3px rgba(45,157,240,.16));will-change:transform}.timeline-note-fill{fill:var(--signal-color, #2d9df0);stroke:#fffc;stroke-width:2.2px}.timeline-note-stem{fill:none;stroke:var(--signal-color, #2d9df0);stroke-linecap:round;stroke-linejoin:round;stroke-width:4.2px}.timeline-note-glyph{fill:var(--signal-color, #2d9df0);font-family:Georgia,Times New Roman,serif;font-weight:700;paint-order:stroke fill;stroke:#ffffffc7;stroke-linejoin:round;stroke-width:2.4px}.visual-glossary{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;box-shadow:0 18px 50px var(--surface-shadow);display:grid;gap:18px;padding:20px 22px 22px}.glossary-heading{display:grid;gap:4px}.glossary-heading h2,.glossary-group h3,.glossary-copy h4,.glossary-copy p{margin:0}.glossary-heading h2{color:var(--text-heading);font-size:1.28rem;line-height:1.12}.glossary-scope{color:var(--text-secondary);font-size:.8rem;line-height:1.45;margin:4px 0 0;max-width:82ch}.glossary-groups{display:grid;gap:18px}.glossary-group{border-top:1px solid var(--divider);display:grid;gap:10px;padding-top:16px}.glossary-group:first-child{border-top:0;padding-top:0}.glossary-group h3{color:var(--text-heading);font-size:.92rem;line-height:1.2}.glossary-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.glossary-entry{align-items:center;background:var(--control-bg);border:1px solid var(--control-border);border-radius:8px;display:grid;gap:12px;grid-template-columns:86px minmax(0,1fr);min-height:116px;padding:12px}.glossary-visual{align-items:center;aspect-ratio:1;background:color-mix(in srgb,var(--button-bg) 76%,transparent);border:1px solid var(--divider);border-radius:8px;display:flex;flex:0 0 auto;height:86px;justify-content:center;overflow:hidden;width:86px}.glossary-svg{display:block;height:100%;width:100%}.glossary-ligand{filter:drop-shadow(0 2px 4px rgba(20,32,39,.14))}.glossary-copy{display:grid;gap:5px;min-width:0}.glossary-copy h4{color:var(--text-heading);font-size:.92rem;line-height:1.15}.glossary-copy p{color:var(--text-secondary);font-size:.78rem;line-height:1.35}.glossary-receptor,.glossary-transporter,.glossary-signal-note{filter:drop-shadow(0 2px 4px rgba(20,32,39,.12))}.svg-label{fill:color-mix(in srgb,var(--text-primary) 76%,transparent);font-size:21px;font-weight:800}.small-svg-label{fill:color-mix(in srgb,var(--text-primary) 66%,transparent);font-size:16px;font-weight:800}@media(max-width:1120px){.app-grid{grid-template-columns:1fr}.left-rail,.workspace{display:contents}.scene-shell{order:1}.controls-host{order:2}.key-concepts{order:3}.visual-glossary{order:4}}@media(max-width:820px){.app-shell{padding:12px}.scene-shell{border-radius:0;margin-left:-12px;margin-right:-12px}.scene-topline{align-items:flex-start;flex-direction:column}.synapse-stage{min-height:220px}.note-timeline-svg{height:98px}.note-timeline{min-height:108px}.visual-glossary{padding-left:16px;padding-right:16px}.glossary-grid{grid-template-columns:1fr}}@media(max-width:640px){.synapse-svg,.molecule-canvas{transform:translateY(-50%) scale(1.4);transform-origin:center}}@media(max-width:520px){.panel,.scene-topline{padding-left:14px;padding-right:14px}.intervention-button{min-height:56px}.intervention-tooltip{left:0;max-width:100%;min-width:min(236px,100%);top:calc(100% + 8px);transform:none}.visual-glossary{padding-left:14px;padding-right:14px}.glossary-entry{grid-template-columns:76px minmax(0,1fr);min-height:106px;padding:10px}.glossary-visual{height:76px;width:76px}}
