:root{--bg:#0a1221;--side:#0e1a2e;--panel:#122238;--panel2:#152941;--stroke:#26384e;--text:#ecf5ff;--muted:#91a5bd;--teal:#4ee6db;--blue:#72b7ff;--orange:#ff9e65;--line:#2b4358;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#091220;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}a{color:inherit}.skip{position:absolute;left:-10000px;top:4px;z-index:1000}.skip:focus{left:10px;background:#fff;color:#000;padding:10px}#application{display:flex;min-height:100vh}.sidebar{width:248px;min-width:248px;background:linear-gradient(180deg,#101d31,#0a1629 85%);border-right:1px solid var(--stroke);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:24px 14px 20px;z-index:10}.brand{display:flex;align-items:center;gap:11px;margin:4px 10px 49px}.brandmark{width:38px;height:38px;color:#74f1e6;background:#143f53;border-radius:10px;display:grid;place-items:center}.brandmark svg{width:31px}.brand strong{font-size:16px;letter-spacing:.035em}.brand strong span{font-weight:500;color:#5edbd7}.brand small{display:block;color:#7891aa;font-size:8px;font-weight:750;letter-spacing:.24em;margin-top:3px}.side-group-label{font-size:9px;letter-spacing:.14em;font-weight:800;color:#7188a2;margin:0 15px 12px}.navlist{display:grid;gap:7px}.navbtn{background:transparent;border:1px solid transparent;color:#9eafc5;border-radius:9px;padding:13px 11px;text-align:left;display:flex;align-items:center;gap:12px;font-weight:650;font-size:12px;width:100%;transition:.18s}.navbtn:hover{background:#162a43;color:#fff}.navbtn.active{background:#153d4a;color:#81f5e8;border-color:#277e86;box-shadow:inset 2px 0 var(--teal)}.navico{font-size:19px;font-weight:400;width:20px;text-align:center}.navtag{font-size:8px;font-weight:850;margin-left:auto;color:#39dcc5;border:1px solid #24796e;padding:3px 5px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding:0 13px;color:#839bb2}.sidebar-bottom p{font-size:11px;color:#aac3d5;margin:18px 0}.sidebar-bottom small{font-size:10px;line-height:1.9}.mini-progress{border:1px solid #1a3d51;border-radius:11px;background:#0b2633;padding:14px}.mini-progress b{display:block;color:#f1fafa;margin-top:9px;font-size:13px}.progress-line{height:5px;background:#233b52;overflow:hidden;border-radius:30px;margin-top:13px}.progress-line>div{height:100%;width:0;background:linear-gradient(90deg,#27cbc1,#81fbea);transition:width .3s}.status-pulse,.live-dot{width:7px;height:7px;display:inline-block;border-radius:100%;background:#41dbac;box-shadow:0 0 0 4px #1c5147;margin-right:10px}.content-frame{flex:1;min-width:0;max-width:calc(100% - 248px)}.topbar{height:74px;border-bottom:1px solid #233247;background:#0c1728;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.crumb{color:#8094ae;font-size:10px;letter-spacing:.09em;font-weight:750}.crumb span{margin:0 10px;color:#435970}.crumb b{color:#d9e6f6}.top-actions{display:flex;align-items:center;gap:15px}.status-chip{color:#89e3cd;font-size:10px;background:#103f41;border:1px solid #1a706d;border-radius:20px;padding:8px 12px;font-weight:750}.circle-help{border:1px solid #37526a;background:#17283f;border-radius:50%;width:30px;height:30px;color:#bcd7ea;font-weight:800}.btn{border-radius:9px;padding:11px 16px;font-size:12px;font-weight:750;transition:.18s;border:1px solid transparent;min-height:39px;white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.btn-small{padding:7px 11px;min-height:30px;font-size:10px}.btn-primary{background:linear-gradient(135deg,#38dbc8,#74ecbc);color:#073340;box-shadow:0 8px 26px #0cb8a51e}.btn-secondary{background:#193b52;color:#b7e7ec;border:1px solid #38677b}.btn-subtle{background:#172b3b;color:#d5f0eb;border:1px solid #315363}.btn-outline{background:transparent;border:1px solid #3a5871;color:#c5e1e9}.btn-ghost{background:transparent;border-color:#34495c;color:#a8c2d9}main{padding:25px 34px 60px;max-width:1660px;margin:auto}.intro{min-height:175px;border-radius:16px;background:radial-gradient(circle at 88% 20%,#164a51 0%,transparent 32%),linear-gradient(118deg,#153a49,#112638 64%,#143b45);border:1px solid #24505c;padding:30px 38px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.intro:after{content:"";position:absolute;right:100px;bottom:-110px;width:260px;height:260px;border-radius:50%;border:1px solid #348a8788;box-shadow:0 0 0 25px #307b7d15,0 0 0 50px #30888012;pointer-events:none}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.18em;color:#77e8d1}.eyebrow span{width:6px;height:6px;background:#70e6d6;display:inline-block;border-radius:50%;margin-right:7px}.intro h1{font-size:clamp(30px,3vw,46px);margin:13px 0 12px;font-weight:850;letter-spacing:-.048em}.intro h1 em{color:#70e9d5;font-style:normal}.intro p{color:#b7cfdd;max-width:680px;margin:0;font-size:13px;line-height:1.7}.intro-badge{position:relative;z-index:1;display:flex;gap:17px;align-items:center;margin-right:8px}.intro-badge b{font-size:34px;color:#8ce4d0;letter-spacing:-.05em}.intro-badge span{font-size:9px;line-height:1.7;font-weight:850;letter-spacing:.13em;color:#97c8c5}.thin-symbol{font-size:45px;color:#7de9ce78;margin-left:10px}.notice{margin-top:14px;background:#194852;border:1px solid #267982;border-radius:8px;padding:12px 16px;color:#e5fffb}.notice[hidden]{display:none}.tab-panel{display:none}.tab-panel.active{display:block}.section-heading{margin:31px 2px 15px;display:flex;align-items:end;justify-content:space-between;gap:16px}.eyebrow.mini{font-size:9px}.section-heading h2{font-size:21px;letter-spacing:-.035em;margin:7px 0 0}.muted-text{color:#7f92a9;font-size:11px}.card{background:linear-gradient(145deg,#15263b,#112236);border:1px solid #2a3f56;border-radius:var(--radius);overflow:hidden;box-shadow:0 9px 24px #00000013}.card-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid #2b3f55;padding:12px 18px;gap:10px}.card-head b{font-size:10px;letter-spacing:.08em}.viewer-sub{font-size:10px;color:#829bb1;margin-left:15px}.chip{font-size:9px;color:#83e3da;background:#184450;border:1px solid #286775;border-radius:5px;padding:6px 9px;font-weight:750;white-space:nowrap}.workgrid{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:17px}.stage{min-width:0;display:flex;flex-direction:column;position:relative}.viewer3d{height:min(50vw,520px);min-height:360px;overflow:hidden;position:relative}.viewer3d .loading{position:absolute;inset:0;display:grid;place-content:center;gap:15px;text-align:center;color:#a6d2db}.loader{border:2px solid #245d66;border-top-color:#55eee0;border-radius:50%;width:40px;height:40px;margin:auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.view-overlay{pointer-events:none;display:flex;justify-content:space-between;align-items:center;gap:10px;position:absolute;bottom:69px;left:16px;right:16px}.view-overlay>*{pointer-events:auto}.axis-pill{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#081729cf;border:1px solid #294254;color:#809cbb;font-size:9px;font-weight:800;letter-spacing:.05em}.axis-pill>span:not(:last-child){width:19px;height:19px;display:grid;place-items:center;border-radius:5px;color:#071827}.axis-x{background:#ef8080}.axis-y{background:#6be2bb}.axis-z{background:#77b8ff}.view-controls{display:flex;gap:5px;background:#071728e8;border:1px solid #2b5062;border-radius:9px;padding:5px}.icon-btn{min-width:31px;height:29px;border-radius:6px;background:#1b344a;border:1px solid #375871;color:#bcf5ef;font-size:11px;font-weight:750}.icon-btn:hover{background:#225c68}.icon-btn.pressed{background:#247c80}.stage-bottom{margin-top:auto;padding:15px 18px;background:#112438;border-top:1px solid #2b3f55;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stage-bottom strong{font-size:12px}.stage-bottom>span:nth-last-child(2){font-size:10px;color:#8da7bc}.stage-bottom .btn{margin-left:auto}.subtle{font-size:9px;color:#90a5bd;font-weight:850;letter-spacing:.11em}.divider-dot{color:#546d83}.inspector{display:flex;flex-direction:column}.inspector .card-head{min-height:56px}.tiny-square{color:#6ee0d4;font-size:19px}.inspect-body{padding:21px 17px;display:flex;flex-direction:column;gap:17px}.field{display:flex;flex-direction:column;gap:8px}.field>span,.range-field>span{font-size:11px;color:#b4c9df;font-weight:700}.field span small{color:#7d91a8}.field input,.field select,.brushrow select{border:1px solid #35516a;border-radius:7px;background:#0c1d2f;color:#e0f5fe;padding:10px 12px;min-height:37px;max-width:100%;width:100%}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.select-segment,.mode-switch{display:flex;border:1px solid #36546d;background:#0d1e30;border-radius:9px;padding:4px}.select-segment button,.mode-switch button{flex:1;border:0;background:transparent;color:#849db3;border-radius:6px;font-size:11px;font-weight:750;padding:9px 8px;white-space:nowrap}.select-segment button.selected,.mode-switch button.mode-active{background:#23485d;color:#86ede0}.range-field{display:grid;gap:9px}.range-field span{display:flex;justify-content:space-between}.range-field b{color:#86e3da}input[type=range]{width:100%;accent-color:#58d9d7;cursor:pointer}.checkboxrow{display:grid;gap:8px}.checkboxrow label{font-size:11px;color:#b2c3d8}.checkboxrow input{accent-color:#52dad3;vertical-align:middle}.inspector-rule{height:1px;background:#2b4559}.tiny-label{font-size:9px;letter-spacing:.13em;font-weight:850;color:#75a1bc}.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.metric-pair>div{padding:12px;background:#0f273b;border:1px solid #264454;border-radius:9px}.metric-pair span{display:block;font-size:10px;color:#8bb5c8;margin-bottom:6px}.metric-pair strong{font-size:22px;letter-spacing:-.04em}.metric-pair small{color:#7fcacb;margin-left:4px}.physics-wrap{display:flex;flex-direction:column;gap:10px}.physics-wrap p{font-size:11px;color:#9ab3c7;line-height:1.6;margin:0}.physics-data b{font-size:24px;color:#80e5d8}.physics-data span{display:block;color:#8ba6b8;font-size:10px}.physics-wrap small{font-size:9px;color:#789ab0;line-height:1.4}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:17px;margin-top:17px}.info-card,.formula-card{padding:23px}.info-card h3{font-size:19px;margin:10px 0}.info-card p,.formula-card p{color:#9cafc4;font-size:12px;line-height:1.8;margin:8px 0}.inline-link{border:0;background:transparent;color:#74efe4;font-weight:750;font-size:11px;margin-top:9px;padding:0}.inline-link span{padding-left:10px;font-size:18px}.formula{font-size:35px;letter-spacing:.08em;color:#78e2dd;margin:13px 0;font-family:Cambria,serif}.draft-card{padding:17px}.draft-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:20px;padding:18px 3px 4px}.draft-editor,.draft-preview{border:1px solid #294159;border-radius:11px;background:#102035;padding:20px;min-width:0}.subheader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}.subheader h3{font-size:16px;margin:0}.subheader>span{font-size:10px;color:#91a8be}.draft-instruction{font-size:12px;color:#9eb5c9;line-height:1.65;min-height:40px}.brushrow{display:flex;align-items:center;gap:10px;margin:17px 0 12px;flex-wrap:wrap}.brushrow label{font-size:11px;color:#c1d0dd}.brushrow select{width:auto;min-width:120px}.height-grid{display:grid;grid-template-columns:repeat(5,minmax(38px,1fr));grid-template-rows:repeat(5,minmax(38px,1fr));max-width:455px;aspect-ratio:1;gap:5px;user-select:none;touch-action:manipulation}.height-cell{border:1px solid #467389;border-radius:7px;background:#1d364a;color:#ffffffbd;font-weight:850;transition:background .15s,transform .15s}.height-cell:hover{transform:scale(.96);border-color:#9dfef4}.height-cell[data-height="0"]{background:#12273a;color:#516a7e}.height-cell[data-height="1"]{background:#225574}.height-cell[data-height="2"]{background:#23738a}.height-cell[data-height="3"]{background:#279b9c}.height-cell[data-height="4"]{background:#3fae9c}.height-cell[data-height="5"]{background:#75c899;color:#092b2b}.height-cell[data-height="6"]{background:#d7eaa6;color:#1c3726}.key-tip{font-size:10px;color:#819bb1;line-height:1.6}.draft-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.draft-foot .btn-primary{margin-left:auto}.right-badge{border:1px solid #2e6874;border-radius:5px;padding:5px 8px;color:#78eae2!important}.sketch-explain{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:18px 0}.stepbubble{background:#173c4b;border:1px solid #2f7376;border-radius:8px;color:#7decd8;width:31%;padding:13px 7px;font-size:17px;font-weight:800;text-align:center}.stepbubble span{display:block;font-size:10px;font-weight:550;color:#b4d0dc;margin-top:7px}.step-connector{height:1px;flex:1;background:#4a8890}.conversion-preview{max-width:360px;margin:0 auto;min-height:200px;display:grid;place-items:center;background:radial-gradient(#2a556030,transparent 65%)}.conversion-preview svg{width:100%;max-height:280px}.draft-callout{background:#173745;border:1px solid #266270;border-radius:10px;padding:16px;margin-top:14px}.draft-callout b{color:#80eee2}.draft-callout p{color:#a2c5cf;line-height:1.6;font-size:11px;margin-bottom:0}#sketch-svg{width:100%;max-width:350px;touch-action:manipulation;display:block;border:1px solid #315771;border-radius:10px;margin:12px auto;background:#10273b;cursor:crosshair}.depthfield{margin:16px 0}.depthfield output{color:#77f2e5} .views-card{padding:23px}.views-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:22px}.views-intro h3{font-size:20px;margin:0 0 7px}.views-intro p{color:#9db2c5;font-size:12px;max-width:690px;line-height:1.7;margin:0}.ortho-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ortho-tile{background:#0d1f34;border:1px solid #2b4a61;border-radius:13px;overflow:hidden}.ortho-head{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2f455e}.ortho-head b{color:#99dfdf;letter-spacing:.08em;font-size:10px}.ortho-head span{font-size:10px;color:#8aa4bd}.ortho-svg{width:100%;display:block;aspect-ratio:300/280}.views-footer{display:flex;gap:15px;background:#15394a;border:1px solid #266573;border-radius:10px;padding:16px;margin-top:21px}.views-dot{font-weight:bold;color:#0b3b45;background:#7fdbde;border-radius:100%;width:23px;height:23px;text-align:center;padding:2px;flex-shrink:0}.views-footer b{color:#b5f9ee;font-size:12px}.views-footer p{font-size:11px;color:#a2bbcb;line-height:1.65;margin:5px 0 0}.challenge-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.challenge-content,.challenge-side{padding:31px}.challenge-overline{font-size:10px;color:#75e3d6;font-weight:850;letter-spacing:.14em}.challenge-icon{font-size:60px;color:#67c8dc;margin:22px 0 10px}.challenge-content h3{font-size:28px;letter-spacing:-.03em;margin:0 0 13px}.challenge-content p{color:#a6bed2;line-height:1.8;max-width:600px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:29px 0}.answer{background:#102b42;color:#d6ecf3;border:1px solid #355a6e;border-radius:10px;text-align:left;padding:20px;font-size:13px;min-height:64px}.answer:hover{border-color:#70ede2}.answer.correct{background:#185447;border-color:#46cb9b}.answer.incorrect{background:#51332b;border-color:#f9a879}.feedback{border:1px solid #2a8194;background:#114250;color:#c8eee9;padding:16px;border-radius:10px;line-height:1.65}.feedback[hidden]{display:none}.challenge-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:25px}.challenge-side h3{font-size:20px;margin:0}.challenge-side p{font-size:12px;color:#95adc1;line-height:1.7}.circle-score{border:7px solid #2c7c78;border-radius:100%;width:158px;height:158px;display:grid;place-content:center;text-align:center;margin:23px auto;background:#0a2636}.circle-score strong{font-size:55px;color:#75eedb;line-height:1}.circle-score span{font-size:12px;color:#8fb7b8;margin-top:7px}.milestone-list{display:grid;gap:14px;margin:27px 0}.milestone-list div{display:flex;gap:11px;color:#97aebe;font-size:12px}.milestone-list div.done{color:#82eecf}.teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.teacher-card{padding:25px;min-height:235px}.teacher-card h3{font-size:22px;margin:12px 0}.teacher-card p{font-size:12px;color:#a6bdd0;line-height:1.8}.tagrow{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.tagrow span{border-radius:6px;padding:6px 10px;background:#204454;color:#b4e3e7;font-size:10px}.teacher-process{display:grid;gap:9px;margin-top:15px}.teacher-process div{display:flex;align-items:center;gap:12px}.teacher-process b{color:#5ce8d6;background:#214b56;padding:7px 8px;border-radius:7px}.teacher-process p{margin:0}.teacher-process strong{color:#fff}footer{border-top:1px solid #233448;margin-top:12px;padding:21px 34px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#7896a9;font-size:10px}footer>span:last-child{font-weight:700;letter-spacing:.08em;color:#6dada9}.modal-cover{position:fixed;inset:0;z-index:999;background:#030a14db;display:grid;place-items:center;padding:20px}.modal-cover[hidden]{display:none}.modal-dialog{position:relative;background:#14293e;border:1px solid #3c7c85;box-shadow:0 30px 90px #0009;max-width:530px;border-radius:15px;padding:30px}.modal-dialog h2{font-size:27px}.modal-dialog p{color:#b6d0dc;line-height:1.8}.close-modal{position:absolute;top:10px;right:13px;background:none;color:#c4e7e5;border:none;font-size:20px}.modal-dialog .btn{margin-top:10px}
@media(max-width:1200px){.sidebar{width:205px;min-width:205px}.content-frame{max-width:calc(100% - 205px)}.workgrid{grid-template-columns:minmax(0,1fr) 260px}main{padding:20px}.topbar{padding:0 20px}.viewer-sub{display:none}.inspect-body{padding:15px}}
@media(max-width:950px){.sidebar{width:76px;min-width:76px;padding:20px 7px}.content-frame{max-width:calc(100% - 76px)}.brand{margin:5px auto 50px}.brand>div:last-child,.side-group-label,.navbtn:not(.active) .navtag,.sidebar-bottom,.navbtn{font-size:0}.navbtn{justify-content:center;padding:12px 5px}.navico{font-size:24px}.workgrid{grid-template-columns:1fr}.inspector .inspect-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.inspector .inspector-rule{display:none}.inspector .metric-pair{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.intro{padding:25px}.viewer3d{height:480px}.draft-layout{grid-template-columns:1fr 1fr}}
@media(max-width:690px){.sidebar-bottom{display:none!important}.sidebar{position:fixed;bottom:0;top:auto;left:0;right:0;width:100%;min-width:0;height:65px;display:block;padding:5px 5px;background:#101e32;border-right:0;border-top:1px solid #385267}.brand{display:none}.navlist{display:flex;gap:1px;justify-content:space-evenly}.navbtn{flex:1;flex-direction:column;gap:0;padding:5px 0;font-size:8px!important;text-align:center;height:55px}.navico{width:auto;font-size:20px}.content-frame{max-width:100%}.topbar{height:57px;padding:0 14px}.top-actions{gap:7px}.top-actions .status-chip{display:none}.top-actions .btn-small{font-size:9px;padding:7px}main{padding:14px 11px 70px}.intro{padding:20px;min-height:150px}.intro h1{font-size:32px}.intro p{font-size:11px}.intro-badge{display:none}.section-heading{margin-top:23px}.section-heading h2{font-size:19px}.section-heading .muted-text{display:none}.card-head b{font-size:9px}.chip{font-size:8px}.viewer3d{height:350px;min-height:310px}.view-overlay{bottom:75px;left:8px;right:8px}.axis-pill{padding:5px;font-size:7px;gap:4px}.axis-pill>span:not(:last-child){width:16px;height:16px}.axis-pill>span:last-child{display:none}.view-controls{gap:3px;padding:3px}.icon-btn{min-width:27px;height:28px;font-size:10px}.stage-bottom{gap:8px;padding:11px}.stage-bottom .btn{margin-left:0}.inspector .inspect-body{display:flex}.inspector .metric-pair{grid-template-columns:1fr 1fr}.bottom-grid,.draft-layout,.ortho-grid,.challenge-layout,.teacher-grid{grid-template-columns:1fr}.draft-layout{padding:15px 0 0}.draft-card{padding:10px}.mode-switch button{white-space:normal;line-height:1.4}.draft-editor,.draft-preview{padding:14px}.views-card{padding:12px}.views-intro{display:block}.views-intro .btn{margin-top:15px}.ortho-svg{max-height:280px}.answer-grid{grid-template-columns:1fr}.challenge-content,.challenge-side{padding:20px}.challenge-icon{margin:10px 0}footer{padding:20px 15px 90px;font-size:9px}.crumb{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
