:root{color-scheme:dark;--bg:#08101e;--panel:#101b2b;--panel2:#162438;--line:#25364b;--text:#e9f2ff;--muted:#9caec6;--aqua:#54e2bd;--aqua2:#b4f8df;--violet:#a69aff;--red:#ff998f;--h:68px;--nav:75px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}#app{max-width:650px;min-height:100vh;margin:0 auto;background:radial-gradient(ellipse 600px 420px at 80% 0%,#123044 0,transparent 70%),var(--bg);padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 35px)}.topbar{height:var(--h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.07)}.brand{display:flex;gap:11px;align-items:center;line-height:1.15}.brand strong{letter-spacing:1.9px;font-size:16px}.brand small{display:block;color:#92a6bf;font-size:10px;margin-top:5px;letter-spacing:.5px}.logo-mark{width:35px;height:35px;border-radius:12px;background:#18463f;color:var(--aqua);display:grid;place-items:center;font-size:27px;font-family:Georgia,serif}.accent{color:var(--aqua)}.status{color:var(--aqua);font-size:10px;white-space:nowrap}.page{display:none;padding:25px 18px 32px;animation:rise .24s ease}.page.active{display:block}@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3,p{margin-top:0}h1{font-weight:720;letter-spacing:-1.5px;line-height:1.15}h1 em{font-style:normal;color:var(--aqua)}.eyebrow{color:var(--aqua);font-size:10px;letter-spacing:2.5px;font-weight:800}.hero{border-radius:24px;background:linear-gradient(140deg,#1a3040,#12263b 52%,#102330);padding:28px 22px;margin-bottom:30px;border:1px solid #294559;position:relative;overflow:hidden}.hero:after{content:'∑';font:180px Georgia,serif;position:absolute;right:-20px;top:80px;color:rgba(84,226,189,.07);pointer-events:none}.hero h1{font-size:clamp(31px,7.4vw,44px);margin-bottom:18px}.hero>p:not(.eyebrow){color:#c3d3e4;font-size:14px;max-width:390px}.hero-actions{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}.primary,.secondary{min-height:48px;padding:12px 16px;border-radius:13px;font-weight:750;border:1px solid transparent}.primary{background:var(--aqua);color:#07261f;box-shadow:0 8px 25px rgba(53,233,179,.12)}.primary span{margin-left:8px}.secondary{background:#25354a;color:#edf5fc;border-color:#345169}.primary:disabled,.secondary:disabled{opacity:.38;cursor:default}.section-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0}.section-caption h2{font-size:18px;margin:0;letter-spacing:-.3px}.section-caption h3{margin:0;font-size:15px}.pill{background:#193a3e;color:var(--aqua2);border:1px solid #24544c;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap;letter-spacing:.3px}.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.lesson-card{min-height:155px;border:1px solid var(--line);border-radius:17px;background:#111d2e;padding:17px 13px;text-align:left;color:var(--text);display:flex;flex-direction:column;position:relative;gap:5px}.lesson-card:hover{border-color:#387764}.lesson-icon{font:26px Georgia,serif;color:var(--aqua);margin-bottom:13px}.lesson-card strong{font-size:14px;line-height:1.2}.lesson-card small{font-size:11px;line-height:1.35;color:var(--muted)}.arrow{position:absolute;right:13px;top:13px;color:#8ba0b8}.fineprint{font-size:11px;color:#7890aa;margin:18px 3px}.page-title{font-size:clamp(30px,7.5vw,43px);margin:12px 0 22px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:17px;margin:15px 0}.panel h2{font-size:18px}.panel h3{font-size:15px}.panel label{display:block;color:var(--muted);font-size:12px;font-weight:750}.template-panel .row{display:flex;align-items:stretch;gap:8px;margin-top:8px}.template-panel select{appearance:none;background:#1c2d42;border:1px solid #3b526b;flex:1;min-width:0;color:var(--text);font-size:13px;border-radius:10px;padding:12px}.template-panel .row button{background:#24384d;color:var(--aqua);border:1px solid #355b62;border-radius:10px;padding:0 12px;font-size:13px;font-weight:800}.template-panel #task-prompt{margin:14px 0 0;color:#bdd1e5;font-size:13px}.template-panel #task-prompt strong{color:var(--text)}.manual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.manual-grid input{width:100%;margin-top:5px;background:#1a2a3a;color:var(--text);border:1px solid #395169;border-radius:9px;padding:11px 7px}.manual-grid label{text-align:center}.lab-meta{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.segmented{background:#142338;border:1px solid var(--line);border-radius:11px;padding:3px;display:flex;gap:2px}.segmented button{border:none;background:transparent;color:#9eb0cb;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:700}.segmented button[aria-pressed=true]{background:#2e4a5b;color:var(--aqua)}.equation-card{background:linear-gradient(140deg,#183047,#14263b 65%,#11253a);padding:16px 14px 18px;border:1px solid #396079;border-radius:20px;min-height:250px}.eq-top{display:flex;align-items:center;justify-content:space-between;color:#9bb5ce;font-size:10px;font-weight:800;letter-spacing:1.1px}.physics-eq{font-size:13px;color:#b3d6cd;margin:14px 0 4px;line-height:1.55;min-height:22px}.equation{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;min-height:86px;padding:8px 2px;font-size:clamp(25px,7vw,38px);font-family:Cambria,'Times New Roman',serif;letter-spacing:.3px;line-height:1.3}.eq-side{display:flex;align-items:center;gap:3px;min-height:55px;flex-wrap:wrap;justify-content:center}.eq-term{padding:4px 7px;border:1px solid #4b6e81;color:var(--text);background:#1e3b4c;border-radius:10px;min-height:42px;line-height:1.1;transition:transform .1s,border-color .1s}.eq-term:active{transform:scale(.93)}.eq-term:disabled{opacity:.7;color:var(--text)}.eq-term.highlight{color:#cffff0;border-color:var(--aqua);background:#1b5a56}.eq-zero{color:#b7c8db;padding:2px 4px}.eq-equals{color:var(--aqua);font-size:35px}.eq-tip{color:#c5d8e8;font-size:12px;margin:9px 2px}.feedback{font-size:12px;line-height:1.5;color:#aec6db;background:#0f2333;border:1px solid #2c5260;padding:12px;border-radius:11px;min-height:43px}.feedback.success{color:#b8f8d5;border-color:#31795c;background:#153f35}.feedback.warning{color:#ffe6c5;border-color:#94763f;background:#493a24}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.action-grid button{min-height:55px;padding:10px 10px;border-radius:12px;background:#19334a;border:1px solid #38647a;color:#e5f5ff;font-size:13px;font-weight:750}.action-grid button:active{background:#285264}.action-grid .recommended{border-color:#31836d;color:#9bf6d4;background:#1d3f3c}.tiny-btn{border:none;background:transparent;color:var(--aqua);font-size:12px;font-weight:800;min-height:35px}.tiny-btn:disabled{opacity:.35}.history{margin-top:20px}.history ol{padding-left:23px;margin:10px 0 0}.history li{padding:7px 0;border-top:1px solid #1e2d42;color:#bed2e7;font-family:Cambria,'Times New Roman',serif;font-size:17px}.history li:first-child{border:none}.history li small{display:block;color:#8fa8bc;font-family:system-ui,sans-serif;font-size:11px}.lab-bottom{display:grid;grid-template-columns:110px 1fr;gap:9px;margin-top:18px}.sliders label{margin-bottom:18px}.sliders input[type=range]{width:100%;accent-color:var(--aqua);height:32px}.sliders output{color:var(--aqua)}#chart{width:100%;max-height:280px;display:block;background:#0b1b2c;border-radius:13px;border:1px solid #2b3f55;margin:14px 0 24px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0}.metric-grid>div{padding:12px 8px;background:#1a2a3d;border-radius:11px;min-height:99px}.metric-grid small{font-size:9px;color:#93a8c1;font-weight:800;display:block;line-height:1.4}.metric-grid strong{display:block;font-size:22px;margin:8px 0 3px;color:var(--aqua);line-height:1.1}.metric-grid span{display:block;font-size:10px;color:#a0b0c3}.quiz-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:20px}.option-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:20px 0}.option-grid button{min-height:57px;border-radius:13px;border:1px solid #314a62;background:#17293e;color:var(--text);text-align:left;padding:14px;font-size:14px;font-weight:600}.option-grid button.correct{border-color:#4abd98;background:#173d34}.option-grid button.incorrect{border-color:#c96b63;background:#442c35}.option-grid button:disabled{opacity:.84}.option-grid button:disabled.correct{opacity:1}.quiz-top+.page-title{margin-top:0}#quiz-next{width:100%;margin-top:15px}.hidden{display:none!important}.timeline{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.timeline span{background:#1b3543;border:1px solid #285963;color:#abf0de;border-radius:99px;padding:7px 10px;font-size:12px}.muted{color:var(--muted);font-size:13px}.export-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.text-danger{border:none;color:var(--red);background:transparent;font-size:13px}.bottom-nav{position:fixed;z-index:50;bottom:0;left:50%;transform:translateX(-50%);width:min(650px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:#0e1c2d;border-top:1px solid #2b455b;padding:9px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(10px)}.bottom-nav button{background:transparent;border:0;color:#8aa1ba;display:grid;justify-items:center;gap:2px;min-height:51px;line-height:1}.bottom-nav button span{font-size:24px;font-weight:600}.bottom-nav button small{font-size:10px}.bottom-nav button.active{color:var(--aqua)}#toast{position:fixed;top:79px;left:50%;transform:translateX(-50%);z-index:80;width:min(420px,90%);pointer-events:none;text-align:center;color:#08251d;font-weight:700;background:var(--aqua);padding:9px 15px;border-radius:12px;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}@media(min-width:630px){.page{padding:27px 34px 40px}.hero{padding:36px 30px}.tile-grid{gap:14px}.lesson-card{padding:20px;min-height:160px}}@media(max-width:365px){.topbar{padding:0 12px}.page{padding-left:12px;padding-right:12px}.hero{padding:23px 16px}.hero-actions .primary,.hero-actions .secondary{font-size:12px}.eq-side{gap:1px}.eq-term{font-size:23px;padding:5px}.equation{gap:2px}.metric-grid strong{font-size:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.equation.is-physical{font-size:clamp(16px,4.7vw,24px);gap:5px}.equation.is-physical .eq-term{font-size:clamp(16px,4.7vw,24px);max-width:100%;line-height:1.3}.equation.is-physical .eq-side{gap:5px}.equation.is-physical .eq-equals{font-size:26px}

/* v0.2 - first-class student authored steps; mobile density + equation-first layout */
.lab-meta{gap:8px;flex-wrap:wrap}.segmented button{padding:9px 11px;font-size:12px}.own-workspace{padding-bottom:10px}.own-sticky{position:sticky;top:0;z-index:25;background:linear-gradient(130deg,#1c384c,#133046);border:1px solid #3b657b;border-radius:15px;padding:12px 15px;box-shadow:0 10px 20px rgba(0,0,0,.32);margin-bottom:12px}.own-badge{font-weight:850;font-size:10px;letter-spacing:1.1px;color:var(--aqua)}.own-live-equation{font:clamp(24px,6vw,34px)/1.3 Cambria,'Times New Roman',serif;color:#ecf7ff;margin:5px 0;overflow-wrap:anywhere}.own-counter{font-size:11px;color:#a5bdd1}.own-intro{margin:12px 2px}.own-details{border:1px solid #28485f;border-radius:12px;margin:12px 0;background:#0c2130;padding:12px 15px}.own-details summary{color:#b3ddda;font-weight:750;cursor:pointer}.own-details p{font-size:13px;color:#b3c7de;margin:10px 0 0}.own-details .own-physics{font-size:15px;font-family:Cambria,'Times New Roman',serif;color:#e3f4fe}.own-editor{padding:15px;margin:12px 0}.own-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.own-editor h3{margin:0 0 10px;font-size:15px}.own-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.own-action-row label{font-size:11px}.own-action-row input,.own-action-row select,.own-equation-edit input,.own-force-row input,.own-reason-label textarea{width:100%;margin-top:6px;min-height:47px;border:1px solid #436078;border-radius:10px;background:#1b3043;color:#eff8ff;padding:10px 11px;font-size:16px;outline-offset:1px}.own-action-row input:focus,.own-action-row select:focus,.own-equation-edit input:focus,.own-force-row input:focus,.own-reason-label textarea:focus{border-color:var(--aqua)}.own-small-title{margin:18px 0 8px!important}.own-equation-edit{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:7px}.own-equation-edit label{min-width:0;font-size:11px}.own-equation-edit input{font-family:Cambria,'Times New Roman',serif;font-size:19px;letter-spacing:.2px}.equals-edit{color:var(--aqua);font-size:23px;padding-top:18px;text-align:center}.own-explain{margin:10px 0}.own-toolbar{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 17px}.own-toolbar button{background:#1a394a;border:1px solid #406276;color:#b6f6df;border-radius:9px;min-width:39px;min-height:41px;padding:7px 10px;font-size:20px}.own-reason-label textarea{font-size:13px;resize:vertical;line-height:1.5;min-height:54px}.own-command-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0}.own-command-row .primary{font-size:14px;min-width:0}.own-command-row .secondary{font-size:12px}.own-editor .feedback{margin:9px 0}.own-history{padding:13px;margin:12px 0}.own-history summary{list-style:none;font-weight:800;cursor:pointer;display:flex;justify-content:space-between}.own-history ol{margin:10px 0 0;padding:0 0 0 25px}.own-line{border-bottom:1px solid #263a4f;padding:8px 2px;font-size:16px}.own-line:last-child{border-bottom:0}.own-line strong{display:block;font:19px/1.45 Cambria,'Times New Roman',serif;overflow-wrap:anywhere}.own-line small{display:block;color:#9eafc7;font-size:11px;margin:3px 0}.own-final{grid-template-columns:1fr auto}.own-force-row{display:flex;gap:8px;margin-top:8px}.own-force-row input{min-width:0;flex:1}.own-force-row button{font-size:13px}.diag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 20px}.diag-grid>div{background:#192c40;border-radius:11px;padding:10px}.diag-grid small{font-size:9px;display:block;color:#a8bad3;line-height:1.3}.diag-grid strong{display:block;color:var(--aqua);font-size:24px;margin:8px 0 0}.diagnostic-list{list-style:none;padding:0;font-size:12px;color:#c9d8e6}.diagnostic-list li{border-bottom:1px solid #293a4e;padding:8px 0}.metric-grid strong{font-size:clamp(16px,4vw,22px);overflow-wrap:anywhere}.own-workspace #own-finish-result{margin:10px 0}.own-reason-label{margin-top:8px}.own-history-arrow{color:var(--aqua)}
@media(max-width:370px){.lab-meta .pill{font-size:9px}.segmented button{padding:8px;font-size:11px}.own-editor{padding:12px}.own-action-row{grid-template-columns:1fr}.own-equation-edit{gap:4px}.own-equation-edit input{font-size:17px;padding:8px}.own-command-row .primary{font-size:12px}}

.own-notation{font-size:11px;color:#a0cfd0;margin:1px 0 5px;line-height:1.35}
