:root{color:#eaf5ff;font-synthesis:none;text-rendering:optimizelegibility;--background:#081527;--panel:#152b43;--navigation:#62d9f2;--accent:#ffbf69;--error:#e46f76;--success:#50cda9;--text:#eaf5ff;--muted:#a4bfd5;--border:#28516c;background:#081527;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{background:var(--navigation);min-height:50px;color:var(--background);cursor:pointer;border:1px solid #0000;border-radius:9px;padding:13px 24px;font-size:16px;font-weight:650;line-height:1.4;transition:background .18s,box-shadow .18s}button:hover{background:#8ae5f7}button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button.secondary{color:var(--text);background:0 0;border-color:#6b93ad}button.secondary:hover{background:#20415c}.app-shell{max-width:1440px;margin:auto;padding:40px 60px 20px}.mission-frame{border:1px solid var(--border);background:var(--background);border-radius:14px;overflow:hidden}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:0 36px;display:flex}.brand{letter-spacing:.04em;align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.brand-symbol{grid-template-columns:repeat(2,9px);gap:3px;display:grid}.brand-symbol i{background:var(--navigation);width:9px;height:9px}.audience{color:#d1e1ed;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.space-scene{background:radial-gradient(ellipse at 90% 35%, #10344c44, transparent 60%), var(--background);height:clamp(310px,49vh,520px);position:relative;overflow:hidden}.space-art{width:100%;height:100%;display:block}.scene-label{z-index:1;color:#a8cce0;align-items:center;gap:12px;margin:0;font:13px/1.5 SFMono-Regular,Menlo,Consolas,monospace;display:flex;position:absolute;top:24px;left:36px}.scene-label span{background:var(--navigation);width:28px;height:1px}.route-stages{color:#8faec5;align-items:center;gap:14px;margin:0;padding:0;font:12px/1.4 SFMono-Regular,Menlo,Consolas,monospace;list-style:none;display:flex;position:absolute;bottom:24px;left:36px}.route-stages li{align-items:center;gap:14px;display:flex}.route-stages li:not(:last-child):after{content:"";background:#52718b;width:28px;height:1px}.route-stages .active{color:var(--navigation)}.route-stages .done{color:var(--success)}main:focus{outline:none}.terminal{border-top:2px solid var(--navigation);background:linear-gradient(115deg,#152b43,#10263b);padding:30px 36px}h1{overflow-wrap:anywhere;letter-spacing:-.025em;margin:10px 0 20px;font-size:clamp(27px,3.6vw,42px);line-height:1.2}p{line-height:1.65}.eyebrow{color:var(--navigation);margin-top:0;font:13px/1.6 SFMono-Regular,Menlo,Consolas,monospace}.intro-layout{grid-template-columns:1.65fr 1fr;align-items:center;gap:36px;display:grid}.intro-copy h1{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(48px,6.1vw,88px);font-weight:800;line-height:1.05}.lead{letter-spacing:-.025em;max-width:700px;margin:0;font-size:clamp(23px,2.45vw,35px);font-weight:650;line-height:1.25}.intro-summary{color:var(--muted);margin:20px 0 0;font-size:clamp(15px,1.65vw,20px)}.intro-launch{border-left:1px solid var(--border);padding-left:32px}.computer{align-items:center;gap:16px;margin:18px 0 22px;display:flex}.computer p{max-width:720px;margin:0;font-size:16px;line-height:1.55}.computer strong{color:var(--navigation);letter-spacing:.05em;margin-bottom:5px;font-size:14px;display:block}.computer p span{display:block}.computer-icon{flex:0 0 66px;width:66px;height:66px}.intro-launch .computer{gap:16px;margin:0 0 20px}.intro-launch .computer-icon{flex-basis:100px;width:100px;height:100px}.intro-launch .computer strong{font-size:22px}.start-button{background:var(--accent);justify-content:center;align-items:center;gap:18px;width:100%;min-height:58px;font-size:19px;display:flex}.start-button:hover{background:#ffd08f;box-shadow:0 0 24px #ffbf6918}.launch-note{text-align:center;color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.6}.formula{overflow-wrap:anywhere;font-size:clamp(20px,3vw,28px)}.placeholder{color:var(--muted);font-size:14px}.actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}progress{width:100%;max-width:320px;height:6px;accent-color:var(--navigation)}footer{text-align:center;color:var(--muted);margin:17px 0 4px;font:12px/1.6 SFMono-Regular,Menlo,Consolas,monospace}.development-note{text-align:center;color:var(--accent);margin:14px 0 0;font-size:12px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ship-idle{animation:7s ease-in-out infinite ship-hover}.asteroid{animation:18s ease-in-out infinite asteroid-drift}.asteroid-1{animation-delay:-6s}.asteroid-2{animation-delay:-12s}.asteroid-3{animation-delay:-9s}@keyframes ship-hover{50%{transform:translateY(-5px)}}@keyframes asteroid-drift{50%{transform:translate(3px,5px)}}.ship-location{transition:transform 2.3s ease-in-out}.ship-location-0{transform:translate(205px,225px)}.ship-location-1{transform:translate(570px,225px)}.ship-location-2{transform:translate(790px,225px)}@media (width<=1050px){.app-shell{padding:24px}.intro-layout{grid-template-columns:1.4fr 1fr;gap:24px}.intro-launch{padding-left:24px}.intro-launch .computer-icon{flex-basis:68px;width:68px;height:68px}.intro-launch .computer p{font-size:14px}.ship-location-0{transform:translate(390px,225px)}.ship-location-1{transform:translate(590px,225px)}.ship-location-2{transform:translate(650px,225px)}.planet-art{transform-origin:1020px 200px;transform:translate(-130px)scale(.8)}.terminal{padding:28px}}@media (width<=900px){.app-shell{padding:16px}.topbar{min-height:60px;padding:0 20px}.brand{gap:9px;font-size:15px}.audience{font-size:11px}.space-scene{height:300px}.space-art{width:100%}.ship-location-0{transform:translate(440px,210px)}.ship-location-1{transform:translate(600px,210px)}.ship-location-2{transform:translate(640px,210px)}.planet-art{transform:translate(-230px,20px)scale(.65)}.asteroid-0{display:none}.asteroid-3{animation:none;transform:translate(-80px,-70px)}.scene-label{font-size:12px;top:20px;left:20px}.route-stages{gap:10px;font-size:10px;bottom:20px;left:20px}.route-stages li{gap:10px}.route-stages li:not(:last-child):after{width:18px}.terminal{padding:26px 22px}.intro-layout{display:block}.intro-copy h1{margin-bottom:16px;font-size:clamp(38px,10vw,65px)}.lead{font-size:25px;line-height:1.3}.intro-summary{margin-top:16px;font-size:15px;line-height:1.6}.intro-launch{border-left:none;border-top:1px solid var(--border);margin-top:24px;padding:20px 0 0}.intro-launch .computer{gap:14px;margin-bottom:20px}.intro-launch .computer-icon{flex-basis:76px;width:76px;height:76px}.intro-launch .computer strong{font-size:17px}.intro-launch .computer p{font-size:15px}.start-button{font-size:17px}.actions{flex-direction:column}.actions button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.lesson-mode .space-scene{height:200px}.lesson-mode .scene-label{top:16px}.lesson-mode .route-stages{bottom:16px}.lesson-mode .space-art{opacity:.65}.lesson-content{max-width:960px;margin:auto}.lesson-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.lesson-heading .eyebrow{margin:0}.lesson-heading progress{flex-shrink:1;max-width:180px}.lesson-content h1{font-size:clamp(26px,3vw,36px)}.lesson-task{border:1px solid var(--border);background:#0b1e31;border-radius:10px;padding:24px}.formula-stack{flex-direction:column;align-items:flex-start;gap:20px;margin:0 0 24px;display:flex}.math-formula{max-width:100%;padding:5px 0;font-size:22px;display:inline-block}.math-formula .katex{font-size:1.15em}.coefficient-example{margin-bottom:22px}.coefficient-example p{margin:4px 0 12px;font-size:clamp(23px,3vw,32px)}.coefficient-example small{color:var(--muted);margin-left:10px;font-size:16px}.coefficient-a{color:var(--navigation)}.coefficient-b{color:var(--accent)}.coefficient-c{color:#bfa9f4}.coefficient-options{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:12px;padding:0;font-size:15px;font-weight:600}.choice-row{gap:8px;display:flex}.radio-option{cursor:pointer;align-items:center;gap:12px;display:flex}.choice-row .radio-option{position:relative}.choice-row .radio-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.choice-row .radio-option span{min-width:50px;min-height:48px;color:var(--text);border:1px solid #66879f;border-radius:7px;place-items:center;font-size:19px;display:grid}.choice-row input:checked+span{border-color:var(--navigation);background:#204c63}.radio-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:4px}.discriminant-form{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.discriminant-form label{font-size:22px}.discriminant-form input{width:110px;min-height:50px;color:var(--text);background:#081527;border:1px solid #66879f;border-radius:7px;padding:10px 14px;font-size:22px}.discriminant-form input:focus-visible{outline:3px solid var(--navigation);outline-offset:3px}.discriminant-form input[aria-invalid=true]{border-color:var(--error)}.calculation-note{color:var(--muted);font-size:16px}.graph-controls{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.graph-choice{min-width:120px}.graph-choice span{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.graph-choice[aria-pressed=true]{border-color:var(--navigation);background:#204c63}.equation-graph{margin:0}.graph-formulas{flex-wrap:wrap;align-items:center;gap:14px 28px;display:flex}.graph-formulas>span:last-child{color:var(--muted)}.equation-graph svg{width:100%;max-width:650px;margin:12px auto;display:block}.equation-graph figcaption{color:#c7dce9;line-height:1.7}.equation-graph figcaption strong{color:var(--accent)}.task-guide{color:var(--muted);margin-bottom:0;font-size:14px}.root-step{border-left:2px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;padding-left:20px;display:flex}.root-step>span:first-child{color:var(--muted);font-size:14px}.root-step p{margin:0}.math-reminder{border-top:1px solid var(--border);margin-top:24px;padding-top:14px}.math-reminder p{color:var(--muted);margin:8px 0}.math-reminder .math-formula{font-size:18px}.calibration-options{flex-direction:column;gap:12px;margin:0 0 24px;display:flex}.calibration-option{border:1px solid #66879f;border-radius:7px;min-height:52px;padding:12px 16px}.calibration-option:has(input:checked){border-color:var(--navigation);background:#204c63}.calibration-option input{width:18px;height:18px;accent-color:var(--navigation);flex-shrink:0}.lesson-feedback{margin-top:20px}.lesson-feedback:not(:empty){border-left:3px solid;border-radius:4px;padding:16px 20px}.lesson-feedback strong{font-size:14px}.lesson-feedback p{margin:6px 0 0}.feedback-success{border-color:var(--success);background:#50cda90b}.feedback-success strong{color:var(--success)}.feedback-warning{border-color:var(--error);background:#e46f760b}.feedback-warning strong{color:#ffb0b5}.lesson-actions{justify-content:flex-end}button:disabled{cursor:not-allowed;color:#a4bfd5;box-shadow:none;background:#29445b}@media (width<=600px){.lesson-mode .space-scene{height:140px}.lesson-mode .scene-label{display:none}.lesson-heading{display:block}.lesson-heading progress{width:100%;max-width:100%;margin-top:12px}.lesson-mode .terminal{padding:22px 16px}.lesson-task{padding:18px 14px}.coefficient-options{gap:18px}.coefficient-options fieldset{width:100%}.math-formula{font-size:19px}.graph-controls{gap:8px}.graph-choice{flex:1;min-width:65px;padding:10px 6px}.graph-choice span{font-size:10px}.discriminant-form button{width:100%}.root-step{padding-left:12px}.calibration-option{padding:12px 10px;font-size:14px}}.lesson-content .computer{align-items:flex-start}@media (width<=600px){.graph-labels{font-size:22px}}.computer{--bip-color:var(--navigation)}.computer-warning{--bip-color:var(--accent)}.computer-success{--bip-color:var(--success)}.computer-icon,.computer strong{color:var(--bip-color)}.computer strong small{letter-spacing:0;white-space:nowrap;font-size:11px;font-weight:500}.lesson-feedback.feedback-success{border-left-color:var(--success)}.lesson-feedback.feedback-warning{border-left-color:var(--error)}.terminal{position:relative}.feedback-flash{pointer-events:none;opacity:0;border:2px solid;border-radius:0 0 12px 12px;animation:.8s ease-out terminal-glow;position:absolute;inset:0}.terminal-warning .feedback-flash{color:var(--error);box-shadow:inset 0 0 35px #e46f7625}.terminal-success .feedback-flash{color:var(--success);box-shadow:inset 0 0 35px #50cda925}@keyframes terminal-glow{0%,25%{opacity:.85}to{opacity:0}}.practice-content{max-width:1060px;margin:auto}.practice-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;display:flex}.practice-heading h1{margin:0}.practice-heading>span{color:var(--muted);font-size:13px}.practice-equation{margin:18px 0}.practice-workspace{grid-template-columns:1.4fr 1fr;gap:32px;padding-top:12px;display:grid}.task-label{color:var(--navigation);margin:0 0 16px;font-size:14px}.practice-fields{flex-wrap:wrap;gap:16px;display:flex}.practice-fields label{color:#d2e4f0;flex-direction:column;gap:8px;font-size:14px;display:flex}.practice-fields input{background:var(--background);width:160px;min-height:52px;color:var(--text);border:1px solid #66879f;border-radius:7px;padding:10px 14px;font-size:22px}.practice-fields input:focus-visible{outline:3px solid var(--navigation);outline-offset:3px}.practice-fields input[aria-invalid=true]{border-color:var(--error)}.practice-reference{border-left:1px solid var(--border);padding-left:28px}.practice-reference>p:last-child{color:var(--muted);font-size:14px}.accepted-discriminant{color:var(--success);font-size:18px}.practice-hints{border-left:2px solid var(--accent);background:#08152766;margin-top:24px;padding:18px 20px}.practice-hints h2,.full-solution h2{margin:0 0 12px;font-size:17px}.practice-hints ol{margin:0;padding-left:20px}.practice-hints li{margin:8px 0;padding-left:4px;line-height:1.65}.solution-control{border-top:1px solid var(--border);margin-top:28px;padding-top:18px}.solution-control>p{color:var(--muted);margin:8px 0 0;font-size:13px}.text-button{color:var(--navigation);text-underline-offset:4px;background:0 0;border-radius:3px;padding:8px 0;font-size:14px;text-decoration:underline}.text-button:hover{color:#b3f1ff;background:0 0}.full-solution p{color:var(--muted);font-size:14px}.full-solution .formula-stack{margin-bottom:0}.full-solution .math-formula{font-size:clamp(18px,1.6vw,20px)}.finish-results{border-left:2px solid var(--success);margin:24px 0;padding-left:20px}.finish-results p{margin:8px 0}.finish-reminder{color:var(--muted);line-height:1.7}@media (width<=720px){.practice-workspace{grid-template-columns:1fr;gap:24px}.practice-reference{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.practice-fields{gap:12px}.practice-fields label{flex:1;min-width:100px}.practice-fields input{width:100%}.practice-hints{padding:16px 14px}.practice-actions button{width:100%}}@media (prefers-reduced-motion:reduce){.feedback-flash{animation:none}}.route-layout-medium,.route-layout-compact{display:none}.route-line{fill:none;stroke:var(--navigation);stroke-width:1.5px;stroke-dasharray:1;opacity:.8}.route-line-drawing{animation:1s ease-out both reveal-route}.route-point-halo{fill:#62d9f21a;stroke:var(--navigation);stroke-width:.7px}.route-point{fill:var(--navigation)}@keyframes reveal-route{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (width>=901px) and (width<=1050px){.route-layout-wide{display:none}.route-layout-medium{display:inline}}@media (width<=900px){.route-layout-wide{display:none}.route-layout-compact{display:inline}}@media (prefers-reduced-motion:reduce){.route-line-drawing{animation:none}}
