a{color:var(--color-group-a-deep);text-underline-offset:.2em}h1,h2,h3{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal;line-height:1.2}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{max-width:65ch}button,.button{min-height:3rem;padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-frame);border-radius:var(--radius-control);background:var(--color-frame);color:var(--color-paper);font:inherit;cursor:pointer;white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}button.quiet,.button--quiet{background:var(--color-surface);color:var(--color-ink)}button.danger{background:var(--color-error);color:var(--color-paper)}button:active,.button:active{transform:translateY(1px)}button:disabled{background:var(--color-disabled);color:var(--color-ink);cursor:not-allowed;transform:none}:focus-visible{outline:var(--rule-frame) solid var(--color-focus);outline-offset:3px}input,select{width:100%;min-height:3rem;padding:var(--space-sm);border:var(--rule-thin) solid var(--color-frame);border-radius:var(--radius-control);font:inherit;background:var(--color-surface);color:var(--color-ink);min-width:0}input:disabled,select:disabled{background:var(--color-surface-raised);color:var(--color-muted);cursor:not-allowed}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;min-height:1.25rem;accent-color:var(--color-group-a-deep);flex-shrink:0}label,.field{gap:var(--space-xs);display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-block-end:var(--space-sm);padding:0;font-weight:700}summary{min-height:3rem;padding-block:var(--space-sm);cursor:pointer;font-weight:700}details{border-block:var(--rule-thin) solid var(--color-rule);padding-block:var(--space-xs)}.muted{color:var(--color-muted)}.error{color:var(--color-error);overflow-wrap:anywhere;min-height:1lh}.skip-link{padding:var(--space-sm);background:var(--color-surface);color:var(--color-ink);position:absolute;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);transform:translateY(-200%)}.skip-link:focus{z-index:10;transform:none}.site-header{width:min(100%,76rem);padding:var(--space-lg) var(--space-md);gap:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);flex-wrap:wrap;align-items:center;margin-inline:auto;display:flex}.brand{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);flex:1;font-weight:800;text-decoration:none}.brand span{font:400 var(--text-sm)/1.5 var(--font-body);color:var(--color-muted);display:block}.site-header nav{gap:var(--space-lg);order:3;width:100%;display:flex}.site-header nav a,.account-nav a:not(.button){white-space:nowrap;align-items:center;min-height:3rem;display:inline-flex}.site-header nav a[aria-current]{font-weight:700;text-decoration-thickness:3px}.site-header--learning .brand span{display:none}.site-header--learning .brand{font-size:var(--text-md)}.site-header--learning nav{gap:var(--space-md);order:0;width:auto}.site-header--learning nav a{font-size:var(--text-sm)}.account-nav .actions{gap:var(--space-sm)}.app-main{width:min(100%,72rem);padding:var(--space-xl) var(--space-md) var(--space-2xl);margin-inline:auto}.app-main--learning{max-width:58rem}.page-heading{max-width:48rem;margin-block-end:var(--space-xl)}.page-heading h1{margin-block:0 var(--space-md)}.page-heading p{font-size:var(--text-md)}.page-heading .muted{font-size:var(--text-base)}.section-stack{gap:var(--space-xl);display:grid}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.actions{gap:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.actions a:not(.button){align-items:center;min-height:3rem;display:inline-flex}.grade-catalogue{border-top:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr);display:grid}.grade-item{align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xs);border-bottom:var(--rule-thin) solid var(--color-rule);color:var(--color-ink);grid-template-columns:2.5rem minmax(0,1fr) auto;text-decoration:none;display:grid}.grade-item h2,.grade-item p{margin:0}.grade-item h2{margin-block-end:var(--space-xs)}.grade-item div>span{color:var(--color-muted);font-size:var(--text-sm)}.grade-number{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-group-a-deep);font-weight:800}.support-band{margin-block:var(--space-2xl);padding-block:var(--space-xl);border-block:var(--rule-thin) solid var(--color-rule)}.lab-links{gap:var(--space-lg);padding:0;list-style:none;display:grid}.lab-links a{gap:var(--space-xs);min-height:3rem;text-decoration:none;display:grid}.lab-links strong{text-underline-offset:.2em;text-decoration:underline}.lab-links span{color:var(--color-muted)}.lesson-list,.profile-list,.progress-list{margin:0;padding:0;list-style:none}.lesson-list li,.profile-list li,.progress-list li{justify-content:space-between;align-items:center;gap:var(--space-lg);padding-block:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule);flex-wrap:wrap;display:flex}.lesson-list h2,.profile-list h3,.progress-list h2{margin:0}.lesson-list p,.profile-list p,.progress-list p{margin-block:var(--space-xs)}.lesson-list li>div,.progress-list li>div{flex:22rem}.back-link{align-items:center;min-height:3rem;display:inline-flex}.lesson-heading{margin-block:var(--space-md) var(--space-lg)}.lesson-heading h1{margin-block-end:var(--space-sm)}.concept-note{margin-block-end:var(--space-xl)}.auth-layout{gap:var(--space-xl);display:grid}.auth-layout header{max-width:38rem}.auth-panel{max-width:30rem;padding:var(--space-lg);background:var(--color-surface);color:var(--color-ink);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-panel)}.form-stack{gap:var(--space-md);display:grid}.form-stack p{margin:0}.form-stack button[type=submit]{justify-self:start}.check-label{align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-height:3rem;display:flex}.narrow,.reading{max-width:46rem}.narrow details{margin-block:var(--space-md)}.filters{gap:var(--space-lg);flex-wrap:wrap;display:flex}.filters label{flex:16rem;max-width:28rem}.reading h2{margin-block-start:var(--space-xl)}.reading li{margin-block:var(--space-sm)}.recent-attempts{padding-inline-start:var(--space-lg)}.recent-attempts li{margin-block:var(--space-lg)}.site-footer{width:min(100%,72rem);padding:var(--space-xl) var(--space-md);border-top:var(--rule-thin) solid var(--color-rule);margin-inline:auto}.site-footer>p{font:700 var(--text-lg)/1.2 var(--font-display)}.site-footer>div{gap:var(--space-lg);color:var(--color-muted);flex-wrap:wrap;align-items:center;display:flex}.site-footer a{white-space:nowrap;align-items:center;min-height:3rem;display:inline-flex}.no-script{padding:var(--space-md)}.practice-context{justify-content:space-between;gap:var(--space-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}.practice-context p{margin:0}.practice h2{margin-block:var(--space-md) var(--space-lg)}.math-model{margin:var(--space-lg) 0;padding-block:var(--space-lg);border-block:var(--rule-thin) solid var(--color-rule)}.math-model figcaption{max-width:65ch;margin-block-end:var(--space-lg)}.model-groups{gap:var(--space-lg);flex-wrap:wrap;display:flex}.equal-group{border:var(--rule-thin) solid var(--color-frame);padding:var(--space-sm);border-radius:var(--radius-panel)}.equal-group .counter-grid{grid-template-columns:repeat(2,2.75rem);display:grid}.counter-grid{gap:var(--space-xs);flex-wrap:wrap;max-width:18rem;display:flex}button.counter{border-radius:var(--radius-counter);background:var(--color-group-a);width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--color-ink);border:var(--rule-thin) solid var(--color-frame);padding:0}button.counter--marked{background:var(--color-group-b);color:var(--color-ink);border-style:dashed}.counter--taken{border:var(--rule-thin) dashed var(--color-frame);border-radius:var(--radius-counter);width:2.75rem;height:2.75rem;font-size:var(--text-lg);color:var(--color-muted);justify-content:center;align-items:center;display:inline-flex}.fraction-strip{border:var(--rule-thin) solid var(--color-frame);gap:0;width:100%;min-height:6rem;display:grid}.fraction-part{border-inline-end:var(--rule-thin) solid var(--color-frame)}.fraction-part.selected{background:var(--color-group-a);color:var(--color-ink)}.fraction-part.second{background:var(--color-group-b);color:var(--color-ink)}.fraction-part.selected:after,.fraction-part.second:after{content:"/";text-align:center;font-size:var(--text-xl);color:var(--color-ink);display:block}.unit-grid{border:var(--rule-thin) solid var(--color-frame);gap:0;width:100%;max-width:34rem;display:grid}.unit-grid>span{aspect-ratio:1;border:var(--rule-thin) solid var(--color-frame);background:var(--color-group-b);color:var(--color-ink)}.math-model svg{width:min(100%,20rem);height:auto;fill:var(--color-group-b);stroke:var(--color-frame);stroke-width:3px}.tens{gap:var(--space-sm);flex-wrap:wrap;display:flex}.ten-rod{border:var(--rule-thin) solid var(--color-frame);grid-template-rows:repeat(10,1.2rem);width:2.75rem;display:grid}.ten-rod>span{border-bottom:var(--rule-thin) solid var(--color-frame);background:var(--color-group-a)}.data-bars{gap:var(--space-md);display:grid}.data-bars>div{align-items:center;gap:var(--space-sm);grid-template-columns:4rem minmax(0,1fr) 2rem;display:grid}.bar-units{height:2.75rem;display:flex}.bar-units>span{border:var(--rule-thin) solid var(--color-frame);background:var(--color-group-a);width:10%}.math-values{gap:var(--space-xl);flex-wrap:wrap;display:flex}.math-values dt{color:var(--color-muted)}.math-values dd{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;margin:0}.number-ticks{border-block-end:var(--rule-thin) solid var(--color-frame);gap:0;display:grid}.tick{min-width:0;padding-block:var(--space-sm);text-align:center;font-variant-numeric:tabular-nums;display:grid}.tick--start{background:var(--color-group-b);color:var(--color-ink);font-weight:700}.tick small{min-height:1.5rem;font-size:var(--text-sm)}.answer-field{max-width:14rem}.answer-field input{font-size:var(--text-lg)}.reason-options{gap:var(--space-sm);display:grid}.reason-option{align-items:center;gap:var(--space-sm);padding:var(--space-md);border:var(--rule-thin) solid var(--color-frame);border-radius:var(--radius-control);cursor:pointer;min-height:3rem;display:flex}.reason-option:has(input:checked){background:var(--color-hint-surface);color:var(--color-ink);border-style:dashed}.feedback{margin-block:var(--space-lg);min-height:1lh;font-weight:700}.feedback--success{color:var(--color-success)}.hint{background:var(--color-hint-surface);color:var(--color-ink);padding:var(--space-lg);border-radius:var(--radius-panel)}.hint h3{margin:0}@media (hover:hover){button:not(:disabled):hover,.button:hover{text-decoration:underline}input:hover,select:hover,.grade-item:hover{background:var(--color-surface-raised);color:var(--color-ink)}}@media (width>=40rem){.grade-catalogue{column-gap:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr))}.app-main,.site-header,.site-footer{padding-inline:var(--space-xl)}.lab-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=60rem){.site-header{flex-wrap:nowrap}.site-header nav{width:auto;margin-inline:var(--space-xl);order:0}.auth-layout{gap:var(--space-2xl);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){button,.button{transition:none}button:active,.button:active{transform:none}}html{font-size:100%}body{color:var(--color-ink);font-size:1.0625rem}a{color:var(--color-link)}h1,h2,h3{letter-spacing:-.02em;font-weight:900}h1{font-size:var(--text-display)}.page-heading h1,.reading h1{color:var(--color-ink)}.reading h2,.support-band h2,.section-stack>header h2{color:var(--color-heading)}button,.button{background:var(--color-accent);color:var(--color-accent-ink);border:var(--rule-thin) solid var(--color-accent-edge);border-block-end-width:var(--rule-frame);letter-spacing:.01em;font-weight:800;line-height:1.35}button.quiet,.button--quiet{background:var(--color-paper);color:var(--color-link);border-color:var(--color-rule)}button.danger{background:var(--color-error-surface);color:var(--color-error);border-color:var(--color-error)}button:disabled{background:var(--color-disabled);color:var(--color-muted);border-color:var(--color-rule)}form[aria-busy=true] button[type=submit]{cursor:wait}input,select{border-color:var(--color-rule);background:var(--color-surface-raised);color:var(--color-ink)}input[type=checkbox],input[type=radio]{accent-color:var(--color-link)}input[aria-invalid=true]{border-color:var(--color-error)}input:disabled,select:disabled{color:var(--color-muted)}.site-header{width:100%;padding-inline:max(var(--space-md),calc((100% - 70rem) / 2));padding-block:var(--space-md);gap:var(--space-xs);border-color:var(--color-divider);background:var(--color-paper);color:var(--color-ink)}.brand{color:var(--color-heading);font-size:var(--text-md);letter-spacing:-.025em;font-weight:900}.brand span{letter-spacing:0}.site-header nav{gap:var(--space-lg)}.site-header nav a{color:var(--color-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.053em;font-weight:700;text-decoration:none}.site-header nav a[aria-current]{color:var(--color-link);text-decoration:underline;text-decoration-thickness:var(--rule-thin)}.site-header--learning{padding-block:var(--space-sm)}.site-header--learning nav a{text-transform:none;letter-spacing:0}.app-main{padding-block-start:var(--space-xl)}.app-main--learning h1{font-size:clamp(var(--text-lg),4vw,var(--text-2xl))}.lesson-heading h1{color:var(--color-ink)}.page-heading p{font-size:var(--text-base);line-height:1.6}.home-intro{gap:var(--space-lg);align-items:center;margin-block-end:var(--space-xl);display:grid}.home-intro .page-heading{margin:0}.home-intro .actions{margin-block:var(--space-lg);gap:var(--space-sm)}.home-intro .muted{max-width:48ch}.math-preview{padding:var(--space-lg) 0;width:100%;max-width:25rem;margin:0}.math-preview__parts{justify-content:center;align-items:center;gap:var(--space-md);display:flex}.math-preview__group{justify-items:center;gap:var(--space-sm);display:grid}.math-preview__dots{justify-content:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.preview-dot{aspect-ratio:1;background:var(--color-spark);border:var(--rule-thin) solid var(--color-link);border-radius:var(--radius-counter);width:clamp(1.65rem,3vw,2.25rem);display:block}.preview-dot--second{background:var(--color-accent-soft);border:var(--rule-thin) dashed var(--color-accent-edge)}.math-preview strong,.math-preview__symbol{font:900 var(--text-2xl)/1 var(--font-display);color:var(--color-ink)}.math-preview__parts>.math-preview__symbol{padding-block-end:var(--space-xl)}.math-preview__whole{margin-block:var(--space-lg);padding-block:var(--space-lg);justify-content:center;align-items:center;gap:var(--space-sm);border-block:var(--rule-thin) solid var(--color-divider);display:flex}.math-preview figcaption{text-align:center;font-size:var(--text-sm);color:var(--color-muted)}.grade-catalogue{border-color:var(--color-divider)}.grade-item{padding-block:var(--space-lg);border-color:var(--color-divider)}.grade-number{color:var(--color-heading);font-weight:900}.grade-item h2{font-size:var(--text-md);color:var(--color-ink)}.grade-item>span:last-child{color:var(--color-link);font-size:var(--text-md)}.support-band{border-color:var(--color-divider)}.support-band h2{font-size:clamp(var(--text-lg),3vw,var(--text-xl));max-width:28ch}.lesson-list li,.profile-list li,.progress-list li{border-color:var(--color-divider)}.lesson-list h2,.progress-list h2{font-size:var(--text-md)}.auth-panel{background:var(--color-paper);max-width:30rem;color:var(--color-ink);border:0;padding:0}.form-stack{gap:var(--space-lg)}.form-stack button[type=submit]{justify-self:stretch;width:100%}.check-label{flex-wrap:nowrap}.check-label--consent{align-items:start}.check-label--consent input{margin-block-start:.2rem}.check-label--consent span{flex:1;min-width:0}.check-label--consent a{white-space:nowrap}.reading{padding-block-end:var(--space-xl)}.reading h2{font-size:var(--text-lg);margin-block-start:var(--space-xl)}.reading li::marker{color:var(--color-heading);font-weight:700}.site-footer{background:var(--color-accent);width:100%;max-width:none;color:var(--color-accent-ink);padding-block:var(--space-xl);border:0}.site-footer .site-footer__inner{width:min(100%,67rem);color:inherit;margin-inline:auto;display:block}.site-footer .site-footer__brand{font:900 var(--text-xl)/1.2 var(--font-display);margin:0}.site-footer__inner>p:not(.site-footer__brand){margin-block:var(--space-sm) var(--space-lg);font-size:var(--text-base)}.site-footer__inner>div{gap:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.site-footer a{color:var(--color-accent-ink);font-weight:700}.site-footer--learning{background:var(--color-paper);color:var(--color-muted);border-block-start:var(--rule-thin) solid var(--color-divider)}.site-footer--learning .site-footer__brand{font-size:var(--text-md);color:var(--color-heading)}.site-footer--learning a{color:var(--color-link)}.reason-option{border-color:var(--color-rule)}.reason-option:has(input:checked){border-color:var(--color-link);background:var(--color-hint-surface);color:var(--color-ink)}.math-model{border-color:var(--color-divider)}.hint{border:var(--rule-thin) solid var(--color-link)}@media (hover:hover) and (pointer:fine){.site-header nav a:hover{color:var(--color-link);text-decoration:underline}.grade-item:hover{background:var(--color-success-surface);color:var(--color-ink)}input:hover,select:hover{background:var(--color-paper);color:var(--color-ink)}}@media (width>=40rem){.brand{font-size:var(--text-lg)}.home-intro{gap:var(--space-xl);margin-block:var(--space-lg) var(--space-2xl);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.math-preview{justify-self:end}.site-footer{padding-inline:var(--space-xl)}}@media (width>=60rem){.brand{font-size:var(--text-xl)}.site-header{gap:var(--space-md)}.site-header--learning .brand{font-size:var(--text-md)}.site-header nav{margin-inline:var(--space-lg)}.site-header--learning nav{margin-inline:0}.auth-layout{padding-block:var(--space-lg);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}.site-header nav{flex-wrap:wrap;row-gap:0}
