:root{--ink:#2f3a45;--muted:#626f75;--violet:#155b58;--violet-soft:#e6f2ed;--line:#dce7e0;--shadow:0 10px 30px #155b5809}
body{background:#faf8f4 url('assets/backgrounds/page-cream-wash.png') center top/cover fixed;color:var(--ink)}
.app-shell{position:relative;isolation:isolate}.app-shell:after{content:'';position:absolute;z-index:-1;bottom:0;left:0;width:100%;height:300px;background:url('assets/backgrounds/footer-waves-overlay.png') center bottom/100% 100% no-repeat;pointer-events:none}
.header{height:76px;border-top:0;background:#fffdf8d9;padding:0 max(32px,calc((100vw - 1436px)/2));border-bottom:1px solid #dbe7df;gap:16px}.brand{gap:10px}.brand-logo{width:43px;height:46px;object-fit:contain}.brand b{color:#155b58;font-size:22px;letter-spacing:.04em}.brand small{font-size:11px;letter-spacing:.12em;color:#697872;margin-top:4px}.nav-btn{min-height:44px;padding:10px 16px}.nav-btn.active{background:#e0eee7;color:#155b58}.view{max-width:1500px;padding:32px 32px 48px}.primary{background:#c65540;border-color:#c65540;box-shadow:0 6px 16px #ec7b6425}.primary:hover{background:#ac4432}.outline:hover{background:#e8f4ee}.outline,.text-btn,.link-btn{min-height:44px}button:focus-visible{outline:3px solid #155b58;outline-offset:4px}
#landingView{padding-top:0}.landing-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:320px;gap:0;position:relative}.landing-copy{padding:30px 0 30px 14px;z-index:1}.landing-copy .eyebrow{font-size:11px;letter-spacing:.18em;margin-bottom:12px;color:#497b72}.landing-copy h1{color:#155b58;font-size:clamp(32px,3.1vw,46px);line-height:1.5;letter-spacing:.015em;margin:0 0 15px;font-weight:750;white-space:nowrap}.landing-copy h1 span{color:#c65540}.hero-subtitle{font-size:19px;letter-spacing:.03em;color:#315e57;margin:0 0 8px}.hero-note{font-size:14px;color:#626f75;margin:0 0 22px;line-height:1.8}.landing-copy .big{min-height:48px;min-width:170px}.students-art{display:block;width:100%;height:auto;object-fit:contain;max-height:310px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.subject-deck{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px}.subject-card{min-width:0;border:1px solid #dce5db;background:linear-gradient(155deg,#fffef9 20%,#e6f0e4);padding:16px 10px 14px;border-radius:19px;box-shadow:0 6px 16px #155b5808;display:flex;flex-direction:column;align-items:center;transition:transform .16s,box-shadow .16s;color:#155b58}.subject-card:not(:disabled):hover{transform:translateY(-5px);box-shadow:0 12px 25px #155b5818}.subject-card img{width:100%;max-width:170px;aspect-ratio:404/236;object-fit:contain}.subject-card strong{font-size:21px;font-weight:700;letter-spacing:.08em;margin:9px 0 13px}.subject-cta{display:block;width:100%;max-width:150px;background:#deede3;color:#285f55;border-radius:10px;padding:11px 4px;font-size:13px;min-height:44px}.subject-card:not(:disabled) .subject-cta{background:#155b58;color:white}.subject-card:disabled{opacity:1;cursor:default}.subject-card:disabled .subject-cta{color:#69746c;background:#fff9}.subject-history,.subject-civics{background:linear-gradient(155deg,#fffdf8,#f4e8cf)}.subject-geography{background:linear-gradient(155deg,#fffef9,#dceef0)}.subject-english{background:linear-gradient(155deg,#fffdf8,#f4e5d8)}.subject-math{background:linear-gradient(155deg,#fffef9,#e8eddc)}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.dashboard-card{border:1px solid #dce7dd;border-radius:19px;background:#fffefbf0;padding:23px 25px;min-width:0;box-shadow:var(--shadow);min-height:226px}.dashboard-card h2{font-size:20px;color:#155b58;margin:0 0 19px;display:flex;align-items:center;gap:10px;letter-spacing:.04em}.dashboard-card h2>span{color:#558a78;font-size:27px;line-height:1}.empty-dashboard{padding-top:8px}.empty-dashboard b{font-size:15px;font-weight:600;color:#3d6257}.empty-dashboard p{font-size:13px;line-height:1.9;color:#687570;margin:10px 0}.dashboard-note{font-size:11px;color:#64726c;line-height:1.8;margin:13px 0 0}.recent-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid #e4ece5;text-align:left;background:transparent;color:#355f56;min-height:60px;font-size:12px}.recent-row b{font-size:14px}.recent-row small{display:block;font-size:11px;color:#6b776f;margin-top:4px}.recent-row:hover{background:#eff5ef}.week-stats{display:flex;align-items:center;gap:24px}.week-ring{flex:none;width:110px;height:110px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#5faca5 var(--rate),#e5eee5 0)}.week-ring>div{width:88px;height:88px;border-radius:50%;background:#fffefb;display:flex;align-items:center;justify-content:center;flex-direction:column}.week-ring strong{font-size:26px;color:#155b58}.week-ring span{font-size:10px;color:#687570;margin-top:2px}.week-count>strong{font-size:26px;color:#155b58}.week-count small{font-size:12px;font-weight:400}.week-count p{font-size:12px;color:#5c6d64;margin:7px 0}.wrong-total{font-size:13px;color:#66746c;margin:0 0 12px}.wrong-total strong{font-size:30px;color:#c65540;margin-right:7px}.wrong-links{display:flex;flex-wrap:wrap;gap:7px}.wrong-links button{font-size:12px;padding:9px 12px;min-height:44px}.practice-subjects{display:flex;gap:12px;margin-top:20px}.practice-subjects .selected{background:#155b58;color:white}.sheet{border-color:#e2ebe1;background:#fffefbf5}.choice:hover:not(:disabled){background:#edf5ef}.bar-fill{background:#5faca5}.question-card{border-color:#dce7e0}footer{position:relative;background:transparent;border-color:#dce7e080;font-size:11px;color:#315f55;padding:25px 32px}
@media(max-width:1200px){.subject-deck{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-copy h1{white-space:normal}.dashboard-card{padding:22px 18px}.week-stats{gap:12px}.subject-card img{max-width:150px}.landing-hero{min-height:310px}}
@media(max-width:900px){.header{height:auto;min-height:76px;padding:12px 24px;flex-wrap:wrap}.brand b{font-size:20px}.nav{gap:4px}.nav-btn{padding:10px}.subject-deck{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-card{min-height:180px}.landing-copy{padding-left:0}.landing-copy h1{font-size:34px}.hero-subtitle{font-size:16px}.students-art{width:100%}.view{padding-left:24px;padding-right:24px}}
@media(max-width:640px){.header{padding:12px 18px;gap:10px;justify-content:center}.brand{width:100%;justify-content:center}.brand b{font-size:20px}.brand small{text-align:center;font-size:10px}.brand-logo{width:36px;height:40px}.nav{width:100%;justify-content:center;flex-wrap:wrap}.nav-btn{font-size:13px;padding:10px 11px;min-height:44px}.view{padding:24px 18px 32px}.landing-hero{grid-template-columns:1fr;gap:0}.landing-copy{padding:30px 4px 0}.landing-copy h1{font-size:31px;line-height:1.45;margin-bottom:12px;white-space:normal}.landing-copy .eyebrow{font-size:9px}.hero-subtitle{font-size:15px;letter-spacing:0}.hero-note{font-size:12px;margin-bottom:17px}.students-art{margin:4px auto 12px;width:100%;max-height:150px}.subject-deck{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subject-card{padding:14px 10px 12px;border-radius:15px}.subject-card strong{font-size:20px;margin:8px 0 11px}.subject-card img{max-width:145px}.subject-cta{font-size:12px}.dashboard-grid{gap:16px;margin-top:22px}.dashboard-card{padding:22px}.dashboard-card h2{font-size:19px}.sheet{padding:23px 17px}.term-controls{flex-wrap:wrap}.question-card{padding:24px 18px}footer{padding:22px 20px;flex-direction:column;font-size:10px;line-height:1.8}.section-heading h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.question-media{margin:24px 0;padding:12px;border:1px solid #dce7e0;border-radius:14px;background:white}.question-media img{display:block;width:100%;max-width:720px;height:auto;margin:auto}.question-media figcaption,.question-media p{font-size:13px;line-height:1.8;color:#45665d}.question-media img.hidden{display:none}#questionContext{line-height:1.9;overflow-wrap:anywhere}
