:root{color-scheme:light;--navy:#153a53;--blue:#236a8a;--light:#eff6f9;--ink:#17364d;--muted:#577083;--line:#d5e4eb;--purple:#7957a1;--mint:#eaf5f0;--red:#b94c49}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);background:#f2f7f9;font:17px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;overflow-x:hidden;-webkit-text-size-adjust:100%;touch-action:pan-x pan-y}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #67bada;outline-offset:2px}a{color:var(--blue)}p{margin:.35rem 0 .76rem}h1,h2,h3{line-height:1.2;letter-spacing:-.028em}h2{font-size:clamp(25px,3.4vw,33px);margin:0}h3{font-size:21px;margin:0 0 13px}
.top{height:68px;position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:14px;padding:10px clamp(12px,2.6vw,30px);background:#fffffff2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);font-size:13px;letter-spacing:.11em;font-weight:850}.brand img{border-radius:11px}.brand small{display:block;letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:650}.home-link{margin-left:auto;text-decoration:none;font-size:14px;font-weight:800}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:10px;color:var(--blue);padding:7px 11px;font-weight:750}.shell{max-width:1620px;margin:0 auto;display:grid;grid-template-columns:258px minmax(0,1fr);gap:24px;padding:22px clamp(12px,2.3vw,28px) 38px}.side{position:sticky;top:89px;height:calc(100dvh - 110px);overflow:auto;background:white;border:1px solid var(--line);border-radius:18px;padding:18px 12px;overscroll-behavior:contain}.side-head{padding:0 10px 15px;border-bottom:1px solid var(--line);margin-bottom:12px}.side-head strong{display:block;font-size:18px}.side-head span{font-size:12px;color:var(--muted)}.side nav a{display:block;padding:10px 11px;margin:2px 0;border-radius:9px;text-decoration:none;font-size:14px;font-weight:700;color:#35586f}.side nav a:hover,.side nav a:focus-visible{background:#eaf4f8}.side nav .featured{background:#f1ebfa;color:#68498d}.side-foot{font-size:12px;color:#7b8c97;padding:18px 10px;border-top:1px solid var(--line);margin-top:17px}.content{min-width:0}.hero{background:linear-gradient(115deg,#11344f,#21627b 67%,#388477);border-radius:22px;padding:clamp(28px,5vw,57px);color:white}.eyebrow{letter-spacing:.15em;font-weight:850;font-size:12px;color:#9ee0e0}.hero h1{font-size:clamp(36px,5vw,62px);margin:10px 0}.hero-sub{font-size:clamp(18px,2.5vw,23px);max-width:760px;color:#e3f4f8}.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.hero-pills span{border:1px solid #ffffff75;padding:5px 12px;border-radius:40px;font-size:12px;font-weight:750}.hero-note{color:#cee7eb;font-size:12px;margin-top:22px}
.section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(18px,3vw,38px);margin-top:24px;min-width:0;scroll-margin-top:82px}.focus-section{border-color:#ccb8df}.sec-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}.sec-title>div>p{color:var(--muted);margin:8px 0 0}.sec-no{color:#166080;background:#e6f3fa;padding:9px 11px;border-radius:12px;font-weight:850;min-width:57px;text-align:center;flex:none}.sec-no.purple{background:#f1ebf8;color:#765293}.sec-no.alt{background:#eaf2eb;color:#286951}.grid{display:grid;gap:17px;min-width:0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{background:#f8fbfc;border:1px solid #dbe8ee;border-radius:15px;padding:21px;min-width:0}.tile p{color:#425b70}.tile.example{border-top:4px solid #8c6bb0}.terms>div{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid #e0ebef}.terms>div:last-child{border:0}.terms b{font-size:16px;color:#195a7b}.terms span{font-size:14px;color:#5c7384}.mini-steps p{margin:8px 0}.illustration{max-height:210px;width:100%;margin-top:8px}.note,.warn{border-radius:14px;padding:18px 21px;margin:20px 0;background:#eaf4f7;border-left:5px solid #24819f}.warn{background:#fff4ed;border-color:#c47e42}.note>p:last-child,.warn>p:last-child{margin-bottom:0}.stepstrip{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.stepstrip span{background:white;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:800}.formula{font-size:clamp(22px,2.4vw,32px);font-weight:800;letter-spacing:.01em;color:#195a79;background:#e8f3f8;padding:16px 14px;text-align:center;border-radius:12px;margin:15px 0}.formula.important{background:#f0eafa;color:#643e86;display:block;margin:17px 0 22px}.formula small{display:block;font-size:13px;color:#795995;font-weight:650;margin-top:4px}.worked{border:1px solid #cbdfea;border-radius:13px;background:white;margin:18px 0 0;overflow:hidden}.worked summary{cursor:pointer;list-style:disclosure-closed;font-weight:800;color:#246c8a;padding:16px 19px;background:#f7fbfc}.worked[open] summary{border-bottom:1px solid var(--line)}.worked-body{padding:18px 21px}.worked-body p{margin:8px 0;padding:8px 12px;border-bottom:1px solid #eef3f7}.worked-body p b{display:inline-block;min-width:125px;color:#216587}.worked-body .answer{background:#e7f4ec;border-radius:9px;color:#145a45;border:0}
.control{display:block;margin:13px 0 19px;font-weight:750;color:#2d526d}.control output{float:right;color:#186384}.control input[type=range]{display:block;clear:both;width:100%;accent-color:#256f96;min-height:29px;margin-top:10px;touch-action:pan-y}.sim-svg{display:block;width:100%;height:auto;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;margin:13px 0;overflow:visible}.result{border:1px solid #b9dbe4;border-radius:12px;background:#eef7f9;padding:15px 18px;color:#174660;min-height:78px}.result.large{font-size:17px;line-height:1.9}.result strong{font-size:22px;color:#174e70}.small{font-size:13px!important;color:#708292!important}.sim-head{display:flex;justify-content:space-between;gap:18px}.sim-head>div>p{color:var(--muted)}.soft{color:#7f5ca1!important}.subhead{font-size:14px;color:#2d5b77;font-weight:850;border-bottom:1px solid var(--line);margin:7px 0 11px;padding-bottom:9px}.lever-screen{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:14px 0}.lever-screen svg{margin:0;border:0}.moment-card{border:1px solid;border-radius:12px;padding:14px 19px;background:#edf7fc;border-color:#c4dce9;display:flex;flex-direction:column;gap:2px}.moment-card.right{background:#f9f1ec;border-color:#edd2c3}.moment-card span{font-size:12px;letter-spacing:.06em;font-weight:850;color:#446b82}.moment-card.right span{color:#98654e}.moment-card strong{font-size:29px;color:#1c6181}.moment-card.right strong{color:#b46744}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 7px;align-items:center}.actions button{border:1px solid #165b7f;border-radius:10px;padding:11px 15px;background:#246f92;color:white;font-weight:780;min-height:44px}.actions button:hover{filter:brightness(.95)}.actions button.subtle{background:#fff;color:#246f92;border-color:#bcd6e3}.field-label{display:block;font-weight:800;margin:3px 0 10px}.select{width:100%;padding:12px 14px;border:1px solid #abcbdc;border-radius:10px;color:var(--ink);background:white;min-width:0}.choices{display:grid;gap:9px;margin-top:18px}.choices button{padding:12px;text-align:left;border:1px solid #bdd8e4;background:#fff;border-radius:10px;color:#20536e;font-weight:730;overflow-wrap:anywhere}.choices button.correct{border-color:#408c66;background:#eaf7ed}.choices button.incorrect{border-color:#cf7b75;background:#fff0ee}.flash-meta{display:flex;justify-content:space-between;color:#697f8d;font-size:13px;gap:8px}.flashcard{width:100%;min-height:235px;background:linear-gradient(117deg,#15415f,#246f83);border:0;color:white;border-radius:17px;padding:28px 19px;margin:12px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.flash-prompt{font-size:12px;letter-spacing:.16em;color:#b6e8e7;font-weight:750}.flashcard #flashText{font-size:clamp(21px,3vw,32px);font-weight:800;line-height:1.35}.flashcard small{font-size:13px;color:#c5e4ec}.flashcard.flipped{background:linear-gradient(110deg,#245b57,#367e75)}.short-q{font-size:19px;font-weight:720;padding:20px 0 10px;line-height:1.5}.section textarea{display:block;width:100%;border:1px solid #b8d1df;border-radius:12px;padding:14px 15px;min-height:105px;resize:vertical}.solution{background:#eaf7ef;border:1px solid #b3dbc5;color:#225d49;border-radius:12px;padding:15px 18px;margin-top:12px}.q-filter.active{background:#246f92;color:white}.test-question{border-top:1px solid var(--line);padding:18px 0}.test-question h4{font-size:17px;margin:2px 0 8px}.test-question label{display:flex;gap:8px;align-items:flex-start;padding:8px 4px;cursor:pointer}.test-question input[type=radio]{margin-top:7px;accent-color:#216a8b;flex:none}.test-question input[type=number]{width:180px;max-width:80%;padding:10px 12px;border:1px solid #b6d0dc;border-radius:8px}.test-feedback{padding:9px 13px;margin:8px 0 0;border-radius:8px;background:#eef6f9;color:#245b6e}.test-feedback.good{background:#e4f4e8;color:#24603f}.test-feedback.bad{background:#fff0ec;color:#a65043}.bottom{padding:28px 5px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:#718694;font-size:12px}.bottom a{text-decoration:none;font-weight:750}
@media(max-width:1180px){.menu-toggle{display:inline-flex;gap:5px;align-items:center}.shell{display:block;padding:16px}.side{position:fixed;z-index:32;top:68px;left:0;bottom:0;height:calc(100dvh - 68px);width:min(84vw,310px);border-radius:0 15px 15px 0;transform:translateX(-105%);transition:transform .2s ease;box-shadow:8px 2px 24px #0c344124}.side.open{transform:translateX(0)}.scrim:not([hidden]){display:block;position:fixed;inset:68px 0 0;background:#0c263d70;z-index:29}}
@media(max-width:760px){.grid.two,.grid.three{grid-template-columns:minmax(0,1fr)}.sim-head{display:block}.hero{border-radius:17px;padding:27px 22px}.section{padding:21px 16px;border-radius:15px}.sec-title{gap:11px}.sec-no{min-width:49px;font-size:13px}.formula{font-size:22px}.work-body p b{display:block}.top .home-link{font-size:12px}.simulator{padding:14px}.moment-card strong{font-size:23px}}
@media(max-width:420px){.brand img{width:31px;height:31px}.brand{font-size:11px;letter-spacing:.07em}.home-link{font-size:11px!important}.top{gap:8px}.menu-toggle{padding:6px}.sec-title{display:block}.sec-no{display:inline-block;margin-bottom:10px}.flash-meta{display:block}.sim-svg{max-height:450px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Multi-force lever, same calm layout as existing HAVO lesson. */
.lever-sides{align-items:start;gap:13px}.lever-side{padding:10px 12px;background:#f6f9fb;border:1px solid #dbe7ed;border-radius:12px;min-width:0}
.lever-force-list{display:grid;gap:9px}.lever-force-row{padding:11px 11px 12px;border:1px solid #cfdee8;border-radius:10px;background:#fff}
.lever-force-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.lever-force-top b{color:#205570}.lever-remove{min-height:34px;border:1px solid #d3dfe7;border-radius:8px;background:#fff;color:#567082;padding:5px 9px;font-size:12px}
.lever-inputs{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lever-inputs label{font-size:12px;font-weight:750;color:#476779;min-width:0}.lever-inputs label:last-child{grid-column:1/-1}
.lever-inputs input,.lever-inputs select{width:100%;min-height:42px;box-sizing:border-box;border:1px solid #b5cbd6;background:white;border-radius:8px;padding:7px 9px;margin-top:4px;color:#224c63;font:inherit;font-size:16px}
.lever-add{margin-top:11px;background:#eaf4f7;border:1px solid #8db8c9;color:#195a77;padding:10px 12px;min-height:44px;border-radius:9px;font-weight:800;width:100%}.lever-add:disabled{opacity:.5}
.lever-legend{display:flex;gap:9px 16px;flex-wrap:wrap;margin:14px 0 7px;color:#547082;font-size:13px;font-weight:700}.lever-legend>span{display:inline-flex;align-items:center;gap:7px}
.lever-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#268878}.lever-dot.cw{background:#c17a55}
@media(max-width:760px){.lever-sides{grid-template-columns:minmax(0,1fr)}.lever-side{padding:11px}}

/* Direct manipulation: touch-safe drag handles for force vectors. */
.lever-screen svg [data-lever-handle]{cursor:grab;touch-action:none;pointer-events:all}
.lever-screen svg [data-lever-handle]:active{cursor:grabbing}
@media print{.lever-legend,.lever-force-row,.lever-sides,.lever-add,.lever-remove{display:none!important}}
#leverSvg text{pointer-events:none}
