:root{--bg: #fbfcfd;--bg-panel: #f2f4f7;--ink: #22262e;--ink-2: #565d68;--line: #dfe3e8;--line-strong: #c6ccd5;--line-interactive: #6e7887;--brass: #a97b1f;--brass-ink: #8a6412;--brass-deep: #7a5a10;--brass-deeper: #63490d;--brass-soft: #cfaf62;--brass-tint: #f7f1e2;--brass-line: #e7dbba;--ok: #2c6a44;--ok-tint: #e9f2ec;--danger: #a03a32;--danger-tint: #fbeae8;--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Archivo SemiCondensed", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: clamp(1rem, .96rem + .2vw, 1.0625rem);--text-md: clamp(1.0625rem, 1rem + .3vw, 1.125rem);--text-lg: clamp(1.125rem, 1.05rem + .4vw, 1.25rem);--text-xl: clamp(1.3rem, 1.15rem + .7vw, 1.6rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.3vw, 2.05rem);--text-3xl: clamp(1.9rem, 1.35rem + 2.8vw, 3.1rem);--track-caps: .14em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 3px;--radius: 4px;--radius-lg: 6px;--shadow-sm: 0 1px 2px rgb(34 38 46 / .05);--shadow-md: 0 2px 4px rgb(34 38 46 / .05), 0 10px 24px rgb(34 38 46 / .08);--maxw: 62rem;--measure: 46rem}@font-face{font-family:Archivo SemiCondensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-semicondensed-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:var(--text-base);-webkit-font-smoothing:antialiased}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1rem,4vw,1.5rem)}a{color:var(--ink);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--brass-ink)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--ink);text-wrap:balance}h1{font-size:var(--text-3xl);letter-spacing:.005em}h2{font-size:var(--text-xl)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.eyebrow:before{content:"";width:1.4rem;height:1px;background:var(--brass);flex-shrink:0}:focus-visible{outline:2px solid var(--brass-ink);outline-offset:2px;border-radius:2px}[id]{scroll-margin-top:4.5rem}::selection{background:var(--brass-tint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-3.5rem;z-index:100;background:var(--ink);color:var(--bg);font-weight:700;padding:.6rem 1rem;border-radius:0 0 var(--radius) var(--radius);text-decoration:none}.skip-link:focus{top:0}.skip-link:hover{color:var(--bg)}.muted{color:var(--ink-2);font-size:var(--text-sm)}.arc-divider{display:flex;justify-content:center;margin-block:var(--space-7) 0;color:var(--line-strong)}.arc-divider svg{display:block}.site-header{position:sticky;top:0;z-index:50;background:#fbfcfdf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header .container{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;justify-content:space-between;padding-block:.45rem}.brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding-block:.55rem}.brand:hover{color:var(--ink)}.brand:hover .brand-mark{color:var(--brass-ink)}.brand-mark{display:block;width:26px;height:26px;color:var(--brass)}.site-header nav{display:flex;gap:.25rem}.site-header nav a{position:relative;font-family:var(--font-display);font-weight:500;font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;text-decoration:none;color:var(--ink-2);padding:.85rem .7rem}.site-header nav a:hover{color:var(--ink)}.site-header nav a[aria-current=page]{color:var(--ink)}.site-header nav a[aria-current=page]:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.55rem;height:2px;background:var(--brass)}.site-footer{margin-top:var(--space-8);border-top:1px solid var(--line);background:var(--bg-panel);font-size:var(--text-sm)}.site-footer .container{padding-block:var(--space-6) var(--space-5)}.footer-grid{display:grid;gap:var(--space-5) var(--space-6);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.footer-brand .brand{font-size:.95rem;padding-block:0}.footer-brand p{margin:.75rem 0 0;max-width:26rem}.footer-heading{margin:0 0 .6rem;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}.footer-links a{text-decoration:none;font-weight:600;color:var(--ink);display:inline-block;padding-block:.45rem}.footer-links a:hover{color:var(--brass-ink);text-decoration:underline}.site-footer .footer-col p{margin:0 0 .5rem}.footer-bottom{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;color:var(--ink-2)}.footer-bottom p{margin:0}.btn,.btn-external{display:inline-block;padding:.75rem 1.4rem;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.btn{background:var(--brass-deep);color:var(--bg);border:1px solid var(--brass-deep)}.btn:hover{background:var(--brass-deeper);border-color:var(--brass-deeper);color:var(--bg)}.btn:active{transform:translateY(1px)}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line-interactive)}.btn.secondary:hover{border-color:var(--ink);background:#fff}.btn-external{background:transparent;color:var(--ink);border:1px solid var(--line-interactive)}.btn-external:hover{border-color:var(--brass-ink);color:var(--brass-ink)}.hero{margin-top:var(--space-6);display:grid;gap:var(--space-6);align-items:center}@media(min-width:50rem){.hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.hero h1{margin:1rem 0 0;max-width:16ch;text-transform:uppercase;letter-spacing:.045em;line-height:1.06}.hero p.lede{margin:1.1rem 0 0}.lede{font-size:var(--text-lg);line-height:1.55;color:var(--ink-2);max-width:42rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-5)}.hero-note{margin:1.1rem 0 0;font-size:var(--text-sm);color:var(--ink-2)}.hero-art{justify-self:center;width:min(100%,26rem)}.hero-art svg{display:block;width:100%;height:auto}.home-section{margin-top:var(--space-7)}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:var(--space-4)}.section-head h2{margin:0}.section-head .view-all{font-weight:600;font-size:var(--text-sm);text-decoration:none;color:var(--brass-ink)}.section-head .view-all:hover{text-decoration:underline}.feature-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}.feature-index{display:block;font-family:var(--font-display);font-weight:600;font-size:1.5rem;font-variant-numeric:tabular-nums;color:var(--brass);border-bottom:1px solid var(--line);padding-bottom:.55rem;margin-bottom:.85rem}.feature h3{margin:0 0 .4rem;font-size:var(--text-md)}.feature p{margin:0;color:var(--ink-2);font-size:var(--text-sm);line-height:1.55}.strand-group{margin-top:var(--space-6)}.strand-group h2{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--line);padding-bottom:.55rem}.strand-mark{display:block;flex-shrink:0;color:var(--line-strong)}.strand-num{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--brass-ink)}.topic-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));margin-top:var(--space-4)}.topic-card{position:relative;display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5) var(--space-4);text-decoration:none;color:inherit}.topic-card:before{content:"";position:absolute;top:-1px;left:var(--space-5);width:1.6rem;height:2px;background:var(--brass)}.topic-card:hover{border-color:var(--line-interactive);box-shadow:var(--shadow-md)}.topic-card h3{margin:0;font-size:var(--text-md)}.topic-card:hover h3{color:var(--brass-ink)}.topic-card p{margin:0;color:var(--ink-2);font-size:var(--text-sm);line-height:1.55;flex-grow:1}.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem}.badge{display:inline-block;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border-top:1px solid var(--line-strong);padding-top:.3rem}.tag{display:inline-block;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:.07em;text-transform:uppercase;background:transparent;border:1px solid var(--line-strong);color:var(--ink-2);border-radius:var(--radius-sm);padding:.14rem .55rem;white-space:nowrap}.tag-type{border-color:var(--line-strong);color:var(--ink-2)}.tag-tier{border-color:var(--brass-line);background:var(--brass-tint);color:var(--brass-ink)}.subjects-head{margin-top:var(--space-5)}.subjects-head h1{margin:.75rem 0 0}.subjects-head .lede{margin:1rem 0 0}.subject-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin-top:var(--space-6)}.subjects-note{margin-top:var(--space-5)}.subject-card{position:relative;display:flex;flex-direction:column;gap:.55rem;border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5) var(--space-4)}.subject-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.2rem}.subject-icon{display:block;width:34px;height:34px;flex-shrink:0}.subject-card :is(h2,h3){margin:0;font-size:var(--text-md);display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.subject-code{font-family:var(--font-display);font-weight:500;font-size:var(--text-xs);letter-spacing:var(--track-caps);font-variant-numeric:tabular-nums;color:var(--ink-2)}.subject-card p{margin:0;color:var(--ink-2);font-size:var(--text-sm);line-height:1.55;flex-grow:1}a.subject-card{background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit}a.subject-card:before{content:"";position:absolute;top:-1px;left:var(--space-5);width:1.6rem;height:2px;background:var(--brass)}a.subject-card:after{content:"";position:absolute;inset:5px;border:1px solid var(--line);border-radius:2px;pointer-events:none}a.subject-card:hover{border-color:var(--line-interactive);box-shadow:var(--shadow-md)}a.subject-card:hover :is(h2,h3){color:var(--brass-ink)}a.subject-card .subject-icon{color:var(--brass)}.subject-cta{margin-top:.4rem;font-weight:600;font-size:var(--text-sm);color:var(--brass-ink)}.subject-card.soon{background:transparent;border:1px dashed var(--line-strong)}.subject-card.soon .subject-icon{color:var(--brass-soft)}.subject-card.soon :is(h2,h3){color:var(--ink-2);font-weight:500}.subjects-strip{display:grid;gap:var(--space-4);align-items:stretch}@media(min-width:50rem){.subjects-strip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.subjects-soon{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);padding:var(--space-5)}.soon-heading{margin:0 0 .75rem;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.subject-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.subject-chip{display:inline-flex;align-items:baseline;gap:.45rem;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:.35rem .7rem;white-space:nowrap}.subject-chip .chip-code{font-variant-numeric:tabular-nums}.soon-note{margin:.85rem 0 0;font-size:var(--text-sm);color:var(--ink-2)}.subject-head .subject-refs{margin:var(--space-3) 0 0}.article{max-width:var(--measure);margin-inline:auto;padding-block:var(--space-2) var(--space-6)}.article>header{margin-block:var(--space-4) var(--space-5)}.article>header h1{font-size:var(--text-2xl);margin:0 0 .4rem}.article>header .muted{margin:0}.spec-strip{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0 0}.spec{min-width:7rem;padding:.5rem .8rem .55rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);background-image:repeating-linear-gradient(to right,var(--line-strong) 0 1px,transparent 1px 7px);background-size:100% 5px;background-repeat:no-repeat;background-position:top left}.spec dt{margin:.2rem 0 0;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.spec dd{margin:.1rem 0 0;font-family:var(--font-display);font-weight:600;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--ink)}.spec dd .spec-sub{font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.tier-ticks{display:block;margin-top:.3rem;color:var(--ink-2)}.tier-ticks svg{display:block}.prose{overflow-wrap:break-word;line-height:1.7}.prose h2{font-size:var(--text-lg);margin-top:var(--space-5)}.prose h3{font-size:var(--text-md);margin-top:var(--space-4)}.prose h4{font-size:var(--text-base);margin-top:var(--space-4)}.prose :is(p,ul,ol){margin-block:.7rem}.prose hr{border:0;border-top:1px solid var(--line);margin-block:var(--space-5)}.table-wrap{max-width:100%;overflow-x:auto;margin-block:var(--space-4)}.prose table{border-collapse:collapse;font-size:var(--text-sm);line-height:1.5}.prose th,.prose td{border:1px solid var(--line-strong);padding:.45rem .75rem;text-align:left;vertical-align:top}.prose thead th,.prose th{background:var(--bg-panel);font-weight:700}.prose blockquote{border-left:2px solid var(--brass);margin-inline:0;padding:.5rem 1rem;color:var(--ink-2);background:var(--bg-panel)}.prose .katex-display{overflow-x:auto;overflow-y:hidden;padding-block:.25rem}.question-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.1rem,3.5vw,1.6rem);margin-block:var(--space-5)}.q-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding-bottom:.75rem;border-bottom:1px solid var(--line);margin-bottom:.9rem}.q-title{margin:0;display:flex;align-items:baseline;gap:.55rem;font-size:var(--text-md)}.q-index{font-family:var(--font-display);font-weight:600;font-size:1.35rem;font-variant-numeric:tabular-nums;color:var(--brass);line-height:1}.q-word{font-family:var(--font-display);font-weight:500;font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.q-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}.q-meta:only-child{margin-left:0}.question-block .stem{font-weight:500}.q-solution-link{margin:var(--space-4) 0 0}.q-solution-link a{display:inline-block;padding:.65rem 1rem;font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);letter-spacing:.06em;color:var(--brass-ink);background:var(--brass-tint);border:1px solid var(--brass-line);border-radius:var(--radius);text-decoration:none}.q-solution-link a:hover{border-color:var(--brass)}.solution-reveal{margin-top:var(--space-4);border:1px solid var(--brass-line);border-radius:var(--radius);overflow:hidden;background:#fff}.solution-reveal>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);letter-spacing:.07em;text-transform:uppercase;color:var(--brass-ink);background:var(--brass-tint);user-select:none}.solution-reveal>summary:hover{color:var(--brass-deeper)}.solution-reveal>summary::-webkit-details-marker{display:none}.solution-reveal>summary:after{content:"";width:.5em;height:.5em;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-15%);flex-shrink:0}.solution-reveal[open]>summary:after{transform:rotate(225deg) translateY(-15%)}.solution-reveal[open]>summary{border-bottom:1px solid var(--brass-line)}.reveal-hide,.solution-reveal[open] .reveal-show{display:none}.solution-reveal[open] .reveal-hide{display:inline}.solution-body{padding:.35rem 1.1rem 1.1rem}.solution-reveal .callout{margin:.25rem 1.1rem 1.1rem}.callout{border-radius:var(--radius);padding:1rem 1.15rem;margin-block:var(--space-4)}.callout-mistakes{background:var(--bg-panel);border:1px solid var(--line);border-left:2px solid var(--brass)}.callout-mistakes h3{color:var(--ink)}.callout-note{background:var(--bg-panel);border:1px solid var(--line);border-left:2px solid var(--line-strong)}.callout h3{margin:0 0 .5rem;font-family:var(--font-display);font-weight:500;font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase}.callout ul{margin:0;padding-left:1.2rem}.callout li{margin-block:.35rem}.practice-widget{margin-top:var(--space-4)}.practice-hint{font-size:var(--text-sm);color:var(--ink-2);margin:0 0 .6rem}.practice-widget .choices{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.practice-widget button[role=radio]{width:100%;text-align:left;padding:.75rem 1rem;border:1px solid var(--line-interactive);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;cursor:pointer}.practice-widget button[role=radio]:hover:not([aria-disabled=true]){border-color:var(--brass-ink);background:var(--brass-tint)}.practice-widget button[role=radio][aria-disabled=true]{cursor:default}.practice-widget button.correct{border-color:var(--ok);box-shadow:inset 2px 0 0 var(--ok);background:var(--ok-tint)}.practice-widget button.wrong{border-color:var(--danger);box-shadow:inset 2px 0 0 var(--danger);background:var(--danger-tint)}.practice-widget button.dimmed{opacity:.55}.practice-widget .choice-label{font-family:var(--font-display);font-weight:600}.practice-widget button.correct .choice-label{color:var(--ok)}.practice-widget button.wrong .choice-label{color:var(--danger)}.practice-widget .verdict{font-weight:700;margin-block:.75rem 0;min-height:1.6em}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;padding:0;margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.breadcrumbs a{color:var(--ink-2);text-decoration:none;display:inline-block;padding-block:.55rem;margin-block:-.55rem}.breadcrumbs a:hover{color:var(--brass-ink);text-decoration:underline}.breadcrumbs .sep{margin-inline:.35rem;color:var(--ink-2)}.past-papers{position:relative;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:1px solid var(--line);outline-offset:-6px;padding:calc(var(--space-5) + 6px);margin-top:var(--space-6)}.past-papers h2{margin:0 0 .6rem;font-size:var(--text-sm);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.past-papers p{color:var(--ink);margin:0 0 1rem}.related-topics{margin-top:var(--space-6)}.related-topics h2{font-size:var(--text-sm);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.related-topics ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:.75rem 0 0}.related-topics a{display:inline-block;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.45rem .8rem;text-decoration:none;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.related-topics a:hover{border-color:var(--brass-ink);color:var(--brass-ink)}.doubt-solver{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:var(--space-5);margin-top:var(--space-6);background:var(--bg-panel)}.doubt-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.4rem}.doubt-head h2{margin:0;font-size:var(--text-lg)}.soon-pill{font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--brass-ink);background:var(--brass-tint);border:1px solid var(--brass-line);border-radius:var(--radius-sm);padding:.15rem .6rem}.doubt-solver p{margin:0 0 .85rem;color:var(--ink-2);font-size:var(--text-sm)}.doubt-input-row{display:flex;gap:.5rem}.doubt-solver input{flex:1;min-width:0;padding:.65rem .9rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;background:#fff}.doubt-solver input:disabled{color:var(--ink-2);cursor:not-allowed}.doubt-solver button{font:inherit;font-weight:700;padding:.65rem 1.1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink-2)}.doubt-solver button:disabled{cursor:not-allowed;opacity:.7}.prevnext{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:var(--space-6);font-weight:600;font-size:var(--text-sm)}.prevnext a{text-decoration:none}.prevnext .pn-link{background:#fff;border:1px solid var(--line-interactive);border-radius:var(--radius);padding:.7rem 1.15rem;color:var(--ink);white-space:nowrap}.prevnext .pn-link:hover{border-color:var(--brass-ink);color:var(--brass-ink)}.prevnext a:not(.pn-link){text-align:center;color:var(--ink-2)}.prevnext a:not(.pn-link):hover{color:var(--brass-ink);text-decoration:underline}.article{counter-reset:plate}.figure{counter-increment:plate;margin:var(--space-4) 0;padding:var(--space-4) var(--space-4) var(--space-3);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:1px solid var(--line);outline-offset:-5px;text-align:center}.figure-svg{display:block;padding:.35rem}.figure-svg svg{max-width:min(100%,420px);height:auto}.figure-svg svg [stroke="#2563eb"]{stroke:var(--brass)}.figure-svg svg [fill="#2563eb"]{fill:var(--brass)}.figure-svg svg [fill="#eef2f9"]{fill:var(--brass-tint)}.figure-svg svg [stroke="#374151"]{stroke:var(--ink-2)}.figure-svg svg [fill="#f59e0b"]{fill:#55606e}.figure-svg svg [fill="#10b981"]{fill:#2c6a44}.figure-svg svg [fill="#ef4444"]{fill:#a03a32}.figure-nts{margin:.4rem 0 0;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);color:var(--ink-2)}.figure figcaption{margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-2)}.figure figcaption:before{content:"Fig. " counter(plate) ": ";font-family:var(--font-display);font-weight:500;letter-spacing:.07em;text-transform:uppercase;font-size:var(--text-xs);color:var(--brass-ink)}.practice-head{margin-top:var(--space-5)}.practice-head h1{margin:.75rem 0 0}.practice-head .lede{margin:1rem 0 0}.quiz{margin-top:var(--space-6)}.quiz-setup h2{margin:0 0 var(--space-4)}.quiz-modes{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.mode-card{position:relative;display:flex;flex-direction:column;gap:.45rem;text-align:left;background:#fff;border:1px solid var(--line-interactive);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);font:inherit;color:inherit;cursor:pointer}.mode-card:before{content:"";position:absolute;top:-1px;left:var(--space-5);width:1.6rem;height:2px;background:var(--line-strong)}.mode-card:hover{border-color:var(--ink);box-shadow:var(--shadow-md)}.mode-card[aria-checked=true]{border-color:var(--brass-ink);background:var(--brass-tint);box-shadow:inset 0 0 0 1px var(--brass-ink)}.mode-card[aria-checked=true]:before{background:var(--brass)}.mode-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-md)}.mode-card[aria-checked=true] .mode-name{color:var(--brass-ink)}.mode-desc{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.quiz-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);margin-top:var(--space-5)}.quiz-field{display:flex;flex-direction:column;gap:.35rem}.quiz-field label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.quiz-field select{appearance:none;-webkit-appearance:none;min-height:2.75rem;padding:.55rem 2.4rem .55rem .8rem;border:1.5px solid var(--line-interactive);border-radius:var(--radius);color:var(--ink);font:inherit;cursor:pointer;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2322262e' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .85rem center}.quiz-field select:hover{border-color:var(--brass-ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238a6412' stroke-width='1.5'/%3E%3C/svg%3E")}.quiz .btn{cursor:pointer}.quiz .btn[aria-disabled=true]{opacity:.55;cursor:default}.quiz-notice{margin:var(--space-4) 0 0;padding:.6rem .9rem;font-size:var(--text-sm);color:var(--ink);background:var(--brass-tint);border:1px solid var(--brass-line);border-left:2px solid var(--brass);border-radius:var(--radius-sm)}.quiz-notice.quiz-error{background:var(--danger-tint);border-color:var(--danger)}.quiz-topbar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;margin-top:var(--space-5)}.quiz-progress{margin:0;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.quiz-clock{margin:0;display:flex;align-items:baseline;gap:.5rem}.quiz-clock-label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.quiz-timer{font-family:var(--font-display);font-weight:600;font-size:1.35rem;font-variant-numeric:tabular-nums;color:var(--ink)}.quiz .verdict{font-weight:700;margin-block:.75rem 0;min-height:1.6em}.quiz-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-5)}.self-mark{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--space-4)}.self-mark button{min-height:2.75rem;padding:.6rem 1.2rem;font:inherit;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line-interactive);border-radius:var(--radius-sm);cursor:pointer}.self-mark button:hover{border-color:var(--ink)}.self-mark .mark-got[aria-pressed=true]{color:var(--ok);border-color:var(--ok);background:var(--ok-tint);box-shadow:inset 2px 0 0 var(--ok)}.self-mark .mark-not[aria-pressed=true]{color:var(--danger);border-color:var(--danger);background:var(--danger-tint);box-shadow:inset 2px 0 0 var(--danger)}.quiz-review-list{list-style:none;margin:var(--space-5) 0 0;padding:0;display:grid;gap:.5rem}.quiz-review-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.7rem 1rem}.quiz-mark{font-weight:700}.quiz-mark.ok{color:var(--ok)}.quiz-mark.no{color:var(--danger)}.quiz-review-topic{font-weight:600;flex-grow:1}.quiz-review-item a{white-space:nowrap;display:inline-block;padding-block:.45rem;margin-block:-.45rem}.practice-entry{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-4)}.practice-entry .btn{display:inline-flex;align-items:center;min-height:2.75rem}.topic-progress{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.topic-progress .tier-ticks{margin-top:0}.progress-ticks line.p-half{stroke:var(--ink-2)}.progress-ticks line.p-done{stroke:var(--brass);stroke-width:1.75}.syllabus-checklist{margin-top:var(--space-4)}.syllabus-checklist h2{margin:0;font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2)}.syllabus-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0;padding:0}.syllabus-item{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.3rem .7rem;font-size:var(--text-sm)}.syllabus-tick{position:relative;width:.9rem;height:.9rem;border:1px solid var(--line-strong);border-radius:2px;flex-shrink:0}.syllabus-ref{font-family:var(--font-display);font-weight:600}.syllabus-count{color:var(--ink-2)}.syllabus-item.done{border-color:var(--brass-line);background:var(--brass-tint)}.syllabus-item.done .syllabus-tick{border-color:var(--brass-ink);background:#fff}.syllabus-item.done .syllabus-tick:after{content:"";position:absolute;left:.24rem;top:.05rem;width:.28rem;height:.52rem;border-right:2px solid var(--brass-ink);border-bottom:2px solid var(--brass-ink);transform:rotate(45deg)}.filter-bar{margin-top:var(--space-5)}.filter-groups{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem}.filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.filter-group-label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-2);margin-right:.15rem}.chip{min-height:2.75rem;padding:.45rem .85rem;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line-interactive);border-radius:var(--radius-sm);cursor:pointer}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true]{color:var(--brass-ink);background:var(--brass-tint);border-color:var(--brass-ink);box-shadow:inset 0 0 0 1px var(--brass-ink)}.filter-count{margin:.7rem 0 0;font-size:var(--text-sm);color:var(--ink-2)}.tag-attempt.is-good{border-color:var(--ok);color:var(--ok);background:var(--ok-tint)}.tag-attempt.is-mid{border-color:var(--line-strong);color:var(--ink-2);background:var(--bg-panel)}.tag-attempt.is-bad{border-color:var(--danger);color:var(--danger);background:var(--danger-tint)}@media(prefers-reduced-motion:no-preference){.skip-link{transition:top .15s ease}a,.btn,.btn-external,.topic-card,a.subject-card,.practice-widget button[role=radio],.mode-card,.self-mark button,.chip,.solution-reveal>summary,.q-solution-link a,.related-topics a,.prevnext .pn-link{transition:color .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.solution-reveal>summary:after{transition:transform .15s ease}}
