:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--canvas:#f7f7f5;--surface:#fff;--surface-subtle:#f2f2f0;--surface-hover:#f4f4f5;--ink:#18181b;--ink-secondary:#52525b;--ink-muted:#64646d;--line:#e4e4e7;--line-strong:#d4d4d8;--control-border:#8a8a93;--accent:#1d4ed8;--accent-hover:#1e40af;--accent-soft:#eff6ff;--accent-contrast:#fff;--focus:#1d4ed8;--success:#166534;--success-soft:#f0fdf4;--danger:#b91c1c;--danger-soft:#fef2f2;--sidebar-width:232px;--content-width:1040px;--reading-width:760px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,p,dl,dd,ul,ol{margin:0}ul,ol{padding:0}body,#app{min-height:100vh;min-height:100svh}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}html{background:var(--canvas)}body{font-family:var(--font-sans);color:var(--ink);background:var(--canvas);font-size:1rem;line-height:1.55}body,button,input,select,textarea{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.03em;text-wrap:balance;line-height:1.15}h1{font-size:clamp(2.15rem,4.6vw,3.25rem);font-weight:600;line-height:1.05}h2{font-size:1.3125rem;font-weight:600;line-height:1.25}h3{font-size:1.0625rem;font-weight:600;line-height:1.3}p{text-wrap:pretty}a{text-underline-offset:.18em;text-decoration-thickness:.07em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{color:var(--ink);background:var(--accent-soft)}main:focus{outline:none}.fatal-error{max-width:720px;margin:0 auto;padding:4rem 1.5rem}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100svh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fbfbfa;flex-direction:column;grid-area:1/1;height:100svh;padding:1.25rem .875rem 1.125rem;display:flex;position:sticky;top:0}.sidebar>.brand{margin-bottom:1.75rem;padding-inline:.625rem}.mobile-header{display:none}.main{width:100%;max-width:var(--content-width);grid-area:1/2;min-width:0;margin-inline:auto;padding:clamp(2.5rem,5vw,4.5rem) clamp(2rem,5vw,4rem) 5rem}.bottom-nav-wrap{display:none}@media (max-width:900px){.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.mobile-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);grid-area:1/1;justify-content:space-between;align-items:center;height:56px;padding:0 .75rem 0 1rem;display:flex;position:sticky;top:0}.main{padding:2rem 1.25rem calc(6.5rem + env(safe-area-inset-bottom));grid-area:2/1}.bottom-nav-wrap{z-index:30;padding:.375rem .5rem calc(.375rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);display:block;position:fixed;bottom:0;left:0;right:0}}@media (max-width:380px){.main{padding-left:1rem;padding-right:1rem}}.skip-link{z-index:100;color:var(--surface);background:var(--ink);border-radius:var(--radius-sm);transition:transform .12s var(--ease-out);padding:.65rem .9rem;font-size:.875rem;font-weight:600;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.brand{width:-moz-fit-content;width:fit-content;min-height:44px;color:var(--ink);border-radius:var(--radius-sm);align-items:center;gap:.625rem;text-decoration:none;display:inline-flex}.brand--compact{gap:.5rem}.brand-mark{width:32px;height:32px;color:var(--surface);background:var(--ink);border-radius:7px;flex:none;place-items:center;display:grid}.brand--compact .brand-mark{border-radius:6px;width:28px;height:28px}.brand-copy{gap:0;min-width:0;display:grid}.brand-name{letter-spacing:-.015em;font-size:.875rem;font-weight:600;line-height:1.3}.brand-subtitle{color:var(--ink-muted);font-size:.6875rem;line-height:1.25}.app-nav{min-width:0}.nav-list{gap:2px;list-style:none;display:grid}.nav-link{min-height:44px;color:var(--ink-secondary);border-radius:var(--radius-sm);align-items:center;gap:.625rem;text-decoration:none;transition:color .12s,background-color .12s;display:flex}.nav-link--sidebar{padding:.5rem .625rem;font-size:.875rem;font-weight:500}.nav-link:hover{color:var(--ink);background:var(--surface-hover)}.nav-link.is-active{color:var(--ink);background:var(--surface-subtle);font-weight:600}.nav-icon{flex:none;place-items:center;width:18px;height:18px;display:grid}.sidebar-footer{border-top:1px solid var(--line);gap:.25rem;margin-top:auto;padding-top:.75rem;display:grid}.storage-note{color:var(--ink-muted);align-items:center;gap:.4rem;padding:.5rem .625rem .2rem;font-size:.6875rem;line-height:1.4;display:flex}.storage-dot{background:var(--ink-muted);border-radius:50%;flex:none;width:4px;height:4px}.icon-button{width:44px;height:44px;color:var(--ink-secondary);border-radius:var(--radius-sm);flex:none;place-items:center;text-decoration:none;transition:color .12s,background-color .12s;display:grid}.icon-button:hover,.icon-button.is-active{color:var(--ink);background:var(--surface-hover)}.bottom-nav-wrap .app-nav{width:100%}.bottom-nav-wrap .nav-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.nav-link--bottom{text-align:center;flex-direction:column;justify-content:center;gap:3px;min-height:52px;padding:.3rem .25rem;font-size:.6875rem;font-weight:500;line-height:1.1}.nav-link--bottom .nav-icon{width:20px;height:20px}.nav-link--bottom .nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.home,.empty-view{max-width:var(--reading-width);margin-inline:auto}.page-header{margin-bottom:clamp(2rem,4vw,2.75rem)}.kicker{color:var(--ink-muted);letter-spacing:.11em;text-transform:uppercase;margin-bottom:.75rem;font-size:.6875rem;font-weight:600}.page-header h1{margin-bottom:.875rem}.lede{max-width:640px;color:var(--ink-secondary);font-size:1.0625rem;line-height:1.65}.study-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.25rem,3vw,1.75rem)}.section-label{color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.study-card h2{margin:.5rem 0 .625rem;font-size:1.375rem}.body-copy{max-width:58ch;color:var(--ink-secondary);font-size:.9375rem;line-height:1.65}.meta-row{color:var(--ink-secondary);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.5rem 1.25rem;margin:1.5rem 0;padding:.875rem 0;font-size:.8125rem;display:flex}.meta-item{align-items:baseline;gap:.3rem;display:inline-flex}.meta-item strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.action-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.button{min-height:44px;color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:.55rem .9rem;font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button--secondary{color:var(--ink);border-color:var(--line-strong);background:0 0}.button--secondary:hover{background:var(--surface-subtle);border-color:var(--line-strong)}.card-note{color:var(--ink-muted);margin-top:1.125rem;font-size:.75rem;line-height:1.5}.page-note{color:var(--ink-muted);border-top:1px solid var(--line);margin-top:2rem;padding-top:1.125rem;font-size:.75rem;line-height:1.5}.empty-view .page-header{margin-bottom:2.25rem}.empty-note{border-top:1px solid var(--line);max-width:620px;padding-top:1.25rem}.empty-note p{color:var(--ink-secondary);margin-bottom:1.125rem;font-size:.9375rem;line-height:1.6}.question-map{margin-top:1rem}.question-map-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:.6rem;display:flex}.question-map-title{font-size:.9375rem;font-weight:600}.question-map-summary{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.question-map-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.question-map-cell{min-width:0;min-height:44px;color:var(--ink-secondary);background:var(--surface);border:1px solid var(--control-border);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;padding:.2rem;display:flex}.question-map-cell.is-correct{color:var(--success);background:var(--success-soft)}.question-map-cell.is-incorrect{color:var(--danger);background:var(--danger-soft)}.question-map-cell.is-unanswered{color:var(--ink-muted);background:var(--surface-subtle)}.question-map-cell.is-current{outline:2px solid var(--accent);outline-offset:1px}.question-map-number{font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600;line-height:1.1}.question-map-mark{font-size:.625rem;font-weight:700;line-height:1}.question-map-legend{color:var(--ink-muted);flex-wrap:wrap;gap:.3rem .9rem;margin-top:.6rem;font-size:.75rem;display:flex}.question-map-legend-item{align-items:center;gap:.3rem;display:inline-flex}.question-map-legend-dot{background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:2px;width:9px;height:9px}.question-map-legend-dot.is-correct{background:var(--success-soft);border-color:var(--success)}.question-map-legend-dot.is-incorrect{background:var(--danger-soft);border-color:var(--danger)}.question-map-legend-dot.is-current{outline:2px solid var(--accent);outline-offset:1px}.question-strip{grid-template-columns:repeat(40,minmax(0,1fr));gap:2px;width:100%;margin:0;padding:0;list-style:none;display:grid}.question-strip-cell{background:var(--surface-subtle);border-radius:2px;min-width:0;height:8px}.question-strip-cell.is-correct{background:var(--success)}.question-strip-cell.is-incorrect{background:var(--danger)}.question-strip-cell.is-current{outline:2px solid var(--accent);outline-offset:1px}@media (max-width:720px){.question-map-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width:600px){.question-map-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:380px){.question-map-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:520px){.study-card{border-radius:var(--radius-md)}.meta-row{gap:.4rem 1rem}.action-row .button{flex:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.practice-view,.study-view,.study-summary,.study-empty{max-width:var(--reading-width);margin-inline:auto}.recommended-section{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);margin-bottom:2rem;padding:1.15rem 1.25rem}.recommended-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.35rem 1rem;margin-bottom:.55rem;display:flex}.recommended-header h2{margin-top:.3rem;font-size:1.125rem}.recommended-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.9rem;display:grid}.recommended-option{text-align:left;white-space:normal;justify-items:start;gap:.2rem;height:auto;min-height:64px;padding:.7rem .8rem;display:grid}.recommended-option-size{font-size:.8125rem;font-weight:600}.recommended-option-detail{font-size:.75rem;font-weight:400;line-height:1.45}.practice-summary{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem;margin-bottom:.5rem;padding-block:.9rem;display:flex}.practice-summary-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:600}.practice-summary-detail{color:var(--ink-muted);font-size:.8125rem}.unit-list{display:grid}.unit-group{border-top:1px solid var(--line);padding-block:1.5rem}.unit-group:last-child{border-bottom:1px solid var(--line)}.unit-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.875rem;display:flex}.unit-heading{min-width:0}.unit-index{color:var(--ink-muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.3rem;font-size:.6875rem;font-weight:600}.unit-header h2{letter-spacing:-.02em;font-size:1.0625rem;font-weight:600}.unit-meta{color:var(--ink-muted);flex:none;padding-bottom:.15rem;font-size:.75rem}.test-list{gap:.5rem;list-style:none;display:grid}.test-row{text-align:left;width:100%;min-height:52px;color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.65rem .8rem;transition:background-color .12s,border-color .12s;display:flex}.test-row:hover{background:var(--surface-subtle);border-color:var(--control-border)}.test-row-copy{flex-wrap:wrap;flex:1;align-items:baseline;gap:.25rem .75rem;min-width:0;display:flex}.test-row-title{font-size:.875rem;font-weight:600}.test-row-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.test-row-action{color:var(--ink-muted);flex:none}.study-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.study-eyebrow{color:var(--ink-muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.2rem;font-size:.6875rem;font-weight:600}.study-test-label{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem}.quiet-button{min-height:44px;color:var(--ink-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:none;align-items:center;gap:.35rem;padding:.35rem .55rem;font-size:.8125rem;font-weight:500;transition:color .12s,background-color .12s;display:inline-flex}.quiet-button:hover{color:var(--ink);background:var(--surface-subtle)}.study-progress-wrap{margin-bottom:1.5rem}.study-progress{background:var(--line);border-radius:3px;height:3px;overflow:hidden}.study-progress-fill{background:var(--accent);border-radius:inherit;height:100%;transition:width .18s var(--ease-out);display:block}.question-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.25rem,3vw,1.75rem)}.question-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;margin-bottom:1rem;display:flex}.question-position,.question-subtopic{color:var(--ink-muted);font-size:.75rem}.question-position{font-variant-numeric:tabular-nums}.question-subtopic{overflow-wrap:anywhere}.question-stem{letter-spacing:-.025em;max-width:62ch;margin-bottom:1.4rem;font-size:clamp(1.3rem,3.2vw,1.65rem);font-weight:600;line-height:1.4}.question-stem:focus,.feedback-title:focus,#summary-title:focus{outline:none}.hint{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:1.25rem;font-size:.875rem}.hint summary{min-height:44px;color:var(--ink-secondary);cursor:pointer;justify-content:space-between;align-items:center;padding:.55rem .75rem;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.hint summary::-webkit-details-marker{display:none}.hint summary:after{content:"+";color:var(--ink-muted);font-size:1rem;font-weight:400}.hint[open] summary:after{content:"−"}.hint-text{color:var(--ink-secondary);padding:.15rem .75rem 0;line-height:1.65}.hint-source{color:var(--ink-muted);padding:.55rem .75rem .75rem;font-size:.75rem}.hint-warning{color:var(--ink-secondary);background:var(--surface);border-left:2px solid var(--line-strong);margin:0 .75rem .75rem;padding:.5rem .6rem;font-size:.75rem;line-height:1.5}.answer-form{margin-top:1.25rem}.answer-fieldset{border:0;min-width:0;margin:0;padding:0}.answer-fieldset:disabled .answer-option{cursor:default}.answer-option{background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.75rem;min-height:52px;padding:.7rem .8rem;transition:background-color .12s,border-color .12s;display:flex;position:relative}.answer-option+.answer-option{margin-top:.5rem}.answer-option:hover{border-color:var(--control-border)}.answer-option:has(.answer-input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.answer-option.is-selected{background:var(--accent-soft);border-color:var(--accent)}.answer-option.is-correct{background:var(--success-soft);border-color:var(--success)}.answer-option.is-incorrect{background:var(--danger-soft);border-color:var(--danger)}.answer-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.answer-letter{width:26px;height:26px;color:var(--ink-secondary);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:grid}.answer-option.is-selected .answer-letter{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.answer-option.is-correct .answer-letter{color:var(--surface);background:var(--success);border-color:var(--success)}.answer-option.is-incorrect .answer-letter{color:var(--surface);background:var(--danger);border-color:var(--danger)}.answer-text{flex:1;min-width:0;font-size:.9375rem;line-height:1.55}.answer-tag{border-radius:4px;flex:none;padding:.2rem .4rem;font-size:.6875rem;font-weight:600;line-height:1.3}.answer-tag--correct{color:var(--success);background:var(--success-soft)}.answer-tag--incorrect{color:var(--danger);background:var(--danger-soft)}.study-actions{flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:1.25rem;display:flex}.button:disabled{color:var(--ink-muted);cursor:not-allowed;background:var(--surface-subtle);border-color:var(--line)}.feedback{border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:1.25rem;padding:1rem}.feedback--correct{background:var(--success-soft);border-color:#bbf7d0}.feedback--incorrect{background:var(--danger-soft);border-color:#fecaca}.feedback-title{letter-spacing:-.015em;margin-bottom:.45rem;font-size:1rem;font-weight:600}.feedback--correct .feedback-title{color:var(--success)}.feedback--incorrect .feedback-title{color:var(--danger)}.feedback-answer{color:var(--ink);font-size:.875rem;line-height:1.6}.feedback-note{color:var(--ink-secondary);margin-top:.45rem;font-size:.8125rem;line-height:1.55}.confidence{border-top:1px solid var(--line);margin-top:1rem;padding-top:.85rem}.confidence-title{color:var(--ink);font-size:.8125rem;font-weight:600}.confidence-note{color:var(--ink-muted);margin-top:.2rem;font-size:.75rem;line-height:1.5}.confidence-options{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.confidence-option{min-height:44px;padding:.35rem .7rem;font-size:.75rem}.review-summary{border-top:1px solid var(--line);margin-top:.85rem;padding-top:.75rem}.progress-note{color:var(--ink-secondary);font-size:.75rem;line-height:1.5}.study-session-note{color:var(--ink-muted);margin-top:1.5rem;font-size:.75rem;line-height:1.5}.summary-score{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;padding-block:1.1rem;display:flex}.summary-score-value{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.9375rem}.summary-score-value strong{color:var(--ink);letter-spacing:-.03em;margin-right:.25rem;font-size:1.75rem;font-weight:600}.summary-score-detail{color:var(--ink-muted);font-size:.8125rem}.study-summary .page-note{max-width:54ch}.study-empty .empty-note{border-top:0;padding-top:0}@media (max-width:600px){.recommended-section{padding:1rem}.recommended-options{grid-template-columns:minmax(0,1fr)}.recommended-option{min-height:56px}.unit-header{display:block}.unit-meta{margin-top:.35rem}.unit-group{padding-block:1.25rem}.question-card{border-radius:var(--radius-md);padding:1.1rem}.question-stem{font-size:1.25rem}.answer-option{min-height:50px;padding:.65rem .7rem}.answer-letter{width:24px;height:24px}.answer-tag{align-self:flex-start;margin-top:.15rem}.feedback{padding:.8rem}.study-actions .button{flex:auto}}@media (max-width:380px){.question-card{padding:1rem}.answer-option{gap:.6rem}}.boot-state{max-width:620px;margin:0 auto;padding:5rem 1.5rem}.boot-state h1{letter-spacing:-.02em;margin-bottom:.75rem;font-size:1.5rem}.boot-state p{color:var(--ink-secondary)}.route-loading{padding-block:clamp(2rem,8vw,5rem)}.route-error .lede{max-width:62ch}.route-error .action-row{margin-top:.5rem}.update-slot{margin-bottom:1rem}.update-slot:empty{display:none}.update-notice{background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.8rem .9rem;font-size:.8125rem;line-height:1.5;display:flex}.update-notice-text{max-width:72ch}.update-notice-actions{flex-wrap:wrap;gap:.5rem;display:flex}.update-notice-actions .button{flex:auto}.notice-slot{margin-bottom:1.5rem}.notice-slot:empty{display:none}.app-notice{background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid #bfdbfe;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.8rem .9rem;font-size:.8125rem;line-height:1.5;display:flex}.app-notice--warning{background:#fffbeb;border-color:#fde68a}.app-notice-text{max-width:72ch}.notice-close{min-width:44px;min-height:44px;color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:.45rem .55rem;font-size:.75rem;font-weight:600}.notice-close:hover{color:var(--ink);background:#fff9}.home-resume{background:var(--accent-soft);border-radius:var(--radius-lg);border:1px solid #bfdbfe;gap:1rem;margin-bottom:1.5rem;padding:1.15rem 1.25rem;display:grid}.home-resume .section-label{color:var(--accent)}.home-resume h2{margin:.35rem 0 .3rem;font-size:1.125rem}.home-resume p:not(.section-label){max-width:56ch;color:var(--ink-secondary);font-size:.875rem}.home-resume .button{justify-self:start}.home .study-card{margin-top:0}.active-session-card{background:var(--accent-soft);border-radius:var(--radius-lg);border:1px solid #bfdbfe;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;padding:1.15rem 1.25rem;display:flex}.active-session-copy{min-width:min(100%,300px)}.active-session-card .section-label{color:var(--accent)}.active-session-card h2{margin:.35rem 0 .3rem;font-size:1.125rem}.active-session-card p:not(.section-label){max-width:56ch;color:var(--ink-secondary);font-size:.875rem}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1.5rem;margin-bottom:.65rem;display:flex}.section-heading h2{margin-top:.3rem;font-size:1.125rem}.section-meta,.section-note{color:var(--ink-secondary);font-size:.8125rem;line-height:1.6}.section-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums}.section-note{max-width:66ch;margin-bottom:1rem}.exam-section{border-bottom:1px solid var(--line);margin-bottom:2.25rem;padding-bottom:1.5rem}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem;display:grid}.library-view,.settings-view{max-width:var(--reading-width);margin-inline:auto}.bank-summary,.import-section,.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.25rem}.bank-origin{color:var(--ink-secondary);background:var(--surface-subtle);border-radius:999px;flex:none;padding:.2rem .5rem;font-size:.6875rem;font-weight:600}.import-controls{margin-top:1rem}.file-picker{cursor:pointer;display:inline-flex}.file-picker .button{pointer-events:none}.file-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker:has(.file-input:focus-visible){outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-sm)}.file-input:disabled+.button{color:var(--ink-muted);cursor:not-allowed;background:var(--surface-subtle);border-color:var(--line)}.file-picker-note{color:var(--ink-muted);margin-top:.45rem;font-size:.75rem}.import-report{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.25rem}.import-report-heading{margin-bottom:.75rem}.import-report-heading h3,.import-samples h4{margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.import-report-heading p{color:var(--ink-muted);overflow-wrap:anywhere;font-size:.8125rem}.import-counts{color:var(--ink-secondary);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem 1.25rem;padding:.8rem 0;font-size:.8125rem;display:flex}.import-counts strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.import-warning{color:#78350f;background:#fffbeb;border-left:2px solid #d97706;margin-top:.75rem;padding:.55rem .65rem;font-size:.8125rem;line-height:1.5}.import-error,.import-success{border-radius:var(--radius-sm);margin-top:1rem;padding:.8rem;font-size:.8125rem;line-height:1.55}.import-error{color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca}.import-success{color:var(--success);background:var(--success-soft);border:1px solid #bbf7d0}.import-error p+.button,.import-success p+.button{margin-top:.7rem}.import-errors{border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:.9rem;font-size:.8125rem}.import-errors summary{min-height:44px;color:var(--ink-secondary);cursor:pointer;padding:.55rem .7rem;font-weight:600}.import-error-list{gap:.6rem;padding:.2rem .7rem .7rem;list-style:none;display:grid}.import-error-list li{border-top:1px solid var(--line);gap:.15rem;padding-top:.55rem;display:grid}.import-error-list strong{font-weight:600}.import-error-list span{color:var(--ink-secondary);overflow-wrap:anywhere}.import-samples{margin-top:1rem}.import-samples ul{gap:.4rem;list-style:none;display:grid}.import-samples li{background:var(--surface-subtle);border-radius:var(--radius-sm);gap:.1rem;padding:.55rem .65rem;font-size:.8125rem;display:grid}.import-sample-unit{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.notice-box{color:var(--ink-secondary);background:var(--surface-subtle);border-left:2px solid var(--line-strong);margin-top:1rem;padding:.75rem .8rem;font-size:.8125rem;line-height:1.55}.settings-list{border-top:1px solid var(--line);margin-top:1rem;display:grid}.settings-list>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding:.7rem 0;display:flex}.settings-list dt{color:var(--ink-secondary);font-size:.8125rem}.settings-list dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;font-size:.8125rem;font-weight:600}.exam-settings-form{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.25rem}.exam-settings-fields{border:0;gap:.9rem;margin:0;padding:0;display:grid}.exam-settings-fields legend{color:var(--ink-secondary);margin-bottom:.35rem;font-size:.8125rem;font-weight:600}.settings-field{gap:.3rem;display:grid}.settings-field label{font-size:.8125rem;font-weight:600}.settings-input{width:100%;max-width:16rem;min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.45rem .6rem;font-size:.875rem}.settings-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.settings-input[aria-invalid=true]{border-color:var(--danger)}.settings-input:disabled{color:var(--ink-muted);background:var(--surface-subtle)}.field-hint{color:var(--ink-muted);font-size:.75rem;line-height:1.45}.field-error{color:var(--danger);font-size:.75rem;line-height:1.45}.settings-form-actions{flex-wrap:wrap;gap:.6rem;margin-top:.4rem;display:flex}.backup-previous,.backup-restore{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.backup-previous h3,.backup-restore h3{margin-bottom:.25rem;font-size:.875rem}.backup-previous p{color:var(--ink-muted);overflow-wrap:anywhere;margin-bottom:.75rem;font-size:.75rem}.exam-view{max-width:var(--reading-width);margin-inline:auto}.exam-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.exam-heading{min-width:0}.exam-heading h1{margin-bottom:.3rem;font-size:clamp(1.6rem,3.5vw,2.25rem)}.exam-context{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem}.exam-header-tools{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.exam-timer{text-align:right;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);gap:.05rem;min-width:106px;padding:.4rem .65rem;display:grid}.exam-timer-label{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.625rem;font-weight:600}.exam-timer-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600}.exam-timer--urgent{background:#fffbeb;border-color:#fcd34d}.exam-timer--urgent .exam-timer-value{color:#92400e}.exam-answer-fieldset{margin-top:.25rem}.exam-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:1.4rem;padding-top:1.1rem;display:flex}.exam-primary-actions{flex-wrap:wrap;gap:.5rem;display:flex}.exam-submit-button{margin-left:auto}.exam-navigation{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-top:1.5rem;padding:1.1rem}.exam-navigation-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;margin-bottom:.8rem;display:flex}.exam-navigation-header h2{font-size:.9375rem}.exam-navigation-header p{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.exam-nav-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:.35rem;list-style:none;display:grid}.exam-nav-button{width:100%;min-height:44px;color:var(--ink-secondary);font-variant-numeric:tabular-nums;cursor:pointer;background:var(--surface);border:1px solid var(--control-border);border-radius:5px;padding:.25rem;font-size:.75rem;font-weight:600;position:relative}.exam-nav-button:hover{background:var(--surface-subtle);border-color:var(--control-border)}.exam-nav-button.is-answered{color:var(--ink);background:var(--surface-subtle);border-color:var(--line-strong)}.exam-nav-button.is-current{color:var(--accent);border-color:var(--accent);outline:1px solid var(--accent);outline-offset:0}.exam-nav-button.is-flagged:after{content:"";background:#b45309;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.exam-legend{color:var(--ink-muted);flex-wrap:wrap;gap:.4rem 1rem;margin-top:.9rem;font-size:.6875rem;display:flex}.exam-legend-item{align-items:center;gap:.35rem;display:inline-flex}.exam-legend-dot{background:var(--surface-subtle);border:1px solid var(--line-strong);border-radius:50%;width:7px;height:7px}.exam-legend-dot--flag{background:#b45309;border-color:#b45309}.exam-legend-dot--current{border-color:var(--accent);background:0 0}.exam-summary{max-width:var(--reading-width);margin-inline:auto}.exam-result{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-lg);gap:.3rem;margin-bottom:1rem;padding:1.1rem 1.25rem;display:grid}.exam-result--passed{background:var(--success-soft);border-color:#bbf7d0}.exam-result-status{color:var(--ink-secondary);letter-spacing:.02em;font-size:.75rem;font-weight:600}.exam-result--passed .exam-result-status{color:var(--success)}.exam-result-score{color:var(--ink-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.15rem .35rem;font-size:.9375rem;display:flex}.exam-result-score strong{color:var(--ink);letter-spacing:-.04em;font-size:2.25rem;font-weight:600;line-height:1}.exam-result-threshold{color:var(--ink-muted);font-size:.75rem}.exam-result-meta{color:var(--ink-secondary);font-variant-numeric:tabular-nums;border-top:1px solid #00000012;flex-wrap:wrap;gap:.3rem 1rem;margin-top:.4rem;padding-top:.6rem;font-size:.75rem;display:flex}.exam-breakdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.1rem 1.25rem}.exam-breakdown h2{margin-bottom:.6rem;font-size:.9375rem}.exam-breakdown-list{list-style:none;display:grid}.exam-breakdown-list li{color:var(--ink-secondary);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding:.45rem 0;font-size:.8125rem;display:flex}.exam-breakdown-score{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.exam-review{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1rem}.exam-review summary{min-height:48px;color:var(--ink-secondary);cursor:pointer;border-radius:var(--radius-lg);padding:.75rem 1rem;font-size:.875rem;font-weight:600}.exam-review-list{border-top:1px solid var(--line);gap:0;list-style:none;display:grid}.exam-review-item{padding:.9rem 1rem}.exam-review-item+.exam-review-item{border-top:1px solid var(--line)}.exam-review-stem{margin-bottom:.4rem;font-size:.875rem;font-weight:600;line-height:1.5}.exam-review-answer,.exam-review-correct,.exam-review-explanation{color:var(--ink-secondary);font-size:.8125rem;line-height:1.55}.exam-review-answer{margin-bottom:.2rem}.exam-review-correct{color:var(--success)}.exam-review-explanation{color:var(--ink-secondary);margin-top:.45rem}#exam-question-title:focus,#exam-title:focus{outline:none}@media (min-width:640px){.home-resume{grid-template-columns:minmax(0,1fr) auto;align-items:center}.home-resume .button{justify-self:end}}@media (max-width:720px){.exam-nav-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width:600px){.exam-grid{grid-template-columns:minmax(0,1fr)}.bank-summary,.import-section,.settings-section{border-radius:var(--radius-md);padding:1rem}.exam-header{display:block}.exam-header-tools{justify-content:space-between;margin-top:.75rem}.exam-timer{text-align:left;flex:1}.exam-actions{display:grid}.exam-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.exam-primary-actions .button:last-child{grid-column:1/-1}.exam-primary-actions .button,.exam-submit-button{width:100%;margin-left:0}.exam-navigation{border-radius:var(--radius-md);padding:.9rem}.exam-nav-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.exam-nav-button{min-height:40px}.active-session-card{display:grid}.active-session-card .action-row .button{flex:auto}.section-heading{display:block}.section-meta{margin-top:.3rem}.import-report .study-actions .button{flex:auto}}@media (max-width:380px){.exam-nav-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.exam-primary-actions{grid-template-columns:minmax(0,1fr)}.exam-primary-actions .button:last-child{grid-column:auto}}.library-explorer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.25rem}.library-storage-note{color:#92400e;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;margin-bottom:.9rem;padding:.55rem .7rem;font-size:.8125rem;line-height:1.5}.library-controls{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) auto;align-items:end;gap:.65rem;margin:1rem 0 .9rem;display:grid}.library-field{gap:.25rem;min-width:0;display:grid}.library-field label{color:var(--ink-secondary);font-size:.75rem;font-weight:600}.library-input,.library-select{width:100%;min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.45rem .6rem;font-size:.875rem}.library-input::placeholder{color:var(--ink-muted)}.library-clear{align-items:end;display:flex}.library-clear .button{white-space:nowrap}.library-results-bar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:.25rem;display:flex}.library-count{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.library-results-hint{color:var(--ink-muted);font-size:.75rem}.library-list{gap:.5rem;margin-top:.5rem;display:grid}.library-group{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm)}.library-group[open]{background:var(--surface);border-color:var(--line-strong)}.library-group-summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem 1rem;min-height:56px;padding:.65rem .8rem;list-style:none;display:flex}.library-group-summary::-webkit-details-marker{display:none}.library-group-summary:hover .library-group-title{color:var(--accent)}.library-group-heading{flex:14rem;gap:.12rem;min-width:0;display:grid}.library-group-index{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.library-group-title{font-size:.95rem;font-weight:600;line-height:1.35}.library-group-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.library-group-side{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.35rem .65rem;display:flex}.library-group-coverage{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.library-group-failed{color:var(--ink-secondary);font-size:.75rem;font-weight:600}.library-group-chevron{color:var(--ink-muted);transition:transform .12s var(--ease-out);flex:none;place-items:center;display:grid}.library-group[open] .library-group-chevron{transform:rotate(90deg)}.library-group-body{padding:0 .8rem .35rem}.library-group-body .library-row:last-child{border-bottom:0}.library-row{border-bottom:1px solid var(--line)}.library-row-main{align-items:flex-start;gap:.5rem;padding:.35rem 0;display:flex}.library-row-toggle{min-width:0;font:inherit;text-align:left;color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:1;gap:.2rem;padding:.45rem .15rem .45rem 0;display:grid}.library-row-toggle:hover .library-row-stem{color:var(--accent)}.library-row-stem{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.library-row-meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.1rem .55rem;font-size:.75rem;line-height:1.5;display:flex}.library-row-answer{color:var(--ink-secondary);flex-wrap:wrap;align-items:baseline;gap:.1rem .45rem;font-size:.75rem;line-height:1.5;display:flex}.library-row-answer-label{color:var(--success);background:var(--success-soft);border-radius:999px;padding:0 .4rem;font-size:.6875rem;font-weight:600}.library-row-answer-text{overflow-wrap:anywhere;min-width:0}.library-row-status{background:var(--surface-subtle);border-radius:999px;padding:0 .4rem}.library-mark{color:var(--accent-hover);background:var(--accent-soft);border-radius:3px;padding:0 .1rem}.library-row-why{color:var(--ink-secondary);background:var(--accent-soft);border-radius:999px;padding:0 .4rem}.library-due{color:var(--danger);font-weight:600}.library-favorite{width:44px;height:44px;color:var(--ink-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;flex:none;place-items:center;margin-top:.3rem;font-size:1.2rem;line-height:1;display:grid}.library-favorite:hover{color:var(--ink);background:var(--surface-subtle)}.library-favorite.is-favorite{color:#b45309;background:#fffbeb;border-color:#fde68a}.library-favorite:disabled{cursor:not-allowed;opacity:.45}.library-row-error:empty{display:none}.library-row-error{color:var(--danger);margin:0 0 .45rem;font-size:.75rem}.library-detail-slot:empty{display:none}.library-detail{background:var(--surface-subtle);border-left:2px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;margin:0 0 .9rem;padding:1rem}.library-detail h4{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem;font-size:.75rem;font-weight:600}.library-detail-stem{margin-bottom:.65rem;font-size:.9375rem;font-weight:500;line-height:1.55}.library-detail-meta{color:var(--ink-muted);flex-wrap:wrap;gap:.15rem .7rem;margin-bottom:.9rem;font-size:.75rem;display:flex}.library-detail-meta span+span:before{color:var(--line-strong);content:"·";margin-right:.7rem}.library-context,.library-explanation,.library-hint,.library-options{margin-bottom:.9rem}.library-context p,.library-explanation p,.library-hint p{color:var(--ink-secondary);font-size:.875rem;line-height:1.6}.library-hint{background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid #bfdbfe;padding:.7rem .8rem}.library-hint-status{margin-top:.25rem;color:var(--ink-muted)!important;font-size:.75rem!important}.library-option-list{gap:.35rem;margin-top:.35rem;list-style:none;display:grid}.library-option{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:baseline;gap:.4rem .55rem;padding:.5rem .6rem;font-size:.875rem;line-height:1.5;display:flex}.library-option.is-correct{background:var(--success-soft);border-color:#bbf7d0}.library-option-letter{width:22px;height:22px;color:var(--ink-secondary);background:var(--surface-subtle);border-radius:50%;flex:none;place-items:center;font-size:.6875rem;font-weight:600;display:grid}.library-option.is-correct .library-option-letter{color:var(--success);background:#dcfce7}.library-option-text{flex:1;min-width:0}.library-correct-tag{color:var(--success);flex:none;font-size:.6875rem;font-weight:600}.library-empty{text-align:center;padding:1.5rem 1rem}.library-empty h3{margin-bottom:.3rem;font-size:1rem}.library-empty p{max-width:46ch;color:var(--ink-secondary);margin:0 auto .9rem;font-size:.875rem}@media (max-width:760px){.library-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.library-field--search{grid-column:1/-1}.library-clear{align-items:stretch}.library-clear .button{width:100%}}@media (max-width:600px){.library-explorer{border-radius:var(--radius-md);padding:1rem}.library-controls{grid-template-columns:minmax(0,1fr)}.library-field--search{grid-column:auto}.library-results-bar{display:grid}.library-detail{padding:.85rem}}.text-link{color:var(--accent);text-align:left;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;font-weight:500;text-decoration:underline;text-decoration-thickness:.06em}.text-link:hover{color:var(--accent-hover)}.button--ghost{min-height:38px;color:var(--ink-secondary);background:0 0;border-color:#0000;padding:.4rem .65rem}.button--ghost:hover{color:var(--ink);background:var(--surface-subtle);border-color:#0000}.home>section{margin-bottom:2.25rem}.home-small-summary{border-bottom:1px solid var(--line);padding-bottom:1.75rem}.home-metric-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-top:.9rem;display:grid}.home-metric-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:.15rem;padding:.85rem .9rem;display:grid}.home-metric-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:600;line-height:1.15}.home-metric-label{color:var(--ink-secondary);font-size:.75rem;line-height:1.4}.home-empty,.home-study-card,.progress-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.35rem 1.4rem}.home-empty{border-left:3px solid var(--accent)}.home-empty h2,.home-study-card h2,.progress-empty h2{margin:.35rem 0 .45rem;font-size:1.2rem}.home-action-row{flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;display:flex}.home-study-card{background:var(--accent-soft);border-color:#bfdbfe}.home-study-card .section-label{color:var(--accent)}.home-study-card .body-copy{color:var(--ink-secondary)}.home-study-card .button--secondary{background:#ffffffa6}.home-install-notice{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-lg);gap:1rem;padding:1.35rem 1.4rem;display:grid}.home-install-notice h2{margin:.35rem 0 .45rem;font-size:1.2rem}.home-install-notice p:not(.section-label){color:var(--ink-secondary);margin:0}@media (min-width:640px){.home-install-notice{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.home-error-link{margin-top:.9rem;display:inline-block}.home-topic-list{border-top:1px solid var(--line);margin-top:.35rem;display:grid}.home-topic-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.9rem 0;display:flex}.home-topic-body{flex:1;min-width:min(100%,260px)}.home-topic-body h3{margin-bottom:.2rem;font-size:.9875rem}.home-topic-meta{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem;line-height:1.5}.home-topic-row .button{flex:none}.progress-view{max-width:var(--reading-width);margin-inline:auto}.progress-view>section{margin-bottom:2.25rem}.progress-summary .section-heading{margin-bottom:1rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:.6rem;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-content:start;gap:.2rem;padding:.9rem 1rem;display:grid}.metric-title{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.metric-value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:600;line-height:1.1}.metric-detail{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.75rem}.metric-subtitle{color:var(--ink-muted);margin-top:.15rem;font-size:.75rem;line-height:1.45}.unit-list{border-top:1px solid var(--line);display:grid}.unit-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.95rem 0;display:flex}.unit-row-copy{flex:1;min-width:min(100%,300px)}.unit-row-heading{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-bottom:.2rem;display:flex}.unit-row-title{font-size:.9875rem}.unit-row-meta{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem;line-height:1.5}.unit-row-note{color:var(--ink-muted);margin-top:.2rem;font-size:.75rem}.unit-row-actions{flex:none}.status-badge{color:var(--ink-secondary);background:var(--surface-subtle);border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.6875rem;font-weight:600;line-height:1.6;display:inline-flex}.status-badge--due{color:var(--danger);background:var(--danger-soft)}.session-list{border-top:1px solid var(--line);display:grid}.session-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding:.9rem 0;display:flex}.session-row-copy{flex:1;min-width:min(100%,300px)}.session-row-heading{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-bottom:.15rem;display:flex}.session-row-title{font-size:.9375rem}.session-type{color:var(--ink-muted);background:var(--surface-subtle);border-radius:999px;padding:.05rem .4rem;font-size:.6875rem}.session-row-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem;line-height:1.5}.session-row-score{font-variant-numeric:tabular-nums;flex:none;justify-items:end;gap:.05rem;display:grid}.session-row-score strong{font-size:1.05rem;font-weight:600}.session-row-score-label{color:var(--ink-muted);font-size:.6875rem}.score-ok{color:var(--success)}.score-low{color:var(--danger)}.score-neutral{color:var(--ink-muted)}.progress-empty{border-left:3px solid var(--accent)}@media (max-width:560px){.home-empty,.home-study-card,.progress-empty{padding:1.1rem}.home-action-row .button,.home-topic-row .button,.unit-row-actions .button{width:100%}.session-row-score{justify-items:start}}.practice-hub{max-width:880px}.practice-mode-header{margin-bottom:clamp(1.75rem,4vw,2.5rem)}.back-link{min-height:44px;color:var(--ink-secondary);border-radius:var(--radius-sm);align-items:center;gap:.35rem;margin-bottom:1rem;padding:.35rem .55rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .12s,background-color .12s;display:inline-flex}.back-link:hover{color:var(--ink);background:var(--surface-subtle)}.practice-mode-header .kicker{margin-bottom:.5rem}.practice-mode-header h1{margin-bottom:.75rem;font-size:clamp(1.8rem,3.8vw,2.5rem)}.practice-mode-header .lede{max-width:60ch}.practice-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.practice-mode-card{min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;padding:1.25rem;text-decoration:none;transition:background-color .12s,border-color .12s;display:flex}.practice-mode-card:hover{background:var(--surface-subtle);border-color:var(--line-strong)}.practice-mode-card--featured{border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--accent);grid-column:1/-1}.practice-mode-card--featured .practice-mode-icon{color:var(--accent-contrast);background:var(--accent)}.practice-mode-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.practice-mode-icon{width:40px;height:40px;color:var(--ink-secondary);background:var(--surface-subtle);border-radius:10px;flex:none;place-items:center;display:grid}.practice-mode-badge{color:var(--accent);white-space:nowrap;background:var(--accent-soft);border-radius:999px;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.3}.practice-mode-body{min-width:0;display:block}.practice-mode-body h2{letter-spacing:-.02em;margin:.85rem 0 .45rem;font-size:1.125rem;font-weight:600}.practice-mode-card--featured .practice-mode-body h2{font-size:1.375rem}.practice-mode-description{max-width:54ch;color:var(--ink-secondary);font-size:.875rem;line-height:1.55;display:block}.practice-mode-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-top:.75rem;font-size:.75rem;line-height:1.45;display:block}.practice-mode-action{color:var(--accent);align-items:center;gap:.35rem;margin-top:auto;padding-top:1rem;font-size:.8125rem;font-weight:600;display:inline-flex}.practice-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.15rem 1.25rem}.practice-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.35rem 1rem;margin-bottom:.55rem;display:flex}.practice-section-header h2{margin-top:.3rem;font-size:1.125rem}.practice-section-note{max-width:66ch;color:var(--ink-secondary);margin-bottom:1rem;font-size:.8125rem;line-height:1.6}.practice-section .recommended-options{margin-top:1rem}.practice-empty-note{color:var(--ink-secondary);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.8rem 1rem;font-size:.8125rem;line-height:1.55}.practice-error-action{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.practice-error-detail{opacity:.82;font-weight:400}.practice-topic-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:1rem;display:flex}.practice-field{flex:16rem;gap:.3rem;min-width:0;display:grid}.practice-field label{font-size:.8125rem;font-weight:600}.practice-select{width:100%;min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.45rem .6rem;font-size:.875rem}.practice-select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.practice-unit-list{gap:.5rem;margin-top:1rem;display:grid}.practice-unit{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.practice-unit[open]{border-color:var(--line-strong)}.practice-unit.is-active{border-color:var(--accent)}.practice-unit.is-active[open]{box-shadow:inset 3px 0 0 var(--accent)}.practice-unit-summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem 1rem;min-height:56px;padding:.65rem .8rem;list-style:none;display:flex}.practice-unit-summary::-webkit-details-marker{display:none}.practice-unit-summary-side{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.35rem .65rem;display:flex}.practice-unit-coverage{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.practice-unit-progress{background:var(--surface-subtle);border-radius:999px;flex:1 0 100%;height:4px;overflow:hidden}.practice-unit-progress-fill{background:var(--accent);border-radius:inherit;height:100%;display:block}.practice-unit-chevron{color:var(--ink-muted);transition:transform .12s var(--ease-out);flex:none;place-items:center;display:grid}.practice-unit[open] .practice-unit-chevron{transform:rotate(90deg)}.practice-unit-heading{flex:14rem;gap:.12rem;min-width:0;display:grid}.practice-unit-index{color:var(--ink-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.practice-unit-title{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.35}.practice-unit-meta{color:var(--ink-muted);text-align:left;font-variant-numeric:tabular-nums;flex:none;margin-top:.1rem;font-size:.75rem}.practice-unit-detail{color:var(--ink-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.3rem .55rem;padding:0 .8rem .55rem;font-size:.75rem;display:flex}.practice-unit-small-sample{color:var(--ink-muted);background:var(--surface-subtle);border-radius:999px;padding:.05rem .4rem;font-size:.6875rem}.practice-unit-tests{gap:.55rem;padding:0 .8rem .8rem}.practice-unit-actions{flex-wrap:wrap;align-items:center;gap:.5rem;padding:0 .8rem .75rem;display:flex}.practice-unit-empty{color:var(--ink-muted);padding:0 .8rem .8rem;font-size:.8125rem}.practice-test-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);gap:.45rem;padding:.8rem;display:grid}.practice-test-card.is-active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.practice-test-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.35rem .75rem;display:flex}.practice-test-heading{min-width:0}.practice-test-title{font-size:.9375rem;font-weight:600}.practice-test-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-top:.1rem;font-size:.75rem}.practice-test-result{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem;line-height:1.45}.practice-test-strip{margin-top:.15rem}.practice-test-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.practice-test-map{margin-top:.1rem}.practice-test-map>summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;font-size:.8125rem;font-weight:600;display:inline-flex}.practice-test-map>summary::-webkit-details-marker{display:none}.practice-test-map>summary:after{content:"▾";transition:transform .12s var(--ease-out);margin-left:.35rem;font-size:.6875rem}.practice-test-map[open]>summary:after{transform:rotate(180deg)}.practice-test-map .question-map{margin-top:.15rem}.status-badge--active{color:var(--accent);background:var(--accent-soft)}.status-badge--complete{color:var(--success);background:var(--success-soft)}.practice-format-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:1rem;padding-top:.75rem;display:grid}.practice-format-list>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem 1rem;padding:.55rem 0;display:flex}.practice-format-list>div:nth-child(odd){padding-right:1rem}.practice-format-list>div:nth-child(2n){border-left:1px solid var(--line);padding-left:1rem}.practice-format-list dt{color:var(--ink-secondary);font-size:.8125rem}.practice-format-list dd{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.practice-exam-view .exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding:0;list-style:none;display:grid}.practice-exam-view .exam-grid>li{min-width:0}.exam-card{height:100%}.exam-card .practice-test-actions{margin-top:.1rem}.exam-card-attempt{color:var(--ink-muted)}.exam-card-attempt-note{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:.75rem}.exam-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1rem 0 .75rem;display:grid}.exam-overview-item{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .65rem}.exam-overview-item dt{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.exam-overview-item dd{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:.9375rem;font-weight:600}.exam-overview-empty{margin-top:.85rem}@media (max-width:720px){.practice-exam-view .exam-grid{grid-template-columns:minmax(0,1fr)}.exam-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:380px){.exam-overview{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.practice-modes{grid-template-columns:minmax(0,1fr)}.practice-mode-card--featured{grid-column:auto}.practice-format-list{grid-template-columns:minmax(0,1fr)}.practice-format-list>div:nth-child(odd),.practice-format-list>div:nth-child(2n){border-left:0;padding-left:0;padding-right:0}}@media (max-width:600px){.practice-mode-card{padding:1rem}.practice-section{border-radius:var(--radius-md);padding:1rem}.practice-topic-form .button{flex:auto}.practice-unit-summary{align-items:flex-start}.practice-unit-summary-side{justify-content:flex-start;width:100%}.practice-unit-meta{text-align:left}.practice-test-actions .button,.practice-unit-actions .button{flex:auto}}@media (max-width:380px){.practice-mode-card{padding:.9rem}.practice-mode-body h2{font-size:1.0625rem}.practice-unit-summary{padding-inline:.7rem}}
