:root{color-scheme:light dark}*{box-sizing:border-box}body{margin:0;background:var(--tools-bg);color:var(--tools-text);font-family:var(--tools-sans)}button,input,select{font:inherit}.math-main{width:min(1040px,calc(100% - 40px));margin:0 auto}.math-hero{max-width:850px;margin:42px auto 54px;text-align:center}.eyebrow{margin:0;color:var(--tools-green-text);font:700 .72rem/1.3 var(--tools-mono);letter-spacing:.12em;text-transform:uppercase}.math-hero>.eyebrow{margin-bottom:var(--tools-hero-eyebrow-gap)}.workspace-heading .eyebrow,.practice-header .eyebrow,.results-heading .eyebrow{margin-bottom:.7rem}.math-hero h1,.math-workspace h2{margin:0;font-family:var(--tools-serif);letter-spacing:-.035em}.math-hero h1{max-width:850px;margin:0 auto;font-size:clamp(2.7rem,6vw,4.8rem);font-weight:500;line-height:.98;letter-spacing:-.055em}.math-lede{max-width:680px;margin:1.75rem auto 0;color:var(--tools-muted);font-size:clamp(1rem,2vw,1.12rem);line-height:1.75}.hero-proof{margin:1.25rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:9px 20px;color:var(--tools-green-text);font-size:.77rem;font-weight:750;list-style:none}.hero-proof li{display:flex;align-items:center;gap:.4rem}.hero-proof svg{width:14px;height:14px;display:block;flex:0 0 auto}.math-workspace{margin:0 auto 72px;padding:clamp(24px,5vw,52px);border:1px solid var(--tools-line);border-radius:24px;background:var(--tools-surface);box-shadow:0 22px 60px #17242e12}.workspace-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(260px,1.2fr);align-items:end;gap:24px 44px;padding-bottom:26px;border-bottom:1px solid var(--tools-line)}.workspace-heading h2,.practice-header h2,.results-heading h2{font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.05}.workspace-heading-aside{display:flex;align-items:center;gap:22px}.workspace-heading-aside>p{flex:1 1 auto;margin:0;color:var(--tools-muted);line-height:1.6}.workspace-illustration{width:128px;height:auto;flex:0 0 auto}.setup-grid{margin-top:30px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);align-items:start;gap:30px}.setup-controls{display:grid;gap:24px}fieldset{min-width:0;margin:0;padding:0;border:0}legend,.count-field>label{margin-bottom:10px;color:var(--tools-text);font-size:.84rem;font-weight:800}.family-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.family-option,.difficulty-options label,.operation-options label{position:relative;border:1px solid var(--tools-line);background:var(--tools-surface-soft);cursor:pointer}.family-option{min-height:96px;padding:14px 16px;display:flex;align-items:flex-start;border-radius:14px;text-align:start}.family-option input,.difficulty-options input,.operation-options input{position:absolute;opacity:0;pointer-events:none}.family-option>span{display:grid;gap:4px}.family-option small{color:var(--tools-muted);line-height:1.4}.family-option.selected,.difficulty-options label.selected,.operation-options label.selected{border-color:var(--tools-green);background:var(--tools-green-soft);box-shadow:inset 0 0 0 1px var(--tools-green)}.family-option:has(input:focus-visible),.difficulty-options label:has(input:focus-visible),.operation-options label:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--tools-green) 35%,transparent);outline-offset:2px}.difficulty-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.difficulty-options label{min-height:48px;padding:8px;display:grid;place-items:center;border-radius:11px;text-align:center;font-size:.82rem;font-weight:800}.difficulty-options .custom-option{grid-column:1 / -1;cursor:default}.count-field{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:16px}.count-field>label{margin:0}.count-field>small{grid-column:1 / -1;color:var(--tools-muted);font-size:.78rem;line-height:1.5}select,.advanced-grid input[type=number],.answer-form input{width:100%;min-height:46px;border:1px solid var(--tools-line);border-radius:10px;background:var(--tools-surface);color:var(--tools-text)}select,.advanced-grid input[type=number]{padding:0 12px}select:focus-visible,.advanced-grid input:focus-visible,.answer-form input:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--tools-green) 42%,transparent);outline-offset:2px}.operation-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.operation-options label{min-height:72px;padding:10px 6px;display:grid;place-items:center;gap:2px;border-radius:12px}.operation-options label>span{font-family:var(--tools-serif);font-size:1.45rem;line-height:1}.operation-options small{color:var(--tools-muted);font-size:.7rem}.advanced-settings,.printable-settings{border:1px solid var(--tools-line);border-radius:14px;background:var(--tools-surface-soft)}.advanced-settings>summary,.printable-settings>summary{min-height:48px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:800}.advanced-settings>summary:after,.printable-settings>summary:after{content:"+";font-size:1.2rem}.advanced-settings[open]>summary:after,.printable-settings[open]>summary:after{content:"−"}.advanced-body,.printable-settings>div{padding:0 16px 18px;border-top:1px solid var(--tools-line)}.advanced-body>p,.printable-settings p{margin:14px 0;color:var(--tools-muted);font-size:.86rem;line-height:1.5}.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.advanced-grid>label:not(.check-row){display:grid;gap:7px;color:var(--tools-muted);font-size:.76rem;font-weight:750}.check-row{width:100%;min-height:46px;padding:8px 10px;display:flex;align-items:center;gap:10px;border:1px solid var(--tools-line);border-radius:10px;background:var(--tools-surface);font-size:.8rem;font-weight:700;align-self:end}.check-row input{width:18px;height:18px;accent-color:var(--tools-green)}.setup-preview{position:sticky;top:20px;padding:20px;border:1px solid var(--tools-line);border-radius:18px;background:var(--tools-bg)}.preview-heading{display:flex;justify-content:space-between;gap:12px;color:var(--tools-muted);font-size:.75rem}.preview-heading strong{color:var(--tools-green-text)}.math-expression{margin:22px 0;display:grid;justify-items:center;gap:9px;color:var(--tools-text);font-family:var(--tools-serif);font-size:clamp(1.65rem,4vw,2.5rem);font-variant-numeric:lining-nums tabular-nums;line-height:1.2;text-align:center}.math-expression.system{padding-inline-start:22px;border-inline-start:3px solid var(--tools-green);justify-items:start;text-align:start}.setup-preview>strong{font-size:.86rem}.setup-preview ul{margin:10px 0 0;padding-inline-start:18px;color:var(--tools-muted);font-size:.78rem;line-height:1.7}.setup-actions{margin-top:30px;padding-top:24px;border-top:1px solid var(--tools-line);display:grid;grid-template-columns:minmax(180px,.45fr) minmax(280px,1fr);align-items:start;gap:12px}.button{min-height:46px;padding:.75rem 1.15rem;border:1px solid transparent;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:800;line-height:1.2;text-align:center}.button-primary{min-height:50px;background:var(--tools-action);color:var(--tools-on-action)}.button-primary:hover{background:var(--tools-action-hover)}.button-secondary{border-color:var(--tools-line);background:var(--tools-surface);color:var(--tools-text)}.button-secondary:hover{border-color:color-mix(in srgb,var(--tools-green) 48%,var(--tools-line));background:var(--tools-surface-soft)}.button-danger{border-color:color-mix(in srgb,var(--tools-red) 62%,var(--tools-line));background:var(--tools-surface);color:var(--tools-red)}.button-danger:hover{border-color:var(--tools-red);background:color-mix(in srgb,var(--tools-red) 8%,var(--tools-surface))}.button:disabled{cursor:wait;opacity:.62}.print-actions,.answer-actions,.results-actions{display:flex;flex-wrap:wrap;gap:10px}.inline-error{grid-column:1 / -1;margin:6px 0 0;color:var(--tools-red);font-size:.86rem;font-weight:700;line-height:1.5}.printable-unavailable{min-height:50px;margin:0;padding:10px 14px;border:1px solid var(--tools-line);border-radius:11px;display:flex;align-items:center;color:var(--tools-muted);font-size:.82rem;line-height:1.45}.practice-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);align-items:end;gap:24px}.practice-header-actions{display:grid;justify-items:end;gap:10px}.finish-session{justify-self:end}.session-abandon-trigger{padding:2px 0;border:0;background:transparent;color:var(--tools-red);cursor:pointer;font:inherit;font-size:.8rem;font-weight:750;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--tools-red) 36%,transparent);text-underline-offset:3px}.session-abandon-trigger:hover{text-decoration-color:currentColor}progress{width:100%;height:10px;border:0;border-radius:999px;overflow:hidden;background:var(--tools-line)}progress::-webkit-progress-bar{background:var(--tools-line)}progress::-webkit-progress-value{background:var(--tools-green)}progress::-moz-progress-bar{background:var(--tools-green)}.abandon-confirmation{max-width:720px;margin:24px auto 0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--tools-red) 54%,var(--tools-line));border-radius:14px;background:color-mix(in srgb,var(--tools-red) 5%,var(--tools-surface));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 24px}.abandon-confirmation strong{display:block;font-family:var(--tools-serif);font-size:1.15rem}.abandon-confirmation p{margin:3px 0 0;color:var(--tools-muted);font-size:.82rem;line-height:1.45}.abandon-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:8px}.practice-card{max-width:720px;min-height:360px;margin:32px auto 0;padding:clamp(28px,6vw,58px);border:1px solid var(--tools-line);border-radius:20px;background:var(--tools-bg);display:grid;align-content:center}.practice-expression{margin:0 0 26px;font-size:clamp(2rem,6vw,3.6rem)}.answer-form{max-width:480px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.answer-form label{display:grid;gap:8px;color:var(--tools-muted);font-size:.82rem;font-weight:800}.answer-form label:only-of-type{grid-column:1 / -1}.answer-form input{min-height:56px;padding:0 16px;font-family:var(--tools-serif);font-size:1.4rem;text-align:center}.answer-form .inline-error,.answer-actions{grid-column:1 / -1}.answer-actions{margin-top:4px;justify-content:center}.feedback{max-width:520px;margin:0 auto;padding:16px 18px;border:1px solid var(--tools-line);border-radius:16px;background:var(--tools-surface);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 18px;text-align:start}.feedback.correct{border-color:var(--tools-green)}.feedback.incorrect{border-color:var(--tools-red)}.feedback-copy>strong{display:block;font-family:var(--tools-serif);font-size:1.35rem;line-height:1.1}.feedback-copy p{margin:4px 0 0;color:var(--tools-muted)}.feedback .button{grid-column:2;min-height:46px}.results-heading{text-align:center}.results-score{margin:14px 0 0;color:var(--tools-green-text);font-size:1.15rem;font-weight:800}.result-counts{max-width:650px;margin:28px auto 36px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-counts>div{padding:15px;border:1px solid var(--tools-line);border-radius:14px;background:var(--tools-surface-soft);text-align:center}.result-counts dt{color:var(--tools-muted);font-size:.76rem}.result-counts dd{margin:4px 0 0;font-family:var(--tools-serif);font-size:1.8rem}.results-workspace h3{margin:0 0 14px;font-family:var(--tools-serif);font-size:1.35rem}.review-list{margin:0;padding:0;display:grid;gap:9px;list-style:none;counter-reset:review}.review-list li{counter-increment:review;padding:14px 16px;border:1px solid var(--tools-line);border-inline-start:4px solid var(--tools-line);border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px}.review-list li:before{content:counter(review) ".";grid-row:1 / span 3;align-self:start;color:var(--tools-muted);font-weight:800}.review-list li.correct{border-inline-start-color:var(--tools-green)}.review-list li.incorrect{border-inline-start-color:var(--tools-red)}.review-list li>div{display:grid;gap:3px;font-family:var(--tools-serif);font-size:1.05rem}.review-list li>strong{color:var(--tools-muted);font-size:.78rem}.review-list li>small{grid-column:2 / -1;color:var(--tools-muted)}.results-actions{margin-top:26px;justify-content:center}.empty-review{margin:0;color:var(--tools-muted);text-align:center}.noscript-notice{margin:24px auto;padding:16px;max-width:680px;color:var(--tools-red);text-align:center}@media(max-width:820px){.workspace-heading,.setup-grid{grid-template-columns:1fr}.setup-preview{position:static}.setup-actions{grid-template-columns:1fr}}@media(max-width:620px){.math-main{width:min(100% - 24px,1040px)}.math-hero{margin:34px auto 38px}.math-hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}.math-lede{margin-top:1.25rem;font-size:.94rem;line-height:1.55}.workspace-illustration{display:none}.math-workspace{margin-bottom:46px;padding:20px 16px;border-radius:18px}.difficulty-options,.operation-options,.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-options{grid-template-columns:1fr}.family-option{min-height:68px}.count-field,.practice-header{grid-template-columns:1fr}.finish-session{width:100%;justify-self:stretch}.practice-header-actions{justify-items:stretch}.session-abandon-trigger{justify-self:end}.abandon-confirmation{grid-template-columns:1fr}.abandon-actions{display:grid;grid-template-columns:1fr}.practice-card{min-height:0;padding:24px 16px}.answer-form{grid-template-columns:1fr}.answer-form label,.answer-form label:only-of-type,.answer-form .inline-error,.answer-actions{grid-column:1}.answer-actions,.print-actions,.results-actions{display:grid;grid-template-columns:1fr}.feedback{width:100%;padding:0;border:0;background:transparent;grid-template-columns:1fr;gap:10px;text-align:center}.feedback .button{width:100%;grid-column:1;grid-row:auto}.result-counts{grid-template-columns:1fr}.review-list li{grid-template-columns:auto minmax(0,1fr)}.review-list li>strong{grid-column:2}}@media(max-width:340px){.math-main{width:calc(100% - 20px)}.math-workspace{padding-inline:12px}.difficulty-options,.operation-options,.advanced-grid{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.math-workspace{box-shadow:0 22px 60px #0000003d}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
