:root{--ink:#10213c;--muted:#6d7a8d;--soft:#8d99ab;--line:#e5eaf1;--bg:#f6f8fc;--panel:#fff;--blue:#2f62e9;--deep:#244ebc;--pale:#eaf0ff;--green:#188063;--green-pale:#e4f6ef;--amber:#af721c;--amber-pale:#fff4e2;--shadow:0 18px 45px rgba(24,51,91,.05);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.58 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a9bfff;outline-offset:3px}p{margin:0 0 12px}h1,h2,h3{line-height:1.2;letter-spacing:-.028em}h1{font-size:clamp(29px,3.5vw,39px);margin:8px 0 12px}h2{font-size:23px;margin:0}h3{font-size:17px;margin:0}.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}.label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:260px;flex:0 0 260px;padding:35px 20px 24px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 42px}.brand-logo{display:grid;place-items:center;color:#fff;background:var(--ink);height:40px;width:40px;border-radius:13px;font:700 26px/1 Georgia,serif;box-shadow:0 7px 12px #10213c24;flex:none}.brand-copy{display:flex;flex-direction:column;line-height:1.2}.brand-copy strong{font-size:25px;letter-spacing:-.05em}.brand-copy small{font-size:12px;color:var(--muted);margin-top:5px}.side-kicker{margin:0 13px 15px;font-size:11px;letter-spacing:.13em;color:#99a4b3;font-weight:800}.desktop-nav{display:flex;flex-direction:column;gap:5px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:12px;font-weight:650;color:#6c788b;transition:.15s}.nav-link svg{height:19px;width:19px;stroke-width:1.9}.nav-link:hover{background:#f6f8ff;color:var(--ink)}.nav-link.active{background:var(--pale);color:var(--blue)}.side-foot{margin-top:auto;padding:20px 12px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);line-height:1.9}.side-foot small{color:#a0aabb}.tiny-dot{display:inline-block;width:8px;height:8px;background:#57c0aa;border-radius:50%;margin-right:4px}.main-column{flex:1;min-width:0}.topbar{height:77px;padding:0 clamp(22px,4.3vw,62px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;background:#fff}.topbar-right{display:flex;align-items:center;gap:18px}.topbar-caption{font-size:13px;color:var(--muted)}.connection-pill{font-size:11px;font-weight:750;padding:6px 11px;border-radius:99px;background:var(--green-pale);color:var(--green)}.content{width:min(100%,1150px);padding:36px clamp(22px,4.3vw,62px) 50px;margin:auto;min-height:calc(100vh - 128px)}.page-footer{font-size:11px;color:#98a2b0;text-align:center;padding:8px 24px 26px}.mobile-nav,.mobile-brand{display:none}.intro{margin:0 0 29px}.intro .eyebrow{color:var(--blue);font-weight:780;text-transform:uppercase;letter-spacing:.11em;font-size:11px}.intro p{color:var(--muted);max-width:720px;margin:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel.pad{padding:23px}.gap-12{display:grid;gap:12px}.gap-18{display:grid;gap:18px}.gap-24{display:grid;gap:24px}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.align-start{align-items:flex-start}.grow{flex:1;min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hero{background:linear-gradient(118deg,#10213c,#1e3763 77%,#26436f);color:#fff;padding:28px 30px;border-radius:22px;display:flex;align-items:center;gap:25px;min-height:232px;position:relative;overflow:hidden}.hero:after{content:'§';font:260px/.9 Georgia,serif;color:#ffffff09;position:absolute;right:32px;top:-18px}.hero .hero-copy{max-width:660px;position:relative;z-index:1}.hero h2{font-size:30px;margin:9px 0}.hero p{color:#c6d4ec;margin-bottom:19px}.hero .eyebrow{color:#9ebdff;font-size:11px;letter-spacing:.12em;font-weight:850}.hero .btn{position:relative;z-index:1}.btn{border:0;border-radius:12px;padding:11px 17px;background:var(--blue);color:#fff;font-weight:760;display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:42px;transition:transform .12s,background .12s}.btn:hover{background:var(--deep);transform:translateY(-1px)}.btn.secondary{background:#eff3ff;color:#2b55c7}.btn.secondary:hover{background:#e0e9ff}.btn.ghost{border:1px solid var(--line);background:#fff;color:var(--ink)}.btn.ghost:hover{background:#f7f9fd}.btn.white{background:#fff;color:var(--ink)}.btn.white:hover{background:#eff3ff}.btn.green{background:var(--green)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.block{width:100%}.btn.small-btn{font-size:12px;min-height:34px;padding:7px 12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 15px}.section-head h2{font-size:20px}.text-link{font-size:13px;color:var(--blue);font-weight:750}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat{padding:19px 21px;display:grid;gap:8px}.stat svg{color:var(--blue)}.stat strong{font-size:27px;letter-spacing:-.04em;line-height:1}.stat span{font-size:12px;color:var(--muted)}.progress-track{height:8px;background:#eaf0f8;border-radius:99px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--blue),#6ca0ff);height:100%;border-radius:99px;transition:width .25s}.shortcut{padding:19px 18px;display:flex;align-items:center;gap:13px;cursor:pointer;transition:.15s}.shortcut:hover,.lesson-item:hover,.subject-card:hover,.judgment-card:hover{border-color:#bdcdfa;box-shadow:0 9px 24px #203a7511;transform:translateY(-1px)}.circle-icon{height:44px;width:44px;display:grid;place-items:center;border-radius:13px;background:var(--pale);color:var(--blue);flex:none}.circle-icon svg{height:21px;width:21px}.circle-icon.green{background:var(--green-pale);color:var(--green)}.circle-icon.amber{background:var(--amber-pale);color:var(--amber)}.circle-icon.gray{background:#f0f3f7;color:#718197}.shortcut b{font-size:14px;display:block}.shortcut small{color:var(--muted);font-size:12px}.chevron{width:17px;height:17px;color:#9da9b9;margin-left:auto;flex:none}.tag{font-size:11px;padding:5px 9px;border-radius:99px;background:#f1f4f8;color:#647388;font-weight:750;white-space:nowrap}.tag.blue{background:var(--pale);color:var(--blue)}.tag.green{background:var(--green-pale);color:var(--green)}.tag.amber{background:var(--amber-pale);color:var(--amber)}.tag.disabled{background:#f1f3f6;color:#8d98a8}.year-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.year-tab{background:#fff;color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:10px 18px;font-weight:800}.year-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.subject-card{display:flex;gap:15px;align-items:flex-start;padding:18px;transition:.15s}.subject-card h3{font-size:16px}.subject-card p{font-size:12px;color:var(--muted);margin:4px 0 9px}.subject-card .chip-row{display:flex;gap:5px;flex-wrap:wrap}.chip{background:#f7f9fc;border:1px solid #e9eef4;border-radius:7px;color:#748298;padding:3px 7px;font-size:10px}.subject-card.is-pending{background:#fcfdff}.searchbox{width:100%;height:43px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:9px 14px;color:var(--ink)}.lesson-list{display:grid;gap:11px}.lesson-item{display:flex;align-items:center;gap:14px;padding:18px 20px;transition:.15s}.lesson-num{flex:none;border-radius:12px;background:var(--pale);color:var(--blue);width:42px;height:42px;display:grid;place-items:center;font-size:15px;font-weight:850}.lesson-item h3{font-size:15px}.lesson-item p{font-size:12px;color:var(--muted);margin:4px 0}.divider{height:1px;background:var(--line);margin:24px 0}.article{max-width:780px}.article .article-head{margin-bottom:27px}.article-section{margin:0 0 26px}.article-section h2{font-size:19px;margin-bottom:10px}.article-section p{font-size:15px;line-height:1.87;color:#36455a}.takeaway{padding:18px 20px;border-left:4px solid var(--blue);border-radius:0 13px 13px 0;background:#f0f4ff;margin:20px 0}.takeaway strong{display:block;margin-bottom:5px}.takeaway p{margin:0;color:#40567f}.sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.source-link{font-size:12px;font-weight:720;border:1px solid var(--line);color:#4464ae;border-radius:10px;padding:8px 10px;background:#fff}.source-link:hover{text-decoration:underline}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:750;margin-bottom:20px}.back-link:hover{color:var(--blue)}.flash-wrap{max-width:690px;margin:auto}.flash-card{width:100%;min-height:285px;border-radius:22px;border:1px solid #cddaf1;background:linear-gradient(145deg,#fff,#f3f6ff);display:grid;place-items:center;text-align:center;padding:32px 31px;cursor:pointer;box-shadow:0 20px 34px #234ba510;transition:transform .15s}.flash-card.flipped{background:linear-gradient(145deg,#ecf9f5,#fff);border-color:#bce9d5}.flash-card:hover{transform:translateY(-2px)}.flash-card .prompt{font-size:clamp(21px,3.2vw,28px);font-weight:820;line-height:1.4;letter-spacing:-.025em}.flash-card .hint{font-size:12px;color:var(--muted);margin-top:24px}.flash-card .frontback{font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:15px}.grade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.grade-btn{border-radius:12px;border:1px solid var(--line);padding:10px 5px;background:#fff;color:var(--ink);font-size:12px;font-weight:750}.grade-btn:hover{background:#f2f5ff;border-color:#b2c5ff}.quiz-option{display:flex;gap:13px;align-items:flex-start;width:100%;padding:16px 18px;border:1px solid var(--line);background:#fff;border-radius:13px;text-align:left;color:var(--ink);margin:10px 0;font-weight:640;line-height:1.5}.quiz-option:hover:not(:disabled){border-color:#9fb6fb;background:#f9fbff}.quiz-option.selected{border-color:var(--blue);background:#eef3ff}.quiz-option.correct{border-color:#5cb993;background:#e8f8ef}.quiz-option.wrong{border-color:#e99e9e;background:#fef0f0}.quiz-option .option-letter{border:1px solid #d7dfeb;color:#8a97a9;flex:none;border-radius:8px;width:26px;height:26px;display:grid;place-items:center;font-weight:850;font-size:12px}.quiz-option:disabled{cursor:default}.feedback{padding:15px 17px;border-radius:13px;background:#eef8f3;color:#176a51;margin-top:16px}.feedback.bad{background:#fff0ee;color:#97514c}.feedback p{margin-top:6px;margin-bottom:0;font-size:13px;line-height:1.75}.empty{padding:35px 26px;text-align:center;max-width:540px;margin:auto}.empty svg{color:var(--blue)}.empty h2{margin:12px 0}.empty p{color:var(--muted)}.reveal{margin-top:13px;padding:18px;background:#f4f7fc;border-radius:13px;border:1px solid #e5ebf5}.step{border:1px solid var(--line);border-radius:13px;padding:17px 19px;background:#fff;margin-bottom:12px}.step .step-answer{color:#364b68;line-height:1.8;margin-top:12px;padding-top:12px;border-top:1px dashed #dce4ef}.judgment-card{padding:20px;transition:.15s}.judgment-card h3{font-size:16px;margin:8px 0 6px}.judgment-card p{font-size:13px;color:var(--muted);margin:0}.seg-row{display:flex;gap:9px;flex-wrap:wrap}.seg-button{padding:8px 13px;border-radius:10px;border:1px solid var(--line);background:white;color:var(--muted);font-weight:750;font-size:12px}.seg-button.active{border-color:var(--blue);background:var(--pale);color:var(--blue)}.metric-row{display:flex;gap:14px;align-items:center;margin:12px 0}.metric-row label{font-size:13px;color:var(--muted);width:155px;flex:none}.metric-row .progress-track{flex:1}.metric-row strong{font-size:12px;width:36px;text-align:right}.notice{border:1px solid #dbe6fa;background:#eff5ff;border-radius:12px;padding:12px 14px;color:#4d658c;font-size:12px}.notice.warn{border-color:#f1dfb6;background:#fff7e9;color:#9a742e}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.select{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px;min-width:180px;color:var(--ink)}.count{font-size:12px;color:var(--muted)}.footer-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:25px;flex-wrap:wrap}.mobile-only{display:none}.confetti{font-size:38px;line-height:1}.checklist{margin:0;padding-left:20px;color:#45546b}.checklist li{margin-bottom:8px}.file-input{display:none}.prose{max-width:820px;line-height:1.85;color:#4e5d72}.prose h3{margin:21px 0 8px;color:var(--ink)}
@media(max-width:1050px){.sidebar{width:220px;flex-basis:220px;padding-left:14px;padding-right:14px}.content{padding-left:30px;padding-right:30px}}
@media(max-width:760px){body{font-size:14px}.sidebar{display:none}.main-column{width:100%}.topbar{height:65px;padding:0 20px;justify-content:space-between}.mobile-brand{display:flex;gap:9px;align-items:center;font-size:21px;letter-spacing:-.05em}.mobile-brand .brand-logo{height:33px;width:33px;font-size:22px;border-radius:11px}.topbar-caption{display:none}.content{padding:23px 18px 116px;min-height:calc(100vh - 60px)}.page-footer{padding:0 20px 112px}.mobile-nav{display:flex;position:fixed;z-index:90;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -5px 24px #13234216;border-top:1px solid var(--line);padding:8px 3px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;color:#8a96a9;font-size:10px;font-weight:750;padding:5px 7px;border-radius:9px;min-width:52px}.mobile-nav a svg{height:19px;width:19px}.mobile-nav a.active{color:var(--blue)}.mobile-only{display:block}.intro{margin-bottom:20px}.intro h1{font-size:30px}.hero{padding:24px 23px;min-height:230px}.hero h2{font-size:26px}.hero p{font-size:13px}.stats{gap:9px}.stat{padding:14px 12px}.stat strong{font-size:23px}.stat span{font-size:11px}.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr;gap:11px}.section-head{margin:23px 0 12px}.section-head h2{font-size:18px}.panel.pad{padding:19px}.subject-card{padding:15px}.lesson-item{padding:15px}.flash-card{min-height:255px;padding:23px 17px}.flash-card .prompt{font-size:22px}.grade-grid{gap:6px}.grade-btn{font-size:11px;padding:10px 3px}.article-section p{font-size:14px}.metric-row label{width:120px}.connection-pill{font-size:10px}}
@media(max-width:360px){.mobile-nav a{min-width:43px;padding:4px}.mobile-nav a svg{height:18px;width:18px}.hero h2{font-size:23px}.flash-card .prompt{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
