
:root{--bg:#f6f2e9;--panel:#fffdf8;--text:#17312d;--muted:#687772;--teal:#0e6f60;--teal2:#0b5d51;--amber:#e0992b;--soft:#eaf5f1;--amber-soft:#fbf0d9;--border:#dcd8ce;--shadow:0 12px 32px rgba(28,58,53,.07)}
[data-theme="dark"]{--bg:#10211f;--panel:#162b28;--text:#eef7f3;--muted:#adbbb6;--teal:#48b8a7;--teal2:#64c9ba;--amber:#efb34d;--soft:#173a35;--amber-soft:#3c3020;--border:#31514b;--shadow:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.65}.wrap{width:min(1180px,calc(100% - 34px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.header-row{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font:700 1.2rem "Space Grotesk"}.brand em{font-style:normal;color:var(--teal)}.logo-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--teal);color:#fff}.logo-mark span{color:var(--amber)}.header-tools{display:flex;align-items:center;gap:14px}.board{font:600 .78rem "JetBrains Mono";color:var(--muted)}.theme-pill{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:8px 12px;cursor:pointer}
.hero{border-bottom:1px solid var(--border);background:radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--amber) 14%,transparent),transparent 27%),linear-gradient(135deg,color-mix(in srgb,var(--teal) 8%,var(--bg)),var(--bg))}.hero-grid{min-height:340px;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}.eyebrow{margin:0 0 8px;font:600 .76rem "JetBrains Mono";letter-spacing:.12em;color:var(--teal)}h1,h2,h3,h4{font-family:"Space Grotesk";line-height:1.18}h1{font-size:clamp(2rem,4vw,4rem);max-width:850px;margin:0 0 16px}.lead{font-size:1.05rem;color:var(--muted);max-width:780px}.initiative{font-size:.8rem;color:var(--muted)}.initiative a{color:var(--teal);font-weight:700}.physics-art{height:250px;position:relative;border:1px solid var(--border);border-radius:32px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.physics-art span{position:absolute;font:700 1.4rem "JetBrains Mono";color:var(--teal)}.physics-art span:nth-child(1){left:18%;top:18%}.physics-art span:nth-child(2){right:20%;top:15%;color:var(--amber)}.physics-art span:nth-child(3){left:48%;top:48%;font-size:3rem}.physics-art span:nth-child(4){left:15%;bottom:20%;color:var(--amber)}.physics-art span:nth-child(5){right:9%;bottom:18%;font-size:1rem}.physics-art i{position:absolute;inset:34px;border:2px solid color-mix(in srgb,var(--teal) 45%,transparent);border-radius:50%;transform:rotate(-12deg)}.physics-art i:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--amber);top:14px;left:42%}
.navigator,.model-paper,.units,.revision{padding:64px 0}.navigator h2,.section-head h2,.revision h2{margin:0 0 12px;font-size:clamp(1.6rem,2.8vw,2.5rem)}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.chapter{display:flex;gap:14px;align-items:center;padding:17px;border:1px solid var(--border);background:var(--panel);border-radius:16px;color:var(--text);text-decoration:none;transition:.18s;box-shadow:var(--shadow)}.chapter:hover{transform:translateY(-2px);border-color:var(--teal)}.chapter span{display:grid;place-items:center;min-width:44px;height:36px;border-radius:10px;background:var(--soft);color:var(--teal);font:700 .75rem "JetBrains Mono"}.chapter.model{border-color:color-mix(in srgb,var(--amber) 55%,var(--border))}.chapter.model span{background:var(--amber-soft);color:var(--amber)}
.section-head{margin-bottom:24px}.section-head>p:last-child{color:var(--muted);max-width:760px}.official-note{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid color-mix(in srgb,var(--amber) 55%,var(--border));background:var(--amber-soft);border-radius:16px;margin-bottom:18px}.official-note b{color:var(--amber);white-space:nowrap}.model-paper details{background:var(--panel);border:1px solid var(--border);border-radius:17px;margin:12px 0;box-shadow:var(--shadow);overflow:hidden}.model-paper summary{cursor:pointer;padding:18px 20px;font:700 .95rem "Space Grotesk";display:flex;justify-content:space-between}.model-paper summary span{font:600 .74rem "JetBrains Mono";color:var(--amber)}.paper-content{padding:4px 22px 24px;border-top:1px solid var(--border)}.paper-content li{margin:11px 0}.alpha{list-style-type:upper-alpha}.roman{list-style-type:lower-roman}.model-q{border-top:1px solid var(--border);padding:12px 0}
.unit-card{border:1px solid var(--border);border-radius:18px;background:var(--panel);margin:14px 0;overflow:hidden;box-shadow:var(--shadow)}.unit-head{width:100%;border:0;background:none;color:var(--text);display:grid;grid-template-columns:90px 1fr 30px;gap:12px;align-items:center;text-align:left;padding:20px;cursor:pointer}.unit-no{font:700 .73rem "JetBrains Mono";color:var(--teal)}.unit-title{font:700 1.05rem "Space Grotesk"}.chev{font-size:1.4rem;text-align:center;transition:.2s}.unit-card.open .chev{transform:rotate(45deg)}.unit-body{display:none;border-top:1px solid var(--border)}.unit-card.open .unit-body{display:block}.subnav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px}.subtab{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:12px 10px;font:700 .86rem "Space Grotesk";cursor:pointer}.subtab.active{background:var(--teal);color:#fff;border-color:var(--teal)}.subpanel{display:none;padding:8px 24px 26px}.subpanel.active{display:block}.formula{overflow-x:auto;margin:16px 0;padding:12px 14px;border-radius:13px;background:var(--soft);border-left:3px solid var(--teal)}.callout{display:flex;gap:12px;padding:14px 15px;border-radius:14px;margin:16px 0}.callout b{white-space:nowrap}.remember{background:var(--soft)}.common{background:var(--amber-soft)}.worked{border:1px solid var(--border);border-radius:15px;padding:18px;background:color-mix(in srgb,var(--panel) 88%,var(--soft))}.worked p{margin:8px 0}.worked .final{padding-top:10px;border-top:1px solid var(--border)}.truth{overflow-x:auto}.truth table{width:100%;border-collapse:collapse}.truth th,.truth td{border:1px solid var(--border);padding:8px;text-align:center}
.mcq{padding:18px 0;border-bottom:1px solid var(--border)}.q{margin-top:0}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.opt{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:11px;padding:10px;text-align:left}.reveal{margin-top:10px;border:0;border-radius:999px;padding:8px 12px;background:var(--soft);color:var(--teal);font-weight:700;cursor:pointer}.answer{display:none;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--soft)}.answer.show{display:block}.answer span{color:var(--muted)}
.revision{border-top:1px solid var(--border)}.formula-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.formula-grid>div{background:var(--panel);border:1px solid var(--border);border-radius:15px;overflow:auto;padding:6px;box-shadow:var(--shadow)}
footer{border-top:1px solid var(--border);padding:26px 0 50px;color:var(--muted)}footer .wrap{display:flex;justify-content:space-between}footer b{color:var(--text)}
@media(max-width:780px){.hero-grid{grid-template-columns:1fr;padding:42px 0}.physics-art{height:190px}.chapter-grid,.formula-grid{grid-template-columns:1fr}.board{display:none}.unit-head{grid-template-columns:72px 1fr 24px}.options{grid-template-columns:1fr}.official-note{display:block}.official-note b{display:block;margin-bottom:5px}.subpanel{padding-left:18px;padding-right:18px}}
@media(max-width:480px){.wrap{width:min(100% - 24px,1180px)}.header-row{height:62px}.hero-grid{min-height:0}.hero h1{font-size:1.9rem}.chapter-grid{gap:9px}.chapter{padding:14px}.subnav{gap:8px;padding:12px}.subtab{font-size:.78rem}.model-paper summary{gap:12px;align-items:flex-start}.model-paper summary span{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.brand img.brand-logo{width:35px;height:35px;object-fit:contain;border-radius:8px}
.brand em{font-style:normal;color:var(--teal)}
.source-note{color:var(--muted);font-size:.82rem;margin:0 0 16px}
.practice-label{display:inline-block;margin:0 0 10px;padding:6px 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font:600 .62rem "JetBrains Mono";letter-spacing:.04em}


/* v36: homepage-matched theme pill, 3-column model-paper navigation, reviewed content, dynamic physics visual */
.theme-toggle.theme-pill{position:relative;width:72px;height:36px;min-width:72px;padding:3px;border:1px solid var(--border);border-radius:999px;background:rgba(255,253,248,.78);display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--muted);transition:.18s ease}
.theme-toggle.theme-pill::before{content:"";position:absolute;width:28px;height:28px;left:3px;top:3px;border-radius:50%;background:var(--panel);box-shadow:0 3px 10px rgba(31,43,40,.10);transition:transform .22s ease,background .18s ease}
.theme-toggle .pill-icon{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center}.theme-toggle .pill-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .sun-side{color:var(--amber)}.theme-toggle .moon-side{color:#63706b}
html[data-theme="dark"] .theme-toggle.theme-pill{background:rgba(29,41,37,.82);border-color:var(--border)}html[data-theme="dark"] .theme-toggle.theme-pill::before{transform:translateX(36px);background:#26342f;box-shadow:0 3px 12px rgba(0,0,0,.22)}html[data-theme="dark"] .theme-toggle .sun-side{color:#87918d}html[data-theme="dark"] .theme-toggle .moon-side{color:#f2c66f}
.model-sections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.model-sections-grid details{margin:0!important;height:auto}.model-sections-grid summary{min-height:80px;align-items:center;padding:16px!important}.model-sections-grid .paper-content{max-height:620px;overflow:auto}.model-sections-grid details[open]{grid-row:span 2}.model-sections-grid details[open] summary{border-bottom:1px solid var(--border)}
.coverage,.derivation-extra{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.coverage h3,.derivation-extra h3,.extra-worked h3{margin:0 0 10px;font-size:1rem}.coverage ul{padding-left:20px}.coverage li{margin:6px 0}.extra-worked{margin-top:16px}.extra-mcq{margin-top:4px}
.physics-art{isolation:isolate}.atom-visual{position:absolute;left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%)}.nucleus{position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%);background:var(--amber);box-shadow:0 0 0 8px color-mix(in srgb,var(--amber) 14%,transparent)}.orbit{position:absolute;inset:14px;border:1.5px solid color-mix(in srgb,var(--teal) 65%,transparent);border-radius:50%;animation:spin 8s linear infinite}.orbit.o2{transform:rotate(60deg);animation-duration:10s}.orbit.o3{transform:rotate(120deg);animation-duration:12s}.orbit b{position:absolute;left:50%;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px color-mix(in srgb,var(--teal) 60%,transparent)}.wave-visual{position:absolute;left:7%;right:7%;bottom:22px;height:34px;overflow:hidden;opacity:.55}.wave-visual span{position:absolute;left:-10%;top:10px;width:120%;height:18px;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 15px,color-mix(in srgb,var(--teal) 50%,transparent) 16px 17px,transparent 18px 31px);animation:waveMove 6s linear infinite}.physics-chip{position:absolute;font:700 .78rem "JetBrains Mono";padding:6px 8px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:var(--shadow)}.chip-a{left:8%;top:12%;color:var(--teal)}.chip-b{right:12%;top:13%;color:var(--amber);font-size:1.2rem}.chip-c{right:7%;bottom:15%;color:var(--teal)}.chip-d{left:10%;bottom:17%;color:var(--amber);font-size:1.2rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes waveMove{to{transform:translateX(52px)}}
@media(max-width:850px){.model-sections-grid{grid-template-columns:1fr}.model-sections-grid .paper-content{max-height:none}.model-sections-grid details[open]{grid-row:auto}}
@media(max-width:700px){.theme-toggle.theme-pill{width:66px;height:34px;min-width:66px}.theme-toggle.theme-pill::before{width:26px;height:26px}html[data-theme="dark"] .theme-toggle.theme-pill::before{transform:translateX(32px)}.theme-toggle .pill-icon{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.orbit,.wave-visual span{animation:none!important}}

/* v38 comprehensive revision banks */
.complete-review,.derivation-bank,.worked-bank{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.complete-review h3,.derivation-bank h3,.worked-bank h3{margin:0 0 7px;font-size:1.15rem}.review-intro{margin:0 0 15px;color:var(--muted)}
.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-item{padding:14px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--panel) 90%,var(--soft))}.review-item h4{margin:0 0 5px;font-size:.92rem;color:var(--teal)}.review-item p{margin:0;font-size:.92rem}
.derivation-entry{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;padding:13px 0;border-bottom:1px solid var(--border)}.derivation-entry:last-child{border-bottom:0}.derivation-entry h4{margin:2px 0 7px}.bank-no{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--soft);color:var(--teal);font:700 .72rem "JetBrains Mono"}.derivation-entry .formula{margin:7px 0 0}
.worked-bank>.worked{margin:12px 0}.worked-bank h4{margin-top:0}.expanded-mcq .q b{color:var(--teal)}
@media(max-width:780px){.review-list{grid-template-columns:1fr}.derivation-entry{grid-template-columns:30px minmax(0,1fr)}}


/* =========================================================
   Shared animated Physics hero — XI/XII; reusable for IX/X
   ========================================================= */
.hero-grid{grid-template-columns:minmax(0,1.13fr) minmax(360px,.87fr);gap:clamp(28px,5vw,64px);min-height:390px}
.physics-hero-stage{--hero-x:0px;--hero-y:0px;position:relative;width:min(100%,500px);justify-self:end;isolation:isolate;opacity:0;transform:translateY(14px) scale(.975);animation:physicsHeroReveal .72s .12s cubic-bezier(.2,.82,.2,1) forwards;perspective:900px}
.physics-hero-parallax{transform:translate3d(var(--hero-x),var(--hero-y),0);transition:transform .18s ease-out;will-change:transform}
.physics-hero-float{position:relative;animation:physicsHeroFloat 7.2s 1s ease-in-out infinite;will-change:transform}
.physics-hero-frame{position:relative;aspect-ratio:4/3;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:30px;overflow:hidden;background:#f8eddb;box-shadow:0 24px 54px rgba(31,43,40,.12),0 5px 14px rgba(31,43,40,.06);transform:translateZ(0)}
.physics-hero-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.008);transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .25s ease;user-select:none;-webkit-user-drag:none}
.physics-hero-frame::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),inset 0 -22px 45px rgba(10,78,68,.025)}
.physics-hero-glow{position:absolute;border-radius:50%;filter:blur(22px);pointer-events:none;mix-blend-mode:screen;opacity:.12;animation:physicsGlow 8s ease-in-out infinite}
.glow-teal{width:145px;height:145px;left:28%;top:31%;background:#2da18e}.glow-amber{width:125px;height:125px;right:16%;top:18%;background:#f2a53b;animation-delay:-3.7s}
.physics-wave-overlay{position:absolute;left:-4%;right:-4%;bottom:4%;width:108%;height:23%;overflow:visible;opacity:.32;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(10,111,96,.08));animation:physicsWaveDrift 9s linear infinite}
.physics-wave-overlay path{fill:none;stroke-linecap:round;stroke-width:2}.wave-back{stroke:#0e6f60;stroke-dasharray:6 8}.wave-front{stroke:#e0992b;opacity:.78;stroke-width:1.55}
.physics-field-overlay{position:absolute;inset:3%;width:94%;height:94%;pointer-events:none;opacity:0;animation:fieldPulse 9.5s 2s ease-in-out infinite}
.physics-field-overlay path{fill:none;stroke:#0e6f60;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:4 10}
.physics-orbit{position:absolute;border:1px solid rgba(14,111,96,.24);border-radius:50%;pointer-events:none;opacity:.68}.physics-orbit span{position:absolute;width:8px;height:8px;border-radius:50%;background:#e0992b;box-shadow:0 0 12px rgba(224,153,43,.42);top:-4px;left:50%;transform:translateX(-50%)}
.orbit-one{width:86px;height:86px;right:7%;top:8%;animation:physicsOrbit 12s linear infinite}.orbit-two{width:60px;height:60px;left:7%;bottom:16%;border-color:rgba(224,153,43,.25);animation:physicsOrbitReverse 15s linear infinite}.orbit-two span{background:#0e6f60;box-shadow:0 0 12px rgba(14,111,96,.4)}
.physics-symbol{position:absolute;z-index:3;font:700 .68rem "JetBrains Mono",monospace;letter-spacing:.01em;color:#0e6f60;background:rgba(255,253,248,.72);border:1px solid rgba(14,111,96,.14);border-radius:999px;padding:4px 7px;backdrop-filter:blur(5px);box-shadow:0 5px 15px rgba(31,43,40,.05);pointer-events:none;animation:symbolDrift 7s ease-in-out infinite}.symbol-one{left:4%;top:8%;font-size:.85rem}.symbol-two{right:5%;bottom:13%;color:#bd751c;animation-delay:-2.5s}.symbol-three{left:38%;bottom:3.5%;font-size:.61rem;animation-delay:-4.2s}
.physics-shimmer{position:absolute;z-index:4;top:-35%;left:-45%;width:28%;height:175%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(18deg);pointer-events:none;opacity:0;animation:physicsShimmer 13s 4s ease-in-out infinite}
html[data-theme="dark"] .physics-hero-frame{background:#1a2926;border-color:color-mix(in srgb,var(--border) 90%,transparent);box-shadow:0 24px 56px rgba(0,0,0,.28)}
html[data-theme="dark"] .physics-hero-image{filter:brightness(.82) saturate(.92) contrast(1.03)}
html[data-theme="dark"] .physics-symbol{background:rgba(24,43,39,.74);border-color:rgba(73,184,167,.2);color:#75cbbb}
html[data-theme="dark"] .symbol-two{color:#efb34d}
@media(hover:hover) and (pointer:fine){.physics-hero-stage:hover .physics-hero-image{transform:scale(1.022)}.physics-hero-stage:hover .physics-field-overlay{opacity:.34}}
@keyframes physicsHeroReveal{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes physicsHeroFloat{0%,100%{transform:translateY(0) rotate(.08deg)}50%{transform:translateY(-6px) rotate(-.08deg)}}
@keyframes physicsWaveDrift{0%{transform:translateX(-10px)}50%{transform:translateX(12px)}100%{transform:translateX(-10px)}}
@keyframes physicsOrbit{to{transform:rotate(360deg)}}
@keyframes physicsOrbitReverse{to{transform:rotate(-360deg)}}
@keyframes physicsGlow{0%,100%{opacity:.07;transform:scale(.86)}50%{opacity:.18;transform:scale(1.08)}}
@keyframes fieldPulse{0%,72%,100%{opacity:0;stroke-dashoffset:0}80%{opacity:.21}90%{opacity:.10;stroke-dashoffset:-36}}
@keyframes symbolDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes physicsShimmer{0%,72%{opacity:0;left:-45%}76%{opacity:.52}84%{opacity:.2;left:125%}85%,100%{opacity:0;left:125%}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:18px;padding-top:42px;padding-bottom:36px}.physics-hero-stage{justify-self:center;width:min(92vw,480px)} }
@media(max-width:560px){.physics-hero-stage{width:min(94vw,420px)}.physics-hero-frame{border-radius:22px}.physics-symbol{font-size:.58rem}.symbol-one{font-size:.73rem}.physics-field-overlay{display:none}.physics-shimmer{animation-duration:16s}.physics-orbit{opacity:.5}}
@media(prefers-reduced-motion:reduce){.physics-hero-stage{opacity:1;transform:none;animation:none}.physics-hero-parallax{transform:none!important;transition:none}.physics-hero-float,.physics-wave-overlay,.physics-orbit,.physics-symbol,.physics-hero-glow,.physics-field-overlay,.physics-shimmer{animation:none!important}.physics-field-overlay,.physics-shimmer{display:none}.physics-hero-image{transition:none!important;transform:scale(1.008)!important}}
