:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--panel:#0f172abd;--panel-strong:#0f172aeb;--border:#94a3b833;--muted:#9ca3af;--ink:#f8fafc;--accent:#38bdf8;--accent-2:#a78bfa;--accent-3:#f472b6;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:radial-gradient(circle at 15% 10%,#38bdf83d,#0000 28rem),radial-gradient(circle at 82% 18%,#a78bfa33,#0000 30rem),radial-gradient(circle at 45% 90%,#f472b629,#0000 26rem),#07111f;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{min-height:44px;color:var(--ink);cursor:pointer;background:#0f172ad1;border:1px solid #94a3b838;border-radius:999px;transition:transform .2s,border-color .2s,background .2s}button:hover{background:#1e293be6;border-color:#38bdf894;transform:translateY(-1px)}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #38bdf866}strong{color:#fff}#root{min-height:100vh}.app-shell{width:min(1440px,100% - 32px);margin:0 auto;padding:28px 0 48px}.topbar,.workspace,.control-card,.step-card,.graph-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(145deg,#0f172ae0,#0f172a94);box-shadow:0 24px 80px #0000004d}.topbar{border-radius:34px;grid-template-columns:minmax(0,1fr) minmax(230px,310px);align-items:end;gap:24px;padding:clamp(22px,4vw,44px);display:grid;position:relative;overflow:hidden}.topbar:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 80% 20%,#000,#0000 58%);mask-image:radial-gradient(circle at 80% 20%,#000,#0000 58%)}.topbar>*{position:relative}.badge,.eyebrow{color:#67e8f9;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.07em;text-wrap:balance;max-width:900px;margin-bottom:16px;font-size:clamp(2.5rem,6vw,5.8rem);line-height:.92}.hero-text{color:#cbd5e1;max-width:720px;margin:0;font-size:clamp(1.02rem,2vw,1.28rem);line-height:1.65}.date-picker{background:#0206177a;border:1px solid #94a3b833;border-radius:22px;gap:10px;padding:18px;display:grid}.date-picker span,.result-strip span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:800}select,input{min-height:46px;color:var(--ink);background:#0f172adb;border:1px solid #94a3b838;border-radius:14px;padding:0 14px}.workspace{border-radius:34px;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:22px;margin-top:22px;padding:18px;display:grid}.control-column,.lesson-column{align-content:start;gap:16px;display:grid}.control-card,.step-card,.graph-card{border-radius:28px;padding:clamp(18px,2.2vw,26px)}.control-card h2,.step-card h2,.graph-header h2{letter-spacing:-.04em;margin:0 0 16px;font-size:clamp(1.35rem,3vw,2.1rem)}.point-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.point-input-grid label{gap:8px;display:grid}.point-input-grid span{color:#bae6fd;font-size:.9rem;font-weight:800}.quick-actions{flex-wrap:wrap;gap:10px;display:flex}.control-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.value-pill{color:#e0f2fe;background:#0f172ae6;border:1px solid #38bdf838;border-radius:22px;place-items:center;min-width:76px;min-height:62px;font-size:1.8rem;font-weight:900;display:grid}.slider-card input[type=range]{accent-color:#38bdf8;width:100%;margin:22px 0 14px}.helper{color:#aeb9c9;margin:0;line-height:1.55}.quick-actions button,.problem-list button{color:#dbeafe;padding:0 16px}.problem-list{gap:10px;display:grid}.problem-list h2{margin-bottom:4px}.problem-list button{text-align:left;border-radius:16px;justify-content:flex-start;width:100%}.result-strip{grid-template-columns:1fr minmax(150px,220px);gap:12px;display:grid}.result-strip>div{background:radial-gradient(circle at 0 0,#38bdf82e,#0000 10rem),#0206178a;border:1px solid #94a3b833;border-radius:22px;gap:8px;padding:18px;display:grid}.result-strip strong{letter-spacing:-.05em;background:linear-gradient(90deg,#e0f2fe,#c4b5fd,#fbcfe8);color:#0000;-webkit-background-clip:text;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}.step-card p{color:#cbd5e1;font-size:1.04rem;line-height:1.65}.step-card pre{color:#f8fafc;white-space:pre-wrap;background:#020617b8;border:1px solid #38bdf83d;border-radius:20px;margin:18px 0 0;padding:18px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.55;overflow-x:auto}.step-controls{grid-template-columns:150px 1fr 150px;align-items:center;gap:12px;display:grid}.step-controls button:disabled{cursor:not-allowed;opacity:.42;transform:none}.progress-dots{justify-content:center;gap:8px;display:flex}.progress-dots button{background:#94a3b857;border-radius:999px;width:13px;min-width:13px;height:13px;min-height:13px;padding:0}.progress-dots button.active{background:#67e8f9;box-shadow:0 0 20px #67e8f98c}.graph-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.plane-shell{background:radial-gradient(circle,#0f172a57,#020617d1);border:1px solid #94a3b82e;border-radius:26px;position:relative;overflow:hidden}.plane-shell:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #020617b3}.plane{aspect-ratio:1;width:100%;max-height:72vh;display:block}.axis{stroke:#f8fafcc7;stroke-width:.55px}.tick{stroke:#f8fafc6b;stroke-width:.28px}.axis-label,.axis-title,.callout{fill:#e2e8f0c7;font-size:2.25px;font-weight:700}.axis-title{fill:#fff;font-size:3.2px}.main-line{stroke:#38bdf8;stroke-width:1.45px;stroke-linecap:round;transition:all .28s}.line-shadow{stroke:#38bdf842;stroke-width:3.2px}.intercept-dot{fill:#fef08a;stroke:#020617bf;stroke-width:.5px}.x-dot{fill:#67e8f9;stroke:#020617bf;stroke-width:.4px}.point-dot{fill:#f472b6;stroke:#fff;stroke-width:.38px}.callout{fill:#fef3c7;paint-order:stroke;stroke:#020617d1;stroke-width:.8px}.graph-note{z-index:1;color:#e2e8f0ad;margin:0;font-size:.78rem;position:absolute;bottom:10px;left:14px;right:14px}.intercept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.intercept-grid span{color:#cbd5e1;background:#0206176b;border:1px solid #94a3b82e;border-radius:16px;padding:14px}.empty-state{place-content:center;min-height:260px;display:grid}@media (width<=980px){.topbar,.workspace,.result-strip,.intercept-grid{grid-template-columns:1fr}}@media (width<=620px){.app-shell{width:min(100% - 20px,1440px);padding-top:10px}.topbar,.workspace,.control-card,.step-card,.graph-card{border-radius:22px;padding:16px}h1{font-size:clamp(2.4rem,15vw,4.2rem)}.point-input-grid,.step-controls{grid-template-columns:1fr}.progress-dots{order:-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
