:root{color-scheme:light dark;--paper: #f5f0e4;--surface: #fffdf7;--ink: #17223a;--muted: #526071;--rule: #aab1ad;--saffron: #b84616;--saffron-ink: #fff;--mint: #176b55;--danger: #a12f37;--sky: #326b8c;--shadow: #17223a;--paper-rgb: 245, 240, 228;font-family:Arial,Helvetica Neue,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #111a2a;--surface: #192539;--ink: #f8f2e6;--muted: #b9c4cf;--rule: #526176;--saffron: #ffad6e;--saffron-ink: #17223a;--mint: #74d6b3;--danger: #ff9ca4;--sky: #80c6ec;--shadow: #030914;--paper-rgb: 17, 26, 42}}:root[data-theme=dark]{--paper: #111a2a;--surface: #192539;--ink: #f8f2e6;--muted: #b9c4cf;--rule: #526176;--saffron: #ffad6e;--saffron-ink: #17223a;--mint: #74d6b3;--danger: #ff9ca4;--sky: #80c6ec;--shadow: #030914;--paper-rgb: 17, 26, 42}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--paper);background-image:radial-gradient(circle at 20% 0,rgba(82,96,113,.08) 0 1px,transparent 1px);background-size:9px 9px;color:var(--ink);font-size:16px;line-height:1.55;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button,.button-link{min-height:48px;border:0;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,dialog:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--sky);outline-offset:4px}.skip-link{position:fixed;z-index:100;left:12px;top:12px;padding:12px 18px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.offline-bar{background:var(--saffron);color:var(--saffron-ink);padding:8px 24px;text-align:center;font-size:.875rem;font-weight:700}.site-header{width:min(1200px,calc(100% - 48px));margin:0 auto;min-height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:700;line-height:1.05}.brand svg{width:34px;height:34px;color:var(--saffron)}.site-header nav{display:flex;align-items:center;gap:16px}.site-header nav>a{padding:12px 4px;text-decoration-thickness:1px;text-underline-offset:5px}.icon-button{width:48px;min-width:48px;border:1px solid var(--rule);border-radius:50%;display:inline-grid;place-items:center;color:var(--ink);background:var(--surface)}.icon-button svg{width:20px;height:20px}main{width:min(1200px,calc(100% - 48px));margin:0 auto;min-height:64vh;padding:64px 0 96px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;line-height:1.06;letter-spacing:-.025em}h1{max-width:920px;margin-bottom:48px;font-size:clamp(2.6rem,7.5vw,5.4rem);font-weight:500}h2{font-size:clamp(1.75rem,3vw,2.4rem);font-weight:500}h3{font-size:1.45rem}.eyebrow{margin-bottom:10px;color:var(--saffron);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lede{max-width:650px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.35}.lede.small{font-size:clamp(1.15rem,2vw,1.45rem)}.text-link{display:inline-block;padding:10px 0;font-weight:700;text-decoration-color:var(--saffron);text-underline-offset:6px}.hero{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(420px,1.28fr);gap:48px;align-items:end;margin:-16px 0 96px}.hero-copy{padding-bottom:16px}.hero-art{display:block;position:relative;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--shadow);background:#e9dec9;overflow:hidden;transform:rotate(1deg)}.hero-art:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff40;pointer-events:none}.hero-art img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-heading h2{margin-bottom:0}.primary,.secondary,.quiet,.danger-button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;border-radius:7px;font-weight:750;text-decoration:none;transition:transform .18s ease-out,box-shadow .18s ease-out,background .18s ease-out}.primary{background:var(--saffron);color:var(--saffron-ink);box-shadow:4px 4px 0 var(--shadow)}.secondary{border:2px solid var(--ink);background:var(--surface);color:var(--ink);box-shadow:4px 4px 0 var(--shadow)}.quiet{background:transparent;color:var(--ink);border:1px solid var(--rule)}.danger-button{color:#fff;background:#a12f37;box-shadow:4px 4px 0 var(--shadow)}.primary svg,.secondary svg,.quiet svg{width:19px;height:19px}.primary:active,.secondary:active,.danger-button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--shadow)}.button-row{display:flex;flex-wrap:wrap;gap:12px}.empty-shelf{display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:center;padding:48px;border:2px solid var(--ink);background:var(--surface);box-shadow:7px 7px 0 var(--shadow)}.empty-copy>p:not(.eyebrow){max-width:620px}.empty-steps{display:grid;gap:14px}.empty-steps span{display:flex;align-items:center;gap:12px;font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.empty-steps b{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--rule);border-radius:50%;color:var(--saffron)}.shelf{padding:0 0 96px}.package-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.package-card{position:relative;display:flex;min-height:270px;flex-direction:column;padding:26px;border:2px solid var(--ink);border-radius:4px 18px 4px 4px;background:var(--surface);text-decoration:none;box-shadow:6px 6px 0 var(--shadow);transition:transform .18s ease-out,box-shadow .18s ease-out}.package-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--shadow)}.package-card h3{margin:44px 0 12px;font-size:1.7rem}.package-card p{color:var(--muted)}.subject-tab{position:absolute;left:-2px;top:18px;background:var(--saffron);color:var(--saffron-ink);padding:6px 14px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.package-arrow{position:absolute;top:18px;right:20px;font-size:1.4rem}.educator{margin-top:auto;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted);font-size:.8rem}.progress-key,.data-tools{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;padding:72px 0;border-top:1px solid var(--rule)}.progress-key dl{margin:0;display:grid}.progress-key dl>div{padding:16px 0;border-bottom:1px solid var(--rule)}.progress-key dt{display:flex;align-items:center;gap:10px;font-weight:800}.progress-key dd{margin:4px 0 0 34px;color:var(--muted)}.status-mark{flex:0 0 auto;display:inline-grid;width:24px;height:24px;place-items:center;border-radius:50%;font-size:1.1rem;line-height:1}.status-completed{color:var(--mint);border:1px solid var(--mint)}.status-attempted{color:var(--saffron);border:1px solid var(--saffron)}.status-new{color:var(--muted);border:1px solid var(--rule)}.data-tools{align-items:center}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:32px;color:var(--muted);text-underline-offset:4px}.back-link svg{width:20px;height:20px}.package-page h1,.practice-page h1,.legal-page h1{max-width:780px;margin-bottom:24px;font-size:clamp(2.4rem,6vw,4.5rem)}.package-intro{display:grid;grid-template-columns:1fr auto;gap:56px;padding-bottom:72px}.rights-note{max-width:70ch;color:var(--muted);font-size:.875rem}.summary-stamp{width:190px;height:190px;display:grid;grid-template-columns:auto 1fr;place-content:center;align-items:center;gap:4px 10px;border:2px solid var(--ink);border-radius:50%;transform:rotate(3deg);background:var(--surface);box-shadow:6px 6px 0 var(--shadow)}.summary-stamp strong{font-family:Georgia,Times New Roman,serif;color:var(--mint);font-size:3.4rem;line-height:1}.summary-stamp span{line-height:1.15}.summary-stamp small{grid-column:1 / -1;text-align:center;color:var(--muted)}.topics ol{list-style:none;padding:0;border-top:2px solid var(--ink)}.topics li{border-bottom:1px solid var(--rule)}.topics li a{min-height:112px;display:grid;grid-template-columns:64px 1fr auto;gap:20px;align-items:center;padding:20px 12px;text-decoration:none}.topics li a:hover{background:#52607114}.topic-number{color:var(--saffron);font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-variant-numeric:tabular-nums}.topic-copy{display:grid;gap:5px}.topic-copy strong{font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.topic-copy>span{color:var(--muted)}.topic-state{min-width:152px;display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700}.topic-state.completed{color:var(--mint)}.topic-state.attempted{color:var(--saffron)}.topic-state.not-started{color:var(--muted)}.package-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--rule);color:var(--muted)}.package-meta p{margin:0}.danger-text{color:var(--danger)}.practice-page{width:min(860px,calc(100% - 48px))}.practice-page h1{font-size:clamp(2rem,5vw,3.4rem)}.practice-head{display:flex;justify-content:space-between;align-items:end;margin:48px 0 20px}.practice-head .eyebrow{margin-bottom:8px}.question-meter{width:min(340px,60vw);height:7px;border:1px solid var(--rule);background:var(--surface);overflow:hidden}.question-meter span{display:block;height:100%;background:var(--mint);transition:width .24s ease-out}.save-state{color:var(--mint);font-size:.8rem;font-weight:700}.question-sheet{padding:clamp(24px,6vw,56px);border:2px solid var(--ink);background:var(--surface);box-shadow:7px 7px 0 var(--shadow)}.question-sheet h2{max-width:28ch;margin-bottom:36px;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.25}.question-kind{color:var(--saffron);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.question-sheet fieldset{margin:0;padding:0;border:0}.choice-list{display:grid;gap:12px}.choice-list label{cursor:pointer}.choice-list input{position:absolute;opacity:0;pointer-events:none}.choice-list span{min-height:58px;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:12px;border:1px solid var(--rule);padding:8px 16px 8px 10px;background:var(--paper)}.choice-list span b{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:50%;color:var(--muted)}.choice-list input:checked+span{border:2px solid var(--saffron);padding:7px 15px 7px 9px;background:#b8461617}.choice-list input:checked+span b{border-color:var(--saffron);background:var(--saffron);color:var(--saffron-ink)}.choice-list input:focus-visible+span{outline:3px solid var(--sky);outline-offset:3px}.choice-list label:hover span{border-color:var(--ink)}.field{display:grid;gap:7px}.field label{font-weight:750}.field input[type=text],.field input[type=file]{min-height:50px;width:100%;border:1px solid var(--rule);border-radius:4px;padding:10px 12px;background:var(--paper);color:var(--ink)}.answer-field input{font-size:1.1rem}.hint{color:var(--muted);font-size:.8rem}.question-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--rule)}.worked-answer{margin:28px 0 0 24px;padding:28px 32px;border-left:5px solid var(--mint);background:#176b5514}.worked-answer.review{border-color:var(--saffron);background:#b8461614}.worked-answer h2{font-size:1.45rem}.result-label{color:var(--mint);font-weight:800}.worked-answer.review .result-label{color:var(--saffron)}.answer-line{font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.completion-definition{margin:40px auto 0;max-width:66ch;color:var(--muted);font-size:.85rem;text-align:center}.question-note{margin:0 0 28px;padding:16px 18px;border-left:4px solid var(--sky);background:#326b8c14}.question-note p{margin:4px 0 0}.question-attachment img{display:block;max-width:100%;max-height:420px;object-fit:contain}.question-attachment figcaption{color:var(--muted);font-size:.8rem}.legal-copy{max-width:68ch}.legal-copy h2{margin-top:48px;font-size:1.75rem}.legal-date{margin-top:48px;color:var(--muted)}.not-found{max-width:620px;padding:32px;border-left:5px solid var(--saffron);background:var(--surface)}dialog{width:min(620px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;border:2px solid var(--ink);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:9px 9px 0 var(--shadow)}dialog::backdrop{background:#030914c2;backdrop-filter:blur(3px)}.dialog-card{padding:28px}.dialog-heading{display:flex;justify-content:space-between;gap:18px}.dialog-heading h2{margin-bottom:16px}.close-dialog{font-size:1.6rem}.dialog-card .field{margin:24px 0}.check-row{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;cursor:pointer}.check-row input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--saffron)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.form-error{margin-top:16px;padding:12px;border-left:4px solid var(--danger);color:var(--danger);background:#a12f3714;font-weight:700}.toast{position:fixed;z-index:80;right:24px;bottom:24px;max-width:min(440px,calc(100% - 48px));display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--rule);background:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--saffron);opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out}.toast.visible{opacity:1;transform:translateY(0);pointer-events:auto}.toast button{min-height:36px;padding:5px 9px;border:1px solid currentColor;color:inherit;background:transparent}footer{width:min(1200px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.2fr auto;gap:12px 36px;padding:40px 0;border-top:1px solid var(--rule);color:var(--muted);font-size:.8rem}footer p{margin:0}footer nav{display:flex;flex-wrap:wrap;gap:18px}.art-credit{grid-column:1 / -1;font-size:.72rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:800px){.hero{grid-template-columns:1fr;margin-top:-8px}.hero-copy{order:2}.hero-art{order:1;transform:none}.package-list{grid-template-columns:1fr 1fr}.progress-key,.data-tools{grid-template-columns:1fr;gap:24px}.empty-shelf{grid-template-columns:1fr}}@media(max-width:560px){.site-header,main,footer{width:min(100% - 32px,1200px)}.site-header{min-height:76px}.site-header nav>a{display:none}main{padding:40px 0 72px}h1{margin-bottom:32px}.hero{gap:28px;margin-bottom:72px}.section-heading{align-items:stretch;flex-direction:column}.section-heading .primary{width:100%}.package-list{grid-template-columns:1fr}.package-card{min-height:230px}.empty-shelf{padding:28px 22px}.button-row{flex-direction:column}.button-row>*{width:100%}.package-intro{grid-template-columns:1fr;gap:24px}.summary-stamp{width:150px;height:150px}.summary-stamp strong{font-size:2.8rem}.topics li a{grid-template-columns:38px 1fr;gap:10px}.topic-state{grid-column:2;min-width:0}.package-meta{align-items:stretch;flex-direction:column}.practice-page{width:min(100% - 24px,860px)}.practice-head{align-items:start;flex-direction:column;gap:12px}.question-meter{width:calc(100vw - 48px)}.save-state{align-self:flex-end}.question-sheet{padding:24px 18px;box-shadow:5px 5px 0 var(--shadow)}.question-actions{flex-direction:column-reverse}.question-actions button{width:100%}.worked-answer{margin-left:0;padding:22px}.dialog-card{padding:22px 18px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}footer{grid-template-columns:1fr}.art-credit{grid-column:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@supports (content-visibility: auto){.progress-key,.data-tools{content-visibility:auto;contain-intrinsic-size:500px}}
