:root{--paper:#f3f0e9;--panel:#f9f7f2;--ink:#101820;--muted:#66717b;--line:#d9d5cc;--line-strong:#c7c3ba;--accent:#087f69;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:var(--accent)}.app-shell{width:min(1440px,100% - 40px);margin:0 auto;padding-bottom:80px}.site-header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;min-height:78px;display:grid}.brand{color:var(--ink);letter-spacing:-.04em;font-size:1.1rem;font-weight:700;text-decoration:none}.brand span{color:var(--accent);font-family:Georgia,serif;font-size:1.35em;font-style:italic}.curriculum-context{gap:6px;min-width:0;display:flex}.context-menu-anchor{min-width:0;position:relative}.context-menu-anchor>button{width:100%}.curriculum-context button,.curriculum-actions button,.drawer-close{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000}.curriculum-context button{border-radius:9px;grid-template-columns:auto minmax(0,auto) auto;align-items:baseline;gap:8px;min-width:0;padding:9px 11px;display:grid}.curriculum-context button:hover,.curriculum-actions button:hover{border-color:var(--line);background:var(--panel)}.curriculum-context button span,.curriculum-actions>span,.chapter-tabs-label{color:var(--accent);font:500 .64rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.curriculum-context button strong{font:600 .72rem var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-context button i{color:var(--muted);font-style:normal}.context-popover{z-index:30;border:1px solid var(--line);background:#f7f4ed;border-radius:12px;width:min(340px,100vw - 40px);padding:10px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 20px 55px #0b17232e}.context-popover>p{color:var(--muted);font:500 .61rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:8px 9px 11px}.context-popover>a,.context-popover>.is-planned{min-height:48px;color:var(--muted);font:.69rem var(--mono);border:1px solid #0000;border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:7px 9px;text-decoration:none;display:grid}.context-popover>a:hover,.context-popover>a.is-active{border-color:var(--line);color:var(--ink);background:var(--panel)}.context-popover>a>span:first-child,.context-popover>.is-planned>span:first-child{color:var(--accent)}.context-popover>a>span:last-child,.context-popover>.is-planned>span:last-child{gap:3px;min-width:0;display:grid}.context-popover strong,.context-popover small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-popover strong{color:var(--ink);font-weight:600}.context-popover small{font-size:.6rem}.context-popover>.is-planned{opacity:.5}.curriculum-actions{align-items:center;gap:12px;display:flex}.curriculum-actions>span{color:var(--muted);white-space:nowrap}.curriculum-actions button{border-color:var(--line);font:600 .68rem var(--mono);white-space:nowrap;border-radius:9px;padding:9px 11px}.chapter-tabs{border-bottom:1px solid var(--line);align-items:center;gap:20px;min-height:54px;display:flex}.chapter-tabs>div{gap:6px;min-width:0;display:flex}.chapter-tabs a{color:var(--muted);font:600 .68rem var(--mono);white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:8px 11px;text-decoration:none;display:inline-flex}.chapter-tabs a:hover,.chapter-tabs a.is-active{border-color:var(--line);color:var(--ink);background:var(--panel)}.chapter-tabs a span{color:var(--accent);font-weight:500}.chapter-tabs a[aria-disabled=true]{opacity:.45;pointer-events:none}.curriculum-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060d15a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.curriculum-drawer{border:1px solid var(--line);background:#f7f4ed;border-radius:22px;width:min(1180px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 32px 100px #040c1452}.curriculum-drawer-heading{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f4edf0;justify-content:space-between;align-items:center;padding:24px 28px;display:flex;position:sticky;top:0}.drawer-close{border-color:var(--line);border-radius:50%;width:42px;height:42px;font-size:1.4rem}.curriculum-parts{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.curriculum-part{min-width:0;padding:28px}.curriculum-part+.curriculum-part{border-left:1px solid var(--line)}.curriculum-part-heading{min-height:120px}.curriculum-part-heading>p,.chapter-summary>span{color:var(--accent);font:500 .65rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.curriculum-part-heading h3,.chapter-summary h4{color:var(--ink);margin:0}.curriculum-part-heading h3{font-size:1.45rem}.curriculum-part-heading>span,.chapter-summary p{color:var(--muted);margin:8px 0 0;font-size:.8rem;line-height:1.5;display:block}.curriculum-chapter{border-top:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);gap:18px;padding:20px 0;display:grid}.chapter-summary h4{font-size:.92rem}.drawer-lessons{gap:6px;display:grid}.drawer-lessons a,.planned-lesson{min-height:38px;color:var(--muted);font:.69rem var(--mono);border:1px solid #0000;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px;text-decoration:none;display:grid}.drawer-lessons a:hover,.drawer-lessons a.is-active{border-color:var(--line);color:var(--ink);background:var(--panel)}.drawer-lessons a>span,.planned-lesson>span{color:var(--accent)}.drawer-lessons strong{font-weight:600}.planned-lesson{opacity:.52}.planned-lesson small{letter-spacing:.06em;text-transform:uppercase;font-size:.58rem}.experiment-switcher{scrollbar-width:thin;gap:6px;min-width:0;display:flex;overflow-x:auto}.experiment-switcher button{color:var(--muted);font:600 .68rem var(--mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;padding:8px 11px}.experiment-switcher button:hover{color:var(--ink);background:#ffffff73}.experiment-switcher button[aria-pressed=true]{border-color:var(--line);color:var(--ink);background:var(--panel)}.experiment-switcher button span{color:var(--accent);margin-right:5px;font-weight:500}.status,.eyebrow,.sim-number{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.intro{max-width:980px;padding:clamp(72px,11vw,145px) 0 clamp(56px,8vw,96px)}.curriculum-breadcrumb{color:var(--muted);font:500 .65rem var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.curriculum-breadcrumb span:first-child{color:var(--accent)}.curriculum-breadcrumb i{background:var(--line);border-radius:50%;width:3px;height:3px}.eyebrow{color:var(--accent);margin:0 0 22px}h1{max-width:960px;color:var(--ink);letter-spacing:-.072em;margin:0;font-size:clamp(3.4rem,8vw,7rem);font-weight:500;line-height:.92}.lede{max-width:700px;color:var(--muted);margin:32px 0 0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.simulation{border:1px solid var(--line);background:var(--panel);border-radius:22px;overflow:hidden;box-shadow:0 30px 90px #10182012}.lesson-loading{border:1px solid var(--line);min-height:450px;color:var(--muted);background:var(--panel);font:.78rem var(--mono);border-radius:22px;place-items:center;display:grid}.lesson-navigation{border:1px solid var(--line);background:var(--panel);border-radius:18px;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:36px;margin-top:32px;padding:24px 28px;display:grid}.lesson-navigation-progress{gap:5px;display:grid}.lesson-navigation-progress span,.lesson-navigation-links a span{color:var(--muted);font:500 .62rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.lesson-navigation-progress strong{color:var(--accent);font:600 .82rem var(--mono)}.lesson-navigation-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-navigation-links a{border:1px solid var(--line);color:var(--ink);border-radius:10px;gap:6px;padding:13px 15px;text-decoration:none;display:grid}.lesson-navigation-links a:hover{border-color:var(--accent)}.lesson-navigation-links a strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.next-lesson{text-align:right}.simulation-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding:25px 28px;display:flex}.sim-number{margin:0 0 7px}h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(1.25rem,3vw,1.8rem);font-weight:600}.equation{color:var(--accent);font-family:var(--mono);font-size:.92rem}.experiment-grid{grid-template-columns:minmax(0,1fr) 340px;display:grid}.stage-column{border-right:1px solid var(--line);min-width:0}.canvas-frame{cursor:grab;height:min(56vw,600px);min-height:450px;position:relative}.canvas-frame:active{cursor:grabbing}.webgl-fallback{color:#fff;background:#08111f;place-items:center;height:100%;margin:0;display:grid}.vector-legend{color:#b6c4cf;font-family:var(--mono);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08111fc7;border:1px solid #ffffff1f;border-radius:999px;gap:14px;padding:9px 12px;font-size:.68rem;display:flex;position:absolute;bottom:18px;right:18px}.energy-legend{color:#b6c4cf;font-family:var(--mono);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08111fc7;border:1px solid #ffffff1f;border-radius:999px;gap:14px;padding:9px 12px;font-size:.68rem;display:flex;position:absolute;bottom:18px;left:18px}.vector-legend span,.energy-legend span,.toggle-row span{align-items:center;gap:7px;display:flex}.velocity-key,.vertical-velocity-key,.trajectory-key,.acceleration-key,.right-force-key,.left-force-key,.normal-force-key,.weight-force-key,.slope-force-key,.friction-force-key,.applied-force-key,.working-force-key{background:#ffc25c;border-radius:50%;width:8px;height:8px;display:inline-block}.vertical-velocity-key{background:#66bfff}.trajectory-key{background:#72e1b8}.acceleration-key{background:#ff7070}.right-force-key{background:#ffc25c}.left-force-key{background:#66bfff}.normal-force-key{background:#72e1b8}.weight-force-key{background:#ff7070}.slope-force-key{background:#ffc25c}.friction-force-key{background:#66bfff}.applied-force-key{background:#ffc25c}.working-force-key{background:#66bfff}.electric-field-key,.magnetic-field-key,.propagation-key,.radiant-power-key,.detector-key,.incident-ray-key,.reflected-ray-key,.refracted-ray-key{border-radius:50%;width:8px;height:8px;display:inline-block}.electric-field-key{background:#72e1b8}.magnetic-field-key{background:#70bde9}.propagation-key{background:#ffc25c}.radiant-power-key{background:#ffd478}.detector-key{background:#72e1b8}.incident-ray-key{background:var(--ray-color,#f2f3e9);box-shadow:0 0 6px var(--ray-color,#f2f3e9)}.reflected-ray-key{background:var(--ray-color,#f2f3e9);box-shadow:0 0 4px var(--ray-color,#f2f3e9);opacity:.62}.refracted-ray-key{background:var(--ray-color,#f2f3e9);box-shadow:0 0 5px var(--ray-color,#f2f3e9);opacity:.86}.spectral-reading{align-items:center;gap:7px;display:inline-flex;color:var(--ink)!important}.spectral-reading:before{background:var(--spectral-color);width:9px;height:9px;box-shadow:0 0 5px color-mix(in srgb, var(--spectral-color) 58%, transparent);content:"";border:1px solid #050e182e;border-radius:50%;flex:none}.lens-object-key,.lens-image-key,.principal-ray-key,.focal-point-key,.virtual-extension-key{border-radius:50%;width:8px;height:8px;display:inline-block}.wave-path-key,.intensity-pattern-key,.photon-detection-key{background:var(--wave-color,#72e1b8);border-radius:50%;width:8px;height:8px;display:inline-block}.photon-packet-key,.beam-power-key,.detector-energy-key{background:var(--photon-color,#72e1b8);border-radius:50%;width:8px;height:8px;display:inline-block}.photon-packet-key{box-shadow:0 0 7px var(--photon-color,#72e1b8)}.beam-power-key{opacity:.38}.detector-energy-key{border:1px solid var(--photon-color,#72e1b8);background:#f8fbff}.electron-packet-key,.collector-key{border-radius:50%;width:8px;height:8px;display:inline-block}.electron-packet-key{background:#70d8ff;box-shadow:0 0 7px #70d8ff}.collector-key{background:#173748;border:1px solid #70d8ff}.atomic-level-key,.continuum-key{border-radius:50%;width:8px;height:8px;display:inline-block}.atomic-level-key{background:#72e1b8}.continuum-key{background:#ffb85c}.heat-loss-key{background:#ffb85c;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 6px #ffb85c}.thermal-radiation-key,.solar-input-key,.reflected-energy-key,.thermal-output-key{border-radius:50%;width:8px;height:8px;display:inline-block}.thermal-radiation-key,.thermal-output-key{background:#ff715d;box-shadow:0 0 6px}.solar-input-key{background:#ffd56a;box-shadow:0 0 6px #ffd56a}.reflected-energy-key{background:#d7ecff}.scene-status{color:#d8eef8;font:.65rem var(--mono);letter-spacing:.03em;pointer-events:none;background:#071420d1;border:1px solid #70d8ff47;border-radius:999px;padding:7px 10px;position:absolute;top:18px;left:18px}.scene-status.is-active:before,.scene-status.is-inactive:before{content:"";border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.scene-status.is-active:before{background:#70d8ff;box-shadow:0 0 7px #70d8ff}.scene-status.is-inactive:before{background:#7b8993}.scene-status.is-excitation:before,.scene-status.is-ionization:before,.scene-status.is-transmission:before{content:"";border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.scene-status.is-excitation:before{background:#72e1b8;box-shadow:0 0 7px #72e1b8}.scene-status.is-ionization:before{background:#ffb85c;box-shadow:0 0 7px #ffb85c}.scene-status.is-transmission:before{background:#7b8993}.wave-path-key{opacity:.38}.intensity-pattern-key{box-shadow:0 0 7px var(--wave-color,#72e1b8)}.photon-detection-key{border:1px solid var(--wave-color,#72e1b8);background:#f8fbff}.lens-object-key{background:#72e1b8}.lens-image-key{background:#ff7d82}.principal-ray-key{background:linear-gradient(135deg,#ffc25c 0 48%,#70bde9 52% 100%)}.focal-point-key{background:#ffc25c}.virtual-extension-key{background:repeating-linear-gradient(90deg,#c3ebff 0 2px,#0000 2px 4px);border:1px solid #c3ebff}.potential-energy-key,.kinetic-energy-key,.mass-one-key,.mass-two-key{border-radius:50%;width:8px;height:8px;display:inline-block}.potential-energy-key{background:#72e1b8}.kinetic-energy-key{background:#ffc25c}.mass-one-key{background:#72e1b8}.mass-two-key{background:#f2c975}.measurement-strip{color:#fff;background:#0b1725;border-top:1px solid #16293a;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.measurement-strip>div{border-right:1px solid #1d3040;flex-direction:column;gap:7px;min-width:0;padding:18px 20px;display:flex}.measurement-strip>div:last-child{border-right:0}.measurement-strip div>span:first-child{color:#8092a1;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem}.measurement-strip div>span:last-child{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.84rem,1.4vw,1.05rem);overflow:hidden}.measurement-strip small{color:#8092a1;font-size:.7em}.projectile-measurements,.force-measurements{grid-template-columns:repeat(5,minmax(0,1fr))}.control-panel{background:#f7f4ed}.control-section{border-bottom:1px solid var(--line);padding:22px}.spectral-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:18px;display:grid}.spectral-presets button{border:1px solid var(--line);color:var(--ink);background:var(--panel);font:600 .58rem var(--mono);cursor:pointer;border-radius:7px;padding:8px 4px;position:relative;overflow:hidden}.spectral-presets button:before{background:var(--spectral-color);content:"";height:3px;position:absolute;bottom:0;left:0;right:0}.spectral-presets button:hover,.spectral-presets button[aria-pressed=true]{border-color:var(--spectral-color)}.balance-temperature-button{border:1px solid var(--accent);width:100%;color:var(--accent);font:600 .66rem var(--mono);cursor:pointer;background:#087f690f;border-radius:7px;margin-top:8px;padding:10px 12px}.balance-temperature-button:hover{color:var(--panel);background:var(--accent)}.lens-type-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.material-presets button:before{background:#70899a}.absorption-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.transition-choice-list,.emission-mode-grid{gap:7px;display:grid}.transition-choice-list button,.emission-mode-grid button{border:1px solid var(--line);color:var(--ink);background:var(--panel);font:600 .68rem var(--mono);cursor:pointer;border-radius:8px;padding:10px}.transition-choice-list button{justify-content:space-between;align-items:center;gap:12px;display:flex}.transition-choice-list button span{color:var(--muted);font-size:.61rem}.transition-choice-list button[aria-pressed=true],.emission-mode-grid button[aria-pressed=true]{border-color:var(--accent);color:#fff;background:var(--accent)}.emission-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.control-explainer{color:var(--muted);margin:4px 0 0;font-size:.72rem;line-height:1.55}.reference-open{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:var(--panel);font:600 .68rem var(--mono);cursor:pointer;border-radius:8px;margin-top:18px;padding:10px 12px}.reference-open:hover{border-color:var(--accent)}.reference-open span{color:var(--accent);margin-left:5px}.real-atom-backdrop{z-index:200;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#040b13b8;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.real-atom-modal{border:1px solid var(--line);background:#f7f4ed;border-radius:18px;width:min(1120px,100%);max-height:calc(100vh - 56px);overflow:auto;box-shadow:0 28px 100px #0000004d}.real-atom-header{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f4edf2;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;display:flex;position:sticky;top:0}.real-atom-header h2{color:var(--ink);margin:5px 0 0;font-size:clamp(1.2rem,2.8vw,1.7rem)}.real-atom-tabs{border-bottom:1px solid var(--line);padding:14px 26px 0;display:flex}.real-atom-tabs button{color:var(--muted);font:600 .72rem var(--mono);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:9px;padding:10px 18px;display:flex}.real-atom-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink)}.real-atom-tabs button span{border:1px solid var(--line-strong);width:27px;height:27px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.real-atom-body{padding:26px}.real-atom-intro{justify-content:space-between;align-items:center;gap:28px;margin-bottom:22px;display:flex}.real-atom-intro>div{align-items:center;gap:15px;display:flex}.real-atom-intro>div>span{border:1px solid var(--line-strong);width:62px;height:62px;color:var(--accent);background:var(--panel);font:600 1.55rem var(--mono);border-radius:13px;flex:none;place-items:center;display:grid}.real-atom-intro h3,.real-atom-details h3{color:var(--ink);margin:0}.real-atom-intro p{max-width:540px;color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.5}.real-atom-disclaimer{border-left:2px solid #ffb85c;padding-left:16px;max-width:310px!important}.real-atom-main{border:1px solid var(--line);background:var(--panel);border-radius:14px;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);display:grid}.real-atom-level-diagram{width:100%;min-height:360px;display:block}.real-atom-level-diagram text{fill:var(--muted);font:600 10px var(--mono)}.real-atom-continuum{fill:#ffb85c14}.real-atom-ionization{stroke:#ffb85c;stroke-width:1.6px;stroke-dasharray:7 5}.real-atom-level,.real-atom-ground{stroke:#648295;stroke-width:2px}.real-atom-ground{stroke:#087f69;stroke-width:3px}.real-atom-transition{color:var(--transition-color);cursor:pointer;outline:none}.real-atom-transition line{stroke:var(--transition-color);stroke-width:2px;opacity:.58}.real-atom-transition circle,.real-atom-level-diagram marker path{fill:#ffc25c}.real-atom-transition circle{fill:var(--transition-color)}.real-atom-transition:hover line,.real-atom-transition:focus-visible line,.real-atom-transition.is-selected line{stroke-width:4px;opacity:1}.real-atom-diagram-note{font-weight:500!important}.real-atom-details{border-left:1px solid var(--line);background:#f2efe8;padding:24px}.real-atom-details h3{margin-top:7px;font-size:1.35rem}.real-atom-transition-value{border-bottom:3px solid var(--transition-color);justify-content:space-between;align-items:baseline;gap:12px;margin:18px 0;padding-bottom:15px;display:flex}.real-atom-transition-value strong{color:var(--ink);font:600 1.15rem var(--mono)}.real-atom-transition-value span{color:var(--muted);font:.66rem var(--mono)}.real-atom-details dl{margin:0}.real-atom-details dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:8px 0;font-size:.7rem;display:flex}.real-atom-details dt{color:var(--muted)}.real-atom-details dd{color:var(--ink);font-family:var(--mono);text-align:right;margin:0}.real-atom-details>p:not(.sim-number){color:var(--muted);margin:17px 0;font-size:.74rem;line-height:1.55}.real-atom-transition-buttons{gap:6px;display:grid}.real-atom-transition-buttons button{border:1px solid var(--line);color:var(--ink);background:var(--panel);font:600 .67rem var(--mono);cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.real-atom-transition-buttons button[aria-pressed=true]{border-color:var(--accent)}.real-atom-transition-buttons small{color:var(--muted);font-size:.6rem}.real-atom-spectrum{margin-top:20px}.real-atom-spectrum-scale{color:var(--muted);font:.6rem var(--mono);justify-content:space-between;margin-bottom:6px;display:flex}.real-atom-spectrum-field{background:linear-gradient(90deg,#281557,#183c79 18%,#087875 38%,#598d26 53%,#b58c22 67%,#9f4025 82%,#591e28);border:1px solid #183046;border-radius:8px;height:54px;position:relative;box-shadow:inset 0 0 24px #00000094}.real-atom-spectrum-field.is-magnified{background:#07111d}.real-atom-spectrum-field i{background:var(--line-color);width:2px;box-shadow:0 0 8px 2px var(--line-color);position:absolute;top:4px;bottom:4px;transform:translate(-50%)}.real-atom-spectrum-field i.is-selected{width:4px;box-shadow:0 0 12px 4px var(--line-color)}.real-atom-spectrum>p{color:var(--muted);font:.62rem var(--mono);text-align:center;margin:7px 0 0}.real-atom-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:28px;margin-top:22px;padding-top:20px;display:flex}.real-atom-footer p{max-width:760px;color:var(--muted);margin:0;font-size:.74rem;line-height:1.6}.real-atom-footer strong{color:var(--ink)}.real-atom-footer a{color:var(--accent);font:600 .67rem var(--mono);flex:none;text-decoration:none}.panel-heading{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;font-size:.65rem;display:flex}.panel-heading span:last-child{color:var(--accent);letter-spacing:0;text-align:right;text-transform:none}.playback-controls{grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:22px;display:grid}.playback-controls button{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);background:var(--panel);font:600 .7rem var(--mono);cursor:pointer;border-radius:8px;padding:7px 10px;transition:border-color .15s,transform .15s}.playback-controls button:hover{border-color:var(--accent)}.playback-controls button:active{transform:translateY(1px)}.playback-controls .play-button{color:#fff;background:var(--accent);border-color:var(--accent)}.play-button span{margin-right:6px}.slider-field+.slider-field{margin-top:22px}.slider-label{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:10px;font-size:.77rem;display:flex}.slider-label label{color:var(--muted);font-weight:560}.slider-label output{color:var(--ink);font-family:var(--mono);font-size:.72rem}.slider-label output span{color:var(--muted)}input[type=range]{background:linear-gradient(to right, var(--accent) 0 var(--range-progress), #d3d1ca var(--range-progress) 100%);cursor:pointer;appearance:none;border-radius:99px;outline:none;width:100%;height:4px;margin:5px 0}input[type=range]::-webkit-slider-thumb{border:3px solid var(--panel);background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 1px var(--accent);appearance:none;border-radius:50%}input[type=range]::-moz-range-thumb{border:3px solid var(--panel);background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #087f694d}.compact-section{padding-block:18px}.toggle-row{color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;padding:7px 0;font-size:.78rem;display:flex}.toggle-row input{width:16px;height:16px;accent-color:var(--accent)}.facts-section{border-bottom:0;gap:12px;display:grid}.facts-section div{justify-content:space-between;align-items:baseline;gap:16px;font-size:.72rem;display:flex}.facts-section span{color:var(--muted)}.facts-section strong{color:var(--ink);font-family:var(--mono);white-space:nowrap;font-weight:500}.graph-panel{border-top:1px solid var(--line);background:var(--panel);padding:18px 20px 12px}.graph-panel .panel-heading{margin-bottom:8px}.motion-graph{-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;width:100%;height:180px;display:block;overflow:visible}.motion-graph.is-scrubbable{cursor:ew-resize;touch-action:none}.motion-graph.is-scrubbable:hover{background:#087f6908}.motion-graph.is-scrubbable:focus-visible{box-shadow:0 0 0 3px #087f693d}.motion-graph line{stroke:#d9d5cc;stroke-width:1px}.motion-graph line:nth-of-type(2){stroke:#087f6959;stroke-width:1.5px}.motion-graph polyline{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.motion-graph circle{fill:var(--panel);stroke:var(--accent);stroke-width:4px;transition:r .12s}.motion-graph.is-scrubbable circle{filter:drop-shadow(0 2px 3px #087f6947)}.kinematics-graph{height:260px}.kinematics-graph text{fill:var(--muted);font:600 10px var(--mono)}.kinematics-graph .time-marker{stroke:#087f6952;stroke-width:1.5px}.kinematics-graph polyline{stroke-width:2.4px}.refraction-graph{height:225px}.refraction-graph text{fill:var(--muted);font:600 10px var(--mono)}.refraction-graph .critical-angle-marker{stroke:#ff7070ad;stroke-width:1.5px;stroke-dasharray:5 5}.lens-distance-graph{height:235px}.lens-distance-graph text{fill:var(--muted);font:600 10px var(--mono)}.lens-distance-graph .focal-distance-marker{stroke:#ff7070a3;stroke-width:1.5px;stroke-dasharray:5 5}.interference-pattern-graph{height:220px}.interference-pattern-graph text{fill:var(--muted);font:600 10px var(--mono)}.interference-pattern-graph .interference-intensity-line{stroke:var(--pattern-color);stroke-width:2.5px}.interference-pattern-graph .diffraction-envelope-line{stroke:#70bde9;stroke-width:1.5px;stroke-dasharray:6 5;opacity:.72}.photon-wavelength-graph{height:235px}.photon-wavelength-graph text{fill:var(--muted);font:600 10px var(--mono)}.photoelectric-threshold-graph{height:230px}.photoelectric-threshold-graph text{fill:var(--muted);font:600 10px var(--mono)}.photoelectric-threshold-graph .emission-region{fill:#70d8ff12}.photoelectric-threshold-graph .photon-energy-line{fill:none;stroke:#ffc25c;stroke-width:2.5px}.photoelectric-threshold-graph .work-function-line{stroke:#ff7d82;stroke-width:1.8px;stroke-dasharray:6 5}.photoelectric-threshold-graph .kinetic-energy-gap{stroke:#70d8ff;stroke-width:4px}.photoelectric-threshold-graph .photon-energy-marker{fill:var(--panel);stroke:#ffc25c}.photoelectric-threshold-graph .time-marker{stroke:#087f6961;stroke-width:1.5px}.atomic-energy-diagram{height:250px}.atomic-energy-diagram text{fill:var(--muted);font:600 10px var(--mono)}.atomic-energy-diagram .continuum-region{fill:#ffb85c12}.atomic-energy-diagram .ionization-line{stroke:#ffb85c;stroke-width:1.5px;stroke-dasharray:7 5}.atomic-energy-diagram .bound-level,.atomic-energy-diagram .ground-level{stroke:#527a91;stroke-width:2.2px}.atomic-energy-diagram .ground-level{stroke:#72e1b8;stroke-width:3px}.atomic-energy-diagram .photon-energy-arrow,.atomic-energy-diagram .photon-energy-marker{stroke:#ffc25c;stroke-width:2.5px}.atomic-energy-diagram #energy-arrow path{fill:#ffc25c}.atomic-energy-diagram .outcome-label.is-excitation{fill:#087f69}.atomic-energy-diagram .outcome-label.is-ionization{fill:#b36b0c}.atomic-spectrum-panel{padding-bottom:24px}.spectrum-comparison{gap:14px;display:grid}.spectrum-comparison>div{grid-template-columns:90px minmax(0,1fr);align-items:center;gap:14px;display:grid}.spectrum-comparison>div>span{color:var(--muted);font:600 .64rem var(--mono);text-transform:uppercase}.spectrum-row{border:1px solid #1c3042;border-radius:7px;height:52px;position:relative;overflow:hidden}.emission-spectrum{background:#050a10}.absorption-spectrum{background:linear-gradient(90deg,#3c176e,#194e92 20%,#098f78 40%,#8a9b2f 58%,#d89325 72%,#b52d2d 88%,#641d2b)}.spectrum-row button{background:var(--line-color);width:3px;box-shadow:0 0 9px 2px var(--line-color);cursor:pointer;border:0;padding:0;position:absolute;top:3px;bottom:3px;transform:translate(-50%)}.absorption-spectrum button{background:#07111d;box-shadow:0 0 3px #07111d}.spectrum-row button[aria-pressed=true]{outline-offset:2px;outline:1px solid #fff;width:6px}.spectrum-caption{color:var(--muted);margin:14px 0 0;font-size:.72rem;line-height:1.5}.emission-lifetime-graph{height:220px}.emission-lifetime-graph text{fill:var(--muted);font:600 10px var(--mono)}.emission-lifetime-graph line{stroke:var(--line-strong);stroke-width:1.5px}.emission-lifetime-graph circle{fill:#7894a5;stroke:var(--panel)}.emission-lifetime-graph .is-selected circle{fill:var(--accent);stroke:var(--accent)}.emission-lifetime-graph .is-selected text{fill:var(--ink)}.blackbody-spectrum-graph,.solar-distance-graph,.planet-balance-graph{height:240px}.blackbody-spectrum-graph text,.solar-distance-graph text,.planet-balance-graph text{fill:var(--muted);font:600 10px var(--mono)}.blackbody-spectrum-graph .visible-band{fill:#72e1b814}.blackbody-spectrum-graph .current-spectrum{stroke:#ffb85c;stroke-width:2.5px}.blackbody-spectrum-graph .comparison-spectrum{stroke:#70bde9;stroke-width:1.8px;stroke-dasharray:6 4}.solar-distance-graph polyline{stroke:#ffc25c;stroke-width:2.5px}.solar-distance-graph .time-marker,.planet-balance-graph .time-marker{stroke:#087f6959;stroke-width:1.5px}.planet-balance-graph .absorbed-line{stroke:#ffc25c;stroke-width:2px;stroke-dasharray:7 5}.planet-balance-graph .emitted-line{stroke:#ff715d;stroke-width:2.5px}.projectile-graph{height:205px}.projectile-graph text{fill:var(--muted);font:600 10px var(--mono)}.projectile-graph .time-marker{stroke:#087f6952;stroke-width:1.5px}.projectile-graph polyline{stroke-width:2.4px}.kinematics-calculation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calculation-prompt,.calculation-heading{justify-content:space-between;align-items:center;gap:32px;display:flex}.calculation-prompt{border-top:1px solid var(--line);background:#e9e6de;padding:24px 28px}.calculation-prompt .sim-number,.calculation-heading .sim-number{margin:0 0 5px}.calculation-prompt h3,.calculation-heading h3{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.05rem}.calculation-prompt>p,.calculation-heading>p{max-width:390px;color:var(--muted);text-align:right;margin:0;font-size:.78rem;line-height:1.5}.calculation-panel{border-top:1px solid var(--line);background:#e9e6de;padding:clamp(28px,4vw,48px)}.calculation-heading{align-items:end;margin-bottom:28px}.calculation-grid{border:1px solid var(--line-strong);background:var(--panel);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.calculation-step{border-right:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:20px 16px;display:grid}.calculation-step:last-child{border-right:0}.step-number{color:var(--accent);font:.61rem var(--mono)}.calculation-step p{margin:0}.step-label{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:600;margin-bottom:12px!important}.symbolic-equation{color:var(--ink);font:.86rem var(--mono)}.substitution{color:var(--muted);font:.67rem/1.5 var(--mono);text-overflow:ellipsis;overflow:hidden;margin:7px 0 14px!important}.calculation-step strong{color:var(--accent);font:600 .82rem var(--mono)}.concept-note{border-top:1px solid var(--line);background:#eeebe3;grid-template-columns:190px minmax(0,720px);gap:32px;padding:clamp(28px,5vw,56px);display:grid}.concept-note .eyebrow{margin:5px 0 0}.concept-note>p:last-child{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.15rem,2.3vw,1.55rem);line-height:1.55}@media (width<=1000px){.site-header{grid-template-columns:auto 1fr auto;gap:16px}.curriculum-context button strong{max-width:140px}.curriculum-parts{grid-template-columns:1fr}.curriculum-part+.curriculum-part{border-top:1px solid var(--line);border-left:0}.experiment-grid{grid-template-columns:1fr}.stage-column{border-right:0}.control-panel{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.control-section{border-right:1px solid var(--line)}.facts-section{border-bottom:1px solid var(--line)}.calculation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calculation-step:nth-child(2n){border-right:0}.calculation-step:nth-child(-n+4){border-bottom:1px solid var(--line)}.kinematics-calculation-grid .calculation-step:nth-child(n+3){border-bottom:0}.real-atom-main{grid-template-columns:1fr}.real-atom-details{border-top:1px solid var(--line);border-left:0}}@media (width<=640px){.app-shell{width:min(100% - 24px,1440px)}.site-header{grid-template-columns:1fr auto;gap:10px;min-height:auto;padding-block:12px}.curriculum-context{grid-area:2/1/auto/-1;width:100%}.curriculum-context button{border-color:var(--line);text-align:left;grid-template-columns:auto minmax(0,1fr) auto}.context-menu-anchor{flex:1;position:static}.context-popover{width:auto;top:calc(100% + 6px);left:0;right:0}.curriculum-context button strong{max-width:none}.curriculum-actions{grid-area:1/2}.curriculum-actions>span{display:none}.chapter-tabs{flex-direction:column;align-items:flex-start;gap:8px;padding-block:10px}.chapter-tabs>div{width:100%;overflow-x:auto}.curriculum-backdrop{place-items:stretch stretch;padding:0}.curriculum-drawer{border:0;border-radius:0;width:100%;max-height:100vh}.curriculum-drawer-heading,.curriculum-part{padding:20px}.curriculum-chapter{grid-template-columns:1fr;gap:12px}.curriculum-part-heading{min-height:0;margin-bottom:22px}.experiment-switcher{width:100%;overflow-x:auto}.curriculum-breadcrumb{flex-direction:column;align-items:flex-start;gap:5px}.curriculum-breadcrumb i{display:none}.lesson-navigation{grid-template-columns:1fr;gap:16px;padding:20px}.lesson-navigation-links{grid-template-columns:1fr}.next-lesson{text-align:left}.experiment-switcher button{padding-inline:8px;font-size:.62rem}.experiment-switcher button span{display:none}.simulation-heading{flex-direction:column;align-items:start;padding:20px}.canvas-frame{min-height:380px}.measurement-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-strip>div:nth-child(2){border-right:0}.measurement-strip>div:nth-child(-n+2),.projectile-measurements>div{border-bottom:1px solid #1d3040}.projectile-measurements>div:nth-child(2n){border-right:0}.projectile-measurements>div:last-child{border-bottom:0;grid-column:1/-1}.control-panel{grid-template-columns:1fr}.control-section{border-right:0}.motion-graph{height:145px}.projectile-legend,.force-legend{border-radius:12px;flex-wrap:wrap;justify-content:center;left:12px;right:12px}.energy-legend{border-radius:12px;flex-wrap:wrap;bottom:62px;left:12px}.force-measurements>div{border-bottom:1px solid #1d3040}.force-measurements>div:nth-child(2n){border-right:0}.force-measurements>div:last-child{border-bottom:0;grid-column:1/-1}.concept-note{grid-template-columns:1fr;gap:12px}.calculation-prompt,.calculation-heading{flex-direction:column;align-items:start;gap:12px}.calculation-prompt>p,.calculation-heading>p{text-align:left}.calculation-grid,.kinematics-calculation-grid{grid-template-columns:1fr}.calculation-step,.calculation-step:nth-child(2n){border-right:0}.calculation-step:not(:last-child),.kinematics-calculation-grid .calculation-step:not(:last-child){border-bottom:1px solid var(--line)}.real-atom-backdrop{padding:0}.real-atom-modal{border:0;border-radius:0;max-height:100vh}.real-atom-header,.real-atom-body{padding:18px}.real-atom-tabs{padding-inline:18px}.real-atom-intro,.real-atom-footer{flex-direction:column;align-items:flex-start}.real-atom-disclaimer{max-width:none!important}.real-atom-level-diagram{min-height:280px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
