:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#283c35;background:#f8f7f2;font-size:17px;font-synthesis:none;--green:#255e51;--ink:#283c35;--muted:#6b766f;--border:#e4e6dc;--cream:#f8f7f2;--white:#fffefa;--radius:20px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}p{line-height:1.65}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,label.btn:focus-within{outline:3px solid #b87528;outline-offset:5px}button:hover:not(:disabled),a:hover{filter:brightness(.96)}button:active:not(:disabled){transform:translateY(1px)}.icon{width:23px;height:23px;flex-shrink:0;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:15px;z-index:100}.skip-link:focus{top:15px}.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}#app{min-height:100vh;display:flex}.sidebar{width:246px;flex-shrink:0;border-right:1px solid var(--border);background:#f0f1e9;padding:43px 25px 24px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:13px;font-weight:750;font-size:25px;line-height:1.08;letter-spacing:-1px;color:#274d40}.brand-icon{width:47px;height:55px;display:grid;place-items:center}.brand-icon .icon{width:43px;height:43px}.brand-dot{color:#c29054}.sidebar-label{font-size:10px;letter-spacing:1.5px;margin:59px 14px 18px;color:#788278;font-weight:600}.sidebar nav{display:grid;gap:9px}.nav-item{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:11px;font-size:15px;font-weight:550;color:#647165;min-height:52px}.nav-item.active{background:#dfe6da;color:#244e40}.nav-item .icon{width:20px;height:20px}.nav-dot{width:6px;height:6px;background:#547059;border-radius:50%;margin-left:auto}.sidebar-note{margin-top:auto;padding:44px 14px 0}.sidebar-note>.icon{color:#889a70;width:29px;height:29px;transform:rotate(-15deg)}.sidebar-note p{font-size:14px;color:#7a8376;line-height:1.7}.sidebar-note strong{font-weight:500;color:#52664f}.local-label{display:flex;align-items:center;gap:7px;font-size:10px;color:#808b7f;margin-top:32px;white-space:nowrap}.local-label>span{height:5px;width:5px;border-radius:50%;background:#82916c}.workspace{margin-left:246px;flex:1;min-width:0;padding:0 48px;max-width:1680px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.topbar-label{font-size:10px;letter-spacing:1.8px;color:#7e867b;font-weight:600}.date-label{font-size:12px;color:#758071;display:flex;gap:8px;align-items:center;text-transform:capitalize}.date-label .icon{width:16px;height:16px}main{max-width:1160px;margin:auto;outline:none;min-height:calc(100vh - 160px)}.page-heading{display:flex;justify-content:space-between;align-items:center;padding:42px 0 32px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#78816d;line-height:1.4;margin:0 0 15px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:45px;font-weight:400;letter-spacing:-1.5px;line-height:1.15;margin-bottom:16px}h1 em{color:#527058;font-weight:400}h2{font-size:21px;letter-spacing:-.4px;font-weight:600}h3{font-size:17px;font-weight:600;letter-spacing:-.2px}p{color:var(--muted)}.subtitle{font-size:15px;margin:0}.hello-sun{height:75px;width:75px;border:1px solid #e1e3d7;border-radius:50%;display:grid;place-items:center;margin-right:20px}.hello-sun .icon{color:#9d9c67;width:38px;height:38px;stroke-width:1.2}.home-top{display:grid;grid-template-columns:1.68fr 1fr;gap:24px}.daily-card{background:var(--green);color:#f6f6df;border-radius:var(--radius);padding:30px;position:relative;overflow:hidden;min-height:320px}.daily-content{position:relative;z-index:1;width:70%}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:5px;font-size:9px;letter-spacing:1.2px;font-weight:600;padding:7px 9px}.pill .icon{height:13px;width:13px}.pill.light{color:#e3e9ce;background:#ffffff12;border:1px solid #ffffff20}.daily-card h2{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.12;letter-spacing:-.6px;margin:19px 0 11px}.daily-card p{font-size:13px;line-height:1.65;color:#c9d8c8;margin:0 0 17px}.daily-meta{display:flex;gap:16px;font-size:10px;color:#d2dcc7;margin-bottom:20px}.daily-meta>span{display:flex;gap:5px;align-items:center}.daily-meta .icon{width:13px;height:13px}.btn{border:1px solid transparent;border-radius:10px;min-height:49px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:15px;line-height:1.35;transition:background .15s}.btn .icon{width:19px;height:19px}.primary{background:var(--green);color:#fffdf2}.cream{background:#f0efd9;color:#234f42;font-size:13px;min-height:46px}.secondary{background:#fffefa;border-color:#dce1d5;color:#385646}.text{background:transparent;color:#566c58;font-size:14px}.danger{background:#9f3d36;color:white}.hero-note{display:block;font-size:9px;color:#b7c9b7;margin-top:12px;line-height:1.5}.hero-art{position:absolute;right:-22px;top:30px;width:246px;height:260px;color:#d8e1ad;opacity:.8}.week-card{background:#f0f0e4;border:1px solid #e6e6d8;border-radius:var(--radius);padding:26px 24px;display:flex;flex-direction:column}.card-overline{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:1px;color:#77806b}.card-overline .icon{width:19px;height:19px;transform:rotate(-20deg)}.streak-number{font-family:Georgia,serif;font-size:50px;margin-top:18px;color:#38573e;line-height:1}.streak-number>span{font-family:inherit;font-size:23px}.week-card>p{font-size:11px;margin:12px 0 23px;color:#818673}.week-calendar{display:flex;justify-content:space-between;gap:2px}.week-day{display:flex;align-items:center;flex-direction:column;gap:10px;font-size:9px;color:#989d88;position:relative}.day-circle{width:30px;height:30px;border:1px solid #e1e3d5;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#8b947d}.day-circle.today{border-color:#68815d;color:#526e47;border-width:1.5px}.day-circle.done{background:#4f704b;color:#fff;border:0}.day-circle .icon{width:16px;height:16px}.week-day small{font-size:8px;color:#6e8063;position:absolute;top:58px}.week-footer{border-top:1px solid #dee1cf;margin-top:auto;padding-top:17px;font-size:10px;color:#8a917a;display:flex;align-items:center;gap:7px}.week-footer .icon{height:15px;width:15px}.today-section{margin-top:31px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{font-size:18px;margin:0}.section-heading>span{font-size:11px;color:#8d9283}.today-games{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:14px;background:#fffefa;padding:19px 5px}.today-game{display:flex;gap:13px;align-items:center;padding:2px 16px;border-right:1px solid var(--border)}.today-game:last-child{border:0}.game-icon{height:47px;width:47px;display:inline-grid;place-items:center;border-radius:12px;flex-shrink:0;color:#546858}.game-icon .icon{height:25px;width:25px}.peach{background:#f5e7da;color:#99744d}.lavender{background:#ece8f2;color:#88729c}.mint{background:#e3ece2;color:#658267}.butter{background:#f5efd5;color:#9a8949}.blue{background:#e3ecf1;color:#62879e}.rose{background:#f2e4e5;color:#a37279}.mini-label{font-size:9px;color:#929889;letter-spacing:.4px;margin:0 0 7px}.today-game h3{font-size:12px;font-weight:550;margin:0;line-height:1.4}.practice-heading{margin-top:34px}.section-heading p{font-size:12px;margin:7px 0 0}.text-link{color:#5b7152;font-size:11px;display:flex;align-items:center;gap:7px;font-weight:550}.text-link .icon{width:15px;height:15px}.preview-games,.exercise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.exercise-card{padding:23px;border:1px solid var(--border);border-radius:15px;background:var(--white);display:flex;flex-direction:column;min-width:0}.exercise-top{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:19px}.exercise-top .tag{border:1px solid var(--border);border-radius:20px;padding:4px 9px;font-size:9px;color:#8a907e}.exercise-card h3{font-size:16px;margin-bottom:8px;line-height:1.4}.exercise-card>p{font-size:12px;margin-bottom:20px}.exercise-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.exercise-bottom>span{font-size:10px;color:#969c8e}.circle-button{width:37px;height:37px;display:grid;place-items:center;border:1px solid #e3e5d8;background:#f4f5ed;border-radius:50%;color:#6b7e60}.circle-button .icon{height:17px;width:17px}.milestone-strip{display:flex;align-items:center;gap:15px;border:1px solid var(--border);border-radius:14px;padding:20px;margin-top:27px;background:#f3f3eb}.milestone-icon{width:38px;height:38px;border-radius:50%;border:1px solid #e0e4d4;display:grid;place-items:center;color:#82916f}.milestone-icon .icon{width:18px;height:18px}.milestone-strip>div:nth-child(2){flex:1}.milestone-strip strong{font-size:12px;font-weight:550}.milestone-strip p{font-size:10px;margin:5px 0 0}.small-stat{display:flex;flex-direction:column;align-items:center;gap:4px;border-left:1px solid #dfe3d4;padding:0 22px}.small-stat strong{font-family:Georgia,serif;font-size:24px}.small-stat span{font-size:9px;color:#939a85}footer{max-width:1160px;margin:35px auto 0;display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:20px 0;font-size:9px;color:#9a9e90}.info-strip{background:#eeefe4;border:1px solid #e2e5d5;border-radius:12px;padding:17px 20px;display:flex;align-items:center;gap:14px;margin-bottom:25px;color:#6f825e}.info-strip p{font-size:13px;margin:0}.info-strip a{text-decoration:underline}.info-strip strong{font-weight:600}.exercise-grid{gap:24px}.exercise-grid .exercise-card{min-height:250px}.exercise-grid .exercise-card h3{font-size:19px}.exercise-grid .exercise-card p{font-size:14px}.exercise-grid .exercise-bottom>span{font-size:11px}.quiet-note{font-size:12px;text-align:center;margin:24px 0;color:#8d9583;display:flex;align-items:center;justify-content:center;gap:7px}.quiet-note .icon{height:15px;width:15px}.panel{border:1px solid var(--border);border-radius:17px;background:var(--white);padding:28px;margin:26px 0}.panel>h2{margin-bottom:21px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card{border:1px solid var(--border);border-radius:15px;background:var(--white);padding:22px;display:flex;flex-direction:column;gap:12px}.stat-card>.icon{color:#7a8d70;width:21px;height:21px}.stat-card>strong{font-size:36px;font-family:Georgia,serif;font-weight:400}.stat-card>span{font-size:12px;color:#7b8676}.chart-wrap{display:flex;height:220px;padding:25px 10px 0}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:25px;font-size:11px;color:#879080;width:40px}.bar-chart{display:flex;align-items:stretch;gap:15px;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top,transparent 0,transparent 49%,#e7e9df 50%,transparent 50.5%);width:100%;padding:0 15px}.chart-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;padding-bottom:23px}.chart-column>span{font-size:11px;color:#526c50;padding-bottom:6px}.chart-column small{position:absolute;bottom:3px;font-size:10px;color:#879080}.chart-bar{width:100%;max-width:55px;background:#86a187;border-radius:6px 6px 0 0;min-height:2px}.bar-0{height:0}.bar-10{height:8%}.bar-20{height:16%}.bar-30{height:24%}.bar-40{height:32%}.bar-50{height:40%}.bar-60{height:48%}.bar-70{height:56%}.bar-80{height:64%}.bar-90{height:72%}.bar-100{height:80%}.skill-row{display:flex;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid var(--border)}.skill-row:last-child{border:0}.skill-row>div{flex:1}.skill-row h3{font-size:15px;margin:0 0 5px}.skill-row p{font-size:12px;margin:0}.skill-row>strong{font-size:22px;font-weight:500}.skill-row small{font-size:11px;font-weight:400;color:#879080}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.7}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7e8976;font-weight:550;padding:12px 10px;border-bottom:1px solid var(--border)}td{padding:17px 10px;border-bottom:1px solid var(--border)}td small{color:#929a87;font-size:11px}.data-note{font-size:12px;color:#8a9281;text-align:center;padding:15px}.empty-state{text-align:center;background:#eeefe5;padding:65px 25px;border-radius:18px;margin:20px 0}.empty-state>.icon{width:50px;height:50px;color:#7e9470;margin-bottom:20px}.empty-state h2{font-family:Georgia,serif;font-size:30px;font-weight:400}.empty-state p{font-size:15px}.settings-panel{max-width:820px}.settings-panel>p{font-size:15px}.settings-panel label:not(.btn){display:block;font-size:13px;font-weight:600;margin-bottom:10px}.segmented{display:flex;gap:8px}.segmented button{padding:12px 24px;border-radius:9px;background:#f9f9f4;border:1px solid var(--border);min-height:49px}.segmented button[aria-pressed=true]{background:#dfe8d9;border-color:#94a586;color:#2f533c}.reading-sample{font-size:22px;margin-top:25px;font-family:Georgia,serif;background:#f5f5ef;padding:20px;border-radius:10px}select{padding:13px;max-width:100%;width:100%;background:#f8f8f2;color:#3c5542;border:1px solid #d9e0d1;border-radius:9px}.setting-confirm{font-size:12px!important;color:#829076;margin:15px 0 0}.button-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}.settings-panel .button-row{justify-content:flex-start}hr{border:0;border-top:1px solid var(--border);margin:25px 0}.danger-link{border:0;padding:8px 0;background:none;color:#a34c43;font-size:13px;text-decoration:underline;min-height:44px}.about-note{display:flex;gap:20px;padding:20px 0;max-width:820px}.about-note>.icon{color:#7b8c70;width:36px;height:36px}.about-note h3{font-size:16px}.about-note p{font-size:12px;line-height:1.8}.warning{border:1px solid #d8b46d;background:#fff2d3;color:#76561f;border-radius:9px;font-size:14px;line-height:1.6;padding:16px;margin-top:20px}.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:26px 0}.session-toolbar>.text{padding-left:0}.session-toolbar>span{font-size:10px;color:#8b947e;letter-spacing:1.5px}.session-steps{display:flex;align-items:center;justify-content:center;gap:12px;margin:32px auto 35px;max-width:700px}.session-step{display:flex;align-items:center;gap:9px;font-size:12px;color:#a4ab99}.session-step b{width:29px;height:29px;border-radius:50%;background:#eceee3;display:grid;place-items:center;font-size:11px;font-weight:500}.session-step.current{color:#3c6048}.session-step.current b{background:#315e46;color:white}.session-step.finished b{background:#dfe8d7;color:#56764b}.session-step .icon{width:15px;height:15px}.step-line{height:1px;background:#dde1d3;flex:1;max-width:90px}.instruction-card,.result-card,.complete-card{max-width:790px;margin:0 auto;text-align:center;border:1px solid var(--border);background:var(--white);border-radius:22px;padding:40px 55px}.instruction-card>.game-icon{width:80px;height:80px;border-radius:22px;margin-bottom:25px}.instruction-card>.game-icon .icon{width:42px;height:42px}.instruction-card h1,.result-card h1{font-size:37px;margin-bottom:24px}.instruction-card .eyebrow{font-size:11px}.instruction-text{font-size:19px;color:#596958;line-height:1.85;margin-bottom:24px}.tip{display:flex;align-items:center;gap:13px;background:#f1f3e9;border-radius:11px;padding:17px 20px;text-align:left;margin:20px auto;max-width:590px}.tip .icon{color:#7c926b}.tip p{font-size:14px;margin:0;color:#76846a;line-height:1.65}.instruction-meta{display:flex;justify-content:center;gap:25px;margin:26px 0;font-size:13px;color:#7d8b72}.instruction-meta>span{display:flex;align-items:center;gap:7px}.instruction-meta .icon{width:18px;height:18px}.instruction-card>.primary,.result-card>.primary{min-width:230px}.play-card{max-width:820px;background:var(--white);border:1px solid var(--border);padding:30px 38px;border-radius:22px;margin:auto;text-align:center}.play-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left}.play-heading>div{display:flex;gap:15px;align-items:center}.play-heading .mini-label{font-size:10px}.play-heading h1{font-family:inherit;font-size:20px;font-weight:550;letter-spacing:-.4px;margin:0}.question-counter{font-size:13px;white-space:nowrap;color:#859078}.play-progress{height:4px;background:#edf0e6;border-radius:10px;margin:25px 0 35px;overflow:hidden}.progress-fill{height:100%;background:#77976f;transition:width .2s}.progress-0{width:0}.progress-10{width:10%}.progress-20{width:20%}.progress-30{width:30%}.progress-40{width:40%}.progress-50{width:50%}.progress-60{width:60%}.progress-70{width:70%}.progress-80{width:80%}.progress-90{width:90%}.progress-100{width:100%}.stage-instruction{font-size:18px;color:#6d7b65;margin-bottom:24px}.equation{font-size:61px;letter-spacing:2px;font-weight:500;color:#344e3c;margin:25px 0 35px;font-variant-numeric:tabular-nums}.equation>span{color:#b0baa1}.equation-question{color:#8ca278!important}input#answer{width:230px;min-width:0;padding:14px 18px;border:1.5px solid #c7d2bc;border-radius:11px;background:#fcfdf8;color:#34503b;font-size:24px;text-align:center;min-height:58px}input#answer::placeholder{font-size:17px;color:#a0aa93}.answer-input-wrap{display:flex;align-items:stretch;justify-content:center;gap:10px}.input-hint{display:block;color:#929d86;font-size:12px;margin:13px 0 18px;line-height:1.6}.number-pad{max-width:250px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px auto}.number-pad button{border:1px solid #dfe4d6;background:#f7f8f1;border-radius:11px;min-height:55px;font-size:24px;font-weight:450}.number-pad button:hover{background:#edf1e2}.number-pad .erase-key{color:#9a8970;font-size:24px}.number-pad .enter-key{background:#e4ecdb;color:#4f7147}.answer-feedback{display:flex;gap:12px;align-items:center;text-align:left;max-width:570px;border-radius:11px;padding:17px 20px;margin:20px auto}.answer-feedback.good{background:#e8f0e0;color:#4b7642}.answer-feedback.try{background:#f8eedb;color:#8e713e}.answer-feedback p{margin:4px 0 0;font-size:15px;color:inherit}.answer-feedback strong{font-size:15px;font-weight:600}.answer-feedback>.icon{width:28px;height:28px}.game-footer{border-top:1px solid var(--border);margin:28px 0 0;padding-top:19px;font-size:12px;color:#8f9a81;display:flex;align-items:center;justify-content:center;gap:7px}.game-footer .icon{height:16px;width:16px}.color-word{font-size:65px;font-weight:700;letter-spacing:3px;margin:50px 0}.ink-0{color:#bb3439}.ink-1{color:#2461bc}.ink-2{color:#277744}.ink-3{color:#8541aa}.ink-bg-0{background:#bb3439}.ink-bg-1{background:#2461bc}.ink-bg-2{background:#277744}.ink-bg-3{background:#8541aa}.color-options{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;max-width:480px;margin:auto}.color-option{display:flex;gap:13px;align-items:center;border-radius:11px;background:#fbfcf6;border:1px solid #dce3d1;padding:16px 20px;font-size:19px;min-height:65px}.color-option kbd{font-size:12px;background:#edefe5;color:#8c9881;padding:3px 6px;border-radius:4px}.color-swatch{height:20px;width:20px;border-radius:50%}.color-option:disabled{opacity:.55}.sequence-display{display:flex;align-items:center;justify-content:center;gap:10px;margin:40px 0;flex-wrap:wrap}.sequence-tile{width:60px;height:75px;background:#f0edf5;color:#79668b;border:1px solid #e3dfeb;border-radius:12px;display:grid;place-items:center;font-size:38px;font-variant-numeric:tabular-nums}.sequence-display+.btn{margin:10px 0 20px}.symbol-grid{display:grid;gap:9px;max-width:365px;margin:25px auto}.columns-4{grid-template-columns:repeat(4,1fr)}.columns-5{grid-template-columns:repeat(5,1fr)}.columns-6{grid-template-columns:repeat(6,1fr)}.symbol-grid>span{height:47px;display:grid;place-items:center;font-size:29px;color:#71826d;background:#f2f4eb;border-radius:7px}.target-symbol{font-size:32px;color:#3d624b;vertical-align:middle;padding:0 10px}.pairs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:520px;margin:30px auto}.pair-card{height:95px;position:relative;border:1px solid #d6deca;background:repeating-linear-gradient(45deg,#e9eddf,#e9eddf 5px,#e5e9da 5px,#e5e9da 6px);border-radius:14px;display:grid;place-items:center;color:#8a9b76}.pair-card>.icon{width:31px;height:31px;opacity:.65}.pair-card>span{font-size:39px}.pair-card.flipped{background:#f5efd9;border-color:#d9cc9a;color:#9a8656}.pair-card.matched{background:#e3eddb;border-color:#bdd0ac;color:#668854}.pair-card .pair-check{position:absolute;bottom:6px;right:7px;width:15px;height:15px}.move-count{font-size:13px;background:#f0f3e8;border-radius:6px;padding:5px 9px;margin-left:8px}.order-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;max-width:490px;margin:30px auto}.order-number{height:75px;font-size:30px;border:1px solid #d9e0ce;background:#f6f8ef;border-radius:13px;font-variant-numeric:tabular-nums;position:relative;color:#45623e}.order-number.selected{background:#dfead5;color:#79966a;border-color:#c4d5b5}.order-number .icon{width:13px;height:13px;position:absolute;bottom:7px;right:7px}.order-notice{font-size:15px;color:#8a8159;min-height:25px}.pause-icon{display:grid;place-items:center;background:#edf1e4;border-radius:50%;height:80px;width:80px;margin:0 auto 25px;color:#6e855d}.pause-icon>.icon{width:35px;height:35px}.pause-card>p:not(.eyebrow):not(.quiet-note){font-size:18px}.pause-card>.primary{margin-top:20px}.success-seal{display:grid;place-items:center;background:#e6eedb;border:1px solid #d3dfc5;border-radius:50%;height:75px;width:75px;margin:0 auto 25px;color:#6c8c54}.success-seal .icon{width:38px;height:38px}.big-score{font-size:80px;font-family:Georgia,serif;color:#42653e;margin:25px 0 12px}.big-score>span{font-size:16px;font-family:ui-sans-serif,sans-serif;margin-left:10px;color:#8b987e}.score-explanation{font-size:14px;line-height:1.8}.result-card>.primary{margin-top:15px}.complete-card{margin-top:35px}.complete-card h1{font-size:44px}.complete-card>p:not(.eyebrow){font-size:16px}.completion-art{height:100px;position:relative;width:150px;margin:0 auto 20px;display:grid;place-items:center}.completion-art .icon{width:75px;height:75px;color:#8c9d69;transform:rotate(-15deg)}.completion-art span{position:absolute;font-size:25px;color:#c1ae70;top:10px;right:10px}.completion-art span:last-child{left:0;top:55px;right:auto;font-size:20px}.complete-score{display:flex;flex-direction:column;align-items:center;margin:25px 0 30px}.complete-score>strong{font-size:65px;font-family:Georgia,serif;font-weight:400;color:#426b3c}.complete-score>span{font-size:12px;color:#8b987e}.complete-results{text-align:left;border:1px solid var(--border);border-radius:13px;padding:0 20px}.complete-results>div{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}.complete-results>div:last-child{border:0}.complete-results>div>span:nth-child(2){flex:1;font-size:15px}.complete-results small{font-size:11px;color:#8d987f;font-weight:400}.complete-results>div>span>small{display:block;margin-top:5px}.complete-results strong{font-size:21px;font-weight:500}.saved-message{font-size:13px;color:#7d916a;margin:24px 0}.saved-message>.icon{width:17px;height:17px;margin-right:4px}.modal-backdrop{position:fixed;inset:0;background:#243c2f80;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:25px;z-index:50}.modal{padding:35px;background:var(--white);border:1px solid #fff;border-radius:19px;max-width:550px;box-shadow:0 20px 100px #12322233}.modal h2{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.3}.modal p{font-size:16px}.modal .button-row{justify-content:flex-start}#import-status{margin-top:15px;color:#775c37;font-size:14px}html[data-text=large]{font-size:20px}html[data-text=large] .subtitle,html[data-text=large] .nav-item,html[data-text=large] .exercise-card>p,html[data-text=large] .daily-card p,html[data-text=large] .tip p,html[data-text=large] .today-game h3,html[data-text=large] .settings-panel p,html[data-text=large] .skill-row p{font-size:17px}html[data-text=large] .btn,html[data-text=large] .color-option,html[data-text=large] td{font-size:18px}html[data-text=large] .stage-instruction,html[data-text=large] .instruction-text{font-size:22px}html[data-text=large] .hero-note,html[data-text=large] .daily-meta,html[data-text=large] .exercise-bottom>span,html[data-text=large] .input-hint,html[data-text=large] .quiet-note,html[data-text=large] .mini-label,html[data-text=large] .week-card>p,html[data-text=large] .week-footer,html[data-text=large] .date-label{font-size:14px}html[data-text=large] .sidebar{width:260px}html[data-text=large] .workspace{margin-left:260px}html[data-text=large] .hero-art{opacity:.4}
@media(min-width:1450px){.workspace{padding:0 65px}.daily-card{padding:35px}.daily-card h2{font-size:39px}.hero-art{right:-5px;top:32px;width:280px;height:280px}.daily-card p{font-size:15px}.daily-meta{font-size:12px}.daily-card .btn{font-size:15px}.hero-note{font-size:11px}.today-game h3{font-size:15px}.today-games{padding:22px 10px}.exercise-card h3{font-size:18px}.exercise-card>p{font-size:14px}.exercise-bottom>span{font-size:12px}}
@media(max-width:1150px){.sidebar{width:205px;padding:32px 18px 20px}.workspace{margin-left:205px;padding:0 30px}.brand{font-size:22px;gap:7px}.brand-icon .icon{width:35px}.nav-item{font-size:14px;padding:13px}.local-label{font-size:9px}.home-top{grid-template-columns:1.5fr 1fr;gap:18px}.daily-card{padding:25px}.hero-art{width:200px;right:-35px;opacity:.5}.daily-content{width:90%}.week-card{padding:23px 18px}.day-circle{width:26px;height:26px}.streak-number{font-size:46px}.streak-number>span{font-size:20px}.today-game{padding:2px 11px;gap:8px}.today-game .game-icon{height:36px;width:36px}.today-game .game-icon .icon{width:21px}.today-game h3{font-size:11px}.preview-games,.exercise-grid{gap:12px}.exercise-card{padding:18px}.exercise-card h3{font-size:15px}.exercise-top .tag{font-size:8px;padding:4px 6px}.exercise-bottom>span{font-size:9px}.small-stat{padding:0 12px}.topbar-label{font-size:9px;letter-spacing:1px}.date-label{font-size:10px}html[data-text=large] .sidebar{width:220px}html[data-text=large] .workspace{margin-left:220px}html[data-text=large] .home-top{grid-template-columns:1fr}html[data-text=large] .daily-content{width:70%}html[data-text=large] .hero-art{right:0;width:270px;opacity:.7}}
@media(max-width:900px){.sidebar{position:static;width:100%;padding:20px 25px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;border:0;border-bottom:1px solid var(--border)}#app{display:block}.brand{font-size:20px}.brand-icon{height:42px;width:35px}.brand-icon .icon{height:32px;width:32px}.sidebar-label,.sidebar-note,.local-label,.nav-dot{display:none}.sidebar nav{display:flex;gap:6px}.nav-item{font-size:12px;padding:12px;gap:7px;min-height:46px}.nav-item .icon{height:18px;width:18px}.workspace{margin:0;padding:0 30px}.topbar{height:60px}h1{font-size:40px}.page-heading{padding-top:30px}.home-top{grid-template-columns:1.6fr 1fr}.stats-grid{gap:10px}.stat-card{padding:17px}.stat-card>span{font-size:10px}.play-card{padding:26px}.milestone-strip{gap:10px}html[data-text=large] .sidebar{width:100%}html[data-text=large] .workspace{margin-left:0}html[data-text=large] .nav-item{font-size:15px}html[data-text=large] .exercise-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.sidebar{padding:16px 18px;align-items:flex-start}.brand{font-size:18px}.brand-icon{width:27px}.brand-icon .icon{width:25px}.sidebar nav{gap:3px}.nav-item{flex-direction:column;font-size:9px;gap:4px;padding:7px 9px;border-radius:9px}.nav-item .icon{height:20px;width:20px}.workspace{padding:0 20px}.topbar{height:48px}.topbar-label{font-size:7px;letter-spacing:.7px}.date-label{font-size:9px;gap:4px}.date-label .icon{height:12px;width:12px}.page-heading{padding:30px 0 25px;align-items:flex-start;flex-wrap:wrap}.eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:14px}h1{font-size:34px;letter-spacing:-1px}.subtitle{font-size:13px}.hello-sun{width:45px;height:45px;position:absolute;right:22px;margin:0}.hello-sun .icon{width:25px;height:25px}.page-heading>div{max-width:95%}.home-top{grid-template-columns:1fr}.daily-card{padding:27px;min-height:325px}.daily-card h2{font-size:35px}.hero-art{width:210px;height:250px;top:40px;right:-5px;opacity:.55}.daily-content{width:80%}.daily-card p{font-size:14px}.daily-meta{font-size:11px}.daily-card .btn{font-size:14px}.hero-note{font-size:10px}.week-card{padding:23px}.week-card>p{font-size:12px}.week-card .streak-number{margin-top:16px}.week-calendar{justify-content:space-around;margin-bottom:32px}.week-footer{font-size:11px}.day-circle{height:34px;width:34px;font-size:12px}.week-day{font-size:10px}.week-day small{top:65px}.today-games{grid-template-columns:1fr;padding:0 18px}.today-game{padding:16px 0;border-right:0;border-bottom:1px solid var(--border);gap:14px}.today-game h3{font-size:15px}.today-game .game-icon{width:44px;height:44px}.mini-label{font-size:10px}.section-heading>span{font-size:10px}.section-heading{align-items:flex-start;gap:12px}.section-heading h2{font-size:18px}.practice-heading{flex-wrap:wrap}.text-link{font-size:12px;min-height:38px}.preview-games,.exercise-grid{grid-template-columns:1fr}.exercise-card{padding:22px}.exercise-top{margin-bottom:15px}.exercise-card h3,.exercise-grid .exercise-card h3{font-size:20px}.exercise-card>p,.exercise-grid .exercise-card p{font-size:14px}.exercise-top .tag{font-size:10px}.exercise-bottom>span{font-size:12px}.circle-button{height:44px;width:44px}.exercise-grid .exercise-card{min-height:230px}.milestone-strip{flex-wrap:wrap;padding:20px}.milestone-strip>div:nth-child(2){min-width:70%}.milestone-strip strong{font-size:14px}.milestone-strip p{font-size:12px}.small-stat{width:45%;margin-top:16px}.small-stat strong{font-size:27px}.small-stat span{font-size:11px}footer{font-size:8px;gap:12px;padding:18px 0}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card>span{font-size:11px}.panel{padding:20px;margin:20px 0}.skill-row{gap:10px}.skill-row h3{font-size:13px}.skill-row p{font-size:11px}.skill-row>.game-icon{width:35px;height:35px}.skill-row>strong{font-size:18px}.table-scroll{margin:0 -10px}table{font-size:12px;min-width:490px}.settings-panel>p{font-size:14px}.segmented button{padding:12px 15px}.settings-panel .btn{width:100%}.reading-sample{font-size:20px}.about-note{gap:12px}.session-toolbar{margin:20px 0;flex-wrap:wrap}.session-toolbar .btn{font-size:12px;padding:10px;min-height:44px}.session-toolbar .text{padding-left:0}.session-toolbar>span{font-size:8px;letter-spacing:.7px}.session-steps{margin:22px 0;gap:8px}.session-step{font-size:10px;gap:6px}.session-step b{width:25px;height:25px;font-size:10px}.step-line{max-width:25px}.instruction-card,.result-card,.complete-card{padding:30px 22px;border-radius:17px}.instruction-card h1,.result-card h1{font-size:30px}.instruction-text{font-size:17px}.tip{padding:15px;gap:10px}.tip p{font-size:13px}.instruction-meta{font-size:11px;gap:14px}.instruction-meta .icon{height:15px;width:15px}.play-card{padding:20px 15px;border-radius:17px}.play-heading{gap:8px}.play-heading>div{gap:10px}.play-heading .game-icon{width:37px;height:37px}.play-heading h1{font-size:15px}.play-heading .mini-label{font-size:9px}.question-counter{font-size:11px}.play-progress{margin:22px 0 27px}.stage-instruction{font-size:16px}.equation{font-size:44px;letter-spacing:0;margin:26px 0}.answer-input-wrap{flex-direction:column;align-items:center}.answer-input-wrap input#answer{width:100%;max-width:300px}.answer-input-wrap .btn{width:100%;max-width:300px}.number-pad{max-width:250px}.number-pad button{min-height:55px}.color-word{font-size:48px;letter-spacing:1px;margin:35px 0}.color-option{padding:12px;font-size:16px;min-height:60px;gap:8px}.color-option kbd{font-size:10px}.color-swatch{width:15px;height:15px}.color-options{gap:9px}.sequence-display{gap:6px;margin:28px 0}.sequence-tile{width:38px;height:54px;font-size:29px;border-radius:8px}.game-footer{font-size:10px}.pairs-grid{gap:9px}.pair-card{height:75px;border-radius:11px}.pair-card>span{font-size:30px}.order-grid{gap:9px}.order-number{height:65px;font-size:25px}.symbol-grid{gap:6px}.symbol-grid>span{height:40px;font-size:26px}.big-score{font-size:65px}.big-score>span{font-size:13px}.complete-card h1{font-size:35px}.complete-card>p:not(.eyebrow){font-size:14px}.complete-results{padding:0 12px}.complete-results>div{gap:10px}.complete-results>div>span:nth-child(2){font-size:12px}.complete-results .game-icon{width:34px;height:34px}.complete-results .game-icon .icon{height:20px;width:20px}.complete-results strong{font-size:18px}.complete-card .button-row>.btn{width:100%}.modal{padding:27px 23px}.modal .button-row>.btn{width:100%}.modal h2{font-size:26px}.modal p{font-size:15px}html[data-text=large] .nav-item{font-size:10px}html[data-text=large] .exercise-grid{grid-template-columns:1fr}html[data-text=large] .daily-content{width:100%}html[data-text=large] .hero-art{opacity:.15}html[data-text=large] .date-label{font-size:9px}html[data-text=large] .subtitle{font-size:16px}html[data-text=large] .today-game h3{font-size:17px}html[data-text=large] .hero-note{font-size:12px}html[data-text=large] .stage-instruction{font-size:19px}html[data-text=large] .btn{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Comfortable reading and AA contrast, including secondary labels. */
:root{--muted:#606d5b}
.sidebar-label,.sidebar-note p,.local-label,.topbar-label,.date-label,.eyebrow,.card-overline,.week-card>p,.week-day,.day-circle,.week-day small,.week-footer,.section-heading>span,.mini-label,.exercise-top .tag,.exercise-bottom>span,.small-stat span,footer,.quiet-note,.stat-card>span,.chart-axis,.chart-column small,.skill-row small,td small,th,.data-note,.setting-confirm,.session-toolbar>span,.question-counter,.input-hint,.game-footer,.big-score>span,.complete-score>span,.complete-results small{color:#5d6b53}
.session-step{color:#65715b}.tip p{color:#5f7051}.stage-instruction{color:#5c6d53}.hero-note{color:#d0ddc7}.equation>span{color:#7d8b6c}.equation-question{color:#71835e!important}.order-notice{color:#786b3d}.saved-message{color:#577142}.color-option kbd{color:#5d6b53}.day-circle.done{color:white}.info-strip p{color:#5e6d54}.score-explanation{color:#606d5b}.sequence-tile{color:#725c87}input#answer::placeholder{color:#6e7b60}.order-number.selected{color:#506f3b}.about-note p{font-size:14px}.nav-item{font-size:16px}.subtitle{font-size:17px}.daily-card p{font-size:16px}.daily-meta{font-size:12px}.hero-note{font-size:12px}.today-game h3{font-size:16px}.mini-label{font-size:11px}.exercise-card h3{font-size:19px}.exercise-card>p{font-size:15px}.exercise-bottom>span{font-size:12px}.exercise-top .tag{font-size:11px}.section-heading p{font-size:14px}.text-link{font-size:13px}.milestone-strip strong{font-size:15px}.milestone-strip p{font-size:13px}.small-stat span{font-size:11px}.week-card>p,.week-footer{font-size:13px}.quiet-note,.input-hint,.game-footer{font-size:14px}.topbar-label,.sidebar-label,.eyebrow{font-size:11px}.date-label{font-size:13px}.local-label{font-size:11px}.circle-button{width:44px;height:44px}.today-games{padding-top:22px;padding-bottom:22px}
@media(max-width:1150px) and (min-width:901px){.today-games{grid-template-columns:1fr;padding:0 20px}.today-game{padding:15px 0;border:0;border-bottom:1px solid var(--border)}.preview-games{grid-template-columns:1fr}.exercise-card.compact{display:grid;grid-template-columns:auto 1fr auto;column-gap:20px;align-items:center}.compact .exercise-top{grid-row:1/3;margin:0}.compact .exercise-top .tag{display:none}.compact h3{margin:0}.compact>p{grid-column:2;margin:0}.compact .exercise-bottom{grid-column:3;grid-row:1/3;gap:15px}.topbar-label{font-size:9px}.date-label{font-size:11px}}
@media(max-width:650px){.nav-item{font-size:10px}.topbar-label{font-size:7px}.date-label{font-size:9px}.subtitle{font-size:15px}.today-game h3{font-size:16px}.hero-note{font-size:11px}.local-label{font-size:10px}.daily-content{width:90%}.eyebrow{font-size:9px}.preview-games .exercise-card h3{font-size:20px}.hero-art{opacity:.28}.section-heading>span{font-size:11px}.today-games{padding-top:0;padding-bottom:0}.input-hint,.quiet-note,.game-footer{font-size:12px}.sequence-display{gap:5px}.sequence-tile{width:36px}}
