:root{--ink:var(--c-ink);--muted:var(--c-muted);--navy:var(--c-navy);--navy-2:var(--c-navy);--paper:var(--c-page);--card:var(--c-surface);--line:var(--c-line);--teal:var(--c-teal);--red:var(--c-red);--amber:var(--c-amber);--blue:var(--c-blue);--violet:var(--c-violet);--soft-sage:var(--c-sage);--soft-mint:var(--c-mint);--soft-peach:var(--c-rose-soft);--shadow-sm:0 2px 10px #1f3d320d;--shadow-md:0 12px 34px #1f3d3214;--shadow-lg:0 22px 55px #19382e24}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}button,input,select,textarea{font-family:var(--font-body)}button{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--c-tan);outline-offset:3px}::selection{background:var(--c-mint);color:var(--c-ink)}mark.key-fact{border-radius:var(--radius-xs);background:var(--c-amber-soft);color:var(--c-warm-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;margin:0 -.06em;padding:0 .18em;font-weight:700}.app-shell{grid-template-columns:276px minmax(0,1fr)}.sidebar{background:var(--c-navy);padding:var(--space-7) var(--space-6) var(--space-6);border-right:1px solid #ffffff12;box-shadow:10px 0 32px #1a3b3114}.brand-lockup{gap:var(--space-4);margin-bottom:var(--space-7);grid-template-columns:48px 1fr}.brand-mark{border-radius:var(--radius-lg);background:var(--c-peach-strong);width:48px;height:48px;color:var(--c-warm-ink);font:700 var(--text-xl)/1.25 var(--font-display);box-shadow:inset 0 0 0 1px #ffffff85,0 7px 16px #0a241d33}.brand-lockup h1{font:650 var(--text-2xl)/1.1 var(--font-display);letter-spacing:-.025em}.eyebrow{margin-bottom:var(--space-2);color:var(--c-muted);font-size:var(--text-2xs);letter-spacing:.12em;font-weight:800}.eyebrow.light{color:var(--c-on-panel)}.nav-section{margin:var(--space-6) var(--space-3) var(--space-2);color:var(--c-on-panel-soft);font-size:var(--text-3xs);letter-spacing:.14em}.sidebar nav{gap:var(--space-1);padding-right:var(--space-1)}.nav-item{min-height:48px;padding:var(--space-3);border-radius:var(--radius-lg);color:var(--c-on-panel-strong);font-size:var(--text-sm);border:1px solid #0000}.nav-label{gap:var(--space-3)}.nav-symbol{width:20px;color:var(--c-on-panel);font-size:var(--text-lg);text-align:center}.nav-item:hover{background:#ffffff13;border-color:#ffffff0f}.nav-item.active{background:var(--c-surface);border-color:var(--c-on-dark);color:var(--c-ink);box-shadow:0 10px 24px #061e1738}.nav-item.active .nav-symbol{color:var(--c-teal)}.nav-item b{background:var(--c-amber-line);min-width:28px;height:24px;color:var(--c-warm-ink);font-size:var(--text-2xs)}.nav-item small{color:var(--c-on-panel-soft);font-size:var(--text-2xs);margin-left:var(--space-2);text-align:right;line-height:1.25}.nav-item.active small{color:var(--c-muted)}.save-state{color:var(--c-on-panel-soft);font-size:var(--text-2xs)}.save-state .save-dot{background:var(--c-spring)}.sidebar nav{gap:2px}.nav-item{min-height:44px;padding:var(--space-2) var(--space-3)}.nav-group-label{margin:var(--space-4) var(--space-3) var(--space-1);color:var(--c-on-panel-soft);font-size:var(--text-3xs);letter-spacing:.14em;font-weight:900}.nav-group-toggle{min-height:40px;margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);color:var(--c-on-panel);font-size:var(--text-xs);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;font-weight:700;display:flex}.nav-group-toggle:hover{color:var(--c-on-dark);background:#ffffff13}.nav-group-chevron{transition:transform .15s}.nav-group-toggle[aria-expanded=true] .nav-group-chevron{transform:rotate(180deg)}.nav-group{gap:2px;display:grid}.nav-group:empty{display:none}.nav-more-label{text-transform:uppercase;display:none}.sidebar-utility{padding-top:var(--space-3);border-top:1px solid #ffffff14;flex-shrink:0;margin-top:auto}.sidebar-utility .nav-item{min-height:40px;font-size:var(--text-xs)}.sidebar-utility+.save-state{margin-top:var(--space-3)}@media (max-width:850px){.nav-group-toggle{display:none}.nav-more-label{display:block}.sidebar{overscroll-behavior:contain;overflow-y:auto}.sidebar nav{flex-shrink:0;min-height:auto;overflow:visible}}@media (min-width:851px) and (max-height:820px){.sidebar{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--c-navy-slate) transparent;overflow-y:auto}.sidebar nav{flex-shrink:0;min-height:auto;overflow:visible}}@media (prefers-reduced-motion:reduce){.nav-group-chevron{transition:none}}.workspace{padding:var(--space-8) clamp(var(--space-7), 4.5vw, var(--space-11)) var(--space-11)}.topbar{margin-bottom:var(--space-7);align-items:center}#page-title:focus{outline:none}.topbar h2{margin-bottom:var(--space-2);color:var(--c-ink);font:650 clamp(var(--text-4xl), 4vw, var(--text-5xl))/1.05 var(--font-display);letter-spacing:-.035em}.topbar .muted{max-width:64ch;color:var(--c-muted);font-size:var(--text-sm)}.search-box{width:min(352px,36vw)}.search-box input{border-color:var(--c-line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--c-surface) 92%, transparent);height:48px;box-shadow:var(--shadow-sm);font-size:var(--text-sm)}.search-box input:focus{border-color:var(--c-spring);box-shadow:0 0 0 4px #488b771a}.search-icon{color:var(--c-muted)}.panel-card,.review-panel,.summary-card,.hours-summary article,.goal-metrics article,.exam-metrics article,.subject-overview,.stage-toolbar,.chapter-card,.empty-state{border-color:var(--line);background:color-mix(in srgb, var(--c-surface) 96%, transparent);box-shadow:var(--shadow-sm)}.panel-card,.review-panel{border-radius:var(--radius-2xl)}.summary-grid{gap:var(--space-4);margin-bottom:var(--space-6)}.summary-card{gap:var(--space-2);min-height:132px;padding:var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border-top-width:0;position:relative;overflow:hidden}.summary-card:after{content:"";opacity:.07;background:currentColor;border-radius:50%;width:92px;height:92px;position:absolute;inset:auto -28px -34px auto}.summary-card.urgent{color:var(--c-red);background:var(--c-rose-soft)}.summary-card.urgent.has-overdue strong{color:var(--c-red)}.summary-card.today{color:var(--c-amber-ink);background:var(--c-surface-raised)}.summary-card.upcoming{color:var(--c-blue);background:var(--c-blue-white)}.summary-card.ready{color:var(--c-teal);background:var(--c-surface-cool)}.summary-card span{color:currentColor;font-size:var(--text-md);font-weight:800}.summary-card strong{color:var(--c-ink);font:650 var(--text-4xl)/1 var(--font-display)}.summary-card small{color:var(--c-muted);font-size:var(--text-sm);line-height:1.4}button.summary-card:hover,button.summary-card.selected{box-shadow:var(--shadow-md);transform:translateY(-3px)}.section-heading{min-height:0;padding:var(--space-5) var(--space-6) var(--space-2);border-color:var(--line)}.section-heading h3,.panel-heading h3,.subject-settings-intro h3,.deck-sidebar-heading h3,.deck-create h3,.card-maker h3,.study-deck-heading h3,.deck-overview h3{color:var(--c-ink);font-family:var(--font-display);letter-spacing:-.02em;font-weight:650}.section-heading h3{font-size:var(--text-3xl);line-height:1.08}.ghost-button,.primary-button,.danger-button,.hours-submit{border-radius:var(--radius-md);min-height:40px;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:800}.ghost-button{border-color:var(--c-line);background:var(--c-surface);color:var(--c-ink)}.ghost-button:hover{border-color:var(--c-on-panel);background:var(--c-sage)}.primary-button,.hours-submit{background:var(--c-teal);color:var(--c-on-accent);box-shadow:0 5px 12px #29706026}.primary-button:hover,.hours-submit:hover{background:var(--c-teal);box-shadow:0 8px 16px #29706033}.primary-button:disabled,.hours-submit:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.review-list{padding:0 var(--space-6)}.review-row{gap:var(--space-4);border-color:var(--c-surface-tint);min-height:88px}.review-copy{gap:var(--space-1)}.review-copy span{color:var(--c-muted);font-size:var(--text-3xs);letter-spacing:.06em;font-weight:800}.review-copy strong{color:var(--c-ink);font-size:var(--text-sm);line-height:1.42}.date-badge{padding:var(--space-2) var(--space-3);font-size:var(--text-3xs)}.status-select{border-radius:var(--radius-md);height:40px;font-size:var(--text-2xs)}.status-not-started{background:var(--c-surface-tint);color:var(--c-ink-soft)}.status-learning{background:var(--c-amber-soft);color:var(--c-amber-ink)}.status-practising{background:var(--c-blue-white);color:var(--c-jade)}.status-covered{background:var(--c-violet-soft);color:var(--c-violet)}.status-exam-ready{background:var(--c-mint);color:var(--c-teal)}.queue-groups{background:var(--c-sage)}.queue-group{border-bottom-color:var(--c-surface-tint)}.queue-group-heading{background:var(--c-page);border-color:var(--line);min-height:64px}.queue-group-heading strong{font-size:var(--text-sm)}.queue-group-heading small{color:var(--c-muted);font-size:var(--text-3xs)}.queue-group-heading b{background:var(--c-surface-tint);color:var(--c-ink-soft)}.review-row.is-selected,.study-topic-group.selected{background:var(--c-surface-cool)}.review-check,.queue-group-heading input{border-color:var(--c-slate);border-radius:var(--radius-sm);width:20px;height:20px}.review-check:checked,.queue-group-heading input:checked{background:var(--c-teal);border-color:var(--c-teal)}.hours-glance{padding:var(--space-4) var(--space-5);border-color:var(--c-line);border-radius:var(--radius-xl);background:var(--c-surface-cool)}.hours-glance-mark{background:var(--c-mint);color:var(--c-teal)}.hours-glance strong{font-size:var(--text-md)}.hours-glance span{font-size:var(--text-xs)}.hours-glance button{border:1px solid var(--c-line);border-radius:var(--radius-md);background:var(--c-surface);min-height:40px;color:var(--c-teal-deep);font-size:var(--text-xs)}.hours-glance button:hover{border-color:var(--c-teal);background:var(--c-sage)}.review-pace,.language-card,.account-type-card,.account-card{gap:var(--space-5);padding:var(--space-6);display:grid}.review-pace .panel-heading p:last-child,.language-card .panel-heading p:last-child,.account-type-card .panel-heading p:last-child,.account-card .panel-heading p:last-child{margin:var(--space-2) 0 0;color:var(--c-ink-soft);font-size:var(--text-sm);max-width:68ch;line-height:1.6}.pace-days{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.pace-days label{align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--c-line);border-radius:var(--radius-md);background:var(--c-surface-sunken);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.pace-days label>span{gap:var(--space-1);min-width:0;font-size:var(--text-3xs);color:var(--c-ink);font-weight:900;display:grid}.pace-days label>span small{color:var(--c-muted);font-weight:700;line-height:1.35}.pace-days input{border:1px solid var(--c-line);border-radius:var(--radius-sm);background:var(--c-page);width:58px;height:40px;color:var(--ink);padding:0 var(--space-1);font-size:var(--text-sm);text-align:center;font-weight:800}.pace-days b{font-size:var(--text-3xs);color:var(--c-muted);font-weight:800}.pace-actions{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.pace-actions p{color:var(--c-muted);font-size:var(--text-3xs);max-width:76ch;margin:0;line-height:1.6}.pace-actions .primary-button{flex:none}@media (max-width:760px){.pace-days{grid-template-columns:1fr 1fr}.pace-actions{display:grid}}.studied-today{margin-top:var(--space-5)}.studied-today .section-heading{background:var(--c-mint)}.studied-today .eyebrow{color:var(--c-teal)}input,select,textarea{color:var(--ink)}.hours-form input,.hours-form select,.goal-form input,.goal-form select,.deck-create input,.deck-create select,.card-maker textarea,.subject-composer input,.subject-composer select,.paper-form input,.paper-form select,.paper-form textarea,.paper-attempt-form input,.paper-attempt-form select,.paper-attempt-form textarea{border-color:var(--c-line);background:var(--c-page);border-radius:var(--radius-md);font-size:var(--text-sm)}.tasks-page,.hours-page,.goals-page,.flashcards-page,.notes-page,.calendar-page,.papers-page,.subjects-page,.history-page,.guide-page,.exam-planner{gap:var(--space-5);align-content:start;min-width:0}.tasks-page>*,.hours-page>*,.goals-page>*,.flashcards-page>*,.notes-page>*,.calendar-page>*,.papers-page>*,.subjects-page>*,.history-page>*,.guide-page>*,.exam-planner>*{min-width:0}.tasks-page p,.hours-page p,.goals-page p,.flashcards-page p,.notes-page p,.calendar-page p,.papers-page p,.subjects-page p,.history-page p,.guide-page p,.exam-planner p{line-height:1.55}.panel-card h3,.review-panel h3,.task-board h3,.notes-library h3,.paper-database h3,.card-library h3,.goal-timeline h3{color:var(--c-ink);font-family:var(--font-display);letter-spacing:-.02em}.task-composer label>span,.task-edit-row label>span,.hours-form label>span,.goal-form label>span,.deck-create label>span,.card-maker label>span,.note-label-fields label>span,.paper-form label>span,.paper-attempt-form label>span,.subject-composer label>span{color:var(--c-muted);font-size:var(--text-3xs);letter-spacing:.08em;font-weight:900}.empty-state{padding:var(--space-7) var(--space-6);color:var(--c-muted);font-size:var(--text-sm)}.section-heading+.empty-state:not(.compact){margin:var(--space-4) var(--space-6) var(--space-6)}.task-composer{border-radius:var(--radius-2xl)}.task-composer-copy{padding:var(--space-7);background:var(--c-navy)}.task-composer-copy h3{margin:var(--space-1) 0 var(--space-3);color:var(--c-on-dark);font:650 var(--text-3xl)/1.1 var(--font-display)}.task-composer-copy>p:last-child{color:var(--c-on-panel);font-size:var(--text-sm);line-height:1.65}.task-composer form{padding:var(--space-6);gap:var(--space-3)}.task-composer input,.task-composer select,.task-edit-row input,.task-edit-row select,.task-filters select{border-radius:var(--radius-md);background:var(--c-page);height:44px;font-size:var(--text-xs)}.task-composer .primary-button{height:44px}.task-summary{gap:var(--space-4)}.task-summary article,.hours-summary article,.paper-summary article,.goal-metrics article,.exam-metrics article{border:1px solid var(--line);border-radius:var(--radius-xl);min-height:104px;padding:var(--space-5);background:var(--c-page);box-shadow:var(--shadow-sm);border-top:0}.task-summary article:nth-child(2),.hours-summary article:nth-child(2),.paper-summary article:nth-child(2){background:var(--c-rose-soft)}.task-summary article:nth-child(3),.hours-summary article:nth-child(3),.paper-summary article:nth-child(3){background:var(--c-violet-soft)}.task-summary article:nth-child(4),.hours-summary article:nth-child(4),.paper-summary article:nth-child(4){background:var(--c-sage)}.hours-summary article:nth-child(5){background:var(--c-blue-white)}.task-summary span,.hours-summary span,.paper-summary span,.goal-metrics span,.exam-metrics span{color:var(--c-muted);font-size:var(--text-2xs);letter-spacing:.025em}.task-summary strong,.hours-summary strong,.paper-summary strong,.goal-metrics strong,.exam-metrics strong{color:var(--c-ink);font:650 var(--text-3xl)/1 var(--font-display)}.task-summary small,.hours-summary small,.paper-summary small,.goal-metrics small,.exam-metrics small{color:var(--c-brown-soft);font-size:var(--text-3xs)}.task-board{border-radius:var(--radius-2xl)}.task-filters>div{background:var(--c-surface-tint);border-radius:var(--radius-md)}.task-filters button{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--c-muted);font-size:var(--text-3xs)}.task-filters button.active{color:var(--c-ink);box-shadow:var(--shadow-sm)}.task-list{padding:0 var(--space-6)}.task-row{border-color:var(--c-surface-tint);grid-template-columns:32px 8px minmax(180px,1fr) 80px 96px 76px;min-height:80px}.task-check{border-color:var(--c-blue-line);border-radius:var(--radius-sm);width:28px;height:28px}.task-copy strong{color:var(--c-ink);font-size:var(--text-sm)}.task-copy span{color:var(--c-muted);font-size:var(--text-3xs)}.priority-badge{padding:var(--space-2);font-size:var(--text-3xs)}.priority-badge.low{background:var(--c-surface-tint);color:var(--c-ink-soft)}.priority-badge.medium{background:var(--c-amber-soft);color:var(--c-amber-ink)}.priority-badge.high{background:var(--c-red-soft);color:var(--c-rose)}.task-row-actions button,.task-edit-row>div button:not(.primary-button){color:var(--c-muted);font-size:var(--text-3xs)}.task-row.task-edit-row{align-items:end;gap:var(--space-3);min-height:0;padding:var(--space-4) 0;grid-template-columns:minmax(200px,2fr) minmax(150px,1fr) 160px 128px}.task-row.task-edit-row>input:first-child{grid-column:auto}.task-row.task-edit-row>.task-edit-labels,.task-row.task-edit-row>div:last-child{grid-column:1/-1}.task-row.task-edit-row>div:last-child{justify-content:flex-end}.task-row.task-edit-row>:nth-child(5),.task-row.task-edit-row>:nth-child(6){display:flex}@media (max-width:900px){.task-row.task-edit-row{grid-template-columns:1fr 1fr}.task-row.task-edit-row>input:first-child{grid-column:1/-1}}@media (max-width:560px){.task-row.task-edit-row{grid-template-columns:1fr}}.due-task-panel article{border-color:var(--c-surface-tint);min-height:68px}.due-task-panel article strong{font-size:var(--text-sm)}.due-task-panel article small{font-size:var(--text-3xs)}.hours-summary{gap:var(--space-4)}.hours-layout{gap:var(--space-5)}.hours-form,.hours-chart{padding:var(--space-6);border-radius:var(--radius-2xl)}.hours-form{gap:var(--space-3)}.hours-form input,.hours-form select{min-height:44px}.study-timer{border-radius:var(--radius-xl);border-color:var(--c-surface-tint);padding:var(--space-4)}.study-timer-face strong{font:650 var(--text-3xl)/1 var(--font-display)}.study-timer-actions button{border-radius:var(--radius-md);min-height:40px}.study-timer-actions .study-timer-toggle{background:var(--c-teal);color:var(--c-on-accent);box-shadow:0 5px 12px #29706026}.study-timer-actions .study-timer-toggle:hover{box-shadow:0 8px 16px #29706033}.study-timer-actions .study-timer-log{border-color:var(--c-teal);background:var(--c-surface)}.study-timer-actions .study-timer-log:hover:not(:disabled){background:var(--c-sage)}.hours-chart h3,.hours-form h3{font:650 var(--text-2xl)/1.15 var(--font-display)}.bar-chart{gap:var(--space-3);min-height:232px}.bar-chart b{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-xs);background:var(--c-jade);box-shadow:inset 0 1px #ffffff4d}.bar-chart article:nth-child(2n) b{background:var(--c-amber)}.bar-chart article:nth-child(3n) b{background:var(--c-blue)}.bar-chart span{color:var(--c-muted);font-size:var(--text-3xs)}.session-list{padding:0 var(--space-6)}.session-row{border-color:var(--c-surface-tint);min-height:72px}.session-row strong{font-size:var(--text-sm)}.session-row span,.session-row small{color:var(--c-muted);font-size:var(--text-3xs)}.study-topic-group{border-color:var(--c-line);border-radius:var(--radius-lg);background:var(--c-page)}.study-topic-group:hover{border-color:var(--c-on-panel);background:var(--c-sage)}.goal-switcher{border-radius:var(--radius-xl);background:var(--c-sage);padding:var(--space-1)}.goal-switcher button{border-radius:var(--radius-md);min-height:40px;color:var(--c-ink-soft);font-size:var(--text-2xs)}.goal-switcher button.active{background:var(--c-surface);color:var(--c-ink);box-shadow:var(--shadow-sm)}.goal-setup,.goal-hero{border-radius:var(--radius-2xl);overflow:hidden}.goal-setup-copy,.goal-hero-copy{background:var(--c-navy)}.goal-hero{background:var(--c-navy);box-shadow:0 14px 34px #1a453a29}.goal-hero-copy{background:0 0}.goal-setup-copy{padding:var(--space-7)}.goal-setup-copy h3,.goal-hero-copy h3{color:var(--c-on-dark);font:650 var(--text-3xl)/1.08 var(--font-display)}.goal-setup-copy p,.goal-hero-copy p{color:var(--c-on-panel);font-size:var(--text-sm)}.goal-form{padding:var(--space-7);gap:var(--space-3)}.goal-form input,.goal-form select{min-height:44px}.goal-ring{background:conic-gradient(var(--c-mint-strong) var(--progress), #ffffff2e 0);box-shadow:none}.goal-ring:before{background:var(--c-navy)}.goal-ring>div{color:var(--c-on-dark);background:0 0}.goal-ring strong{color:var(--c-on-dark)}.goal-ring span{color:var(--c-on-panel)}.goal-hero-copy .goal-plan-tags span{color:var(--c-on-panel);border-color:#bcdcd059}.goal-hero-copy button{color:var(--c-on-panel);border-color:#bcdcd066}.goal-next{min-height:120px;padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);align-content:center;gap:var(--space-2);background:#ffffff13;border:1px solid #cde5dc40;box-shadow:inset 0 1px #ffffff0f}.goal-next .eyebrow{color:var(--c-on-panel)}.goal-next strong{color:var(--c-on-dark);font-size:var(--text-md)}.goal-next>span{color:var(--c-on-panel);font-size:var(--text-xs)}.goal-metrics,.exam-metrics{gap:var(--space-5)}.time-budget{border:1px solid var(--line);border-radius:var(--radius-2xl);padding:var(--space-6);background:var(--c-page);box-shadow:var(--shadow-sm);border-left:0}.time-budget.tight{background:var(--c-rose-soft)}.time-budget.workable{background:var(--c-sage)}.time-budget.roomy{background:var(--c-violet-soft)}.time-budget-figure strong{color:var(--c-ink);font:650 var(--text-4xl)/1 var(--font-display)}.time-budget-figure span,.time-budget-split small,.time-budget-note{color:var(--c-brown-soft)}.time-budget-split div{border-left-color:var(--c-line)}.time-budget-split b{color:var(--c-ink);font-size:var(--text-md)}.goal-timeline{border-radius:var(--radius-2xl)}.timeline-list{padding:var(--space-1) var(--space-6) var(--space-6)}.timeline-item{min-height:80px}.timeline-marker{box-shadow:none;background:0 0;border-color:#0000}.timeline-marker:after{background:var(--c-line)}.timeline-marker i{background:var(--c-sage);border-color:var(--c-on-panel);color:var(--c-ink-soft)}.timeline-copy strong{font-size:var(--text-sm)}.timeline-copy span,.timeline-date{color:var(--c-muted);font-size:var(--text-3xs)}.flashcards-page{grid-template-columns:264px minmax(0,1fr)}.deck-sidebar{border-radius:var(--radius-2xl);top:28px}.deck-sidebar-heading{padding:var(--space-6) var(--space-5) var(--space-4)}.deck-sidebar-heading h3{font:650 var(--text-2xl)/1 var(--font-display)}.deck-sidebar-heading button{border-radius:var(--radius-md);background:var(--c-teal);width:40px;height:40px}.deck-list{padding:var(--space-3);gap:var(--space-2)}.deck-list>button{border-radius:var(--radius-md);min-height:64px;padding:var(--space-3)}.deck-list>button:hover{background:var(--c-page)}.deck-list>button.active{background:var(--c-mint);color:var(--c-ink)}.deck-list>button strong{font-size:var(--text-sm)}.deck-list>button small{font-size:var(--text-3xs)}.deck-list>button b{background:var(--c-surface-tint);color:var(--c-ink-soft)}.deck-create,.card-maker,.card-library,.deck-overview,.study-deck{border-radius:var(--radius-2xl)}.deck-overview{padding:var(--space-6)}.deck-overview h3{font:650 var(--text-3xl)/1.1 var(--font-display)}.deck-tools{gap:var(--space-2)}.card-maker{padding:var(--space-6);gap:var(--space-3)}.card-maker textarea{min-height:112px;line-height:1.55}.card-list{padding:0 var(--space-6)}.card-list article{border-color:var(--c-surface-tint);min-height:76px}.card-list strong{font-size:var(--text-sm)}.card-list p{color:var(--c-muted);font-size:var(--text-xs)}.flashcard-stage{border-radius:var(--radius-2xl);background:var(--c-navy);min-height:328px;box-shadow:var(--shadow-lg)}.flashcard-stage h3{color:var(--c-on-dark);font:650 var(--text-3xl)/1.25 var(--font-display)}.flashcard-stage p{color:var(--c-on-panel);font-size:var(--text-md)}.flashcard-stage strong{max-width:780px;color:var(--c-on-dark);font:650 clamp(var(--text-xl), 2.7vw, var(--text-3xl))/1.38 var(--font-display);overflow-wrap:anywhere}.reveal-answer{border-radius:var(--radius-md);background:var(--c-surface);min-height:48px;color:var(--c-teal)}.study-rating button{border-radius:var(--radius-md);min-height:48px}.study-progress{color:var(--c-muted);font-size:var(--text-2xs)}.deck-list>button .due-badge{background:var(--c-rose-soft);color:var(--c-amber-ink)}.deck-list>button.active .due-badge{background:var(--c-peach-strong);color:var(--c-amber-ink)}.deck-overview{gap:var(--space-4);display:grid}.deck-overview-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;display:flex}.deck-overview-head>div:first-child{min-width:0}.deck-overview .deck-file-actions{flex-wrap:wrap;justify-content:flex-end}.deck-overview .deck-file-actions .ghost-button{min-height:40px;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.mastery-meter{border-radius:var(--radius-xl);background:var(--c-surface-tint);gap:var(--space-1);height:12px;display:flex;overflow:hidden}.mastery-meter i{height:100%;display:block}.mastery-legend{gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.mastery-legend button{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);min-height:28px;padding:0 var(--space-2);font:inherit;font-size:var(--text-3xs);color:var(--c-muted);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:850;display:inline-flex}.mastery-legend button:hover{border-color:var(--line);color:var(--c-ink)}.mastery-legend button.active{border-color:var(--c-teal-deep);background:var(--c-mint);color:var(--c-teal-deep)}.mastery-legend i{border-radius:var(--radius-xs);width:8px;height:8px}.mastery-ladder{max-width:68ch;line-height:1.5;color:var(--c-muted)!important;font-size:var(--text-3xs)!important;margin:0!important}.seg-new{background:var(--c-grey-line)}.seg-struggling{background:var(--c-red)}.seg-learning{background:var(--c-amber)}.seg-familiar{background:var(--c-teal-soft)}.seg-mastered{background:var(--teal)}.study-launch{padding:var(--space-6);gap:var(--space-4);display:grid}.study-launch-copy h3{font:650 var(--text-2xl)/1.15 var(--font-display);margin:var(--space-1) 0}.study-launch-copy p:last-child{color:var(--muted);font-size:var(--text-xs);margin:0}.study-setup{gap:var(--space-3);display:grid}.scope-tabs{gap:var(--space-1);background:var(--c-surface-tint);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-1);grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,560px);display:grid}.scope-tabs.status-tabs{grid-template-columns:repeat(5,minmax(0,1fr));width:min(100%,680px)}.scope-tabs button{border-radius:var(--radius-sm);min-height:40px;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--c-ink-soft);justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;background:0 0;border:0;font-weight:850;display:inline-flex}.scope-tabs button b{font-size:var(--text-3xs);background:var(--c-surface-tint);color:var(--c-ink-soft);border-radius:var(--radius-xl);padding:var(--space-1) var(--space-2);text-align:center;min-width:20px}.scope-tabs button.active{background:var(--c-surface-raised);color:var(--c-ink);box-shadow:0 2px 8px #19382e17}.scope-tabs button.active b{background:var(--c-mint);color:var(--c-teal-deep)}.study-setup-row{align-items:end;gap:var(--space-4);flex-wrap:wrap;display:flex}.setup-select{gap:var(--space-2);display:grid}.setup-select>span{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:900}.setup-select select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-sunken);height:40px;color:var(--ink);padding:0 var(--space-3);font-size:var(--text-xs)}.setup-check{align-items:center;gap:var(--space-2);font-size:var(--text-2xs);color:var(--c-ink-soft);font-weight:800;display:inline-flex}.setup-check input{accent-color:var(--teal);width:16px;height:16px}.study-start{min-width:132px;min-height:44px;font-size:var(--text-sm);margin-left:auto}.card-maker label>span{justify-content:space-between;align-items:center;display:flex}.card-maker>div>p:last-child{font-size:var(--text-2xs);line-height:1.5}.swap-sides{min-height:32px;color:var(--teal);padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border:0;font-weight:900}.mastery-tag.m-new{background:var(--c-surface-tint);color:var(--c-muted)}.mastery-tag.m-struggling{background:var(--c-red-soft);color:var(--c-red-ink)}.mastery-tag.m-learning{background:var(--c-amber-soft);color:var(--c-amber-ink)}.mastery-tag.m-familiar{background:var(--c-teal-soft);color:var(--c-teal-ink)}.mastery-tag.m-mastered{background:var(--c-mint);color:var(--c-teal-deep)}.card-list .card-standing{gap:var(--space-1);justify-items:start;display:grid}.card-list .card-standing .mastery-tag{font-size:var(--text-3xs);border-radius:var(--radius-xl);padding:var(--space-1) var(--space-2);text-align:center;white-space:nowrap;display:inline-block}.card-list .card-lapses{color:var(--c-red-ink);letter-spacing:0;font-weight:850}@media (min-width:761px){.card-list article{grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) auto auto}}@media (max-width:760px){.card-list article>.card-standing{grid-column:1}}.star-toggle{border-radius:var(--radius-pill);min-width:36px;min-height:36px;color:var(--c-muted);font-size:var(--text-lg);cursor:pointer;background:0 0;border:1px solid #0000;line-height:1}.star-toggle:hover{border-color:var(--line);color:var(--c-ink)}.star-toggle.starred{color:var(--c-amber)}.star-toggle:disabled{opacity:.6;cursor:wait}.card-list .card-row-actions .star-toggle{font-size:var(--text-lg)}.study-deck-heading{gap:var(--space-2) var(--space-4);flex-wrap:wrap}.study-deck-standing{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.study-deck-standing>span{white-space:nowrap}.study-deck-standing .star-toggle{color:var(--c-muted)}.study-deck-standing .star-toggle.starred{color:var(--c-amber)}.study-deck-standing .mastery-tag{font-size:var(--text-3xs);border-radius:var(--radius-xl);padding:var(--space-1) var(--space-2);font-weight:900;display:inline-block}.study-rating{gap:var(--space-3)}.study-rating button{gap:var(--space-1);height:auto;min-height:72px;padding:var(--space-3);font-size:var(--text-sm);place-items:center;display:grid}.study-rating button b{font-size:var(--text-3xs);color:var(--c-slate);border:1px solid var(--c-grey-line);border-radius:var(--radius-sm);place-items:center;width:16px;height:16px;font-weight:900;display:grid}.study-rating button small{font-size:var(--text-3xs);color:var(--muted);font-weight:800}.study-rating button:first-child b{color:var(--c-red);border-color:var(--c-red-line)}.study-rating button:last-child b{color:var(--c-teal-deep);border-color:var(--c-on-panel)}.study-footer{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.study-nav{border:1px solid var(--line);background:var(--c-surface-raised);border-radius:var(--radius-md);min-height:40px;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--c-ink-soft);font-weight:850}.study-nav:disabled{opacity:.4}.study-hint{font-size:var(--text-3xs);color:var(--muted);text-align:center;flex:1;min-width:160px}.study-summary{padding:var(--space-7);justify-items:center;gap:var(--space-2);text-align:center;display:grid}.study-summary .summary-badge{background:var(--c-mint);width:56px;height:56px;color:var(--c-teal);font-size:var(--text-2xl);margin-bottom:var(--space-1);border-radius:50%;place-items:center;font-weight:900;display:grid}.study-summary h3{font:650 var(--text-3xl)/1.1 var(--font-display);margin:0}.study-summary>p{color:var(--muted);font-size:var(--text-sm);margin:0}.summary-breakdown{gap:var(--space-3);width:100%;max-width:420px;margin:var(--space-3) 0 var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.summary-breakdown article{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3);gap:var(--space-1);display:grid}.summary-breakdown strong{font:650 var(--text-3xl)/1 var(--font-display)}.summary-breakdown span{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}.summary-breakdown .again strong{color:var(--c-red)}.summary-breakdown .good strong{color:var(--c-amber)}.summary-breakdown .easy strong{color:var(--c-teal-deep)}.summary-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.summary-actions .primary-button,.summary-actions .ghost-button{min-height:44px;padding:0 var(--space-5)}.notes-page{grid-template-columns:minmax(312px,380px) minmax(0,1fr)}.note-upload,.notes-library{border-radius:var(--radius-2xl)}.note-upload{padding:var(--space-6)}.note-upload h3{font:650 var(--text-2xl)/1.1 var(--font-display)}.note-upload p{color:var(--c-muted);font-size:var(--text-sm)}.note-label-fields input,.note-label-fields select{border-radius:var(--radius-md);background:var(--c-page);min-height:44px}.note-grid{gap:var(--space-4);padding:var(--space-6)}.note-grid article{border-color:var(--c-line);border-radius:var(--radius-lg);background:var(--c-page);min-height:152px;box-shadow:var(--shadow-sm)}.note-grid article:hover{border-color:var(--c-on-panel);box-shadow:var(--shadow-md);transform:translateY(-2px)}.note-file-icon{background:var(--c-mint);color:var(--c-teal);border-radius:var(--radius-md)}.note-file-copy strong{color:var(--c-ink);font-size:var(--text-sm)}.note-file-copy span,.note-file-copy small{color:var(--c-muted);font-size:var(--text-3xs)}.calendar-page{grid-template-columns:minmax(0,1fr) 312px}.calendar-panel,.calendar-agenda{border-radius:var(--radius-2xl)}.calendar-toolbar{min-height:80px;padding:var(--space-5) var(--space-6)}.calendar-toolbar h3{font:650 var(--text-2xl)/1 var(--font-display)}.calendar-toolbar button{border-color:var(--c-line);border-radius:var(--radius-md);background:var(--c-page);width:40px;height:40px;color:var(--c-ink)}.calendar-legend{padding:var(--space-3) var(--space-6);background:var(--c-page)}.calendar-legend .calendar-filter{border-radius:var(--radius-pill);font-size:var(--text-3xs)}.calendar-legend .calendar-today,.calendar-legend .calendar-show-all{border-radius:var(--radius-md)}.calendar-weekdays{background:var(--c-sage)}.calendar-weekdays span{color:var(--c-ink-soft);font-size:var(--text-3xs);letter-spacing:.08em}.calendar-grid{background:var(--c-line);gap:var(--space-1)}.calendar-grid>button{background:var(--c-surface);min-height:120px;padding:var(--space-3)}.calendar-grid>button:hover{background:var(--c-page)}.calendar-grid>button.today{background:var(--c-surface-cool);box-shadow:inset 0 0 0 2px var(--c-spring)}.calendar-grid>button>b{color:var(--c-ink);font-size:var(--text-xs)}.calendar-grid>button.today>b{background:var(--c-teal);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.calendar-grid>button span{border-radius:var(--radius-sm);font-size:var(--text-3xs)}.agenda-list{padding:var(--space-2) var(--space-5) var(--space-6)}.agenda-list article{border-color:var(--c-surface-tint);min-height:64px}.agenda-list strong{font-size:var(--text-sm)}.agenda-list span,.agenda-list small{color:var(--c-muted);font-size:var(--text-3xs)}.agenda-empty{padding:var(--space-7) var(--space-5);color:var(--c-muted);font-size:var(--text-xs)}.paper-summary,.paper-splits{gap:var(--space-4)}.paper-composer,.paper-analytics,.paper-database,.paper-detail{border-radius:var(--radius-2xl)}.paper-composer{overflow:hidden}.paper-form{padding:var(--space-6);gap:var(--space-3)}.paper-form input,.paper-form select,.paper-form textarea{min-height:44px}.paper-analytics{padding:var(--space-6)}.paper-analytics h3{font:650 var(--text-2xl)/1.1 var(--font-display)}.paper-chart{min-height:232px}.paper-chart b{background:var(--c-jade);border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-xs)}.paper-splits article{border-color:var(--c-line);border-radius:var(--radius-lg);background:var(--c-page)}.paper-db-heading{padding:var(--space-6)}.paper-db-heading h3{font:650 var(--text-2xl)/1 var(--font-display)}.paper-filters{padding:var(--space-4) var(--space-6);background:var(--c-page)}.paper-filters input,.paper-filters select{border-radius:var(--radius-md);background:var(--c-surface);min-height:40px;font-size:var(--text-2xs)}.paper-table thead{background:var(--c-sage)}.paper-table th{color:var(--c-ink-soft);font-size:var(--text-3xs);letter-spacing:.08em}.paper-table td{padding-top:var(--space-4);padding-bottom:var(--space-4);border-color:var(--c-surface-tint);font-size:var(--text-xs)}.paper-table tbody tr:hover{background:var(--c-sage)}.paper-name-button{color:var(--c-ink);font-size:var(--text-sm)}.stage-tag,.difficulty-badge,.paper-chip{border-radius:var(--radius-pill);font-size:var(--text-3xs)}.paper-attempt-form{padding:var(--space-6);gap:var(--space-3)}.paper-attempt-history{padding:0 var(--space-6) var(--space-6)}.paper-row{border-color:var(--c-surface-tint);min-height:72px}.paper-score{color:var(--c-teal);font:650 var(--text-2xl)/1 var(--font-display)}.subject-settings-intro,.subject-composer,.subject-list,.subject-import{border-radius:var(--radius-2xl)}.subject-settings-intro{padding:var(--space-6);background:var(--c-surface-cool)}.subject-settings-intro h3{font:650 var(--text-2xl)/1.1 var(--font-display)}.subject-settings-intro p{color:var(--c-muted);font-size:var(--text-sm)}.subject-composer{padding:var(--space-6);gap:var(--space-4)}.subject-composer input,.subject-composer select{min-height:44px}.subject-pick{border-radius:var(--radius-md);background:var(--c-page);min-height:48px}.subject-pick.active{border-color:var(--c-spring);background:var(--c-sage);box-shadow:0 0 0 3px #488b7714}.subject-stage-presets button,.subject-import-mode button{border-radius:var(--radius-md);min-height:40px}.subject-stage-presets button.active,.subject-import-mode button.active{background:var(--c-teal);color:var(--c-on-accent)}.subject-list{overflow:hidden}.subject-row{border-color:var(--c-surface-tint);min-height:80px;padding-left:var(--space-6);padding-right:var(--space-6)}.subject-row:hover{background:var(--c-page)}.subject-row-copy strong{color:var(--c-ink);font-size:var(--text-sm)}.subject-row-copy span,.subject-row-copy small{color:var(--c-muted);font-size:var(--text-3xs)}.subject-import{padding:var(--space-6)}.subject-import h3{font:650 var(--text-2xl)/1.1 var(--font-display)}.subject-create-import{margin-top:var(--space-2);border-color:var(--c-on-panel);background:var(--c-sage)}.subject-create-import .subject-import-head strong{color:var(--c-ink);font-size:var(--text-md)}.official-chapters{border-color:var(--c-line);border-radius:var(--radius-lg);background:var(--c-page)}.stage-toolbar{padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl)}.stage-toolbar strong{color:var(--c-ink);font-size:var(--text-sm)}.stage-switch{padding:var(--space-1);border-radius:var(--radius-md);background:var(--c-surface-tint)}.stage-switch button{border-radius:var(--radius-sm);min-height:36px;color:var(--c-muted);font-size:var(--text-3xs)}.stage-switch button.active{background:var(--c-surface);color:var(--c-ink);box-shadow:var(--shadow-sm)}.subject-overview{gap:var(--space-7);padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);grid-template-columns:repeat(4,auto) minmax(220px,1fr)}.subject-overview strong{color:var(--c-ink);font:650 var(--text-2xl)/1 var(--font-display)}.subject-overview small{color:var(--c-muted);font-size:var(--text-3xs)}.subject-progress{gap:var(--space-2);background:0 0;border-radius:0;height:auto;display:grid}.subject-progress>span{justify-content:flex-end;gap:var(--space-2);color:var(--c-muted);font-size:var(--text-2xs);background:0 0;display:flex}.subject-progress .progress-bar{border-radius:var(--radius-pill);background:var(--c-surface-tint);height:8px}.subject-progress .progress-band.exam-ready{background:var(--c-teal)}.subject-progress .progress-band.covered{background:var(--c-spring)}.subject-progress .progress-band.practising{background:var(--c-blue-line)}.subject-progress .progress-band.learning{background:var(--c-amber-line)}.chapter-card{margin-bottom:var(--space-4);border-radius:var(--radius-xl);overflow:hidden}.chapter-header{gap:var(--space-5);min-height:92px;padding:var(--space-4) var(--space-6);background:var(--c-surface);grid-template-columns:minmax(300px,1fr) minmax(0,auto) 108px 164px}.chapter-stats{flex-wrap:wrap;justify-content:flex-end;min-width:0}.chapter-header:hover{background:var(--c-page)}.chapter-toggle{gap:var(--space-3);width:auto;min-width:0;height:100%;color:var(--c-teal);background:0 0;border:0;border-radius:0;grid-template-columns:36px 56px minmax(0,1fr);padding:0}.chapter-toggle:hover{background:0 0}.chevron{border:1px solid var(--c-line);border-radius:var(--radius-md);background:var(--c-page);width:32px;height:32px;color:var(--c-ink-soft);font-size:var(--text-2xl);place-items:center;display:grid}.chapter-code{color:var(--c-ink-soft);font-size:var(--text-sm)}.chapter-title{gap:var(--space-1);min-width:0}.chapter-title small{color:var(--c-jade);font-size:var(--text-3xs);line-height:1.35}.chapter-title strong{color:var(--c-ink);font:650 var(--text-lg)/1.2 var(--font-display)}.chapter-stats{gap:var(--space-2)}.chapter-stats span{border-radius:var(--radius-pill);padding:var(--space-2);background:var(--c-sage);color:var(--c-ink-soft);font-size:var(--text-3xs)}.chapter-body{border-color:var(--c-surface-tint);background:var(--c-page)}.chapter-help{color:var(--c-muted);font-size:var(--text-2xs)}.timeline-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#142b246b}.topic-timeline-drawer{border-radius:var(--radius-2xl) 0 0 var(--radius-2xl);background:var(--c-surface);width:min(472px,94vw);box-shadow:-24px 0 60px #142b2433}.topic-timeline-drawer>header{background:var(--c-navy);color:var(--c-on-dark)}.topic-timeline-drawer>header .eyebrow,.topic-timeline-drawer>header>span{color:var(--c-on-panel)}.topic-timeline-drawer>header h3{color:var(--c-on-dark);font-family:var(--font-display)}.topic-timeline-drawer .timeline-topic-meta span{color:var(--c-on-panel);background:#ffffff14}.topic-timeline-drawer .chapter-progress-bar{background:#ffffff2e}.topic-timeline-drawer .chapter-progress-bar i{background:var(--c-mint-strong)}.topic-timeline-drawer .chapter-progress-stats span{color:var(--c-on-panel);background:#ffffff12;border-color:#ffffff29}.topic-timeline-drawer .chapter-progress-stats strong{color:var(--c-on-dark);font-family:var(--font-display)}.timeline-close{border-radius:var(--radius-md);background:var(--c-sage);width:40px;height:40px;color:var(--c-ink)}.timeline-note-form{border-color:var(--c-line);border-radius:var(--radius-lg);background:var(--c-page)}.topic-history-list{border-color:var(--c-surface-tint)}.history-marker{box-shadow:none;background:0 0}.history-marker i{background:var(--c-mint);border-color:var(--c-spring);color:var(--c-teal)}.toast{border-color:var(--c-navy-slate);border-radius:var(--radius-lg);background:var(--c-navy);box-shadow:var(--shadow-lg);bottom:24px;right:24px}.toast span{background:var(--c-amber-line);color:var(--c-warm-ink)}@media (max-width:1180px){.app-shell{grid-template-columns:248px minmax(0,1fr)}.workspace{padding-left:var(--space-7);padding-right:var(--space-7)}.calendar-page{grid-template-columns:1fr}.calendar-agenda{position:static}.subject-overview{grid-template-columns:repeat(2,1fr)}.subject-progress{grid-column:1/-1}}@media (max-width:1100px){.flashcards-page{grid-template-columns:1fr}.deck-sidebar{position:static}.deck-list{display:flex;overflow-x:auto}.deck-list>button{min-width:220px}}@media (max-width:850px){.app-shell{display:block}.sidebar{padding:var(--space-4) var(--space-5) var(--space-3);box-shadow:0 6px 25px #163a3124}.brand-lockup{margin-bottom:var(--space-3)}.sidebar nav{gap:var(--space-2)}.nav-item{background:#ffffff0b;min-height:44px}.workspace{padding:var(--space-7) var(--space-5) var(--space-10)}.topbar h2{font-size:var(--text-4xl)}.notes-page,.flashcards-page,.hours-layout,.goal-setup,.goal-hero{grid-template-columns:1fr}.goal-next{padding:var(--space-5);border:1px solid #cde5dc40}.deck-sidebar{position:static}.task-composer{grid-template-columns:1fr}.task-summary,.hours-summary,.paper-summary,.goal-metrics,.exam-metrics{grid-template-columns:repeat(2,1fr)}.calendar-grid>button{min-height:100px}}@media (max-width:640px){body{font-size:var(--text-sm)}.sidebar{border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}.brand-mark{border-radius:var(--radius-lg);width:40px;height:40px}.workspace{padding:var(--space-6) var(--space-4) var(--space-10)}.topbar{gap:var(--space-5);margin-bottom:var(--space-6)}.topbar h2{font-size:var(--text-3xl)}.topbar .muted{font-size:var(--text-sm)}.search-box{flex:auto;width:auto;min-width:0}.search-box input{width:100%}.summary-grid{gap:var(--space-3)}.summary-card{min-height:120px;padding:var(--space-4)}.summary-card strong{font-size:var(--text-3xl)}.section-heading{min-height:0;padding:var(--space-4) var(--space-4) var(--space-2)}.section-heading h3{font-size:var(--text-2xl)}.review-row{min-height:0}.ghost-button,.primary-button,.danger-button,.hours-submit{min-height:44px}.task-summary,.hours-summary,.paper-summary,.goal-metrics,.exam-metrics{grid-template-columns:1fr 1fr}.task-summary article,.hours-summary article,.paper-summary article,.goal-metrics article,.exam-metrics article{min-height:96px;padding:var(--space-4)}.task-row{padding:var(--space-3) 0;grid-template-columns:32px 8px minmax(0,1fr) auto}.task-row>:nth-child(5),.task-row>:nth-child(6){display:none}.task-filters{flex-direction:column;align-items:stretch}.task-filters select{width:100%}.calendar-toolbar{align-items:flex-start}.calendar-grid>button{min-height:80px;padding:var(--space-2)}.calendar-grid>button span{text-overflow:ellipsis;white-space:nowrap;font-size:0;overflow:hidden}.subject-overview{gap:var(--space-5);grid-template-columns:1fr 1fr}.chapter-header{gap:var(--space-3);padding:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(120px,140px)}.chapter-toggle{grid-area:1/1/auto/-1;grid-template-columns:32px 44px minmax(0,1fr);width:100%;min-height:56px}.chapter-header .status-select{grid-area:2/2;width:100%}.chapter-timeline-button{grid-area:2/1;width:100%;min-height:40px}.chapter-title strong{font-size:var(--text-md)}.paper-table{min-width:720px}.paper-database{overflow-x:auto}.deck-overview-head{display:grid}.deck-overview .deck-file-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.deck-overview .deck-file-actions .ghost-button{width:100%;min-height:48px;padding:var(--space-3)}.deck-overview .deck-file-actions .danger{grid-column:1/-1}.study-launch{padding:var(--space-6) var(--space-5)}.scope-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.scope-tabs.status-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.scope-tabs button{padding:var(--space-2);font-size:var(--text-2xs)}.study-setup-row{align-items:center;gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.setup-select select{width:100%}.study-start{grid-column:1/-1;width:100%;min-height:48px;margin-left:0}.card-maker{padding:var(--space-6) var(--space-5)}.card-maker h3{font-size:var(--text-2xl)}.card-maker textarea{min-height:120px;font-size:var(--text-sm)}.flashcard-stage{min-height:312px;padding:var(--space-7) var(--space-5)}.flashcard-stage strong{font-size:clamp(var(--text-xl), 6vw, var(--text-2xl));line-height:1.4}.reveal-answer{min-height:52px;font-size:var(--text-sm)}.study-footer{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.study-footer .study-hint{min-width:0;padding:var(--space-1) 0;font-size:var(--text-3xs);grid-area:1/1/auto/-1;line-height:1.5}.study-footer .study-nav{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tab-strip{align-items:flex-end;gap:var(--space-2);margin:calc(-1 * var(--space-3)) 0 var(--space-6);border-bottom:1px solid var(--c-line);display:flex}.tab-strip-tabs{align-items:flex-end;gap:var(--space-1);min-width:0;padding:0 0 0 var(--space-1);scrollbar-width:thin;scrollbar-color:var(--c-line-strong) transparent;flex:auto;margin:0;list-style:none;display:flex;position:relative;overflow-x:auto}.open-tab{border:1px solid #0000;border-bottom-color:var(--c-line);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--c-muted);flex:none;align-items:center;margin-bottom:-1px;transition:background .15s,color .15s;display:flex;position:relative}.open-tab:hover{background:var(--c-surface-tint);color:var(--c-ink)}.open-tab.active{background:var(--c-surface);border-color:var(--c-line);border-bottom-color:var(--c-surface);color:var(--c-teal-ink)}.open-tab.active:before{content:"";top:-1px;left:var(--space-3);right:var(--space-3);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--c-teal);height:3px;position:absolute}.open-tab-button{align-items:center;gap:var(--space-2);min-height:42px;padding:0 var(--space-3);color:inherit;font-size:var(--text-xs);white-space:nowrap;background:0 0;border:0;font-weight:700;display:inline-flex}.open-tab-button svg{font-size:var(--text-md)}.open-tab.active .open-tab-button svg{color:var(--c-teal)}.open-tab-button .subject-pin{width:10px;height:10px}.open-tab:has(.open-tab-close) .open-tab-button{padding-right:var(--space-1)}.open-tab-close{width:24px;height:24px;margin-right:var(--space-2);border-radius:var(--radius-sm);color:var(--c-muted);font-size:var(--text-xs);opacity:.55;background:0 0;border:0;place-items:center;transition:opacity .15s,background .15s;display:grid}.open-tab:hover .open-tab-close,.open-tab.active .open-tab-close,.open-tab-close:focus-visible{opacity:1}.open-tab-close:hover{background:var(--c-line);color:var(--c-ink)}.tab-strip-add{margin-bottom:var(--space-1);flex:none;position:relative}.tab-strip-add summary{border:1px solid var(--c-line);border-radius:var(--radius-sm);background:var(--c-surface-raised);width:32px;height:32px;color:var(--c-muted);font-size:var(--text-md);cursor:pointer;place-items:center;list-style:none;display:grid}.tab-strip-add summary::-webkit-details-marker{display:none}.tab-strip-add summary:hover,.tab-strip-add[open] summary{border-color:var(--c-teal);color:var(--c-teal)}.tab-strip-add summary:focus-visible{outline:3px solid var(--c-blue-tint);outline-offset:2px}.tab-strip-menu{top:calc(100% + var(--space-2));z-index:20;width:240px;max-height:min(60vh,480px);padding:var(--space-2);border:1px solid var(--c-line);border-radius:var(--radius-lg);background:var(--c-surface-raised);box-shadow:var(--shadow-lg);position:absolute;right:0;overflow-y:auto}.tab-strip-menu-heading{margin:var(--space-2) var(--space-3) var(--space-1);color:var(--c-muted);font-size:var(--text-3xs);letter-spacing:.12em;text-transform:uppercase;font-weight:800}.tab-strip-menu>button{align-items:center;gap:var(--space-3);width:100%;min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--c-ink);font-size:var(--text-xs);text-align:left;background:0 0;border:0;font-weight:650;display:flex}.tab-strip-menu>button:hover{background:var(--c-surface-tint)}.tab-strip-menu>button svg{font-size:var(--text-md);color:var(--c-teal)}.tab-strip-menu-empty{margin:var(--space-2) var(--space-3);color:var(--c-muted);font-size:var(--text-2xs)}.bottom-nav,.mobile-scrim{display:none}@media (max-width:850px){.app-shell{display:block}.tab-strip{display:none}.sidebar{width:min(320px,86vw);height:100dvh;padding:var(--space-6) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));border-radius:0 var(--radius-2xl) var(--radius-2xl) 0;box-shadow:none;z-index:60;transition:transform .26s;position:fixed;top:0;left:0;transform:translate(-100%)}.app-shell.menu-open .sidebar{transform:none;box-shadow:0 18px 50px #09162673}.mobile-scrim{appearance:none;z-index:55;opacity:0;pointer-events:none;background:#0b1a2c80;border:0;padding:0;transition:opacity .26s;display:block;position:fixed;inset:0}.app-shell.menu-open .mobile-scrim{opacity:1;pointer-events:auto}.workspace{padding:var(--space-6) var(--space-4) calc(var(--space-12) + env(safe-area-inset-bottom))}.bottom-nav{z-index:58;background:var(--navy);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 26px #10223d4d}.bottom-nav-item{align-content:center;justify-items:center;gap:var(--space-1);min-height:var(--bottom-nav-height);padding:var(--space-2) var(--space-1);color:var(--c-on-panel);font-size:var(--text-2xs);background:0 0;border:0;font-weight:600;line-height:1;display:grid;position:relative}.bottom-nav-item svg{font-size:var(--text-lg)}.bottom-nav-item.active{color:var(--c-on-dark)}.bottom-nav-item.active svg{color:var(--c-on-panel)}.bottom-nav-item.active:before{content:"";border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--c-teal-soft);width:32px;height:4px;position:absolute;top:0}.bottom-nav-item b{margin-left:var(--space-1);min-width:16px;height:16px;padding:0 var(--space-1);border-radius:var(--radius-xl);background:var(--c-amber-line);color:var(--c-warm-ink);font-size:var(--text-3xs);place-items:center;display:grid;position:absolute;top:4px;left:50%}}@media (max-width:380px){.bottom-nav-item{font-size:var(--text-3xs);padding:var(--space-2) var(--space-1)}.workspace{padding-left:var(--space-3);padding-right:var(--space-3)}}.topbar-tools{flex:auto;flex-basis:min-content;justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.board-scope{justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.theme-toggle{border:1px solid var(--c-line);border-radius:var(--radius-md);background:var(--c-surface);width:40px;height:40px;color:var(--c-muted);font-size:var(--text-lg);flex:none;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--c-on-panel);color:var(--c-teal)}.auth-aside .theme-toggle{top:var(--space-5);right:var(--space-5);border-color:var(--c-on-panel);color:var(--c-on-dark);background:0 0;position:absolute}.auth-aside .theme-toggle:hover{background:var(--c-teal);border-color:var(--c-teal);color:var(--c-on-accent)}@media (max-width:640px){.topbar-tools .search-box{flex:200px}.board-scope{flex:100%;order:1}.subject-filter{flex:100%;width:auto;max-width:none;height:48px}.goal-switcher>div{row-gap:var(--space-2);flex-wrap:wrap;min-width:0;max-width:100%;overflow-x:visible}.paper-summary article{gap:var(--space-1);grid-template-columns:1fr}.paper-summary strong{grid-area:auto/1}.goal-metrics article,.exam-metrics article{padding:var(--space-3) var(--space-4)}.goal-metrics span,.exam-metrics span{font-size:var(--text-3xs)}.goal-metrics small,.exam-metrics small{line-height:1.35}.subject-row-actions{row-gap:var(--space-2);flex-wrap:wrap}}.subject-nav-item{padding-top:var(--space-2);padding-bottom:var(--space-2);grid-template-columns:minmax(0,1fr);align-content:center;gap:2px;display:grid}.subject-nav-item .nav-label{min-width:0}.subject-nav-item .stage-progress{padding-left:calc(8px + var(--space-3));white-space:nowrap}.deck-workspace{gap:var(--space-5)}@media (max-width:560px){.pace-days{grid-template-columns:minmax(0,1fr)}}
.exam-planner{gap:var(--space-5);display:grid}.exam-list{padding:var(--space-4) var(--space-6) var(--space-6);gap:var(--space-4);margin:0;list-style:none;display:grid}.exam-card{border:1px solid var(--line);border-radius:var(--radius-lg);border-left:4px solid var(--c-rose);background:var(--c-surface-raised);padding:var(--space-5);gap:var(--space-3);box-shadow:var(--shadow-sm);display:grid}.exam-card.past{border-left-color:var(--c-on-panel)}.exam-card.past .exam-countdown strong{color:var(--c-muted)}.exam-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.exam-title{gap:var(--space-3);grid-template-columns:12px 1fr;align-items:start;min-width:0;display:grid}.exam-title .subject-pin{margin-top:var(--space-1)}.exam-title strong{font-size:var(--text-md);line-height:1.3;display:block}.exam-title small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-2xs);display:block}.exam-countdown{text-align:right;flex:none}.exam-countdown strong{font-size:var(--text-sm);color:var(--c-rose);white-space:nowrap;font-weight:900;display:block}.exam-countdown.soon strong{color:var(--c-red)}.exam-countdown small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-3xs);display:block}.exam-alert{gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--c-red-line);border-radius:var(--radius-md);background:var(--c-red-soft);box-shadow:inset 4px 0 0 var(--c-red);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.exam-alert-mark{font-size:var(--text-2xl);color:var(--c-red)}.exam-alert strong{font:650 var(--text-lg)/1.2 var(--font-display);letter-spacing:-.01em;color:var(--c-red-ink);display:block}.exam-alert span{margin-top:var(--space-1);font-size:var(--text-2xs);color:var(--c-red-ink);line-height:1.45;display:block}.exam-alert button{min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--c-red);border-radius:var(--radius-md);background:var(--c-red);color:var(--c-on-accent);font-size:var(--text-xs);white-space:nowrap;font-weight:900}.exam-alert button:hover{background:var(--c-red-ink);border-color:var(--c-red-ink)}.exam-alert button[aria-expanded=true]{color:var(--c-red-ink);background:0 0}.exam-progress{border-radius:var(--radius-xl);background:var(--c-line-soft);height:8px;overflow:hidden}.exam-progress>div{border-radius:inherit;background:var(--teal);height:100%;transition:width .2s}.exam-stats{gap:var(--space-2) var(--space-5);font-size:var(--text-3xs);color:var(--muted);flex-wrap:wrap;margin:0;display:flex}.exam-stats b{color:var(--ink);font-size:var(--text-2xs)}.exam-stats .behind{color:var(--c-red);font-weight:850}.exam-stats .untouched{color:var(--c-amber-ink);font-weight:850}.exam-standing{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.exam-standing li{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-3xs);white-space:nowrap;font-weight:800}.exam-standing b{margin-right:var(--space-1);font-weight:900}.exam-notes{color:var(--muted);font-size:var(--text-2xs);margin:0;line-height:1.5}.exam-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.exam-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-sunken);color:var(--c-ink-soft);padding:var(--space-2) var(--space-3);font-size:var(--text-3xs);font-weight:900}.exam-actions button:hover{border-color:var(--c-on-panel);color:var(--ink)}.exam-actions button.danger{color:var(--c-red)}.exam-actions button.danger:hover{border-color:var(--c-red-line);color:var(--c-red-ink)}.exam-actions button[aria-expanded=true]{border-color:var(--teal);background:var(--c-mint);color:var(--c-teal-deep)}.exam-past-lead{padding:var(--space-4) var(--space-6) 0;color:var(--muted);font-size:var(--text-2xs);margin:0;line-height:1.5}.exam-upcoming-none{padding:var(--space-5) var(--space-6) var(--space-6);color:var(--muted);font-size:var(--text-xs);margin:0;line-height:1.5}.exam-result{align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-sunken);flex-wrap:wrap;display:flex}.exam-result.empty{border-style:dashed}.exam-result-copy{flex:16rem;min-width:0}.exam-result-copy strong{font-size:var(--text-sm);display:block}.exam-result-copy span{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-2xs);line-height:1.45;display:block}.exam-result-marks{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.exam-result-marks strong{font:650 var(--text-2xl)/1 var(--font-display);color:var(--ink)}.exam-result-marks small{color:var(--muted);font-size:var(--text-sm)}.exam-result-marks b{margin-left:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--c-surface-raised);color:var(--c-ink-soft);font-size:var(--text-2xs);font-weight:900}.exam-result .grade-badge{font-size:var(--text-sm);padding:var(--space-1) var(--space-4)}.exam-result-actions{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.exam-result-actions button:not(.primary-button){border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-raised);color:var(--c-ink-soft);padding:var(--space-2) var(--space-3);font-size:var(--text-3xs);font-weight:900}.exam-result-actions button:not(.primary-button):hover{border-color:var(--c-on-panel);color:var(--ink)}.exam-result-actions button.danger{color:var(--c-red)}.exam-result-actions button.danger:hover{border-color:var(--c-red-line);color:var(--c-red-ink)}.exam-result-actions .primary-button{min-height:36px;padding:0 var(--space-4)}.exam-result.editing{grid-template-columns:repeat(3,minmax(0,8.5rem)) minmax(0,1fr);align-items:end;display:grid}.exam-result.editing label{gap:var(--space-1);min-width:0;display:grid}.exam-result.editing label>span{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:900}.exam-result.editing label small{text-transform:none;letter-spacing:0;font-weight:700}.exam-result.editing input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-raised);min-width:0;height:40px;color:var(--ink);padding:0 var(--space-3);font-size:var(--text-2xs)}.exam-result.editing .exam-result-actions{justify-self:end}.exam-result-target{align-items:center;gap:var(--space-2) var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--c-line-soft);color:var(--c-ink-soft);font-size:var(--text-2xs);flex-wrap:wrap;flex-basis:100%;margin:0;line-height:1.45;display:flex}.exam-result-target span{align-items:center;gap:var(--space-1);flex:0 auto;min-width:0;display:inline-flex}.exam-result-target.hit span,.exam-result-target.miss span{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-weight:800}.exam-result-target.hit span{background:var(--c-mint);color:var(--c-teal-deep)}.exam-result-target.miss span{background:var(--c-amber-soft);color:var(--c-amber-ink)}.exam-result-target span svg{flex:none;width:14px;height:14px}.exam-result-target button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-raised);color:var(--c-ink-soft);padding:var(--space-2) var(--space-3);font-size:var(--text-3xs);margin-left:auto;font-weight:900}.exam-result-target button:hover{border-color:var(--c-on-panel);color:var(--ink)}.exam-result-live{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.exam-result-live>b{font:650 var(--text-lg)/1 var(--font-display);color:var(--ink)}.exam-result-live .exam-result-target{border-top:0;flex:14rem;padding-top:0}.exam-plan{border-top:1px solid var(--c-line-soft);padding-top:var(--space-3);gap:var(--space-3);display:grid}.exam-plan .muted{font-size:var(--text-3xs);margin:0}.exam-plan-days{gap:var(--space-2);max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.exam-plan-days>li{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--c-surface-sunken);grid-template-columns:96px minmax(0,1fr);display:grid}.exam-plan-days>li.today{background:var(--c-mint);box-shadow:inset 3px 0 0 var(--teal)}.exam-plan-days>li.missed{background:var(--c-red-soft);box-shadow:inset 3px 0 0 var(--c-red)}.exam-plan-days>li.missed .plan-date strong{color:var(--c-red-ink)}.plan-date strong{font-size:var(--text-2xs);font-weight:900;display:block}.plan-date small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-3xs);display:block}.plan-day-badge{margin-top:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-3xs);white-space:nowrap;font-weight:900;display:inline-block}.plan-day-badge.overdue{background:var(--c-red);color:var(--c-on-accent)}.plan-day-badge.due{background:var(--c-amber-soft);color:var(--c-amber-ink)}.exam-plan-days ul{gap:var(--space-1);min-width:0;margin:0;padding:0;list-style:none;display:grid}.exam-plan-days ul li{font-size:var(--text-2xs);color:var(--c-ink-soft);line-height:1.45}.exam-plan-days ul li b{color:var(--ink);margin-right:var(--space-1);font-weight:900}.plan-copy{gap:var(--space-1);min-width:0;display:grid}.plan-standing{align-items:center;gap:var(--space-1) var(--space-2);color:var(--c-brown-soft);font-size:var(--text-3xs);flex-wrap:wrap;display:flex}.plan-standing i{padding:0 var(--space-2);border-radius:var(--radius-pill);font-style:normal;font-weight:800}.exam-plan-days ul li{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.plan-tick{gap:var(--space-2);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.plan-tick input{width:15px;height:15px;accent-color:var(--teal);cursor:pointer;margin:0}.plan-tick input:disabled{cursor:progress;opacity:.5}.exam-form{padding-bottom:var(--space-5)}.exam-form .section-heading>button{min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-ink-soft);font-size:var(--text-xs);font-weight:800}.exam-form .section-heading>button:hover{border-color:var(--c-on-panel);background:var(--c-sage);color:var(--ink)}.exam-form-grid{gap:var(--space-4) var(--space-5);padding:var(--space-5) var(--space-5) 0;grid-template-columns:repeat(auto-fit,minmax(192px,1fr));display:grid}.exam-form-grid label,.exam-notes-field{gap:var(--space-2);display:grid}.exam-form-grid label>span,.exam-notes-field>span,.pace-picker legend{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:900}.exam-form-grid input,.exam-form-grid select,.exam-notes-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-sunken);height:40px;color:var(--ink);padding:0 var(--space-3);font-size:var(--text-2xs);min-width:0}.exam-notes-field{padding:var(--space-4) var(--space-5) 0}.pace-picker{margin:var(--space-4) var(--space-5) 0;gap:var(--space-3);border:0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:0;display:grid}.pace-picker legend{padding:0 0 var(--space-2)}.pace-picker button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-raised);color:var(--ink);padding:var(--space-3);text-align:left;gap:var(--space-1);display:grid}.pace-picker button:hover{border-color:var(--c-on-panel)}.pace-picker button.active{border-color:var(--teal);background:var(--c-mint);box-shadow:inset 3px 0 0 var(--teal)}.pace-picker strong{font-size:var(--text-2xs);font-weight:900}.pace-picker small{color:var(--muted);font-size:var(--text-3xs);line-height:1.4}.topic-picker{margin:var(--space-5) var(--space-5) 0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.topic-picker-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--c-surface-sunken);border-bottom:1px solid var(--line);display:flex}.topic-picker-head strong{font-size:var(--text-xs);display:block}.topic-picker-head small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-3xs);max-width:52ch;line-height:1.5;display:block}.topic-picker-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.topic-picker-actions span{font-size:var(--text-3xs);color:var(--teal);white-space:nowrap;font-weight:900}.topic-picker-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-raised);color:var(--c-ink-soft);padding:var(--space-2) var(--space-3);font-size:var(--text-3xs);font-weight:900}.topic-picker-actions button:hover{border-color:var(--c-on-panel);color:var(--ink)}.topic-picker>.muted{padding:var(--space-6) var(--space-4);font-size:var(--text-2xs);margin:0}.topic-tree{padding:var(--space-2) 0;max-height:44vh;margin:0;list-style:none;overflow-y:auto}.topic-tree>li{border-bottom:1px solid var(--c-surface-muted)}.topic-tree>li:last-child{border-bottom:0}.topic-chapter{gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;display:grid}.topic-chapter:hover{background:var(--c-surface-sunken)}.topic-chapter>span{font-size:var(--text-2xs);font-weight:800;line-height:1.4}.topic-chapter b{color:var(--teal);margin-right:var(--space-2)}.topic-chapter small{color:var(--muted);font-size:var(--text-3xs);font-variant-numeric:tabular-nums}.topic-chapter.partial small{color:var(--teal);font-weight:900}.topic-points{padding:0 0 var(--space-2) var(--space-9);gap:var(--space-1);margin:0;list-style:none;display:grid}.topic-points label{gap:var(--space-2);padding:var(--space-1) var(--space-4) var(--space-1) 0;cursor:pointer;grid-template-columns:16px minmax(0,1fr);align-items:start;display:grid}.topic-points label:hover{background:var(--c-surface-sunken)}.topic-points span{font-size:var(--text-3xs);color:var(--c-ink-soft);line-height:1.45}.topic-points b{color:var(--c-brown-soft);margin-right:var(--space-1);font-weight:900}.topic-points label.done span{color:var(--c-slate)}.topic-picker input[type=checkbox]{accent-color:var(--teal);width:16px;height:16px;margin:var(--space-1) 0 0}.exam-form-actions{padding:var(--space-5) var(--space-5) 0;justify-content:flex-end;display:flex}.exam-form-actions .primary-button{min-height:40px;padding:0 var(--space-5)}.exam-topics{border-top:1px solid var(--c-line-soft);padding-top:var(--space-3);gap:var(--space-3);display:grid}.exam-topics>.muted{font-size:var(--text-3xs);margin:0}.exam-topics-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.exam-topics-actions .ghost-button{padding:var(--space-1) var(--space-3);font-size:var(--text-3xs)}.exam-topic-group>.exam-group-heading{gap:var(--space-3);border-bottom:1px solid var(--c-line-soft);grid-template-columns:24px minmax(0,1fr);align-items:center;display:grid}.exam-group-select{cursor:pointer;place-items:center;min-height:44px;display:grid}.exam-group-select .review-check:indeterminate{background:var(--teal);border-color:var(--teal)}.exam-group-select .review-check:indeterminate:after{content:"";background:var(--c-surface-raised);border-radius:1px;width:8px;height:2px}.exam-group-toggle{gap:var(--space-3);min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;padding:0;display:grid}.exam-topic-group.open .chevron{transform:rotate(90deg)}.exam-group-toggle>span{min-width:0;font-size:var(--text-2xs);font-weight:800;line-height:1.4}.exam-group-toggle b{color:var(--teal);margin-right:var(--space-2)}.exam-group-toggle small{color:var(--muted);font-size:var(--text-3xs);white-space:nowrap;font-variant-numeric:tabular-nums}.exam-topics .review-row{min-height:0;padding:var(--space-3) 0}.exam-topics .review-row.done .review-copy strong{color:var(--c-slate)}.exam-topics .date-badge.done{background:var(--c-mint);color:var(--c-teal-deep)}.exam-topics .date-badge.needs-work{background:var(--c-surface-muted);color:var(--c-muted)}.exam-topics .bulk-review-bar{border-radius:var(--radius-md);border-top:0}@media (min-width:641px){.exam-topics .bulk-review-bar{gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.exam-topics .bulk-review-bar>span{white-space:nowrap}.exam-topics .bulk-review-bar select{width:auto;min-width:128px}.exam-topics .bulk-review-bar button{white-space:nowrap}.exam-topics .bulk-review-bar .clear-selection{margin-left:auto}}.exam-backlog{gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--c-red-line);border-radius:var(--radius-xl);background:var(--c-red-soft);box-shadow:inset 5px 0 0 var(--c-red), var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.exam-backlog-mark{font-size:var(--text-3xl);color:var(--c-red)}.exam-backlog strong{font:650 var(--text-lg)/1.2 var(--font-display);letter-spacing:-.01em;color:var(--c-red-ink);display:block}.exam-backlog span{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--c-red-ink);line-height:1.45;display:block}.exam-backlog button{min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--c-red);border-radius:var(--radius-md);background:var(--c-red);color:var(--c-on-accent);font-size:var(--text-xs);white-space:nowrap;font-weight:900}.exam-backlog button:hover{background:var(--c-red-ink);border-color:var(--c-red-ink)}.review-row.exam-overdue:not(.is-selected){background:var(--c-red-soft)}.review-row.exam-overdue .review-source.exam-task{border-left-color:var(--c-rose);background:var(--c-rose);color:var(--c-on-accent)}@media (max-width:760px){.exam-backlog{grid-template-columns:auto minmax(0,1fr)}.exam-backlog button{grid-column:1/-1}}.calendar-legend .calendar-filter.exam:before{background:var(--c-rose)}.calendar-legend .calendar-filter.exam-task:before{background:var(--c-tan)}.calendar-grid span.exam{border-color:var(--c-rose);background:var(--c-red-soft);color:var(--c-red-ink);font-weight:900}.calendar-grid span.exam-task{border-color:var(--c-tan);background:var(--c-red-soft);color:var(--c-rose)}.agenda-list article>i.exam{background:var(--c-rose)}.agenda-list article>i.exam-task{background:var(--c-tan)}@media (max-width:760px){.exam-list{padding:var(--space-4) var(--space-4) var(--space-5)}.exam-head{flex-direction:column}.exam-countdown{text-align:left}.exam-alert{grid-template-columns:auto minmax(0,1fr)}.exam-alert button{grid-column:1/-1}.exam-past-lead{padding:var(--space-4) var(--space-4) 0}.exam-upcoming-none{padding:var(--space-4) var(--space-4) var(--space-5)}.exam-result-actions{width:100%;margin-left:0}.exam-result.empty .primary-button{width:100%}.exam-result.editing{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-result.editing label:nth-of-type(3),.exam-result.editing .exam-result-actions{grid-column:1/-1}.exam-result.editing .exam-result-actions{justify-self:stretch}.exam-plan-days>li{gap:var(--space-2);grid-template-columns:1fr}.topic-picker-head{flex-direction:column}.topic-points{padding-left:var(--space-7)}.exam-group-toggle{gap:var(--space-1) var(--space-2);grid-template-columns:22px minmax(0,1fr)}.exam-group-toggle .chevron{width:22px;height:22px;font-size:var(--text-md);grid-row:1/3}.exam-group-toggle small{white-space:normal;grid-column:2}}
.grade-setup{grid-template-columns:minmax(300px,1fr) minmax(0,1.15fr)}.goal-setup-copy p.grade-setup-note{margin-top:var(--space-4);color:var(--c-on-panel-soft);font-size:var(--text-2xs);line-height:1.55}.grade-steps{counter-reset:grade-step;margin:var(--space-5) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}.grade-steps li{counter-increment:grade-step;align-items:baseline;gap:var(--space-1) var(--space-3);grid-template-columns:26px minmax(0,1fr);display:grid}.grade-steps li:before{content:counter(grade-step);background:var(--c-navy-slate);width:26px;height:26px;color:var(--c-on-dark);font:800 var(--text-3xs)/1.4 var(--font-display);border-radius:50%;grid-row:1/3;place-items:center;display:grid}.grade-steps b{color:var(--c-on-dark);font-size:var(--text-2xs);font-weight:800}.grade-steps span{color:var(--c-on-panel-soft);font-size:var(--text-2xs);line-height:1.5}.grade-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.grade-form>label{min-width:0}.grade-form label>span small{text-transform:none;letter-spacing:0;color:var(--c-slate);font-weight:700}.grade-mark-field{gap:var(--space-2);grid-column:1/-1;display:grid}.grade-mark-field>span{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:900}.grade-mark-field>span small{text-transform:none;letter-spacing:0;color:var(--c-slate);font-weight:700}.grade-mark-field>div{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.grade-mark-field input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-sunken);width:100%;min-height:44px;color:var(--ink);padding:0 var(--space-3)}.grade-mark-field b{color:var(--c-brown-soft);font-size:var(--text-2xs);font-weight:800}.grade-target-picker{border:0;grid-column:1/-1;margin:0;padding:0}.grade-target-picker legend{padding:0 0 var(--space-2);font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:900}.grade-target-picker>div{gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(44px,1fr));display:grid}.grade-target-picker button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-sunken);min-height:40px;color:var(--c-muted);font-size:var(--text-2xs);font-weight:900}.grade-target-picker button.active{border-color:var(--teal);background:var(--teal);color:var(--c-on-accent)}.grade-preview{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--line);border-left:4px solid var(--c-on-panel);border-radius:var(--radius-md);background:var(--c-surface-sunken);grid-column:1/-1;display:grid}.grade-preview strong{font:700 var(--text-2xl)/1.2 var(--font-display)}.grade-preview small{color:var(--muted);font-size:var(--text-2xs);line-height:1.45}.grade-preview.reachable{border-left-color:var(--teal);background:var(--c-mint)}.grade-preview.secured{border-left-color:var(--c-blue);background:var(--c-blue-white)}.grade-preview.out-of-reach{border-left-color:var(--c-red);background:var(--c-red-soft)}.grade-preview.outcome strong{align-items:center;gap:var(--space-3);display:flex}.grade-preview.outcome .grade-badge{font-size:var(--text-md);padding:var(--space-1) var(--space-4)}.grade-papers{gap:var(--space-2);grid-column:1/-1;display:grid;container:grade-papers/inline-size}.grade-papers-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.grade-papers-head span{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:900}.grade-papers-head b{font-size:var(--text-3xs);color:var(--c-brown-soft);font-weight:900}.grade-papers-head b.whole{color:var(--c-teal-deep)}.grade-papers-head b.over{color:var(--c-red)}.grade-papers-head b.under{color:var(--c-amber-ink)}.grade-papers ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.grade-papers li{grid-template-columns:var(--grade-paper-columns);gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-sunken);align-items:center;display:grid}.grade-papers{--grade-paper-columns:minmax(0, 1.2fr) 66px 76px 142px minmax(92px, 128px) 26px}.grade-papers-legend{grid-template-columns:var(--grade-paper-columns);gap:var(--space-2);padding:0 calc(var(--space-3) + 1px);font-size:var(--text-3xs);color:var(--c-slate);text-transform:uppercase;letter-spacing:.06em;font-weight:900;display:grid}.grade-papers-legend>span:first-child{padding-left:30px}.grade-papers-source,.grade-source-strip{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3);border:1px solid var(--c-blue-line);border-radius:var(--radius-md);background:var(--c-blue-white);color:var(--muted);font-size:var(--text-3xs);grid-template-columns:16px minmax(0,1fr) auto;margin:0;line-height:1.5;display:grid}.grade-papers-source svg,.grade-source-strip svg{width:16px;height:16px;color:var(--c-blue)}.grade-papers-source b,.grade-source-strip b{color:var(--ink);font-weight:900}.grade-papers-source em,.grade-source-strip em{color:var(--ink);font-style:normal;font-weight:800}.grade-papers-source a,.grade-source-strip a{white-space:nowrap;border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);background:var(--c-surface-raised);padding:var(--space-1) var(--space-3);color:var(--ink);font-size:var(--text-3xs);justify-self:end;font-weight:800;text-decoration:none}.grade-papers-source a:hover,.grade-source-strip a:hover{background:var(--c-surface-sunken)}.grade-source-strip{margin-top:calc(var(--space-2) * -1)}.grade-papers li.in{border-color:var(--c-line-strong);background:var(--c-surface-raised)}.grade-paper-pick{align-items:center;gap:var(--space-2) var(--space-3);cursor:pointer;grid-template-columns:auto minmax(0,1fr);display:grid}.grade-paper-pick input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--teal);grid-row:1/3;margin:0;padding:0}.grade-paper-pick strong{font-size:var(--text-2xs);font-weight:900}.grade-paper-pick small{align-items:center;gap:var(--space-1);min-width:0;font-size:var(--text-3xs);color:var(--muted);flex-wrap:wrap;display:flex}.grade-paper-pick small>i{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:normal;overflow:hidden}.grade-paper-weight{align-items:center;gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto;display:grid}.grade-paper-weight input{border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--c-surface-raised);width:100%;height:30px;min-height:0;color:var(--ink);padding:0 var(--space-1);font-size:var(--text-2xs);text-align:right;font-weight:900}.grade-paper-weight i{font-style:normal;font-size:var(--text-3xs);color:var(--muted)}.grade-paper-max{grid-template-columns:minmax(0,1fr);align-items:center;gap:2px;display:grid}.grade-paper-max input{border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--c-surface-raised);width:100%;height:30px;min-height:0;color:var(--ink);padding:0 var(--space-1);font-size:var(--text-2xs);text-align:right;font-weight:900}.grade-paper-max i{font-style:normal;font-size:var(--text-3xs);color:var(--muted);text-align:right}.grade-papers li select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-sunken);width:100%;height:36px;min-height:0;color:var(--ink);padding:0 var(--space-2);font-size:var(--text-3xs)}.grade-paper-mark{align-items:center;gap:var(--space-1) var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.grade-paper-mark input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-surface-sunken);width:100%;height:36px;min-height:0;color:var(--ink);padding:0 var(--space-2);font-size:var(--text-2xs)}.grade-paper-mark i{font-style:normal;font-size:var(--text-3xs);color:var(--muted);white-space:nowrap}.grade-paper-mark em{font-style:normal;font-size:var(--text-3xs);color:var(--c-teal-deep);grid-column:1/-1;font-weight:900}.grade-paper-blank{font-size:var(--text-3xs);color:var(--c-slate);text-align:center}.grade-paper-out{grid-column:span 2}.grade-papers-note{font-size:var(--text-3xs);color:var(--muted);margin:0;line-height:1.5}.grade-paper-pick .grade-paper-name{border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--c-surface-raised);width:100%;min-width:0;height:30px;min-height:0;color:var(--ink);padding:0 var(--space-2);font-size:var(--text-2xs);font-weight:900}.grade-paper-drop{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--c-slate);background:0 0;border:0;place-items:center;display:grid}.grade-paper-drop:hover{background:var(--c-red-soft);color:var(--c-red)}.grade-paper-drop svg{width:14px;height:14px}@container grade-papers (max-width:719px){.grade-papers li{--grade-paper-columns:minmax(0, 1fr) 66px 76px 26px;row-gap:var(--space-2)}.grade-papers-legend{display:none}.grade-papers li select{grid-column:1/3}.grade-paper-mark,.grade-papers li>.grade-paper-blank{grid-column:3/-1}.grade-papers li>.grade-paper-out{display:none}.grade-paper-drop{grid-area:1/4}.grade-papers-source{grid-template-columns:16px minmax(0,1fr)}.grade-papers-source a{grid-column:2;justify-self:start}}@container grade-papers (max-width:399px){.grade-papers li{--grade-paper-columns:minmax(0, 1fr) 56px 26px}.grade-paper-pick{grid-column:1/3}.grade-paper-weight,.grade-papers li select{grid-column:1}.grade-paper-max,.grade-paper-mark,.grade-papers li>.grade-paper-blank{grid-column:2/-1}.grade-paper-max{gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto}.grade-paper-drop{grid-column:3}}.grade-thresholds{gap:var(--space-2);grid-column:1/-1;display:grid}.grade-thresholds-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.grade-thresholds-head>span{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:900}.grade-thresholds .grade-thresholds-toggle{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.grade-thresholds .grade-thresholds-toggle input{width:18px;height:18px;min-height:0;accent-color:var(--teal);padding:0}.grade-thresholds .grade-thresholds-toggle b{font-size:var(--text-3xs);color:var(--ink);font-weight:900}.grade-threshold-rows{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(152px,1fr));margin:0;padding:0;list-style:none;display:grid}.grade-threshold-rows li{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-raised);grid-template-columns:34px minmax(0,1fr);display:grid}.grade-threshold-field{align-items:center;gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto;display:grid}.grade-threshold-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--c-page);width:100%;min-height:36px;color:var(--ink);padding:0 var(--space-2);font-size:var(--text-sm);text-align:center;font-weight:800}.grade-threshold-field i{font-style:normal;font-size:var(--text-3xs);color:var(--c-muted);font-weight:800}.grade-threshold-reset{color:var(--c-blue-deep);font-size:var(--text-3xs);text-align:left;cursor:pointer;background:0 0;border:0;grid-column:1/-1;justify-self:start;padding:0;font-weight:800}.grade-threshold-reset:hover{text-decoration:underline}.grade-threshold-prefill{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--c-blue-line);border-radius:var(--radius-md);background:var(--c-blue-white);display:grid}.grade-threshold-prefill>p{font-size:var(--text-3xs);color:var(--muted);margin:0;line-height:1.55}.grade-threshold-prefill>p b{color:var(--ink);font-weight:900}.grade-paper-add{min-height:36px;font-size:var(--text-3xs);justify-self:start}.grade-paper-reset{border-radius:var(--radius-xs);background:var(--c-amber-soft);color:var(--c-amber-ink);padding:0 var(--space-1);font-size:var(--text-3xs);white-space:nowrap;border:0;flex:none;font-weight:800}.grade-paper-reset:hover{background:var(--c-peach-strong)}.grade-hero{grid-template-columns:minmax(280px,1fr) minmax(240px,340px)}.grade-hero-actions{gap:var(--space-2);margin-top:var(--space-4);display:flex}.grade-hero-actions button{border-radius:var(--radius-sm);color:var(--c-on-panel);padding:var(--space-2) var(--space-3);font-size:var(--text-2xs);background:0 0;border:1px solid #bcdcd066;font-weight:800}.grade-hero-actions button:hover{border-color:var(--c-on-panel);color:var(--c-on-dark)}.grade-hero-actions .delete-goal{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--c-peach-strong);font-size:var(--text-2xs);border:1px solid #f9d5ae4d;margin:0;font-weight:800}.grade-hero-actions .delete-goal:hover{border-color:var(--c-peach-strong)}.grade-headline{justify-items:start;gap:var(--space-2);min-height:120px;padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);background:#ffffff13;border:1px solid #cde5dc40;align-content:center;display:grid}.grade-headline strong{color:var(--c-on-dark);font:700 var(--text-4xl)/1.1 var(--font-display);line-height:1}.grade-headline small{color:var(--c-on-panel);font-size:var(--text-2xs);line-height:1.45}.grade-headline.out-of-reach strong{font-size:var(--text-2xl);color:var(--c-peach-strong)}.grade-headline.final{background:#ffffff1c;border-color:#bcdcd073}.grade-headline.final .grade-badge{font-size:var(--text-md);padding:var(--space-2) var(--space-4)}.grade-headline.final.hit{box-shadow:inset 3px 0 0 var(--c-mint-strong)}.grade-headline.final.missed{box-shadow:inset 3px 0 0 var(--c-peach-strong)}.grade-headline.secured strong{font-size:var(--text-2xl)}.grade-outcome-rows{gap:var(--space-3);padding:var(--space-3) var(--space-6) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.grade-outcome-rows article{gap:var(--space-1) var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--c-surface-sunken);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.grade-outcome-rows article.highlight{border-color:var(--c-line-strong);background:var(--c-mint)}.grade-outcome-rows span{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;grid-column:1;font-weight:900}.grade-outcome-rows strong{font:700 var(--text-2xl)/1.2 var(--font-display);grid-column:1;line-height:1.1}.grade-outcome-rows .grade-badge{grid-area:1/2/3;align-self:center}.grade-outcome-rows small{font-size:var(--text-3xs);color:var(--muted);grid-column:1/-1;line-height:1.4}.grade-outcome .section-heading>span{color:var(--muted);font-size:var(--text-3xs);text-align:right;font-weight:800}.grade-outcome-note{padding:0 var(--space-6) var(--space-6);font-size:var(--text-3xs);color:var(--muted);margin:0;line-height:1.5}.grade-working{container:grade-working/inline-size}.grade-working .section-heading>span{color:var(--muted);font-size:var(--text-3xs);text-align:right;font-weight:800}.grade-working-lines{padding:var(--space-3) var(--space-6) 0;gap:var(--space-2);margin:0;list-style:none;display:grid}.grade-working-lines li,.grade-working-total{gap:var(--space-1) var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) 76px 88px 96px;align-items:center;display:grid}.grade-working-lines li.sat{background:var(--c-surface-sunken);box-shadow:inset 3px 0 0 var(--teal)}.grade-working-lines li.marked{background:var(--c-surface-sunken);box-shadow:inset 3px 0 0 var(--c-amber)}.grade-working-lines li.assumed{padding:calc(var(--space-3) - 1px);border:1px dashed var(--c-line-strong)}.grade-working-part{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.grade-working-part strong{font-size:var(--text-2xs);font-weight:900}.grade-working-part small{font-size:var(--text-3xs);color:var(--muted)}.grade-working-part em{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--c-line-soft);color:var(--c-ink-soft);font-size:var(--text-3xs);font-style:normal;font-weight:800}.grade-working-score{grid-column:2}.grade-working-weight{color:var(--c-muted);grid-column:3}.grade-working-points{font:700 var(--text-md)/1.3 var(--font-display);grid-column:4}.grade-working-score,.grade-working-weight{font-size:var(--text-xs);font-weight:800}.grade-working-score,.grade-working-weight,.grade-working-points{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.grade-working-weight i,.grade-working-points i{color:var(--c-muted);font-style:normal;font-weight:700}.grade-working-total{margin:var(--space-3) var(--space-6) 0;border:1px solid var(--c-line-strong);background:var(--c-mint)}.grade-working-total .grade-working-part{grid-column:1/3;align-items:center}.grade-working-total .grade-working-part strong{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.06em}.grade-working-total .grade-working-points{font-size:var(--text-xl)}.grade-working-note{padding:var(--space-3) var(--space-6) var(--space-6);font-size:var(--text-3xs);color:var(--muted);margin:0;line-height:1.5}@container grade-working (max-width:539px){.grade-working-lines,.grade-working-note{padding-left:var(--space-4);padding-right:var(--space-4)}.grade-working-total{margin-left:var(--space-4);margin-right:var(--space-4)}.grade-working-lines li,.grade-working-total{gap:var(--space-1) var(--space-2);grid-template-columns:minmax(0,1fr) 60px 64px 76px}.grade-working-lines .grade-working-part{grid-column:1/-1}.grade-working-points{font-size:var(--text-sm)}.grade-working-total .grade-working-points{font-size:var(--text-lg)}}.grade-ladder .section-heading>span{color:var(--muted);font-size:var(--text-3xs);font-weight:800}.grade-ladder ul{padding:var(--space-2) var(--space-6) var(--space-4);gap:var(--space-2);margin:0;list-style:none;display:grid}.grade-ladder li>button{gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-raised);text-align:left;grid-template-columns:52px 108px minmax(80px,1fr) 72px 160px;align-items:center;display:grid}.grade-ladder li>button:hover:not(:disabled){border-color:var(--c-on-panel)}.grade-ladder li.chosen>button{border-color:var(--teal);background:var(--c-mint);box-shadow:inset 3px 0 0 var(--teal)}.grade-ladder li.out-of-reach>button{opacity:.55;cursor:not-allowed}.grade-ladder li.secured>button{background:var(--c-blue-white)}.grade-ladder li b{font-size:var(--text-3xs);color:var(--muted);white-space:nowrap;font-weight:800}.grade-ladder li>button>strong{font:700 var(--text-lg)/1.25 var(--font-display);text-align:right}.grade-ladder li>button>small{font-size:var(--text-3xs);color:var(--muted);line-height:1.35}.grade-ladder li.out-of-reach>button>strong{color:var(--c-red);font-size:var(--text-sm)}.grade-ladder li.secured>button>strong{color:var(--c-blue-deep);font-size:var(--text-sm)}.grade-need-bar{border-radius:var(--radius-pill);background:var(--c-line-soft);height:8px;position:relative;overflow:visible}.grade-need-bar i{border-radius:inherit;background:var(--c-on-panel);height:100%;display:block}.grade-ladder li.chosen .grade-need-bar i{background:var(--teal)}.grade-need-bar em{border-radius:var(--radius-pill);background:var(--c-rose);width:2px;height:16px;position:absolute;top:-4px;transform:translate(-1px)}.grade-ladder-note{padding:0 var(--space-6) var(--space-6);color:var(--muted);font-size:var(--text-3xs);margin:0;line-height:1.5}.grade-paper-body{padding:var(--space-4) var(--space-6) var(--space-6);gap:var(--space-4);display:grid}.grade-paper-body>.muted{font-size:var(--text-2xs);margin:0;line-height:1.5}.grade-paper-set{align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.grade-paper-set label{gap:var(--space-2);display:grid}.grade-paper-set label>span{font-size:var(--text-3xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:900}.grade-paper-set .hours-input{width:148px}.grade-paper-set .hours-input input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--c-surface-sunken);width:100%;height:44px;color:var(--ink);padding:0 var(--space-3)}.grade-paper-set .primary-button{min-height:44px;padding:0 var(--space-5)}.grade-paper-set .ghost-button{min-height:44px}.grade-paper-log{gap:var(--space-4);display:grid}.grade-log-day{gap:var(--space-2);display:grid}.grade-log-day h5{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);color:var(--c-ink);font:800 var(--text-2xs)/1.3 var(--font-body);flex-wrap:wrap;margin:0;display:flex}.grade-log-day h5 small{color:var(--c-muted);font-size:var(--text-3xs);font-weight:800}.grade-log-day ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.grade-paper-log li{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--c-surface-sunken);box-shadow:inset 3px 0 0 var(--c-on-panel);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 72px 108px;align-items:center;display:grid}.grade-paper-log li.hit{background:var(--c-mint);box-shadow:inset 3px 0 0 var(--teal)}.grade-paper-log li.miss{background:var(--c-red-soft);box-shadow:inset 3px 0 0 var(--c-red)}.grade-paper-log strong{font-size:var(--text-2xs);font-weight:900}.grade-paper-log span{font-size:var(--text-3xs);color:var(--muted)}.grade-paper-log b{font:700 var(--text-md)/1.35 var(--font-display);text-align:right}.grade-paper-log i{align-items:center;gap:var(--space-1);font-style:normal;font-size:var(--text-3xs);color:var(--c-ink-soft);justify-content:flex-end;font-weight:800;display:inline-flex}.grade-log-more{min-height:36px;font-size:var(--text-3xs);justify-self:start}.paper-target-strip{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.paper-target-strip article{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--line);border-left:4px solid var(--c-on-panel);border-radius:var(--radius-lg);background:var(--c-surface-raised);display:grid}.paper-target-strip article.on-target{border-left-color:var(--teal)}.paper-target-strip article.under{border-left-color:var(--c-amber)}.paper-target-strip strong{font-size:var(--text-2xs);font-weight:900}.paper-target-strip strong b{margin-left:var(--space-1);padding:var(--space-1);border-radius:var(--radius-xs);background:var(--c-line-soft);color:var(--c-ink-soft);font-size:var(--text-3xs)}.paper-target-strip span{font-size:var(--text-3xs);color:var(--muted)}.paper-target-strip .paper-target-figures{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.paper-target-strip .paper-target-figures b{font:700 var(--text-xl)/1.25 var(--font-display)}.paper-target-strip small{font-size:var(--text-3xs);color:var(--muted);text-align:right}.paper-target-bar{border-radius:var(--radius-pill);background:var(--c-line-soft);height:8px;position:relative}.paper-target-bar i{border-radius:inherit;background:var(--c-on-panel);height:100%;display:block}.paper-target-strip article.on-target .paper-target-bar i{background:var(--teal)}.paper-target-strip article.under .paper-target-bar i{background:var(--c-amber)}.paper-target-bar em{border-radius:var(--radius-pill);background:var(--c-rose);width:2px;height:16px;position:absolute;top:-4px;transform:translate(-1px)}.paper-live-target{font-weight:800}.paper-live-target.hit{color:var(--c-teal-deep)}.paper-live-target.miss{color:var(--c-amber-ink)}.paper-no-subject{padding:var(--space-5);border-radius:var(--radius-md);background:var(--c-amber-soft);color:var(--c-amber-ink);font-size:var(--text-2xs);margin:0;line-height:1.5}@media (max-width:1180px){.grade-hero{grid-template-columns:1fr}.grade-ladder li>button{gap:var(--space-2);grid-template-columns:52px 96px minmax(60px,1fr) 64px 128px}}@media (max-width:850px){.grade-outcome-rows,.grade-outcome-note{padding-left:var(--space-4);padding-right:var(--space-4)}.grade-setup,.grade-form{grid-template-columns:1fr}.grade-source-strip{grid-template-columns:16px minmax(0,1fr)}.grade-source-strip a{grid-column:2;justify-self:start}.grade-ladder ul,.grade-ladder-note,.grade-paper-body{padding-left:var(--space-4);padding-right:var(--space-4)}.grade-ladder li>button{row-gap:var(--space-2);grid-template-columns:52px minmax(0,1fr) 72px;grid-template-areas:"badge minimum need""bar bar bar""note note note"}.grade-ladder li .grade-badge{grid-area:badge}.grade-ladder li>button>b{grid-area:minimum}.grade-ladder li .grade-need-bar{grid-area:bar}.grade-ladder li>button>strong{grid-area:need}.grade-ladder li>button>small{grid-area:note}.grade-paper-log li{grid-template-columns:minmax(0,1fr) 64px 96px}.grade-paper-log span{grid-area:2/1}}
.guide-page{gap:var(--space-5);display:grid}.guide-loop{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-2xl);padding:clamp(var(--space-5), 3vw, var(--space-7));box-shadow:var(--shadow-sm)}.guide-loop-head h3{margin:var(--space-1) 0 var(--space-2);font:650 var(--text-2xl)/1.2 var(--font-display);letter-spacing:-.02em}.guide-loop-head p.muted{margin:0 0 var(--space-6);font-size:var(--text-sm)}.guide-loop-steps{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.guide-loop-steps li{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);grid-template-columns:40px minmax(0,1fr);align-items:start;display:grid}.guide-loop-mark{border-radius:var(--radius-md);background:var(--soft-mint);width:40px;height:40px;color:var(--teal);font-size:var(--text-lg);place-items:center;display:grid}.guide-loop-index{margin:0 0 var(--space-1);font-size:var(--text-3xs);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:900}.guide-loop-steps strong{font-size:var(--text-md);display:block}.guide-loop-steps p:last-child{margin:var(--space-1) 0 0;color:var(--c-ink-soft);font-size:var(--text-sm);line-height:1.55}.guide-statuses{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-2xl);padding:clamp(var(--space-5), 3vw, var(--space-7));gap:var(--space-5);box-shadow:var(--shadow-sm);display:grid}.guide-statuses h3{margin:var(--space-1) 0 var(--space-2);font:650 var(--text-xl)/1.25 var(--font-display)}.guide-statuses p.muted{font-size:var(--text-sm);color:var(--c-ink-soft);margin:0;line-height:1.55}.guide-statuses table{border-collapse:collapse;width:100%}.guide-statuses th,.guide-statuses td{text-align:left;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--line);font-size:var(--text-sm);font-weight:500}.guide-statuses thead th{font-size:var(--text-3xs);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:900}.guide-statuses tbody tr:last-child th,.guide-statuses tbody tr:last-child td{border-bottom:0}.guide-statuses td:last-child{color:var(--ink);white-space:nowrap;font-weight:800}.guide-status{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-size:var(--text-2xs);background:var(--soft-sage);color:var(--ink);font-weight:900;display:inline-block}.guide-status.learning{background:var(--c-rose-soft);color:var(--c-amber-ink)}.guide-status.practising{background:var(--c-blue-mist);color:var(--c-ink-soft)}.guide-status.covered{background:var(--c-mint);color:var(--c-teal-ink)}.guide-status.exam-ready{background:var(--teal);color:var(--c-on-accent)}.guide-status.difficulty-easy{background:var(--c-teal-soft);color:var(--c-teal-ink)}.guide-status.difficulty-normal{background:var(--c-surface-muted);color:var(--c-muted)}.guide-status.difficulty-hard{background:var(--c-rose-soft);color:var(--c-red-ink)}.guide-sections{gap:var(--space-2);display:grid}.guide-section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.guide-section.open{border-color:var(--c-on-panel);box-shadow:var(--shadow-sm)}.guide-section h3{font:inherit;margin:0}.guide-section h3>button{gap:var(--space-4);width:100%;padding:var(--space-4);text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:40px minmax(0,1fr) 24px;align-items:center;display:grid}.guide-section h3>button:hover{background:var(--soft-sage)}.guide-section-mark{border-radius:var(--radius-md);background:var(--soft-sage);width:40px;height:40px;color:var(--teal);font-size:var(--text-lg);place-items:center;display:grid}.guide-section-title{gap:var(--space-1);display:grid}.guide-section-title strong{font-size:var(--text-md)}.guide-section-title small{color:var(--c-ink-soft);font-size:var(--text-sm);line-height:1.5}.guide-section-toggle{color:var(--muted);font-size:var(--text-lg)}.guide-section.open .guide-section-toggle{color:var(--teal)}.guide-section-body{padding:0 var(--space-4) var(--space-5)}.guide-section-body dl{gap:var(--space-3);margin:0;display:grid}.guide-section-body dl>div{gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);display:grid}.guide-section-body dt{font-size:var(--text-sm);font-weight:900}.guide-section-body dd{color:var(--c-ink-soft);font-size:var(--text-sm);margin:0;line-height:1.6}.guide-tip{margin:var(--space-4) 0 0;gap:var(--space-2);border-radius:var(--radius-md);background:var(--soft-peach);padding:var(--space-3) var(--space-4);color:var(--c-amber-ink);font-size:var(--text-sm);align-items:baseline;line-height:1.55;display:flex}.guide-tip mark.key-fact{color:inherit;background:0 0;margin:0;padding:0}.onboarding-loop{gap:var(--space-3);margin-bottom:var(--space-6);display:grid}.onboarding-loop .guide-loop-steps{gap:var(--space-2)}.onboarding-loop .guide-loop-steps li{padding:var(--space-3) var(--space-4);background:var(--card)}.onboarding-loop .guide-loop-steps p:last-child{font-size:var(--text-sm)}.onboarding-statuses{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);background:var(--card);display:grid}.onboarding-statuses>p{color:var(--c-ink-soft);font-size:var(--text-sm);margin:0;line-height:1.55}.onboarding-status-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.onboarding-status-row span{align-items:baseline;gap:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--line);padding:var(--space-1) var(--space-3);font-size:var(--text-2xs);background:var(--paper);display:inline-flex}.onboarding-status-row b{font-weight:900}.onboarding-status-row small{color:var(--muted)}@media (max-width:760px){.guide-section-body dl>div{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.guide-loop-steps li{gap:var(--space-3);grid-template-columns:32px minmax(0,1fr)}.guide-loop-mark{width:32px;height:32px;font-size:var(--text-md)}.guide-section h3>button{gap:var(--space-3);padding:var(--space-3);grid-template-columns:32px minmax(0,1fr) 20px}.guide-section-mark{width:32px;height:32px;font-size:var(--text-md)}.guide-section-body{padding:0 var(--space-3) var(--space-4)}.guide-statuses table,.guide-statuses tbody,.guide-statuses tr,.guide-statuses th,.guide-statuses td{display:block}.guide-statuses thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.guide-statuses tbody{gap:var(--space-2);display:grid}.guide-statuses tbody tr{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.guide-statuses tbody th,.guide-statuses tbody td{border:0;padding:0}.guide-statuses tbody th+td{margin-top:var(--space-2)}.guide-statuses tbody td+td{margin-top:var(--space-1);white-space:normal}}.guide-walkthrough{margin:var(--space-4) 0 var(--space-6);border:1px solid var(--c-line-strong);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);color:var(--c-teal-deep);font-size:var(--text-2xs);font-weight:850;text-decoration:none;display:inline-block}.guide-walkthrough:hover{border-color:var(--c-teal);background:var(--c-mint)}.guide-lessons .guide-walkthrough{min-height:44px;padding:var(--space-2) var(--space-4);align-items:center;margin:0;display:inline-flex}.guide-detail-fold{margin:0}.guide-detail-fold>summary{cursor:pointer;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);color:var(--c-teal-deep);font-size:var(--text-xs);font-weight:800}.guide-detail-fold>summary:hover{background:var(--c-sage)}.guide-detail-fold[open]>summary{margin-bottom:var(--space-4)}
