:root{color-scheme:light;--surface:#fffcf6;--soft:#eeeede;--on-primary:#fff}.theme-toggle{border:1px solid var(--line);border-radius:20px;padding:9px 14px;background:var(--surface);color:var(--ink);font:600 12px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}header{gap:20px}header nav{align-items:center}.primary,.subject-nav [aria-current=page],.filters .active{color:var(--on-primary)}
:root[data-theme=dark]{color-scheme:dark;--bg:#111a19;--ink:#e0eee5;--muted:#acbdb3;--gold:#dfb778;--line:#344842;--surface:#1b2925;--soft:#293b32;--on-primary:#10231c}
:root[data-theme=dark] .history-page{--bg:#191416;--ink:#f0e4e5;--muted:#c4b3b6;--gold:#dfb778;--line:#4c3940;--surface:#281f23;--soft:#3b2e32;--on-primary:#281f23}
:root[data-theme=dark] .term,:root[data-theme=dark] .chapter,:root[data-theme=dark] .quiz,:root[data-theme=dark] .search,:root[data-theme=dark] .search input,:root[data-theme=dark] .phase-box,:root[data-theme=dark] .ruler,:root[data-theme=dark] select,:root[data-theme=dark] .answers button{background:var(--surface);color:var(--ink)}
:root[data-theme=dark] .code,:root[data-theme=dark] .compare,:root[data-theme=dark] .board,:root[data-theme=dark] .ruler-note,:root[data-theme=dark] .ruler[open]>summary,:root[data-theme=dark] .ruler-body>.code{background:var(--soft)}
:root[data-theme=dark] .hero-card{background:#233e34;color:#f3ead8;box-shadow:12px 14px 0 #283027}:root[data-theme=dark] .card-note{color:#cbd7cd}:root[data-theme=dark] .learn.done,:root[data-theme=dark] .answers .correct{background:#244b34;border-color:#559367;color:#e4f3e5}:root[data-theme=dark] .answers .wrong{background:#512b30;border-color:#ac6857;color:#ffe1da}:root[data-theme=dark] th{color:var(--on-primary)}:root[data-theme=dark] th,:root[data-theme=dark] td{border-color:var(--line)}
body,.term,.quiz,.ruler,.code,.compare,.board,.phase-box,.search,header,.subject-nav a{transition:background-color .28s ease,color .28s ease,border-color .28s ease}button,a.primary,.phase-box{transition:transform .2s ease,box-shadow .2s ease,background-color .25s ease}.primary:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0002}.phase-box:hover{transform:translateY(-5px);box-shadow:0 10px 22px #0001}.theme-toggle:hover{transform:translateY(-2px)}.hero-card{animation:float-card 6s ease-in-out infinite}.hero h1,.history-hero h1{animation:title-enter .8s ease both}.term{animation:card-enter .35s ease both}.ruler[open] .ruler-body{animation:card-enter .3s ease both}.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}.reveal.in-view{opacity:1;transform:none}@keyframes float-card{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes title-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes card-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media(max-width:600px){header{flex-wrap:wrap}header nav{gap:14px}.theme-toggle{padding:8px 11px}}

.complaint-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:56px 0;border-top:1px solid var(--line);margin-top:48px}.complaint-section h2{font-size:32px;margin:12px 0}.complaint-section p{line-height:1.7;color:var(--muted)}.complaint-section form{display:grid;gap:12px}.complaint-section label{font-weight:600}.complaint-section select,.complaint-section textarea{font:inherit;color:var(--ink);background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;padding:14px;width:100%;box-sizing:border-box}.complaint-section textarea{resize:vertical}.complaint-section :focus-visible{outline:2px solid var(--gold);outline-offset:3px}.complaint-section .primary:disabled{opacity:.55;cursor:default;transform:none}.complaint-status{font-size:13px;margin:0}@media(max-width:700px){.complaint-section{grid-template-columns:1fr;gap:24px}}

.hero,.history-hero,.membership-hero{position:relative;isolation:isolate}.hero::before,.history-hero::before,.membership-hero::before{content:"";position:absolute;inset:8% 0 15% 45%;z-index:-1;background:radial-gradient(ellipse,#bd995324,transparent 65%);filter:blur(24px);animation:ambient-glow 9s ease-in-out infinite;pointer-events:none}.hero-card{animation:float-card 7s ease-in-out infinite;transition:box-shadow .4s}.hero-card:hover{box-shadow:18px 24px 0 #b8944533}.term,.ruler,.plan{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .28s ease}.term:hover,.plan:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 16px 32px #0001}.brand{transition:opacity .2s}.brand:hover{opacity:.75}.ornament{animation:ornament-turn 24s linear infinite}.reveal{transform:translateY(32px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{transform:translateY(0)}.membership-hero h1{animation:title-enter 1s ease both}.plan{animation:card-enter .7s ease both}.plan:nth-child(2){animation-delay:.12s}.plan:nth-child(3){animation-delay:.24s}@keyframes ambient-glow{0%,100%{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}@keyframes ornament-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.reveal{transform:none}.term:hover,.plan:hover{transform:none}}

.history-hub-banner{display:block;margin:28px 0 0;padding:24px;border:1px solid var(--gold);border-radius:14px;text-decoration:none;background:var(--surface);transition:transform .3s,box-shadow .3s}.history-hub-banner span{display:block;font-size:10px;letter-spacing:2px;color:var(--gold);margin-bottom:12px}.history-hub-banner strong{font-size:16px;line-height:1.6}.history-hub-banner:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0001}

.study-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:28px 0 16px;border-bottom:0}.study-sections a{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:18px;background:var(--surface);color:var(--ink);transition:transform .25s,box-shadow .25s}.study-sections a:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0002}.study-sections [aria-current=page]{background:var(--ink);color:var(--on-primary)}.study-number{font-size:11px;letter-spacing:2px;opacity:.75}.study-sections strong{font-family:'Playfair Display',serif;font-size:25px;line-height:1.2}.study-sections small{font-size:13px;line-height:1.7;opacity:.8}.study-go{font-size:12px;margin-top:auto;font-weight:600}.top-test-center{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 22px;border:1px solid var(--gold);border-radius:16px;background:var(--surface);scroll-margin-top:110px}.top-test-center>div{margin-right:auto}.top-test-center .eyebrow{display:block;font-size:9px;margin-bottom:6px}.top-test-center strong{display:block;font-size:20px}.top-test-center a{padding:10px 13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-size:12px;color:var(--ink)}.top-test-center a:hover{border-color:var(--gold)}@media(max-width:700px){.study-sections{grid-template-columns:1fr;gap:10px}.study-sections a{padding:18px;text-align:left}.study-sections strong{font-size:23px}.top-test-center{align-items:stretch;flex-direction:column}.top-test-center a{text-align:center}}
