:root{--paper:#f7f6f0;--ink:#193d35;--muted:#6b7770;--green:#194f43;--lime:#e8f0c9;--line:#e0e4da;--orange:#c76c44;--white:#fffef9;--radius:20px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit}button{border:0}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(38px,4vw,58px);font-weight:400;letter-spacing:-2px;line-height:1.09;margin-bottom:18px}h2{font-size:24px;letter-spacing:-.7px}h3{font-size:17px;letter-spacing:-.3px}p{line-height:1.6}.app{display:flex;min-height:100vh}.sidebar{width:245px;flex:none;padding:37px 25px 24px;background:#edeee5;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:27px;font-weight:760;letter-spacing:-1.4px}.brand-light{font-weight:400}.logo{display:inline-block;background:var(--green);color:#fff;border-radius:12px;width:40px;height:40px;font-size:35px;padding-left:9px;line-height:33px}.logo span{color:#d4e19d;font-size:24px}.sidebar-caption{font-size:9px;letter-spacing:1.7px;margin:20px 0 39px;color:var(--muted)}nav{display:grid;gap:10px}nav a{padding:14px 12px;text-decoration:none;font-size:13px;font-weight:600;border-radius:10px;display:flex;align-items:center;gap:12px}nav a.active{background:var(--green);color:white}nav a:hover:not(.active){background:#e0e5d7}nav a>span{font-size:19px;width:18px}nav small{font-size:10px; margin-left:auto;opacity:.75}.sidebar-bottom{margin-top:auto;padding:40px 12px 0}.sprout{font-size:45px;color:#7e945b;margin-bottom:16px}.sidebar-bottom strong{font:25px/1.2 Georgia,serif}.sidebar-bottom p{font-size:12px;color:var(--muted);margin:15px 0 26px}.text-button{padding:0;background:none;color:var(--green);font-size:12px;font-weight:650}.text-button span{margin-left:8px}.workspace{min-width:0;flex:1}.topbar{height:89px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 45px}.breadcrumb{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted)}.breadcrumb span{margin:0 15px;color:#aab2a8}.profile-label{display:flex;align-items:center;gap:9px}.avatar{background:#e9dcc8;padding:6px 9px;border-radius:50%;font-size:20px}.profile-label select{border:0;background:none;color:var(--ink);font-size:12px;font-weight:600;max-width:115px}main{padding:43px 45px 30px;max-width:1380px;margin:auto;min-height:calc(100vh - 150px)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#748462;display:flex;align-items:center;gap:9px;margin-bottom:17px}.eyebrow:before{content:'';width:6px;height:6px;background:#839659;border-radius:50%}.intro{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:32px}.intro p{font-size:14px;color:var(--muted);max-width:470px;margin-bottom:0}.session-tag{align-self:flex-start;margin-top:7px;font-size:11px;white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:9px 13px}.hero-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr);gap:22px}.studio-card,.side-card,.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.studio-card{overflow:hidden}.card-header{padding:23px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.card-header h2{font-size:14px;margin:0}.tiny-pill{background:var(--lime);padding:6px 10px;font-size:10px;border-radius:20px;letter-spacing:.2px}.studio-body{padding:26px}.topic-row{display:flex;gap:7px;flex-wrap:wrap}.topic{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:12px}.topic.active{background:var(--green);border-color:var(--green);color:white}.topic b{margin-right:6px}.equation-art{text-align:center;margin:26px 0;background:#f0f1e8;border-radius:15px;padding:26px 15px;position:relative}.equation-art .equation{font:50px Georgia,serif;letter-spacing:1px;margin-bottom:16px}.dot-grid{display:grid;gap:7px;justify-content:center;margin:12px auto}.dot{width:12px;height:12px;background:#7e9765;border-radius:50%;display:inline-block}.dot.orange{background:#ce9770}.equation-art p{font-size:12px;color:var(--muted);margin:18px 0 0}.session-config{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;margin:18px 0 24px}.session-config select,.setting select,.demo-config select{background:var(--white);padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.primary,.secondary,.danger{border-radius:10px;padding:13px 18px;min-height:44px;font-weight:600;font-size:13px}.primary{background:var(--green);color:white}.primary:hover{background:#286654}.secondary{background:transparent;border:1px solid #cdd6c7;color:var(--ink)}.secondary:hover{background:#eff2e7}.danger{color:#91462f;background:#f8e9df}.wide{width:100%;display:flex;justify-content:space-between;align-items:center}.fineprint{font-size:11px;color:var(--muted);margin:13px 0 0;line-height:1.6}.side-stack{display:grid;gap:20px;align-content:start}.side-card{padding:25px}.side-card.green{background:#e8edda;border-color:#e0e7d0}.side-card h2{font:27px/1.15 Georgia,serif;margin:12px 0}.side-card p{font-size:12px;color:#596d56}.steps{display:grid;gap:18px;margin-top:24px}.step{display:flex;gap:12px;align-items:flex-start}.step-num{font-size:10px;border:1px solid #c7d4bb;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex:none}.step strong{display:block;font-size:12px}.step p{font-size:11px;margin:4px 0 0}.stat-row{display:flex;justify-content:space-between;margin:18px 0 6px;gap:8px}.stat-value{font:30px Georgia,serif}.stat-label{font-size:10px;color:var(--muted);margin-top:7px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:35px 0 17px}.section-heading h2{font-size:19px;margin:0}.section-heading a{font-size:12px;text-decoration:none}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.preview-card{border:1px solid var(--line);border-radius:14px;padding:19px;background:#fffdf7;text-align:left;color:var(--ink)}.method-icon{width:40px;height:40px;background:#edeedb;border-radius:12px;display:grid;place-items:center;font-size:24px;margin-bottom:20px}.preview-card h3{font-size:14px;margin-bottom:8px}.preview-card p{font-size:12px;color:var(--muted);margin:0}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.filter{padding:9px 15px;border-radius:30px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px}.filter.active{background:var(--green);color:#fff;border-color:var(--green)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.method-card{padding:23px;display:flex;flex-direction:column}.method-card p{font-size:12px;color:var(--muted);flex:1}.method-card .cat{font-size:9px;letter-spacing:1.5px;color:var(--orange);margin-bottom:10px;text-transform:uppercase}.method-card button{text-align:left}.demo-config{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:12px}.exercise-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.progress-track{height:4px;background:#e1e7dc;border-radius:4px;margin-top:15px;overflow:hidden}.progress-track span{display:block;height:100%;background:#70906b}.question{text-align:center;padding:35px 0}.question h2{font:52px Georgia,serif;margin:10px 0 25px}.answer-form{display:flex;justify-content:center;gap:10px}.answer-form input{width:125px;padding:12px;text-align:center;font-size:24px;background:#fff;border:2px solid #cbd7c4;border-radius:10px;color:var(--ink)}.question-tools{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}.question-tools button{font-size:12px;text-decoration:underline;text-underline-offset:4px;background:none;color:var(--muted);padding:7px}.check-in{border:1px solid #d9d6bb;background:#f5f0d9;border-radius:12px;padding:18px;margin-top:20px}.check-in p{font-size:13px}.button-row{display:flex;gap:9px;flex-wrap:wrap}.feedback-box{padding:22px;background:#eff2e8;border-radius:13px}.feedback-box h3{font-size:19px}.feedback-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.feedback-options button{background:white;border:1px solid var(--line);border-radius:9px;padding:12px;text-align:left;font-size:12px;color:var(--ink)}.feedback-options button:hover{border-color:var(--green)}.lesson{min-height:210px;background:#f1f2e9;border-radius:15px;padding:24px;margin:20px 0;text-align:center}.lesson h3{font:30px Georgia,serif;margin-bottom:20px}.lesson p{font-size:15px}.lesson input,.lesson textarea{padding:11px;border:1px solid #cbd5c1;border-radius:9px;max-width:100%;background:white;color:var(--ink)}.lesson textarea{width:100%;min-height:85px;resize:vertical}.lesson canvas{width:100%;height:180px;touch-action:none;background:#fffefa;border:1px dashed #bac6b0;border-radius:10px}.lesson .secondary{margin:8px 4px;font-size:12px}.lesson svg{width:100%;max-height:110px}.relation{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.relation span{background:white;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font:26px Georgia,serif;border:1px solid var(--line)}.bars{display:flex;gap:3px;margin:20px auto;max-width:100%;flex-wrap:wrap;justify-content:center}.bar{background:#91ab75;min-width:28px;padding:12px 5px;color:#173a31;border-radius:4px;font-size:13px;flex:1}.big-fact{font:38px/1.4 Georgia,serif}.muted{color:var(--muted)}.small{font-size:12px}.pill-list{display:flex;gap:7px;flex-wrap:wrap}.pill-list span{padding:8px 11px;border:1px solid var(--line);border-radius:20px;font-size:12px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th,.data-table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.metric{padding:22px;background:var(--white);border:1px solid var(--line);border-radius:15px}.metric b{display:block;font:32px Georgia,serif;margin-bottom:8px}.metric span{font-size:12px;color:var(--muted)}.empty{padding:45px;text-align:center;border:1px dashed #bac9b4;border-radius:18px}.empty p{color:var(--muted)}footer{padding:25px 45px;display:flex;justify-content:space-between;gap:15px;color:#7b857a;font-size:10px;border-top:1px solid var(--line)}dialog{max-width:570px;width:calc(100% - 30px);border:1px solid var(--line);border-radius:20px;padding:30px;color:var(--ink);background:var(--white)}dialog::backdrop{background:#163b345c}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.dialog-head h2{font:30px Georgia,serif}.icon-button{font-size:25px;background:none;color:var(--ink)}.setting{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0;font-size:13px}dialog p{font-size:13px}.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{position:fixed;top:-80px;background:var(--green);color:#fff;padding:15px;z-index:20}.skip:focus{top:10px;left:10px}body.large{zoom:1.12}.notice{padding:14px 18px;background:#f7e9d5;border-radius:12px;font-size:12px;margin-bottom:16px}.summary-score{font:64px Georgia,serif;color:var(--green);margin:25px 0 10px}.beat{display:inline-grid;place-items:center;width:70px;height:70px;background:#e0e8c4;border-radius:50%;font-size:32px}.beat:active{background:#bace92}.method-select{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--white);font-size:12px;color:var(--ink)}@media(min-width:1500px){main{padding-top:60px}.hero-layout{grid-template-columns:1.8fr 1fr}}@media(max-width:1100px){.sidebar{width:205px;padding:30px 16px}.topbar{padding:0 28px}main{padding:35px 28px}.hero-layout{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:repeat(2,1fr)}footer{padding:24px 28px}}@media(max-width:700px){.app{display:block}.sidebar{position:static;width:100%;height:auto;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:24px}.sidebar-caption,.sidebar-bottom{display:none}nav{display:flex;gap:5px;margin-top:17px;justify-content:space-between}nav a{padding:10px;font-size:11px;gap:6px}nav a>span{font-size:15px;width:auto}nav small{display:none}.topbar{height:65px;padding:0 20px}.breadcrumb{font-size:8px;letter-spacing:1px}.breadcrumb span{margin:0 6px}main{padding:28px 20px}.intro{display:block}.intro .session-tag{display:inline-block;margin-top:17px}h1{font-size:43px}.side-stack{grid-template-columns:1fr}.preview-grid{grid-template-columns:1fr}.preview-card{display:grid;grid-template-columns:45px 1fr;gap:0 14px}.preview-card .method-icon{grid-row:span 2;margin:0}.method-grid{grid-template-columns:1fr 1fr;gap:10px}.method-card{padding:17px}.method-card h3{font-size:15px}.studio-body{padding:20px}.card-header{padding:20px}.metric-grid{grid-template-columns:1fr 1fr}.feedback-options{grid-template-columns:1fr}footer{padding:20px;display:block;line-height:1.8}footer span{display:block}.session-config{align-items:flex-start}.lesson{padding:18px}.question h2{font-size:44px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.mobile-settings{display:none}@media(max-width:700px){.mobile-settings{display:block}.breadcrumb{display:none}.topbar{justify-content:space-between}}

.challenge-mark{display:inline-grid;place-items:center;background:#e2e9ce;color:#6d8552;border-radius:50%;width:52px;height:52px;font-size:28px}.question h2,.big-fact{overflow-wrap:anywhere}.topic-row{row-gap:9px}.answer-form input{width:170px}.equation-art .equation{font-size:clamp(32px,4vw,50px)}

.learning-steps{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--muted);margin:12px 0 24px}.learning-steps b{color:var(--green)}.target-fact{border:1px solid var(--line);border-radius:12px;text-align:center;padding:20px;margin-bottom:20px}.target-fact h2{font:36px Georgia,serif;margin:0;overflow-wrap:anywhere}.method-label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}.method-select{display:block;width:100%;max-width:100%;margin-top:10px}.support-actions{margin:16px 0}.reveal-answer{margin-top:12px}#method-explanation{width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;margin:12px 0 20px;min-height:140px}.saved-explanation{white-space:pre-wrap;overflow-wrap:anywhere}.question-tools{flex-wrap:wrap;gap:14px}.learning-steps+ h2{line-height:1.4}

/* Color Play: visual grouping carries mathematical meaning; shape backs up color. */
:root{--paper:#f5f5ff;--ink:#24264d;--muted:#5b6078;--green:#6833c5;--lime:#ede2ff;--line:#dcdcf0;--orange:#a84105;--white:#ffffff;--dot-size:clamp(14px,2vw,24px);font-family:ui-rounded,"Avenir Next",ui-sans-serif,system-ui,sans-serif}
body{background:linear-gradient(140deg,#f3f0ff 0%,#f2faff 55%,#fff7e8 100%)}
h1{font-family:ui-rounded,"Avenir Next",system-ui,sans-serif;font-weight:850;letter-spacing:-2px;line-height:1.1}h2,h3{letter-spacing:-.5px}.sidebar{background:#241b48;color:#fff;border:0}.sidebar-caption,.sidebar-bottom p{color:#d4c9ed}.sidebar-bottom .text-button{color:#ffe078}.logo{background:#a68bfa;color:#241b48;box-shadow:0 4px 0 #120d28}.logo span{color:#ffdc65}nav a.active{background:#ffe078;color:#2b2149;box-shadow:0 4px 0 #a37716}nav a:hover:not(.active){background:#3e306a}.sidebar .sprout{color:#ffdc65}.sidebar-bottom strong{font-family:inherit;font-weight:750}.topbar{background:#ffffffc9}.avatar{background:#ffe078;color:#322350}.eyebrow{color:#5932a3}.eyebrow:before{background:#e35d15}.studio-card,.side-card,.card{box-shadow:0 5px 0 #dcdcf0}.card-header{background:#f0eaff;border-bottom:2px solid #dfd4f6}.card-header h2{color:#38216a}.primary{background:#6833c5;box-shadow:0 4px 0 #3d1a7c}.primary:hover{background:#5525ad}.primary:active,.secondary:active{transform:translateY(2px);box-shadow:none}.secondary{background:#fff;border:2px solid #d2c2f0;box-shadow:0 3px 0 #e5dcf7;color:#402371}.secondary:hover{background:#f1eaff}.tiny-pill{background:#ffe078;color:#4a3500;font-weight:750}.side-card.green{background:#e6f6ff;border-color:#96cfeb}.side-card h2{font-family:inherit;font-weight:800}.side-card p{color:#414d69}.step-num{background:#fff;color:#5932a3;border:2px solid #9c79e0;font-weight:800}.step:nth-child(2) .step-num{background:#ffe5cc;border-color:#d16a23;color:#773900}.step:nth-child(3) .step-num{background:#d7f5eb;border-color:#25836b;color:#165541}.equation-art{background:#eaf3ff;border:2px solid #96bbf5}.equation-art .equation{font-family:inherit;font-weight:800}.equation-art p{color:#414d69}.topic{color:#403858;background:#fff;border:2px solid #dcd2ed}.topic.active{background:#6833c5;border-color:#6833c5;box-shadow:0 3px 0 #3d1a7c}.topic b{font-size:17px}.method-icon{background:#e8e1ff;color:#562da0;font-size:28px;border-radius:14px;border:2px solid #b49ade;width:48px;height:48px}.method-card,.preview-card{border-top:5px solid #8654d5;background:#fff}.method-card[data-category="Visual"],.preview-card[data-category="Visual"]{border-top-color:#1958cb;background:#eff6ff}.method-card[data-category="Verbal"],.preview-card[data-category="Verbal"]{border-top-color:#dc5d0b;background:#fff3e6}.method-card[data-category="Patterns"]{border-top-color:#6c36c5;background:#f3edff}.method-card[data-category="Hands-on"]{border-top-color:#077766;background:#eafff5}.method-card[data-category="Memory"],.preview-card[data-category="Memory"]{border-top-color:#b72f79;background:#fff0f8}.method-card[data-category="Recall"]{border-top-color:#9c7100;background:#fff9df}.method-card .cat{font-weight:800;color:#524060}.filter{color:#493861;background:white;border:2px solid #d8ccea}.filter.active{color:white;background:#6833c5}.lesson{background:#eff6ff;border:2px solid #93b8ec;border-radius:18px;overflow:hidden}.lesson h3{font-family:inherit;font-size:24px;font-weight:800}.lesson[data-category="Verbal"]{background:#fff4e8;border-color:#e9b084}.lesson[data-category="Memory"]{background:#fff0f8;border-color:#e7a4c9}.lesson[data-category="Hands-on"]{background:#eafff5;border-color:#80c6ad}.activity-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:#493a68;margin-bottom:14px}.activity-label span{font-size:25px}.dot-grid{gap:5px}.dot,.dot:nth-child(3n){width:var(--dot-size);height:var(--dot-size);background:#1755cc;border:2px solid #103d94;border-radius:50%;box-shadow:inset 0 2px 0 #ffffff70;flex:none}.dot.orange,.dot.orange:nth-child(3n){background:#ff841c;border-color:#914004;border-radius:4px}.dot.removed{position:relative}.dot.removed:after{content:'×';position:absolute;inset:-3px;display:grid;place-items:center;font-size:calc(var(--dot-size) + 1px);font-weight:900;color:#512507}.array-board{max-width:100%;overflow-x:auto;padding:6px}.array-rows{display:grid;gap:7px;width:max-content;max-width:100%;margin:auto}.array-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border:2px solid #b2c9ed;border-radius:10px;background:white;transition:background .15s,border-color .15s}.array-row:nth-child(even){background:#fff7e7;border-color:#e3bc8d}.array-row .dot-grid{margin:0}.group-label{width:20px;flex:none;font-weight:800;font-size:12px;color:#37445d}.array-row.counted-now{border:3px solid #6230b1;background:#eadcff;padding:6px 9px;box-shadow:0 0 0 2px white}.counter-key{font-size:11px!important;color:#41435c!important;display:flex;gap:5px;justify-content:center;align-items:center;flex-wrap:wrap}.key-blue{color:#1755cc;font-size:20px}.key-orange{color:#a34500;font-size:20px}.count-game{padding:15px 0 0}.count-game p{font-size:13px;font-weight:750;margin:12px 0 0;color:#402371}.part-board{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin:20px 0}.part-panel{padding:16px 12px;background:white;border:2px solid #1755cc;border-radius:14px;max-width:100%}.part-panel strong{font-size:14px;color:#1648a8}.part-panel.warm{background:#fff7e8;border-color:#a34500}.part-panel.warm strong{color:#813500}.part-connector{font-size:28px;font-weight:850}.bars .bar{background:#1755cc;color:white;border:2px solid #103d94}.bars .bar:nth-child(even){background:#ff841c!important;color:#4e2307;border-color:#914004}.quest-track{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0 28px;position:relative}.quest-track:before{content:'';position:absolute;left:10px;right:10px;top:19px;height:5px;background:#ded1f4}.quest-stop{z-index:1;display:grid;place-items:center;width:42px;height:42px;border:3px solid #bba8d9;border-radius:50%;background:#fff;color:#695482;font-size:14px;font-weight:850}.quest-stop.current{background:#ffe078;color:#493000;border-color:#9a6500;box-shadow:0 3px 0 #d9b044}.quest-stop.done{background:#087e68;color:#fff;border-color:#045445}.learning-steps{gap:8px}.learning-steps>*{padding:8px 10px;border-radius:9px;background:#eeeaf6;font-size:11px}.learning-steps b{background:#6833c5;color:#fff}.target-fact{background:#fff7db;border:2px solid #c59420}.target-fact h2{font-family:inherit;font-weight:850}.result-medal{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:22px;font-size:42px;font-weight:800;transform:rotate(-6deg);background:#fff0b5;color:#795000;border:3px solid #b9810c;box-shadow:0 5px 0 #e1bd53}.result-medal.explore{background:#e7e1ff;border-color:#8e6acf;color:#5931a0;box-shadow:0 5px 0 #c7b3e9}.feedback-box{background:#f1ecff;border:2px solid #bca2e5}.feedback-options button{border:2px solid #cbb6e9;background:white;color:#422367;min-height:48px;border-radius:12px}.question h2{font-family:inherit;font-weight:850}.answer-form input{border:3px solid #9570ce;background:#fffdf4}.beat{background:#6833c5;color:#fff;box-shadow:0 5px 0 #3d1a7c}.notice,.check-in{background:#fff2c9;border:2px solid #bb8e24;color:#624610}.metric b,.stat-value{font-family:inherit;font-weight:850;color:#5932a3}.metric{border-top:5px solid #8654d5}.metric:nth-child(2){border-top-color:#087e68}.metric:nth-child(3){border-top-color:#d35d14}.metric:nth-child(4){border-top-color:#1755cc}.challenge-mark{background:#ffe078;color:#5f3d00;border:2px solid #9a6500}.relation span{background:#e6d9ff;border:2px solid #9c75d8;color:#402371}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #1755cc;outline-offset:4px}
@media(max-width:700px){h1{font-size:38px;letter-spacing:-1.3px}.array-row{padding:6px;gap:5px}.array-row.counted-now{padding:5px}.group-label{width:14px}.dot-grid{gap:4px}.part-panel{padding:10px}.quest-stop{width:34px;height:34px}.quest-track:before{top:15px}.sidebar{border-radius:0 0 20px 20px}.lesson{padding:14px}.method-grid{gap:14px}.side-card h2{font-size:24px}.support-actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){.array-row{transition:none}.primary:active,.secondary:active{transform:none}}

/* A user-paced teaching carousel: quantities move before the answer appears. */
.teaching-carousel{margin:24px 0;padding:18px;border:2px solid #b4a0dc;border-radius:18px;background:#f5efff}.carousel-heading,.carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.carousel-heading{margin-bottom:12px}.carousel-nav{margin:16px 0 22px}.teaching-carousel .carousel-nav{margin-bottom:0}.teaching-carousel .lesson{margin:12px 0}.animation-equation{font-size:34px;font-weight:850;margin-bottom:20px}.animation-equation [data-motion-answer]{color:#6833c5}.motion-board{position:relative;padding:18px 6px 6px;min-height:185px}.motion-dots{display:flex;flex-wrap:wrap;gap:14px 10px;justify-content:center;padding-bottom:60px}.motion-dot{width:42px;height:42px;background:none;padding:0;border:0;position:relative;touch-action:pan-x;transition:transform .65s ease,opacity .4s;flex:none}.motion-dot .object{display:block;width:40px;height:40px;border:3px solid #103d94;background:#2167e3;border-radius:50%;box-shadow:inset 0 3px 0 #83b4ff}.motion-dot.apple .object{font-size:32px;background:none;border:0;box-shadow:none;line-height:40px}.motion-dot .count-label{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:23px;font-weight:850;text-shadow:0 1px 2px #142d6c}.motion-dot.apple .count-label{top:33px;color:#362756;text-shadow:none;font-size:17px}.motion-dot.pulled-away{transform:translateY(64px) rotate(15deg);opacity:.62}.motion-dot.pulled-away .object{background:#ff841c;border-color:#914004;box-shadow:inset 0 3px 0 #ffd09a}.motion-dot.apple.pulled-away .object{background:none;border:0;box-shadow:none}.motion-dot.pending-dot{opacity:.12;transform:translateY(50px)}.motion-dot.counted-dot .object{border-color:#472580;box-shadow:0 0 0 4px #ffe078}.away-tray{border:2px dashed #ae6724;border-radius:12px;background:#fff0d4;min-height:42px;padding:10px;color:#75400d;font-size:12px;font-weight:700;margin-top:8px}.motion-caption{background:#fff;border:2px solid #c5b4e4;border-radius:12px;padding:14px;font-weight:750;min-height:65px;line-height:1.5}.motion-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0}.motion-controls .text-button{padding:10px}.story-intro{font-size:17px;line-height:1.6}.jump-track{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin:30px 0;padding:15px;background:#fff;border-radius:15px;border-bottom:4px solid #755b9b}.jump-track span{display:grid;place-items:center;min-width:30px;height:38px;border:1px solid #cec2e1;border-radius:8px;font-weight:750;transition:background .3s,transform .3s}.jump-track .active-tick{background:#ffe078;border:3px solid #794d00;color:#513600;transform:translateY(-8px)}
@media(max-width:700px){.teaching-carousel{padding:10px}.motion-dot{width:32px;height:32px}.motion-dot .object{width:30px;height:30px}.motion-dot .count-label{font-size:18px}.motion-dots{gap:12px 7px}.motion-controls{gap:10px}.motion-controls button{flex:1}.carousel-nav button{font-size:12px;padding:12px}.animation-equation{font-size:29px}.motion-dot.apple .object{font-size:27px;line-height:30px}.motion-dot.apple .count-label{top:27px}.jump-track span{min-width:26px}.teaching-carousel .lesson{padding:12px}}
@media(prefers-reduced-motion:reduce){.motion-dot,.jump-track span{transition:none}.motion-dot.pulled-away{transform:translateY(64px)}.jump-track .active-tick{transform:none}}

.rating-set{border:0;padding:0;margin:24px 0;display:flex;gap:10px;flex-wrap:wrap}.rating-set legend{font-size:17px;font-weight:800;margin-bottom:14px}.rating-set label{flex:1;min-width:95px;position:relative;cursor:pointer}.rating-set input{position:absolute;opacity:0;width:1px;height:1px}.rating-set span{display:block;padding:16px 10px;border:2px solid #bcaae0;border-radius:12px;text-align:center;font-weight:750;background:#fff}.rating-set input:checked+span{background:#ffe078;border-color:#825a00;color:#493000}.rating-set input:focus-visible+span{outline:3px solid #1755cc;outline-offset:3px}#skip-rating{margin-top:20px}#lesson-rating[hidden]{display:none}

.entry-actions{display:grid;gap:10px;margin:16px 0 26px}.entry-actions p{margin:2px 0 8px;text-align:center}
.lesson .animation-equation{font-size:34px;font-weight:850;line-height:1.3}.lesson .motion-caption{font-size:16px}.lesson .motion-controls+ p{font-size:12px}@media(max-width:700px){.lesson .animation-equation{font-size:29px}}

.result-medal.success{background:#dcfce7;color:#166534;border:3px solid #15803d}.correct-notice{background:#dcfce7;color:#166534;border:2px solid #15803d}.correct-label{color:#166534}.correct-label:before{content:none}

/* A lesson can be interrupted for a question from any scroll position. */
.lesson-quiz-space{height:110px}.lesson-quiz-dock{position:fixed;z-index:30;left:269px;right:24px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#fff8dc;border:2px solid #7956b3;border-radius:18px;box-shadow:0 6px 24px #241b4833}.lesson-quiz-dock strong,.lesson-quiz-dock span{display:block}.lesson-quiz-dock span{font-weight:750;margin-top:4px}.lesson-quiz-dock button{min-height:48px;flex-shrink:0}
@media(max-width:900px){.lesson-quiz-dock{left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));padding:12px;gap:10px}.lesson-quiz-dock strong{font-size:13px}.lesson-quiz-dock span{font-size:15px}.lesson-quiz-dock button{font-size:14px;padding:12px}.lesson-quiz-space{height:125px}}
@media(max-width:350px){.lesson-quiz-dock{flex-wrap:wrap}.lesson-quiz-dock button{width:100%}.lesson-quiz-space{height:165px}}

/* Child-paced scenes: one visible action per tap, consistent vector objects. */
.snack-scene{text-align:center}.scene-intro{font-size:19px!important;line-height:1.5!important;max-width:520px;margin:0 auto 20px!important;color:#3e2749!important}.scene-board{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;background:#fff6dc;border-radius:20px;padding:18px 12px}.scene-bowl{flex:1 1 140px;max-width:270px;min-width:0;border:3px solid #126d85;border-radius:16px 16px 42px 42px;background:#e1f5ff;padding:14px 10px 20px;box-shadow:0 5px 0 #92cbdc}.scene-bowl>strong{display:block;color:#144d69;font-size:14px;margin-bottom:12px}.scene-bowl.friend-bowl{background:#f0e6ff;border-color:#7651aa;box-shadow:0 5px 0 #c2a8e4}.scene-fruit{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;min-height:52px}.scene-berry{display:inline-grid;justify-items:center;gap:3px;animation:berry-arrive .25s ease-out}.scene-berry svg,.scene-bundle svg{width:34px;height:34px;display:block}.scene-berry b{font-size:17px;color:#31214c;background:white;border-radius:50%;min-width:24px}.scene-bundle{display:grid;justify-items:center;gap:6px;padding:8px 14px;background:white;border-radius:12px;border:2px dashed #c32954;color:#81203c;font-size:16px}.scene-empty{color:#395e70;font-size:15px;padding:10px}.scene-caption{font-size:19px!important;font-weight:750;line-height:1.5!important;margin:22px 0!important;color:#39234d!important}.scene-controls{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.scene-controls .primary{min-height:52px;white-space:normal}.scene-sharing{width:100%;margin:0!important;font-weight:700;font-size:16px!important}.snack-scene [hidden]{display:none!important}@keyframes berry-arrive{from{transform:translateY(-8px);opacity:.3}to{transform:translateY(0);opacity:1}}@media(max-width:700px){.scene-bowl{flex-basis:105px}.scene-board{padding:14px 8px;gap:10px}.scene-intro,.scene-caption{font-size:17px!important}.scene-controls .primary{width:100%}}@media(prefers-reduced-motion:reduce){.scene-berry{animation:none}}

/* Named local learner profiles */
.profile-controls{display:flex;align-items:center;gap:12px;min-width:0}.profile-controls .profile-label{min-width:0}.profile-controls select{max-width:180px;text-overflow:ellipsis}.profile-controls button{min-height:44px;padding:10px 14px;white-space:nowrap;font-size:12px}.topbar{gap:16px}.setting input{width:100%;min-height:48px;border:2px solid #9570ce;border-radius:10px;padding:12px;background:#fff;color:#241b48}#profile-error{color:#9c3020;font-size:14px}#profile-dialog{max-width:480px;width:calc(100% - 32px)}@media(max-width:700px){.topbar{height:auto;min-height:78px;padding:14px 20px;flex-wrap:wrap;gap:10px}.profile-controls{flex:1;justify-content:space-between;gap:8px}.profile-controls select{max-width:135px}.profile-controls .avatar{display:none}.mobile-settings{margin-left:auto}#profile-dialog .button-row{display:flex;flex-wrap:wrap}#profile-dialog .button-row button{min-height:48px}}

.creator-notice{font-size:10px;line-height:1.6;letter-spacing:1px;color:#ffe078;margin:22px 10px 0;font-weight:750}.subject-card{padding:28px;margin:24px 0}.subject-card .button-row{margin-top:22px;gap:12px;display:flex;flex-wrap:wrap}.subject-card button{min-height:44px}.subject-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.learning-map{margin:20px 0;border:2px solid #81b9d8;border-radius:16px;overflow:hidden;background:#def4ff}.learning-map svg{display:block;width:100%;max-height:440px}.map-land path{fill:#87d2a8;stroke:#23654a;stroke-width:.6;fill-rule:evenodd}.map-land .selected-land{fill:#ffc642;stroke:#573682;stroke-width:2}.map-marker{fill:#6935b8;stroke:white;stroke-width:3}.map-question{fill:white;font:700 19px sans-serif}.map-caption{font-size:24px;font-weight:800;text-align:center;color:#533091}.subject-stats{display:flex;gap:16px;flex-wrap:wrap;padding-top:24px;color:#57496b;font-size:13px}.subject-stats b{font-size:19px;color:#6335a8}.subject-sources{font-size:13px;line-height:1.7;margin:24px 0}.subject-sources summary{cursor:pointer;font-weight:700}.subject-sources a{color:#533091}.subject-correct{color:#087452}.subject-feedback{border:1px solid #cbb5ec;border-radius:12px;padding:18px;margin:20px 0}.subject-feedback legend{font-size:15px;font-weight:650}.word-display{font-size:clamp(26px,5vw,46px);font-weight:800;text-align:center;overflow-wrap:anywhere;background:#fff5cf;border:2px solid #d2a83c;padding:24px;border-radius:16px;color:#352253;margin:24px 0}.word-pills,.letter-tiles{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.word-pills span{background:#eee6fc;border:1px solid #ac8bdc;color:#432671;padding:8px 14px;border-radius:12px;overflow-wrap:anywhere}.letter-tiles button{font-size:24px;min-width:48px}.built-word{font-size:24px;letter-spacing:4px;min-height:70px;background:#eaf8f1;border:2px dashed #348d6a;padding:20px;overflow-wrap:anywhere}.setting textarea{width:100%;min-height:180px;padding:14px;border:2px solid #9570ce;border-radius:12px;background:white;color:#241b48;resize:vertical}.subject-ready{position:sticky;bottom:12px;margin-top:20px}#subject-result{margin-top:22px}#list-error{color:#963723}#spell-answer{margin-top:24px}@media(max-width:700px){.subject-card{padding:18px}.subject-choices{grid-template-columns:1fr}.subject-card .primary{width:100%}.subject-feedback{padding:12px}.creator-notice{margin:10px 0 0;font-size:9px}.learning-map svg{min-height:185px}.subject-card .button-row{gap:10px}}
.subject-card .setting,#profile-dialog .setting{display:flex;flex-direction:column;align-items:stretch;gap:10px}.subject-card .setting select{width:100%;max-width:100%}@media(max-width:900px){.sidebar nav{flex-wrap:wrap}.sidebar nav a{flex:0 1 auto}.creator-notice{width:100%}}

/* Accessible spelling lessons and movable letter puzzle. */
.spelling-methods{margin-top:24px;flex-wrap:wrap}.letter-slots{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.letter-slot{width:48px;min-height:54px;border:2px dashed #6146ad;background:#f5efff;border-radius:8px;color:#262044;font-size:24px;font-weight:700}.letter-slot:hover,.letter-slot:focus-visible{background:#fff2a6}.letter-tiles [aria-pressed="true"]{outline:3px solid #6547b3;background:#ffdf76}.letter-tiles [draggable="true"]{cursor:grab}.letter-tiles button:disabled{opacity:.35}#write-word-form{margin:20px 0}.memory-hook{font-size:1.2rem;line-height:1.6}#word-example[hidden]{display:none}

.region-art{margin:22px 0;max-width:560px}.region-art img{display:block;width:100%;max-height:280px;object-fit:cover;border-radius:18px}.region-art figcaption{font-size:12px;color:#55546a;margin-top:8px}.association-scene{background:#fff0b3;border-radius:18px;padding:28px;margin:24px 0}.geo-flip{width:100%;min-height:230px;padding:30px;border:2px solid #6e50b7;background:#eae0ff;border-radius:20px;color:#292044;display:flex;flex-direction:column;gap:24px;align-items:center;justify-content:center;transition:background .35s,transform .35s}.geo-flip strong{font-size:clamp(20px,3vw,30px);line-height:1.4}.geo-flip.revealed{background:#fff0a8;transform:rotate(-1deg)}.geo-journey{padding:24px 0;min-height:260px}.play-connection h2,.step-arrives{animation:connection-arrives .65s ease both}@keyframes connection-arrives{from{opacity:.2;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.play-connection h2,.step-arrives{animation:none}.geo-flip{transition:none;transform:none}}

.learning-choices{margin:28px 0}.learning-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.learning-method-card{display:flex;flex-direction:column;text-align:left;gap:10px;padding:20px;border:2px solid #baa0e7;border-radius:18px;background:#f0e8ff;color:#2a2044;min-height:185px;line-height:1.45}.learning-method-card:nth-child(3n+2){background:#fff2bc;border-color:#d9b745}.learning-method-card:nth-child(3n){background:#dff3ef;border-color:#6daea0}.learning-method-card:hover,.learning-method-card:focus-visible{outline:3px solid #6143ab;transform:translateY(-2px)}.learning-method-card strong{font-size:21px}.method-category{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.method-action{font-weight:750;margin-top:auto}.quiz-entry{padding:20px 0;border-top:1px solid #d9cce9;margin-top:24px}.quiz-entry button{margin:6px 10px 6px 0}.list-word-preview{margin-top:24px}.list-word-preview summary{font-weight:700;cursor:pointer}.lesson-pager{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.lesson-pager label{display:flex;flex-direction:column;gap:8px;flex:1;min-width:160px}.lesson-pager select{padding:12px;border:2px solid #b69ddd;border-radius:10px;width:100%;background:white}.subject-ready{margin-left:10px}@media(max-width:1000px){.learning-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.learning-method-grid{grid-template-columns:1fr}.learning-method-card{min-height:145px}.subject-ready{margin-left:0}.lesson-pager{gap:10px}}

.lesson-list-chooser{padding-bottom:20px;border-bottom:1px solid #dfd4eb;margin-bottom:20px}.lesson-list-chooser .setting{margin-top:0}

#word-drawing{display:block;width:100%;height:190px;border:3px dashed #8761c5;border-radius:18px;touch-action:none;background:repeating-linear-gradient(#fff 0px,#fff 59px,#ded5ef 60px,#fff 61px);cursor:crosshair} .word-covered{font-size:clamp(1.4rem,4vw,2.2rem);background:#eee6ff;color:#654293} #drawing-practice[hidden],#typing-practice[hidden]{display:none} #drawing-practice{margin-top:18px} #hide-word-example{margin-bottom:12px}

.geo-discovery{margin:24px 0}.discovery-banner{background:#442881;color:white;border-radius:22px;padding:28px}.discovery-banner h2{color:white;font-size:clamp(2rem,4vw,3rem);margin:10px 0}.discovery-banner p{color:#fff3ba;font-size:1.35rem;margin-bottom:0}.fact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.geo-fact-card{border:2px solid #d9b349;border-radius:22px;padding:24px;box-shadow:0 5px 0 #ddd5ec}.date-card{background:#fff0ab}.fun-card{background:#d8f4eb;border-color:#77aa9c}.connection-card{grid-column:1/-1;background:#eee3ff;border-color:#b69bd9}.fact-tag{font-size:.8rem;letter-spacing:.1em;font-weight:800;display:block;margin-bottom:14px}.fact-year{display:block;font-size:clamp(3rem,8vw,5rem);line-height:1.1;color:#51347d}.geo-fact-card h3{margin:12px 0;font-size:1.5rem}.geo-fact-card p{margin:12px 0}.recall-prompt{padding:22px;border-left:6px solid #f0c947;background:#fffbeb;border-radius:12px}.rhyme-lesson{background:#f0e7ff;border:3px solid #b398dd;border-radius:24px;padding:28px;margin:24px 0}.rhyme-lines{white-space:pre-line;font-size:clamp(1.35rem,3vw,2rem);font-weight:750;line-height:1.8;color:#43236e}.rhyme-beats{display:flex;gap:14px}.rhyme-beats span{display:grid;place-items:center;background:#ffe170;color:#34234c;border:2px solid #c99c23;border-radius:50%;width:44px;height:44px;font-weight:800}@media(max-width:600px){.fact-card-grid{grid-template-columns:1fr}.geo-fact-card,.rhyme-lesson,.discovery-banner{padding:20px}}

.guided-math{background:#e5f6ef;border:2px solid #80b49e;border-radius:20px;padding:24px;margin:18px 0}.guided-math input{display:block;width:min(100%,280px);padding:12px;font:inherit;border:2px solid #9675c9;border-radius:10px;margin:12px 0}

.conner-map{background:#fff;border:2px solid #d9d3ec;border-radius:20px;overflow:hidden;max-width:780px;margin:20px auto}.conner-map svg{display:block;width:100%;height:auto}.conner-region path{stroke:#fff;stroke-width:.7;vector-effect:non-scaling-stroke}.conner-region.conner-selected path{stroke:#221a44;stroke-width:2.5;filter:drop-shadow(0 0 2px #fff)}.conner-region[role=button]{cursor:pointer}.conner-region[role=button]:hover path,.conner-region[role=button]:focus path{stroke:#efaa17;stroke-width:3}.conner-region:focus{outline:none}

/* User-supplied world artwork with independently reversible name cards. */
.world-map-controls h3{margin-bottom:8px}.world-map-controls p{margin-top:0}
.world-map-scroller{overflow-x:auto;border:2px solid #d5d0ee;border-radius:20px;background:#f0faff;margin:20px 0;overscroll-behavior-x:contain}
.world-map-stage{position:relative;width:100%;min-width:640px;aspect-ratio:10/7}
.world-map-stage img{display:block;width:100%;height:auto}
.world-label,.world-question{position:absolute;transform:translate(-50%,-50%);font-family:inherit;font-weight:800;text-align:center;line-height:1.15;box-shadow:0 3px 0 #26234d33}
.world-label{width:12.5%;min-height:44px;padding:7px 4px;border:2px solid #35235e;border-radius:12px;background:#fffaf0;color:#292048;font-size:clamp(12px,1.2vw,18px);cursor:pointer;transition:background .18s,box-shadow .18s}
.world-label.ocean-label{background:#e5f8ff;border-color:#08678a;color:#064760}
.world-label.current-label{outline:4px solid #7137cf;outline-offset:3px}
.world-label.covered{width:44px;height:44px;border-radius:50%;font-size:24px;background:#fff;color:#35235e}
.world-label:focus-visible{outline:4px solid #e07600;outline-offset:3px}
.world-question{display:grid;place-items:center;width:44px;height:44px;border:3px solid #fff;border-radius:50%;background:#5829ae;color:#fff;font-size:28px}
.world-map-mobile-note{display:none}
@media(max-width:900px){.world-map-mobile-note{display:block}.world-map-controls .button-row{gap:10px}.world-label{font-size:12px}}
