:root{color-scheme:light;--crimson:#a51c30;--crimson-dark:#831326;--ink:#2b2421;--muted:#665951;--cream:#faf5ed;--blush:#f3e2df;--border:#dfd4ca;--green:#256343;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:22px;color:var(--ink);background:var(--cream);line-height:1.65;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--crimson);text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--crimson);outline-offset:5px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,5.1vw,3.2rem);line-height:1.2;letter-spacing:-.055em;font-weight:750;word-break:keep-all}h2{font-size:1.5rem;line-height:1.35;letter-spacing:-.035em;word-break:keep-all}h3{font-size:1.15rem}p{word-break:keep-all}strong{font-weight:700}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;padding:16px;background:white;z-index:100}.skip-link:focus{top:10px}.app-shell{max-width:1280px;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 40px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);font-size:1.25rem;font-weight:750;letter-spacing:-.025em}.brand img{border-radius:12px;flex-shrink:0}.brand small{display:block;font-size:.63rem;color:var(--muted);font-weight:500;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:20px}.account-name{font-size:.8rem;color:var(--muted)}#main{min-height:65vh;padding:52px 40px 72px;outline:none}.hero{display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:45px;padding:15px 0 70px}.eyebrow{font-size:.8rem;letter-spacing:.05em;color:var(--crimson);font-weight:700;margin-bottom:18px}.hero h1{font-size:clamp(2.3rem,5.3vw,3.4rem)}.lead{color:var(--muted);font-size:1.02rem;line-height:1.8;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:30px;flex-wrap:wrap}.greeting{margin-top:30px;color:var(--crimson);font-weight:650}.button{display:inline-flex;align-items:center;justify-content:center;min-height:72px;padding:18px 30px;border:2px solid var(--crimson);border-radius:16px;background:var(--crimson);color:white;font-weight:700;font-size:1rem;line-height:1.5;text-align:center;white-space:normal}.button:hover{background:var(--crimson-dark)}.button.secondary{background:white;color:var(--crimson)}.button.secondary:hover{background:#fff7f3}.full{width:100%}.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:14px 15px;border:0;background:transparent;color:var(--crimson);font-weight:650;font-size:.85rem;text-decoration:underline;text-underline-offset:6px}.inline-link{font-weight:650;text-decoration:underline;text-underline-offset:6px}.hero-art{height:355px;position:relative;display:flex;align-items:center;justify-content:center}.hero-tile{padding:22px 34px 26px;background:white;border:1px solid var(--border);border-radius:32px;transform:rotate(5deg);box-shadow:0 14px 0 #e8dcd1;text-align:center}.hero-tile img{width:176px;border-radius:28px}.hero-tile>span{display:block;font-size:.82rem;line-height:1.5;margin-top:20px;font-weight:650}.math-orbit{position:absolute;font-family:Georgia,serif;color:var(--crimson);font-size:3rem;line-height:1}.orbit-one{left:0;top:15px;transform:rotate(-15deg)}.orbit-two{right:0;top:18px;transform:rotate(12deg)}.orbit-three{right:-5px;bottom:0;transform:rotate(-15deg)}.section-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.section-top .eyebrow{margin-bottom:10px}.quiet-badge{font-size:.75rem;color:var(--muted);border:1px solid var(--border);border-radius:30px;padding:9px 18px;white-space:nowrap}.area-grid,.grade-grid,.directory-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.area-card{display:flex;align-items:center;gap:22px;padding:32px 28px;min-height:165px;background:white;border:1px solid var(--border);border-radius:22px;color:var(--ink);transition:border-color .15s,transform .15s}.area-card:hover,.card:hover,.question-card:hover{border-color:var(--crimson);transform:translateY(-2px)}.area-card strong{display:block;font-size:1.4rem;line-height:1.4;letter-spacing:-.03em}.area-card .muted{font-size:.75rem;display:block;margin-top:8px}.area-symbol{display:flex;align-items:center;justify-content:center;background:var(--blush);border-radius:16px;min-width:66px;height:74px;font-size:2.3rem;font-weight:450;color:var(--crimson)}.shapes .area-symbol{background:#e8ecdf;color:#516034}.measurement .area-symbol{background:#e8e8ef;color:#5b5b75}.patterns .area-symbol{background:#eee4d5;color:#806234}.chevron{color:var(--crimson);font-size:1.2rem;margin-left:auto;flex-shrink:0}.muted{color:var(--muted)}.reassurance{display:flex;gap:25px;align-items:flex-start;margin-top:56px;padding:38px 35px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.reassurance h2{font-size:1.1rem;margin-bottom:12px}.reassurance p{font-size:.8rem;margin-top:8px}.reassurance-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #bccfbf;border-radius:50%;width:48px;height:48px;color:var(--green);font-size:1.1rem}.page-heading{margin-bottom:36px}.page-heading .lead{max-width:850px}.surface,.card,.question-card{background:white;border:1px solid var(--border);border-radius:22px;padding:30px}.surface h2+.muted,.surface h2+p,.surface p+p{margin-top:18px}.card{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:130px;color:var(--ink)}.card strong{display:block;font-size:1.2rem;word-break:keep-all}.card .muted{display:block;font-size:.8rem;margin-top:10px}.directory-grid{align-items:start}.question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.question-card{display:flex;flex-direction:column;gap:18px;color:var(--ink);padding:24px}.question-card strong{font-size:1.1rem}.question-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.result-tag{font-size:.68rem;padding:5px 10px;border-radius:8px;background:var(--cream);color:var(--muted)}.result-tag.correct{color:var(--green);background:#edf4ed}.question-card .inline-link{font-size:.85rem}.artwork{margin:0;width:100%;background:white;position:relative}.artwork img{width:100%;height:auto;margin:auto}.artwork.thumbnail{height:155px;display:flex;align-items:center;justify-content:center;overflow:hidden}.artwork.thumbnail img{max-height:155px;width:auto;object-fit:contain}.image-loading{padding:24px;font-size:.8rem;text-align:center;color:var(--muted)}.problem-panel{padding:24px;margin:auto}.problem-panel .artwork img,.answer-result .artwork img{width:100%;max-width:none;height:auto}.answer-form{max-width:860px;margin:28px auto 0}.answer-result{margin:28px auto 0}.problem-panel,.answer-result{width:100%;max-width:none}.answer-form h2,.answer-result h2{margin-bottom:22px}.answer-input{width:100%;min-height:86px;font-size:1.6rem!important;font-weight:650;text-align:center;background:var(--cream)!important;border:2px solid var(--border)!important}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 6px}.key{min-height:88px;background:var(--cream);border:1px solid var(--border);border-radius:14px;font-size:1.55rem;font-weight:650;color:var(--ink)}.key:hover{background:var(--blush)}.input-actions{display:flex;justify-content:space-between;gap:15px}.answer-form>.text-button{margin-bottom:22px}.choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:26px 0}.choice{min-height:90px;padding:12px 8px;border:2px solid var(--border);border-radius:14px;background:var(--cream);font-size:1.25rem;color:var(--ink);font-weight:650}.choice.selected{background:var(--crimson);color:white;border-color:var(--crimson)}.answer-value{font-weight:700;font-size:1.2rem}.answer-result h3,.answer-result .button{margin-top:26px}.answer-result .artwork{margin-top:18px}.success-text{color:var(--green)}.notice{padding:22px 26px;background:#f4e9df;border-radius:14px;margin:24px 0}.notice p{margin:10px 0}.notice.error{background:#fbecea;border:1px solid #e1b3ae;color:#7c1c26}.notice.error .button{margin-top:12px}.notice.error strong{font-size:1rem}.loading-indicator{padding:55px 30px;border:1px solid var(--border);border-radius:22px;background:white;text-align:center;color:var(--muted)}.auth-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:start;padding:18px 0}.auth-intro .page-heading{margin-bottom:32px}.auth-intro h1{font-size:2.6rem}.auth-mark{width:130px;border-radius:24px;margin-top:38px}.auth-panel{padding:36px}.auth-panel h2{margin-bottom:25px}label{display:block;font-weight:650;margin:20px 0 10px}input,select{display:block;width:100%;min-height:70px;padding:14px 18px;border:1.5px solid #bdb0a4;border-radius:10px;background:white;color:var(--ink);margin-top:10px;font-size:1rem}input[readonly]{cursor:default}.hint{font-size:.75rem;color:var(--muted);margin:12px 0 22px}.auth-panel .button[type=submit]{margin-top:25px}.auth-switch{margin-top:26px;font-size:.8rem}.switch-label{display:flex;align-items:center;justify-content:space-between;gap:24px}.switch-label input{width:32px;height:32px;min-height:32px;margin:0;accent-color:var(--crimson)}.settings-grid .surface{min-height:250px}.settings-grid .surface p{font-size:.9rem}.settings-grid .button{margin-top:25px}.account-value{color:var(--crimson);font-size:1.2rem;font-weight:700}.site-footer{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;padding:28px 30px 125px;font-size:.65rem;color:var(--muted)}.site-footer a{color:var(--muted);text-decoration:underline;text-underline-offset:4px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fffefa;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -3px 20px #38251d08}.bottom-nav a{width:min(33.333%,330px);display:flex;align-items:center;justify-content:center;gap:12px;min-height:87px;padding:12px 18px;color:var(--muted);font-size:.9rem;border-top:4px solid transparent}.bottom-nav a[aria-current=page]{color:var(--crimson);border-color:var(--crimson);font-weight:700}.bottom-nav a>span{font-size:1.5rem}dialog{border:1px solid var(--border);border-radius:24px;padding:36px;max-width:650px;color:var(--ink);background:var(--cream)}dialog::backdrop{background:#23160f99}dialog h2{margin-bottom:20px}.dialog-actions{display:flex;gap:15px;margin-top:28px}.large-text{font-size:26px}.large-text .hero-art{transform:scale(.85)}
@media(max-width:1000px){.question-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:20px;grid-template-columns:1.3fr .7fr}.hero-art{height:300px}.hero-tile{padding:20px}.hero-tile img{width:145px}.math-orbit{font-size:2.4rem}.auth-layout{gap:35px}.area-card{padding:26px 22px;gap:16px}.area-symbol{min-width:54px;height:64px}.area-card strong{font-size:1.2rem}.large-text .hero{grid-template-columns:1fr}.large-text .hero-art{display:none}}
@media(max-width:767px){:root{font-size:20px}.topbar{padding:18px 20px;gap:12px}.brand{font-size:1.1rem;gap:10px}.brand img{width:42px;height:42px}.brand small{font-size:.6rem}.top-actions{gap:4px}.account-name{display:none}.text-button{padding:12px 8px}.topbar .text-button{font-size:.8rem}#main{padding:32px 20px 45px}.hero{display:block;padding:5px 0 45px}.hero h1{font-size:2.5rem}.hero-art{display:none}.hero-actions{display:block}.hero-actions .button{width:100%}.hero-actions .text-button{width:100%;margin-top:8px}.lead{font-size:1rem;margin-top:20px}.section-top{display:block}.quiet-badge{display:inline-block;margin-top:16px;font-size:.7rem}.area-grid,.grade-grid,.directory-grid,.settings-grid{grid-template-columns:1fr;gap:16px}.area-card{min-height:135px;padding:24px 20px}.area-card strong{font-size:1.3rem}.area-card .muted{font-size:.78rem}.area-symbol{min-width:60px;height:70px}.reassurance{padding:28px 0;margin-top:34px;gap:16px}.reassurance-mark{width:35px;height:35px}.reassurance h2{font-size:1.1rem}.reassurance p{font-size:.85rem}.page-heading{margin-bottom:28px}.page-heading h1{font-size:2rem}.card,.surface{padding:24px 20px;border-radius:18px}.card strong{font-size:1.2rem}.card{min-height:110px}.question-grid{grid-template-columns:1fr;gap:18px}.question-card .thumbnail{height:180px}.question-card .thumbnail img{max-height:180px}.problem-panel,.answer-result{padding:10px}.keypad{gap:11px}.key{min-height:80px}.choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice{min-height:82px}.answer-form,.answer-result{margin-top:20px}.button{padding:16px 20px;min-height:70px}.bottom-nav a{font-size:.78rem;gap:6px;padding:10px 4px;min-height:80px;flex-direction:column;line-height:1.2}.bottom-nav a>span{font-size:1.15rem}.auth-layout{grid-template-columns:1fr;gap:10px;padding:0}.auth-mark{display:none}.auth-intro .page-heading{margin-bottom:20px}.auth-intro h1{font-size:2rem}.auth-panel{padding:26px 22px}.site-footer{font-size:.7rem;gap:14px;padding:20px 20px 125px}.site-footer>span{width:100%;text-align:center}dialog{padding:25px;max-width:94vw}.dialog-actions{flex-direction:column}.large-text{font-size:24px}.large-text h1{font-size:2rem}.large-text .area-card strong{font-size:1.15rem}.large-text .area-symbol{min-width:50px;font-size:1.8rem}.large-text .bottom-nav a{font-size:.7rem}.large-text .topbar .brand small{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

[data-focus]:focus{outline:none}
