:root{color:#17223b;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f8ff;font-family:Inter,ui-rounded,Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;overflow-x:hidden}body{margin:0}button,input,select{font:inherit}a{color:inherit}:focus-visible{outline-offset:4px;outline:4px solid #ffb000}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{background:radial-gradient(circle at 5% 24%,#ffdd6266 0 8rem,#0000 8.1rem),radial-gradient(circle at 94% 76%,#6adac84d 0 11rem,#0000 11.1rem),#f5f8ff;min-height:100vh}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:2px solid #dce3f2}.header__inner{justify-content:space-between;align-items:center;gap:2rem;width:min(100% - 2rem,76rem);min-height:5rem;margin:0 auto;display:flex}.brand{align-items:center;gap:.75rem;min-height:2.75rem;font-size:1.15rem;font-weight:900;text-decoration:none;display:inline-flex}.brand__mark{background:#ffd95a;border:2px solid #17223b;border-radius:.9rem;place-items:center;width:2.75rem;height:2.75rem;font-size:.85rem;display:grid;box-shadow:3px 3px #17223b}.navigation{align-items:center;gap:.3rem;display:flex}.navigation__link{color:#46516b;border-radius:.85rem;align-items:center;min-height:2.75rem;padding:.7rem .9rem;font-weight:750;text-decoration:none;display:inline-flex}.navigation__link:hover,.navigation__link--active{color:#3633a9;background:#ececff}.page-container{width:min(100% - clamp(1.25rem,4vw,2rem),76rem);margin:0 auto;padding:clamp(2.5rem,7vw,6rem) 0}.hero{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);align-items:center;gap:clamp(2rem,7vw,6rem);min-height:33rem;display:grid}.hero h1,.page-card h1{letter-spacing:-.05em;max-width:12ch;margin:.4rem 0 1.25rem;font-size:clamp(3rem,7vw,6rem);line-height:.98}.eyebrow{color:#5451c7;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.9rem;font-weight:900}.hero__intro,.page-card>p:not(.eyebrow){color:#4b5870;max-width:38rem;font-size:clamp(1.1rem,2.5vw,1.35rem);line-height:1.65}.button-row{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.button{border:2px solid #17223b;border-radius:1rem;justify-content:center;align-items:center;min-height:3.5rem;padding:.9rem 1.25rem;font-weight:850;text-decoration:none;transition:transform .14s,box-shadow .14s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:#fff;background:#5a56d6;box-shadow:5px 5px #17223b}.button--secondary{background:#fff;box-shadow:5px 5px #9fded2}.button--soft{background:#eef2fa;border-color:#c9d2e6}.hero__art{place-items:center;min-height:26rem;display:grid;position:relative}.hero__mascot{color:#17223b;background:#ffd95a;border:4px solid #17223b;border-radius:38% 62% 56% 44%/50% 45% 55% 50%;place-items:center;width:12rem;height:12rem;font-size:5rem;display:grid;transform:rotate(-5deg);box-shadow:12px 12px #5a56d6}.math-orbit{background:#fff;border:2px solid #17223b;border-radius:1rem;padding:.65rem .95rem;font-size:1.1rem;font-weight:900;position:absolute;box-shadow:4px 4px #17223b}.math-orbit--one{top:2rem;left:7%;transform:rotate(-8deg)}.math-orbit--two{bottom:3rem;right:0;transform:rotate(7deg)}.math-orbit--three{top:4.5rem;right:4%;transform:rotate(4deg)}.feature-strip{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;display:grid}.feature-strip article{background:#ffffffe0;border:2px solid #d9e1f0;border-radius:1.25rem;gap:1rem;padding:1.25rem;display:flex}.feature-strip article>span{color:#3734a9;background:#e8e7ff;border-radius:.9rem;flex:0 0 3rem;place-items:center;width:3rem;height:3rem;font-size:1.6rem;font-weight:900;display:grid}.feature-strip h2{margin:0 0 .35rem;font-size:1rem}.feature-strip p{color:#5c6880;margin:0;font-size:.95rem;line-height:1.5}.page-card{background:#fff;border:3px solid #17223b;border-radius:2rem;width:min(100%,52rem);padding:clamp(2rem,6vw,4.5rem);box-shadow:10px 10px #9fded2}.page-card--centered{text-align:center;margin:2rem auto}.page-card--centered h1,.page-card--centered p{margin-left:auto;margin-right:auto}.page-card .button{margin-top:1rem}.friendly-error .button-row{justify-content:center}.storage-recovery{color:#704716;background:#fff3cc;border:2px solid #9a6820;border-radius:1rem;width:min(100% - 2rem,76rem);margin:1rem auto 0;padding:1rem 1.25rem}.storage-recovery p{margin:.35rem 0 0;line-height:1.5}.page-heading{max-width:48rem;margin-bottom:2rem}.page-heading h1{letter-spacing:-.04em;margin:.4rem 0 .75rem;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1}.page-heading>p:last-child,.field-help{color:#5c6880}.setup-page{width:min(100%,68rem);margin:0 auto}.setup-group{background:#ffffffeb;border:2px solid #d9e1f0;border-radius:1.5rem;min-width:0;margin:0 0 1.5rem;padding:clamp(1.25rem,4vw,2rem)}.setup-group legend{padding:0 .5rem;font-size:1.25rem;font-weight:900}.setup-group>.field-help{margin-top:0}.choice-grid{gap:.85rem;display:grid}.choice-grid--operations,.choice-grid--levels{grid-template-columns:repeat(4,1fr)}.select-card{color:#17223b;cursor:pointer;text-align:left;background:#fff;border:2px solid #cbd5e7;border-radius:1.1rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:.3rem;min-height:8rem;padding:1rem;font-weight:800;display:flex;position:relative}button.select-card:hover{border-color:#5a56d6;transform:translateY(-2px)}.select-card:has(input:focus-visible){border-color:#5a56d6;transform:translateY(-2px)}.select-card--selected{background:#eeedff;border-color:#3734a9;box-shadow:inset 0 0 0 1px #3734a9}.select-card input{opacity:0;width:1px;height:1px;position:absolute}.select-card__symbol{font-size:2rem;line-height:1}.selection-label,.level-number{color:#5a56d6;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:900}.select-card .field-help{font-size:.85rem;font-weight:500;line-height:1.35}.text-button{color:#3734a9;cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;min-height:2.75rem;margin-top:1rem;padding:.65rem 0;font-weight:800;text-decoration:underline}.segmented-control{grid-template-columns:repeat(4,1fr);gap:.65rem;display:grid}.segmented-control--two{grid-template-columns:repeat(2,1fr)}.segmented-control label{position:relative}.segmented-control input{opacity:0;position:absolute}.segmented-control span{cursor:pointer;text-align:center;background:#fff;border:2px solid #cbd5e7;border-radius:.9rem;place-items:center;min-height:3.5rem;padding:.75rem;font-weight:800;display:grid}.segmented-control input:checked+span{background:#eeedff;border-color:#3734a9}.segmented-control input:focus-visible+span{outline-offset:3px;outline:4px solid #ffb000}.segmented-control input:disabled+span{cursor:not-allowed;opacity:.55}.review-status{margin:1rem 0 0;font-weight:700}.validation-message{color:#722;background:#fff0f0;border-left:5px solid #c74343;border-radius:.6rem;padding:1rem;font-weight:750}button.button{cursor:pointer}button.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.question-card{perspective:1000px;background:#fff;border:3px solid #17223b;border-radius:2rem;width:min(100%,52rem);min-height:36rem;margin:0 auto;overflow:hidden;box-shadow:12px 12px #9fded2}.question-card__meta{color:#5c6880;border-bottom:2px solid #e2e7f1;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:800;display:flex}.question-card__face{backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;min-height:32rem;padding:clamp(1.5rem,6vw,3rem);display:flex}.question-card--flipped:not(.question-card--no-motion) .question-card__face{animation:.36s ease-out reveal-card}@keyframes reveal-card{0%{opacity:0;transform:rotateY(90deg)scale(.96)}to{opacity:1;transform:rotateY(0)scale(1)}}.math-question{letter-spacing:-.04em;text-align:center;margin:0 0 2rem;font-size:clamp(3rem,9vw,5.5rem);line-height:1}.math-question--answer{margin:.75rem 0 1.5rem;font-size:clamp(2.6rem,8vw,4.75rem)}.answer-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;width:100%;display:grid}.answer-choice{color:#17223b;cursor:pointer;background:#f9fbff;border:2px solid #cbd5e7;border-radius:1.1rem;justify-content:center;align-items:center;gap:.75rem;min-height:5.25rem;padding:1rem;font-size:1.5rem;font-weight:900;display:flex;position:relative}.answer-choice:hover{background:#f0efff;border-color:#5a56d6}.answer-choice--selected{background:#e8e7ff;border-color:#3734a9;box-shadow:inset 0 0 0 1px #3734a9}.answer-choice__number{color:#5c6880;background:#e8edf6;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;display:grid;position:absolute;top:.55rem;left:.65rem}.answer-choice__status{color:#3734a9;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;position:absolute;bottom:.45rem;right:.7rem}.card-action{min-width:12rem;margin-top:1.5rem}.answer-recap{grid-template-columns:repeat(2,1fr);gap:.8rem;width:100%;display:grid}.answer-recap p{text-align:center;background:#f0f4fb;border-radius:1rem;flex-direction:column;gap:.25rem;margin:0;padding:1rem;display:flex}.answer-recap span{color:#5c6880;text-transform:uppercase;font-size:.8rem;font-weight:800}.answer-recap strong{font-size:1.75rem}.explanation{color:#46516b;text-align:center;margin:1rem 0;font-size:1.05rem;line-height:1.5}.self-report{text-align:center;border:0;width:100%;margin-top:.5rem;padding:1rem}.self-report legend{width:100%;font-size:1.2rem;font-weight:900}.self-report p{color:#5c6880;margin:.35rem 0 0}.self-report .button-row{justify-content:center;margin-top:1rem}.button--success{background:#b8efd6;box-shadow:5px 5px #2e7a60}.button--supportive{background:#ffe39a;box-shadow:5px 5px #9a6820}.practice-page{padding-top:2rem}.session-toolbar{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,52rem);margin:0 auto .75rem;display:flex}.session-score{border-radius:999px;margin-right:.5rem;padding:.45rem .7rem;font-size:.82rem;font-weight:850;display:inline-block}.session-score--correct{color:#175941;background:#c9f3df}.session-score--incorrect{color:#704716;background:#ffedb9}.session-toolbar .text-button{margin:0}.practice-feedback{text-align:center;border:2px solid;border-radius:1rem;justify-content:center;align-items:center;gap:.65rem;width:min(100%,52rem);min-height:3.25rem;margin:0 auto .9rem;padding:.75rem 1rem;font-weight:850;display:flex}.practice-feedback span{font-size:1.25rem}.practice-feedback--positive{color:#175941;background:#dff8ec;border-color:#2e7a60}.practice-feedback--supportive{color:#704716;background:#fff3cc;border-color:#9a6820}.progress-track{background:#e7ebf4;border:1px solid #bdc8dc;border-radius:999px;width:min(100%,52rem);height:.65rem;margin:0 auto 1rem;overflow:hidden}.progress-track span{border-radius:inherit;background:#5a56d6;height:100%;transition:width .24s;display:block}.summary-card{text-align:center;background:#fff;border:3px solid #17223b;border-radius:2rem;width:min(100%,58rem);margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem);box-shadow:12px 12px #ffd95a}.summary-card h1{letter-spacing:-.04em;max-width:14ch;margin:.5rem auto 1.5rem;font-size:clamp(2.5rem,7vw,4.5rem);line-height:1}.accuracy-ring{border:1rem solid #b8efd6;border-radius:50%;place-content:center;width:10rem;height:10rem;margin:0 auto 1.5rem;display:grid}.accuracy-ring strong{font-size:2.25rem}.accuracy-ring span{color:#5c6880;text-transform:uppercase;font-size:.8rem;font-weight:800}.summary-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:0;display:grid}.summary-grid div{background:#f0f4fb;border-radius:1rem;padding:1rem}.summary-grid dt{color:#5c6880;font-size:.8rem;font-weight:800}.summary-grid dd{margin:.25rem 0 0;font-size:1.8rem;font-weight:900}.summary-details{color:#46516b;justify-content:center;gap:2rem;margin:1.25rem 0;display:flex}.summary-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.stats-overview,.stats-card-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.stats-overview>div,.performance-card,.empty-state,.recent-sessions article{background:#fff;border:2px solid #d9e1f0;border-radius:1.2rem;padding:1.25rem}.stats-overview>div{flex-direction:column;gap:.3rem;display:flex}.stats-overview span{color:#5c6880;font-weight:800}.stats-overview strong{font-size:2rem}.stats-section{margin:2.5rem 0}.stats-section h2{font-size:1.5rem}.performance-card h3{margin:0;font-size:1rem}.performance-card>strong{margin-top:.75rem;font-size:1.8rem;display:block}.performance-card p,.empty-inline{color:#5c6880;line-height:1.5}.recent-sessions{gap:.7rem;display:grid}.recent-sessions article{justify-content:space-between;gap:1rem;display:flex}.recent-sessions article>div{flex-direction:column;gap:.3rem;display:flex}.recent-sessions article>div:last-child{text-align:right}.recent-sessions span{color:#5c6880;font-size:.85rem}.missed-summary{background:#fff8df;border:2px solid #d9e1f0;border-radius:1.2rem;margin-top:1rem;padding:1.25rem}.missed-summary h3,.pattern-list h3{margin-top:0}.fact-ranking{gap:.55rem;margin:1rem 0 0;padding-left:1.75rem;display:grid}.fact-ranking li{padding-left:.25rem}.fact-ranking li::marker{color:#5a56d6;font-weight:900}.fact-ranking span{color:#5c6880;margin-left:.6rem}.pattern-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.pattern-list{background:#fff;border:2px solid #d9e1f0;border-radius:1.2rem;padding:1.25rem}.pattern-list article{border-top:1px solid #d9e1f0;flex-direction:column;gap:.25rem;padding:.85rem 0;display:flex}.pattern-list article:first-of-type{border-top:0;padding-top:0}.pattern-list article span{color:#5c6880;font-size:.85rem}.review-history article>div:last-child strong{color:#175941}.settings-page{width:min(100%,68rem);margin:0 auto}.toggle-list{gap:.6rem;display:grid}.toggle-row,.number-setting{background:#fff;border:2px solid #d9e1f0;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.8rem 1rem;font-weight:800;display:flex}.toggle-row input{accent-color:#5a56d6;width:1.5rem;height:1.5rem}.number-setting{margin-bottom:1rem}.number-setting input{text-align:center;border:2px solid #aebbd2;border-radius:.7rem;width:5rem;min-height:2.8rem;padding:.5rem}.setup-submit{min-width:13rem}@media (width<=1024px){.page-container{padding-block:clamp(2rem,5vw,4rem)}.hero{gap:2rem}.choice-grid--operations,.choice-grid--levels{grid-template-columns:repeat(2,minmax(0,1fr))}.question-card,.session-toolbar,.progress-track,.practice-feedback{width:min(100% - .75rem,48rem)}}@media (width<=760px){.header__inner{flex-direction:column;gap:.7rem;min-height:auto;padding:.85rem 0}.navigation{justify-content:center;gap:.2rem;width:100%}.navigation__link{flex:1;justify-content:center;min-height:2.75rem;padding-inline:.7rem;font-size:.9rem}.hero{grid-template-columns:1fr;min-height:auto}.hero h1{font-size:clamp(3rem,14vw,4.5rem)}.hero__art{order:-1;min-height:17rem}.hero__mascot{width:9rem;height:9rem;font-size:3.75rem}.math-orbit{font-size:.95rem}.feature-strip{grid-template-columns:1fr}.summary-grid,.stats-overview,.stats-card-grid{grid-template-columns:repeat(2,1fr)}.pattern-columns{grid-template-columns:1fr}.recent-sessions article{flex-direction:column}.recent-sessions article>div:last-child{text-align:left}.summary-details{flex-direction:column;align-items:center;gap:0}.choice-grid--operations,.choice-grid--levels,.segmented-control{grid-template-columns:repeat(2,1fr)}.button-row,.button{width:100%}.question-card{border-radius:1.5rem;min-height:33rem;box-shadow:7px 7px #9fded2}.question-card__face{min-height:29rem;padding:clamp(1.25rem,5vw,2rem)}.session-toolbar{align-items:flex-start}.stats-section{margin-block:2rem}}@media (width<=460px){.app-shell{background:radial-gradient(circle at 0 18%,#ffdd6242 0 5rem,#0000 5.1rem),#f5f8ff}.header__inner{width:min(100% - 1rem,76rem)}.brand__mark{width:2.4rem;height:2.4rem}.navigation__link{padding-inline:.35rem;font-size:.82rem}.page-container{width:min(100% - 1rem,76rem);padding-block:1.5rem 2.5rem}.page-heading h1{font-size:clamp(2.25rem,12vw,3.25rem)}.choice-grid--operations,.choice-grid--levels,.segmented-control{grid-template-columns:1fr}.select-card{min-height:6rem}.answer-grid,.answer-recap{grid-template-columns:1fr}.answer-choice{min-height:4.75rem}.question-card,.session-toolbar,.progress-track,.practice-feedback{width:calc(100% - .35rem)}.math-question{font-size:clamp(2.75rem,15vw,4rem)}.session-toolbar{flex-direction:column;gap:.4rem}.session-score{margin-right:.25rem}.stats-overview,.stats-card-grid,.summary-grid{grid-template-columns:1fr}.stats-overview>div,.performance-card,.empty-state,.recent-sessions article,.pattern-list,.missed-summary{padding:1rem}.recent-sessions article,.pattern-list article{overflow-wrap:anywhere}.fact-ranking{padding-left:1.35rem}.fact-ranking span{margin:.2rem 0 0;display:block}.question-card__meta{flex-direction:column;align-items:flex-start;gap:.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
