[data-theme=aptitude]{--accent:var(--approach);--accent-ink:var(--approach);--accent-bright:var(--ink);--tint:var(--paper-3);--tint-2:var(--paper-2);--kicker-font:var(--font-sans)}:root,[data-theme=aptitude]{--apt-math:var(--math);--apt-english:var(--english);--apt-cs:var(--cs);--apt-math-soft:var(--math-soft);--apt-english-soft:var(--english-soft);--apt-cs-soft:var(--cs-soft)}.aptitude-widget{margin-top:var(--s-6);border-radius:var(--r-lg);background:var(--card-bg);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);padding:clamp(20px,2.2rem + 1vw,44px);position:relative}.aptitude-setup fieldset{margin:0 0 var(--s-6);border:0;padding:0}.aptitude-setup legend{margin-bottom:var(--s-3);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding:0}.aptitude-grade-row{gap:var(--s-3) var(--s-5);flex-wrap:wrap;align-items:center;display:flex}.select-shell{flex:0 auto;width:min(19rem,100%);display:inline-flex;position:relative}.select-shell select{border-radius:var(--r-pill);background:var(--surface);width:100%;min-height:48px;color:var(--text);color-scheme:dark;font:600 1.0625rem/1.2 var(--font-sans);letter-spacing:-.005em;box-shadow:inset 0 0 0 1px var(--line-strong);-webkit-appearance:none;appearance:none;cursor:pointer;transition:box-shadow var(--dur-ui) var(--ease-out), background-color var(--dur-ui) var(--ease-out);border:0;margin:0;padding:0 3.1rem 0 1.15rem}.select-shell select:hover{box-shadow:inset 0 0 0 1px var(--accent-text)}.select-shell select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:inset 0 0 0 1px var(--accent-text)}.select-shell:after{content:"";width:.5rem;height:.5rem;color:var(--text-3);pointer-events:none;transition:color var(--dur-ui) var(--ease-out);border-bottom:2px solid;border-right:2px solid;position:absolute;top:50%;right:1.3rem;translate:0 -68%;rotate:45deg}.select-shell:hover:after,.select-shell:focus-within:after{color:var(--accent-text)}.mode-row{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(min(12.5rem,100%),1fr));display:grid}.mode-card{gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-md);cursor:pointer;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--dur-ui) var(--ease-out), translate var(--dur-ui) var(--ease-out);align-items:flex-start;display:flex;position:relative}.mode-card:hover{box-shadow:inset 0 0 0 1px var(--line-strong)}.mode-card:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--accent-text)}.mode-card:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.mode-card input{opacity:0;pointer-events:none;position:absolute}.mode-card .mode-dot{width:18px;height:18px;box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:5px;flex:none;margin-top:.18em}.mode-card:has(input:checked) .mode-dot{box-shadow:inset 0 0 0 5px var(--accent-text)}.mode-card .mode-copy{gap:2px;display:grid}.mode-card .mode-copy strong{font:600 1.0625rem/1.35 var(--font-sans);color:var(--text)}.mode-card .mode-copy span{font:400 .9375rem/1.5 var(--font-sans);color:var(--text-3)}.mode-card[data-mode=mathematics] .mode-dot{box-shadow:inset 0 0 0 1.5px var(--apt-math)}.mode-card[data-mode=mathematics]:has(input:checked) .mode-dot{box-shadow:inset 0 0 0 5px var(--apt-math)}.mode-card[data-mode=english] .mode-dot{box-shadow:inset 0 0 0 1.5px var(--apt-english)}.mode-card[data-mode=english]:has(input:checked) .mode-dot{box-shadow:inset 0 0 0 5px var(--apt-english)}.mode-card[data-mode=computer-science] .mode-dot{box-shadow:inset 0 0 0 1.5px var(--apt-cs)}.mode-card[data-mode=computer-science]:has(input:checked) .mode-dot{box-shadow:inset 0 0 0 5px var(--apt-cs)}.mode-status{width:fit-content;max-width:100%;margin:var(--s-3) 0 0;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:.6em;padding:.5em 1em;display:inline-flex}.mode-status:before{content:"";width:.7em;height:.7em;box-shadow:inset 0 0 0 1.5px var(--accent-text);border-radius:50%;flex:none}.aptitude-setup-foot{gap:var(--s-4);flex-wrap:wrap;align-items:center;display:flex}.aptitude-setup-foot .t-meta{color:var(--text-3)}.aptitude-setup-foot .btn{white-space:normal;max-width:100%}.aptitude-error{margin-top:var(--s-4);color:var(--danger);font:400 var(--fs-read)/1.6 var(--font-sans)}.aptitude-runner{gap:var(--s-2);display:grid}.aptitude-progress{gap:var(--s-2);margin-bottom:var(--s-5);display:grid}.aptitude-progress-head{justify-content:space-between;gap:var(--s-4);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);display:flex}.aptitude-progress-head>span,.subject-row-head>*{overflow-wrap:anywhere;min-width:0}.progress-track{background:var(--surface);height:6px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;position:relative;overflow:hidden}.progress-track>i{background:var(--accent-text);width:0;height:100%;transition:width var(--dur-ui) var(--ease-out);border-radius:999px;display:block}.question-card{gap:var(--s-4);display:grid}.question-meta{gap:var(--s-2) var(--s-4);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);flex-wrap:wrap;display:flex}.question-meta .q-subject{color:var(--accent-text)}.question-meta .q-subject[data-subject=mathematics]{color:var(--apt-math)}.question-meta .q-subject[data-subject=english]{color:var(--apt-english)}.question-meta .q-subject[data-subject=computer-science]{color:var(--apt-cs)}.question-meta .q-topic{color:var(--text-2)}.question-meta .q-level{color:var(--text-3)}.question-prompt{font:400 clamp(1.25rem, 1.05rem + .9vw, 1.75rem)/1.45 var(--font-serif);letter-spacing:-.012em;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.answer-set{gap:var(--s-3);border:0;margin:0;padding:0;display:grid}.answer-option{gap:var(--s-3);cursor:pointer;padding:var(--s-4);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font:400 var(--fs-read)/1.6 var(--font-sans);color:var(--text-2);transition:box-shadow var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out);align-items:baseline;display:flex}.answer-option:hover{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--text)}.answer-option:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--accent-text);color:var(--text)}.answer-option:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.answer-option input{opacity:0;pointer-events:none;position:absolute}.answer-letter{width:1.85em;height:1.85em;box-shadow:inset 0 0 0 1px var(--line-strong);font:600 .875rem/1 var(--font-sans);color:var(--text-3);border-radius:50%;flex:none;place-items:center;display:grid;translate:0 .12em}.answer-option:has(input:checked) .answer-letter{background:var(--accent-text);color:var(--cta-fg);box-shadow:none}.answer-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.question-actions{gap:var(--s-3);margin-top:var(--s-3);flex-wrap:wrap;justify-content:space-between;display:flex}[data-subject=mathematics]{--subject-key:var(--apt-math);--subject-soft:var(--apt-math-soft)}[data-subject=english]{--subject-key:var(--apt-english);--subject-soft:var(--apt-english-soft)}[data-subject=computer-science]{--subject-key:var(--apt-cs);--subject-soft:var(--apt-cs-soft)}.aptitude-results{gap:var(--s-5);display:grid}.result-level{gap:var(--s-3);border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:clamp(20px,2rem + 1vw,36px);display:grid}.level-badge{align-items:center;gap:var(--s-3);background:var(--card-bg);width:fit-content;max-width:100%;box-shadow:inset 0 0 0 1px var(--line-strong);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text);border-radius:999px;flex-wrap:wrap;padding:.45em 1em;display:inline-flex}.result-level[data-level=foundation] .level-badge:before{--gauge:1}.result-level[data-level=developing] .level-badge:before{--gauge:2}.result-level[data-level=on-track] .level-badge:before{--gauge:3}.result-level[data-level=advanced] .level-badge:before{--gauge:4}.result-level[data-level=exceptional] .level-badge:before{--gauge:5}.level-badge:before{content:"";background:linear-gradient(90deg, var(--accent-text) calc(var(--gauge,3) * .64em), var(--line-strong) 0);border-radius:999px;width:3.2em;height:.55em}.level-line{font:400 clamp(1.375rem, 1.15rem + 1vw, 2rem)/1.3 var(--font-serif);letter-spacing:-.015em;color:var(--text);margin:0}.level-score{font:400 var(--fs-read)/1.6 var(--font-sans);color:var(--text-2);margin:0}.level-score strong{color:var(--text);font-size:1.25em}.level-score span{color:var(--text-3);display:block}.level-working{font:400 var(--fs-read)/1.6 var(--font-sans);color:var(--text-2);margin:0}.result-breakdown,.result-path,.result-solutions{margin-top:var(--s-7)}.result-breakdown h3,.result-path h3,.result-solutions h3{font:600 clamp(1.25rem, 1.1rem + .5vw, 1.5rem)/1.25 var(--font-sans);letter-spacing:-.015em;color:var(--text)}.subject-row{gap:var(--s-2);margin-top:var(--s-4);display:grid}.subject-row-head{justify-content:space-between;gap:var(--s-4);font:400 var(--fs-read)/1.5 var(--font-sans);color:var(--text-2);margin:0;display:flex}.subject-row-head strong{color:var(--subject-key,var(--text))}.subject-bar{background:var(--surface);height:8px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;overflow:hidden}.subject-bar>i{background:var(--subject-key,var(--accent-text));border-radius:999px;height:100%;display:block}.path-list{margin:var(--s-4) 0 0;gap:var(--s-3);padding:0;list-style:none;display:grid}.path-list li{padding:var(--s-4) var(--s-4) var(--s-4) 3.25em;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font:400 var(--fs-read)/1.6 var(--font-sans);color:var(--text-2);counter-increment:path-step;position:relative}.path-list{counter-reset:path-step}.path-list li:before{content:counter(path-step, decimal-leading-zero);left:var(--s-4);top:var(--s-4);font:600 var(--fs-meta)/1.6 var(--font-sans);letter-spacing:.12em;color:var(--accent-text);position:absolute}.path-route{color:var(--accent-text);margin-bottom:var(--s-3);font-weight:600}.path-cta{margin-top:var(--s-5)}.solution{margin-top:var(--s-4);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.solution-summary{gap:var(--s-3);cursor:pointer;padding:var(--s-4);align-items:baseline;list-style:none;display:flex}.solution-summary::-webkit-details-marker{display:none}.solution-index{font:600 var(--fs-meta)/1.6 var(--font-sans);letter-spacing:.12em;color:var(--text-3)}.solution-copy{overflow-wrap:anywhere;flex:1;gap:2px;min-width:0;display:grid}.solution-copy strong{font:600 var(--fs-read)/1.4 var(--font-sans);color:var(--text)}.solution-copy span{font:400 .9375rem/1.5 var(--font-sans);color:var(--text-3)}.solution-flag{font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:999px;flex:none;padding:.3em .85em}.solution-flag.is-right{color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}.solution-body{padding:0 var(--s-4) var(--s-5);gap:var(--s-3);display:grid}.solution-prompt{white-space:pre-wrap;overflow-wrap:anywhere;font:400 var(--fs-read)/1.65 var(--font-serif);color:var(--text);margin:0}.solution-verdict{font:400 var(--fs-read)/1.6 var(--font-sans);margin:0}.verdict-right{color:var(--success)}.verdict-wrong{color:var(--danger)}.solution-summary-line{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--card-bg);box-shadow:inset 0 0 0 1px var(--line);font:600 var(--fs-read)/1.55 var(--font-sans);color:var(--text);margin:0}.solution-concept{font:400 var(--fs-read)/1.6 var(--font-sans);color:var(--text-2);margin:0}.solution-steps-head{margin:0 0 var(--s-2);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.steps-list{gap:var(--s-3);margin:0;padding-left:1.4em;display:grid}.steps-list li{font:400 var(--fs-read)/1.65 var(--font-sans);color:var(--text-2);padding-left:var(--s-2)}.steps-list li::marker{font:600 var(--fs-meta)/1 var(--font-sans);color:var(--accent-text)}.pitfall-list{gap:var(--s-2);margin:0;padding-left:1.2em;display:grid}.pitfall-list li{font:400 var(--fs-small)/1.6 var(--font-sans);color:var(--text-3)}.pitfall-list li::marker{color:var(--danger)}@media print{.aptitude-widget{box-shadow:none}.solution{break-inside:avoid}.solution>.solution-body{display:block}}@media screen and (prefers-reduced-motion:no-preference){html.motion-ok .result-solutions .solution{opacity:1}}