:root{--bg:#080f22;--panel:#101c32;--line:#d7e5ff20;--muted:#9eb0c9;--white:#e8eef5;--gold:#efd09c;--blue:#9dd9dc;--lilac:#b4c8e4}
body{background:var(--bg)}
header{background:#0b1326;height:72px;border-color:#adc9eb1d}
.brand{font-size:24px}.brand-sub{font-size:11px;letter-spacing:2px;color:#91a6bf}
.header-note{font-size:11px;color:#9aacbf}
.world{background:radial-gradient(ellipse at 52% 45%,#183345 0,#101d34 45%,#080f22 85%)}
.world:after{box-shadow:inset 0 0 100px #02071455}
.world-heading{top:28px;left:30px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#91a6bf}
h1{font-size:28px;letter-spacing:2px;margin-top:11px;color:#eaf0f6}
.world-heading p{font-size:11px;color:#9eb0c2;letter-spacing:3px}
.world-top-controls{right:24px;top:24px;gap:7px}.world-top-controls button{min-height:40px;padding:8px 12px;font-size:11px;background:#091426d9;color:#becde0}
#follow-camera[aria-pressed=true]{color:var(--gold);border-color:#efd09c66}
.object-info{top:83px;right:25px;gap:7px}.object-info>span:first-child{font-size:10px;color:#92a6bd}.object-info strong{font-size:24px}#object-detail{font-size:11px;color:#9aaec6}
.world-nav{inset:auto 24px 94px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;pointer-events:auto;padding:9px 8px;border:1px solid #abc4e526;background:#071221b8;backdrop-filter:blur(12px);border-radius:8px}
.world-nav button{position:relative;transform:none;min-width:0;min-height:58px;gap:6px;padding:3px 0;border-radius:4px}
.world-nav button span{width:30px;height:30px;font-size:15px;border-color:#92aec35c;background:#17283fe8;box-shadow:none}
.world-nav button em{font-size:10px;letter-spacing:0;color:#b7c8da;background:none;padding:0}
.world-nav button.active span,.world-nav button:hover span{background:#403a32;box-shadow:0 0 14px #f2ca7f22}
.world-nav button.done em:after{display:none}.is-demo .world-nav button{opacity:.55}.is-demo .world-nav button.active{opacity:1}
.legend{left:28px;bottom:64px;font-size:10px;color:#9cb3c9;gap:18px}
.world-bottom{left:27px;right:27px;bottom:17px;padding-top:12px;border-color:#acc4e52b}.view-options label{font-size:11px;color:#b7c8d9}.drag-hint{font-size:10px;color:#8299b2}
.scene-callout{bottom:184px;padding:13px 18px;max-width:calc(100% - 74px);background:#071527e8;border-color:#e6c89338;border-radius:6px;box-shadow:0 7px 35px #01071444}
.scene-callout small{font-size:10px;color:#8eabc7;letter-spacing:2px}.scene-callout strong{font-size:14px;white-space:normal;line-height:1.5}.scene-callout p{font-size:12px;line-height:1.65;margin:1px 0 0;color:#b9cbdb;max-width:500px}
#callout-number{font-size:26px;color:#e2c18a80}
.sidebar{width:420px;background:linear-gradient(135deg,#14243a,#0e182c);border-color:#afc7e524}
.tabs{height:56px}.tabs button{font-size:13px}.tabs button.active:after{left:22px;right:22px}
.panel-scroll{padding:28px}.section-kicker{font-size:10px;letter-spacing:1.5px}.panel-scroll h2{font-size:29px;color:#e6edf4;line-height:1.45}.panel-scroll p{font-size:13px;color:#aabdd1;line-height:1.9}.panel-intro{font-size:13px!important;color:#9fb3ca!important}
.case-tags span{font-size:11px;background:#08132633;color:#aec2d8}.primary{font-size:13px;color:#172034}.primary:hover{color:#172034}.secondary{font-size:12px}.course-card{border-radius:5px;background:#cee5ff03;min-height:81px}.course-card strong{font-size:13px;color:#dce7f2}.course-card small{font-size:11px;color:#8fa9c3}.course-card>span{color:#a7c1d8;border-color:#a7c1d83d}
.section-label{font-size:13px}.section-label span{font-size:10px}.instruction{font-size:14px;color:#d7e4ee;background:#e9ce9408;line-height:1.8;border-radius:0 4px 4px 0}
.formula small{font-size:11px}.note{font-size:11px!important;color:#8ea4bd!important}blockquote cite{font-size:10px;color:#91a7c0}blockquote{font-size:16px}
.lesson-card,.transmission,.stem-item,.sky-card{background:#c4d9f904;border-color:#aac5e52c;border-radius:4px}.lesson-card small,.transmission small{font-size:10px}.relation{font-size:10px;color:#a7c0d4}.transmission em{font-size:10px;color:#9bb1c9}.lesson-card .upper{font-size:32px}.lesson-card .lower{font-size:26px}.waiting .upper{color:#8ba0b6}.sky-card small{font-size:10px}.sky-card span{font-size:11px;color:#aac0d5}.stem-item small{font-size:10px}
.demo-status{font-size:10px;color:#8fa9c0}.trace li{font-size:12px;color:#a7bfd4}.source-card p{font-size:12px}.source-card a{font-size:11px}.panel-footer{height:38px;font-size:10px;color:#88a1b9}.panel-footer a{color:#a3bbcd}
select{background:#09172a;border-color:#9cbde23d;color:#e0eaf4}.presets button{font-size:10px;padding:8px}.field{font-size:11px}.rule-strip{font-size:12px}.guide-next{font-size:13px;min-height:44px}.teaching-footer button{min-height:44px;font-size:12px}.empty-badge{font-size:11px;color:#97adc3}.catalog{font-size:12px}.catalog a{font-size:11px}.restart-card p{font-size:12px}
footer{height:104px;background:#091224;border-color:#a9c8e426;gap:18px}.step-caption{min-width:200px}.step-caption strong{font-size:12px}.step-caption div>span{font-size:10px;color:#8fa7bf}.playback{gap:6px}.playback button{height:42px;width:36px;font-size:14px}.playback .play-button{width:112px;font-size:12px}.timeline button{height:24px;font-size:10px}.player-settings{font-size:10px}.speed-label select{font-size:11px;height:36px}.seek-wrap{gap:7px}#seek{height:4px;margin:8px 0}#export{font-size:10px;min-height:36px}
.music-popover{background:#142338;border-color:#e0c38c44}.music-popover label{color:#b0c5d9}.music-popover p{font-size:10px}.music-auto input{width:14px;height:14px}.music-popover .music-auto{font-size:11px}
.scene-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;z-index:2;background:radial-gradient(ellipse,#142b3e80,transparent 60%)}
.scene-loading span{font-family:serif;font-size:42px;color:var(--gold);margin:auto;border:1px solid #e3c79466;width:70px;height:76px;display:grid;place-items:center}.scene-loading p{color:#aac1d6;font-size:12px;letter-spacing:3px;margin:18px 0}.scene-loading[hidden]{display:none}
#webgl-fallback{background:#0d1b2d;border-color:#b5cde33d;left:15%;right:15%;max-width:none}
@media(min-width:1500px){.sidebar{width:460px}.panel-scroll{padding:32px}.world-nav{left:36px;right:36px}.scene-callout{max-width:650px}}
@media(max-width:1150px) and (min-width:761px){.sidebar{width:355px}.panel-scroll{padding:23px}.world-heading{left:23px}.world-heading h1{font-size:24px}.world-top-controls{right:16px;top:81px}.object-info{top:134px;right:18px}footer{gap:12px;padding:0 18px}.step-caption{min-width:145px}.playback .play-button{width:95px}.playback button{width:30px}.course-card small{font-size:10px}.world-nav button em{font-size:9px}}
@media(max-width:760px){
 header{height:58px;padding:0 14px;gap:8px}.brand{font-size:20px;gap:9px}.seal{width:29px;height:33px}.header-actions #source-shortcut{min-height:36px;font-size:10px}.header-actions .music-controls button{min-height:36px;font-size:10px}
 .world{height:clamp(350px,48svh,420px)}.world-heading{top:16px;left:17px}.eyebrow{font-size:8px;letter-spacing:1.8px}h1{font-size:21px;letter-spacing:1px;margin-top:7px}.world-top-controls{top:71px;right:13px;gap:5px}.world-top-controls button{font-size:10px;padding:6px 8px;min-height:36px}.object-info{top:119px;right:15px;gap:4px}.object-info>span:first-child{font-size:8px}.object-info strong{font-size:18px}#object-detail{font-size:9px;max-width:115px;line-height:1.6}
 .world-nav{left:14px;right:14px;bottom:64px;gap:5px;padding:5px 6px;border-radius:6px}.world-nav button{min-height:40px;padding:0}.world-nav button span{width:29px;height:29px;font-size:14px}.world-nav button em{display:none}.is-demo .world-nav button{opacity:.6}
 .legend{display:none}.world-bottom{left:15px;right:15px;bottom:12px;padding-top:9px}.view-options{gap:14px}.view-options label{font-size:11px;display:flex;align-items:center;min-height:25px}.view-options input{width:13px;height:13px}.scene-callout{bottom:119px;max-width:none;width:calc(100% - 28px);padding:10px 12px;gap:10px}.scene-callout small{font-size:9px;letter-spacing:1px}.scene-callout strong{font-size:12px}.scene-callout p{font-size:12px;line-height:1.6}#callout-number{font-size:21px;padding-right:10px}
 .sidebar{width:100%;min-height:440px}.tabs{height:51px;padding:0 12px}.tabs button{font-size:13px;min-height:44px}.panel-scroll{padding:21px}.panel-scroll h2{font-size:25px;margin-top:8px}.panel-scroll p,.panel-intro{font-size:13px!important}.instruction{font-size:14px;margin-bottom:15px}.lesson-progress{margin-bottom:13px}.case-tags{margin:12px 0}.course-card{min-height:80px}.course-card strong{font-size:13px}.course-card small{font-size:11px}.section-kicker{font-size:10px}.teaching-footer button{font-size:13px;min-height:44px}
 footer{height:auto;padding:10px 12px 12px;display:grid;grid-template-columns:1fr auto;gap:8px 10px;background:#091323f5;backdrop-filter:blur(16px)}.step-caption{grid-column:1/-1;grid-row:1;gap:9px;min-width:0}.step-caption>span{font-size:12px}.step-caption strong{font-size:12px;max-width:none;white-space:normal}.playback{grid-column:1;grid-row:2;gap:5px}.playback button{width:42px;height:44px}.playback .play-button{width:112px;font-size:12px}#restart{width:36px;height:44px}.player-settings{grid-column:2;grid-row:2;gap:5px}.speed-label select{height:40px;width:50px;font-size:11px}#export{font-size:10px;padding:8px;min-height:40px}.loop-label{display:none}.seek-wrap{grid-column:1/-1;grid-row:3;gap:3px}.timeline button{font-size:10px;height:16px;text-align:center}#seek{margin:4px 0 8px;height:4px}.panel-footer{font-size:10px}.world-heading p{display:none}
}
@media(min-width:761px){
 .world-nav{inset:170px auto auto 23px;width:128px;display:grid;grid-template-columns:1fr;gap:3px;padding:7px;background:#071221bf}
 .world-nav button{min-height:43px;display:flex;flex-direction:row;padding:3px 4px;gap:8px;text-align:left}.world-nav button span{width:25px;height:25px;flex-shrink:0;font-size:13px}.world-nav button em{font-size:10px;white-space:normal;line-height:1.6}
 .scene-callout{bottom:63px;max-width:calc(100% - 70px);padding:10px 15px}.scene-callout p{display:none}.scene-callout small{font-size:9px}.scene-callout strong{font-size:13px}.legend{display:none}
}
@media(max-width:760px){
 .playback{grid-column:1/-1;grid-row:2;justify-content:center}.playback button,#restart{min-width:44px;width:44px;height:44px}.playback .play-button{flex:1;min-width:110px}.player-settings{grid-column:2;grid-row:3}.seek-wrap{grid-column:1;grid-row:3;min-width:0}.speed-label select,#export{min-height:44px}
 .scene-callout{bottom:116px;padding:8px 12px}.world-nav{bottom:58px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
