:root{color:#172033;font-synthesis:none;--brand:#315c4c;--brand-dark:#24473b;--brand-soft:#e8f1ed;--ink:#17211d;--muted:#64736d;--danger:#b42318;--focus:#2563eb;--line:#d9e2de;--surface:#fff;--radius:.75rem;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:#2458a6}button,input,select,textarea{font:inherit}textarea{resize:vertical}button,.primary-action,.file-button{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:.55rem;padding:.7rem 1rem}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.skip-link{z-index:10;background:#fff;border-radius:.4rem;padding:.6rem .8rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{background:#fff;border-bottom:1px solid #dce3ef}.site-header__inner{justify-content:space-between;align-items:center;max-width:72rem;margin:0 auto;padding:1rem;display:flex;position:relative}.brand{color:#172033;font-weight:750;text-decoration:none}.nav-toggle{padding:.45rem .7rem}.primary-navigation{background:#fff;border:1px solid #dce3ef;border-radius:.55rem;min-width:9rem;padding:.4rem;display:none;position:absolute;top:calc(100% + 1px);right:1rem;box-shadow:0 .5rem 1.5rem #1720331f}.primary-navigation[data-open=true]{display:grid}.primary-navigation a{border-radius:.35rem;padding:.55rem .7rem;text-decoration:none}.primary-navigation a[aria-current=page]{background:#eaf1fb;font-weight:700}.main-content{flex:1;width:min(100% - 2rem,72rem);margin:0 auto;padding:3rem 0}.landing-page,.settings-page,.empty-state{max-width:46rem;margin:0 auto}.landing-page h1,.page-heading h1,.empty-state h1{color:#112a4e;margin:.25rem 0 .75rem;font-size:clamp(1.9rem,5vw,3rem);line-height:1.15}.eyebrow{color:#2458a6;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:750}.primary-action{margin-top:1rem;text-decoration:none;display:inline-block}.file-button,.secondary-link{cursor:pointer;border-radius:.55rem;align-items:center;padding:.7rem 1rem;text-decoration:none;display:inline-flex}.secondary-link{border:1px solid var(--brand);color:var(--brand)}.settings-form{background:#fff;border:1px solid #dce3ef;border-radius:.8rem;gap:.6rem;margin-top:2rem;padding:clamp(1rem,4vw,2rem);display:grid;box-shadow:0 .5rem 1.5rem #1720330f}.settings-form label:not(.checkbox-field){margin-top:.65rem;font-weight:700}.settings-form input:not([type=checkbox]){border:1px solid #aebbd0;border-radius:.45rem;width:100%;padding:.7rem .8rem}.settings-form textarea,.settings-form select,.question-editor input,.question-editor select,.question-editor textarea,.filter-grid input,.filter-grid select,.question-card>input,.question-card>textarea{background:#fff;border:1px solid #aebbd0;border-radius:.45rem;width:100%;padding:.7rem .8rem}.checkbox-field{align-items:center;gap:.55rem;margin-top:.7rem;font-weight:700;display:flex}.field-hint{color:#59657a;margin:0;font-size:.9rem}.feedback{border-radius:.45rem;margin:.7rem 0 0;padding:.7rem .8rem}.feedback--success{color:#17643c;background:#e6f6ee}.feedback--error{color:brown;background:#fff0ef}.form-actions{flex-wrap:wrap;gap:.75rem;margin-top:.8rem;display:flex}.button-secondary{color:#2458a6;background:#fff}.button-danger{border-color:var(--danger);color:var(--danger);background:#fff}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-page,.preflight-page,.report-page,.practice-page,.question-bank-page{max-width:68rem;margin:0 auto}.hero-card,.content-card,.question-card,.question-review,.answer-card,.question-editor,.question-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 .4rem 1.2rem #17211d0f}.hero-card{background:linear-gradient(135deg, #fff 20%, var(--brand-soft));padding:clamp(1.3rem,5vw,3rem)}.hero-card h1{max-width:48rem;color:var(--brand-dark);margin:.45rem 0 .8rem;font-size:clamp(2rem,5vw,3.5rem);line-height:1.12}.stat-grid,.module-grid,.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.stat-grid{max-width:36rem;margin-top:1.5rem}.stat-grid strong,.module-grid article{color:var(--brand-dark);gap:.2rem;font-size:1.25rem;display:grid}.stat-grid small,.module-grid span{color:var(--muted);font-size:.85rem;font-weight:500}.content-card{margin-top:1.25rem;padding:clamp(1rem,3vw,1.5rem)}.content-card h2,.paper-section>h2,.review-section>h2{color:var(--brand-dark);margin-top:0}.module-grid article{border-left:4px solid var(--brand);padding:.6rem .8rem}.history-list,.topic-list,.gap-list{margin:0;padding:0;list-style:none}.history-list li,.topic-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.muted,.section-note{color:var(--muted)}.success-text{color:#167449;font-weight:700}.error-text{color:var(--danger)}.exam-toolbar{z-index:4;border:1px solid var(--line);border-radius:var(--radius);background:#fffffff5;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.8rem 1rem;display:flex;position:sticky;top:0}.exam-toolbar h1{margin:.15rem 0 0;font-size:1.15rem}.timer{color:var(--brand-dark);font-variant-numeric:tabular-nums;font-size:1.35rem}.exam-layout{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1.5rem;display:grid}.answer-card{padding:1rem;position:sticky;top:6rem}.answer-card h2,.answer-card h3{margin:.5rem 0}.question-number-grid{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.question-number-grid a{border:1px solid var(--line);min-height:2rem;color:var(--ink);border-radius:.35rem;place-items:center;text-decoration:none;display:grid}.question-number-grid a.answered{border-color:var(--brand);background:var(--brand-soft)}.question-number-grid a.flagged{box-shadow:inset 0 0 0 2px #d97706}.paper-section{margin-bottom:2rem}.question-card,.question-review{margin:.85rem 0;padding:clamp(1rem,3vw,1.5rem);scroll-margin-top:7rem}.question-card>h3{color:var(--muted);margin:0 0 .5rem;font-size:.9rem}.points{color:var(--muted)}.option-list{gap:.55rem;display:grid}.option-list label{border:1px solid var(--line);border-radius:.45rem;padding:.7rem;display:block}.flag-button{border-color:var(--line);color:var(--muted);background:#fff;margin-top:.8rem}.blocking-error,.notice{border-left:4px solid var(--danger);color:#8a2018;background:#fff0ef;border-radius:.4rem;margin:1rem 0;padding:.8rem 1rem}dialog[open]{z-index:10;border:1px solid var(--line);border-radius:var(--radius);width:min(90vw,34rem);max-height:85vh;padding:1.5rem;position:fixed;top:50%;overflow:auto;transform:translateY(-50%);box-shadow:0 1rem 4rem #00000040}.mobile-card-button,.answer-card-dialog{display:none}.report-hero{text-align:center}.report-hero h1{margin:.4rem 0}.report-hero h1 strong{color:var(--brand-dark);font-size:4rem}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-bar{margin:1rem 0}.score-bar>div:first-child{justify-content:space-between;gap:1rem;display:flex}.score-bar__track{background:#e7ece9;border-radius:999px;height:.55rem;margin-top:.35rem;overflow:hidden}.score-bar__track span{background:var(--brand);height:100%;display:block}.question-review header{align-items:center;gap:.8rem;display:flex}.question-review header h3{margin-right:auto}.source-badge{color:#7a4b00;background:#fff4d6;border-radius:999px;padding:.25rem .5rem}.question-review dl{grid-template-columns:5rem 1fr;gap:.5rem;display:grid}.question-review dt{color:var(--muted);font-weight:700}.question-review dd{margin:0}.practice-feedback{background:#fff7e6;border-radius:.45rem;margin-top:.8rem;padding:.8rem}.filter-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0;display:grid}.bank-layout{grid-template-columns:minmax(14rem,.75fr) minmax(0,2fr);align-items:start;gap:1rem;display:grid}.question-list,.question-editor{padding:1rem}.question-list button{border-color:var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;gap:.2rem;margin:.4rem 0;display:grid}.question-list button.selected{border-color:var(--brand);background:var(--brand-soft)}.question-list small{color:var(--muted)}.question-editor form,.question-editor label{gap:.4rem;display:grid}.question-editor form{gap:.9rem}.empty-state{text-align:center}.empty-state__description{color:#59657a}.empty-state__action{margin-top:1.5rem}.site-footer{color:#59657a;text-align:center;border-top:1px solid #dce3ef;padding:1.25rem 1rem}@media (width>=48rem){.nav-toggle{display:none}.primary-navigation,.primary-navigation[data-open=true]{box-shadow:none;border:0;gap:.4rem;padding:0;display:flex;position:static}}@media (width<=47.99rem){.main-content{width:min(100% - 1rem,72rem);padding:1.25rem 0 2rem}.stat-grid,.module-grid,.report-grid,.filter-grid,.bank-layout,.exam-layout{grid-template-columns:1fr}.answer-card--desktop{display:none}.mobile-card-button,.answer-card-dialog{display:block}.exam-toolbar{flex-wrap:wrap;gap:.6rem}.exam-toolbar>div{width:100%}.question-review dl{grid-template-columns:1fr}.question-review dd{margin-bottom:.5rem}}.experiment-diagram{border:1px solid var(--line);background:#fff;border-radius:12px;margin:1rem 0;padding:1rem}.experiment-diagram svg{width:100%;max-height:420px;display:block}.experiment-diagram .experiment-apparatus path,.experiment-diagram .experiment-connection polyline{fill:none;stroke:#1f2937;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.experiment-diagram .experiment-connection--leader polyline{stroke-dasharray:8 6}.experiment-diagram .experiment-arrow-head{fill:#1f2937}.experiment-diagram text{fill:#111827;text-anchor:middle;font-size:22px}.experiment-diagram figcaption{color:var(--muted);text-align:center;margin-top:.5rem}.diagram-fallback{border:1px dashed var(--line);color:var(--muted);padding:1rem}@media print{.experiment-diagram{break-inside:avoid;border-color:#000}}
