:root{color:#16211d;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:28px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;max-width:1220px;margin:0 auto 18px}.app-header h1{margin-bottom:8px;font-size:clamp(2rem,3.6vw,3.6rem)}.app-header p:last-child{max-width:760px;margin-bottom:0;color:#51625b;line-height:1.55}.language-selector{display:grid;gap:6px;min-width:190px;color:#51625b;font-size:.9rem;font-weight:800}.language-selector select{border:1px solid #c7d4ce;border-radius:8px;background:#fff;color:#26352f;padding:10px 12px}.module-nav{display:flex;flex-wrap:wrap;gap:10px;max-width:1220px;margin:0 auto 22px}.module-nav button,.animation-controls button,.export-button,.preset-row button{border:1px solid #c7d4ce;border-radius:8px;background:#fff;color:#26352f;padding:10px 14px;font-size:.9rem;font-weight:800}.module-nav button.active,.module-nav button:hover,.animation-controls button:hover,.export-button:hover,.preset-row button:hover{border-color:#2f8a67;background:#e8f4ef;color:#1c6047}.module{max-width:1220px;margin:0 auto}.module-header{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,420px);gap:24px;align-items:end;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:#527365;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,4vw,4.2rem);line-height:1}h2{margin-bottom:18px;font-size:1rem}.module-header p:last-child{margin-bottom:0;color:#51625b;line-height:1.55}.workspace-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px}.control-panel,.formula-panel,.animation-panel,.plot-panel,.learning-panel,.metric-card{border:1px solid #d8e0db;border-radius:8px;background:#fff;box-shadow:0 12px 32px #1c2c2414}.control-panel{align-self:start;padding:20px}.slider-control{display:block;margin-bottom:22px}.select-control{display:grid;gap:8px;margin-bottom:22px;color:#26352f;font-size:.92rem;font-weight:700}.select-control select{width:100%;border:1px solid #c7d4ce;border-radius:8px;background:#fff;color:#26352f;padding:10px 12px}.animation-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid #d8e0db;border-radius:8px;background:#fff;box-shadow:0 12px 32px #1c2c2414;padding:14px}.animation-controls label{display:flex;align-items:center;gap:8px;color:#26352f;font-size:.9rem;font-weight:800}.animation-controls select{border:1px solid #c7d4ce;border-radius:8px;background:#fff;padding:8px 10px}.animation-controls strong{margin-left:auto;color:#386b57;font-size:.9rem;font-variant-numeric:tabular-nums}.checkbox-control input{width:16px;height:16px}.export-button{justify-self:start}.slider-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px;color:#26352f;font-size:.92rem;font-weight:700}.slider-value{flex:0 0 auto;color:#386b57;font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:#2f8a67}.preset-row{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:22px}.main-panel{display:grid;gap:18px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{padding:16px}.metric-card span{display:block;min-height:34px;color:#60726b;font-size:.82rem;font-weight:700}.metric-card strong{display:block;margin-top:8px;color:#17251f;font-size:1.55rem;font-variant-numeric:tabular-nums}.metric-card small{color:#60726b;font-size:.82rem}.formula-panel{padding:18px}.formula-panel h2{margin-bottom:12px}.formula-row{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr);gap:12px}.formula-row-three{grid-template-columns:repeat(3,minmax(0,1fr))}.formula-row-forced{grid-template-columns:repeat(2,minmax(0,1fr))}code{display:block;overflow-x:auto;border-radius:6px;background:#eef5f1;padding:12px;color:#183729;font-size:.95rem;white-space:nowrap}.matrix-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.learning-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}.experiment-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:1px solid #d8e0db;border-radius:8px;background:#fff;box-shadow:0 12px 32px #1c2c2414;padding:18px}.assessment-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:1px solid #d8e0db;border-radius:8px;background:#fff;box-shadow:0 12px 32px #1c2c2414;padding:18px}.assessment-panel header{grid-column:1 / -1}.assessment-panel h2,.assessment-panel h3{margin:0 0 8px;color:#26352f;font-size:.98rem}.assessment-panel p,.assessment-panel li{color:#51625b;font-size:.9rem;line-height:1.5}.assessment-panel textarea{width:100%;min-height:86px;border:1px solid #c7d4ce;border-radius:8px;color:#26352f;margin:8px 0;padding:10px;resize:vertical}.assessment-panel button{border:1px solid #c7d4ce;border-radius:8px;background:#fff;color:#26352f;padding:9px 12px;font-size:.88rem;font-weight:800}.assessment-panel button:hover{border-color:#2f8a67;background:#e8f4ef;color:#1c6047}.assessment-hint,.assessment-feedback,.assessment-correct,.assessment-incorrect{border-radius:8px;padding:10px}.assessment-hint{background:#eef5f1}.assessment-feedback{background:#f6f0df}.assessment-correct{background:#e8f4ef}.assessment-incorrect{background:#f9e9e5}.quiz-card{border-top:1px solid #d8e0db;padding-top:12px}.quiz-card+.quiz-card{margin-top:12px}.quiz-choices{display:grid;gap:8px;margin:10px 0}.quiz-choices label{display:flex;align-items:flex-start;gap:8px;color:#26352f;font-size:.9rem}.quiz-choices input{margin-top:3px}.experiment-card h2,.experiment-card h3{margin:0 0 8px;color:#26352f;font-size:.95rem}.experiment-card p,.experiment-card li{color:#51625b;font-size:.9rem;line-height:1.5}.experiment-card p,.experiment-card ol{margin-bottom:0}.experiment-card ol{padding-left:18px}.learning-panel article{min-width:0}.learning-panel h2,.learning-panel h3{margin:0 0 8px;color:#26352f;font-size:.95rem}.learning-panel p{margin-bottom:0;color:#51625b;font-size:.9rem;line-height:1.5}.matrix-card{border:1px solid #d8e0db;border-radius:8px;background:#fff;box-shadow:0 12px 32px #1c2c2414;padding:16px}.matrix-card h3{margin:0 0 12px;color:#26352f;font-size:1rem}.matrix-card small{display:block;margin-top:10px;color:#60726b;font-weight:700}.matrix-grid{display:grid;grid-template-columns:repeat(2,minmax(80px,1fr));gap:8px}.matrix-grid span{border-radius:6px;background:#eef5f1;padding:10px;color:#183729;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.animation-panel,.plot-panel{margin:0;padding:14px}.animation-panel svg,.plot-panel svg{display:block;width:100%;height:auto}.wall{fill:#41504a}.track,.equilibrium-line{stroke:#aebdb6;stroke-width:2}.equilibrium-line{stroke-dasharray:6 7}.spring{fill:none;stroke:#2f8a67;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.spring-secondary{stroke:#226c9a}.damper line,.damper rect{fill:none;stroke:#58726a;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.force-arrow line{stroke:#9d3f34;stroke-linecap:round;stroke-width:4}.force-arrow polygon{fill:#9d3f34}.mass{fill:#f2b84b;stroke:#9e6d12;stroke-width:3}.mass-two{fill:#8fc5d9;stroke:#23627a}.svg-label,.mass-label,.plot-label,.plot-tick{fill:#51625b;font-size:13px;font-weight:700}.mass-label{fill:#4b3409;font-size:22px}.plot-axis,.plot-axis-muted{stroke:#7c9188;stroke-width:2}.plot-axis-muted{stroke:#d8e0db}.plot-line{fill:none;stroke:#226c9a;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.plot-line-secondary{fill:none;stroke:#b4503d;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.plot-line-reference{fill:none;stroke:#cc6b4a;stroke-dasharray:8 8;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.plot-point{fill:#f2b84b;stroke:#7a4f08;stroke-width:3}.plot-current-time{stroke:#2f8a67;stroke-dasharray:5 5;stroke-width:2}.plot-legend text{fill:#51625b;font-size:12px;font-weight:800}@media(max-width:900px){.app-shell{padding:18px}.app-header{flex-direction:column}.language-selector{width:min(100%,320px)}.module-header,.workspace-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.matrix-panel{grid-template-columns:1fr}.learning-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.experiment-card,.assessment-panel,.formula-row-three,.formula-row-forced{grid-template-columns:1fr}}@media(max-width:560px){.metrics-grid,.formula-row{grid-template-columns:1fr}.metric-card strong{font-size:1.35rem}.learning-panel{grid-template-columns:1fr}.animation-controls strong{margin-left:0;width:100%}}
