@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900&display=swap");:root{--ink:#202735;--muted:#4e5a69;--paper:#fbfbfa;--cream:#fff8e6;--yellow:#f4c450;--coral:#d85f52;--blue:#315db9;--line:#dfe2e6;--green:#216a47;--red:#a93630;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--math-surface:#f1f6ff;--math-line:#cedaf0;--reading-surface:#fff5ee;--reading-line:#efd9ca}*{box-sizing:border-box}html{min-height:100%}body,html{background:var(--paper)}body{margin:0;min-height:100vh;color:var(--ink);font-family:Nunito,Trebuchet MS,sans-serif;-webkit-font-smoothing:antialiased}a,button{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #4975d7;outline-offset:3px}::selection{color:var(--ink);background:#f7dfa0}html{scrollbar-color:#b8c1ce #f0f1f2}.app-shell{width:min(100% - 36px,820px);margin:0 auto;padding:18px 0 32px}.topbar{display:flex;justify-content:space-between;min-height:48px;max-width:760px;margin:0 auto}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:9px;color:var(--ink);text-decoration:none;font-size:20px;font-weight:900;letter-spacing:-.5px}.brand-icon{display:block;width:42px;height:42px;border-radius:13px;object-fit:cover}.subject-note{color:#61718d;font-size:10px;font-weight:900;letter-spacing:1.2px}.topbar-actions{display:flex;align-items:center;gap:14px}.signout-button{min-height:36px;padding:6px 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font-size:12px;font-weight:900;cursor:pointer}.signout-button:hover{background:#f2f4f7}.welcome-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.72fr);align-items:center;grid-gap:var(--space-8);gap:var(--space-8);max-width:760px;min-height:310px;padding:34px 36px;margin:22px auto 0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.welcome-copy{position:relative;z-index:1}.welcome-copy h1{margin:0;font-size:clamp(32px,5vw,44px);line-height:1.08;letter-spacing:-1.3px;font-weight:900}.welcome-copy .intro{margin:var(--space-3) 0 var(--space-5)}.welcome-copy .error-message{margin:0 0 14px}.welcome-copy form{margin:0}.welcome-art{position:relative;display:grid;place-items:center;min-height:220px}.welcome-art img{width:min(100%,238px);aspect-ratio:1;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}.play-screen{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(190px,.72fr);align-items:center;grid-gap:var(--space-8);gap:var(--space-8);max-width:760px;min-height:0;padding:34px 36px;margin:22px auto 0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.play-copy{position:relative;z-index:1}.eyebrow{margin:0 0 var(--space-2);color:#6b511b;font-size:12px;font-weight:900;letter-spacing:.4px}h1,h2,p{overflow-wrap:anywhere}.play-copy h1,.question-card h1,.results-screen h1{margin:0;font-size:clamp(32px,5vw,46px);line-height:1.08;letter-spacing:-1.4px;font-weight:900}.intro{max-width:42ch;margin:var(--space-3) 0 var(--space-5);color:var(--muted);font-size:16px;line-height:1.55;font-weight:700}.coin-rule{margin:0 0 var(--space-5);color:#354256;font-size:13px;font-weight:900;line-height:1.5}.rule-footnote{color:#4e5a69;font-size:11px;font-weight:800}.play-button{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 22px;border:1px solid var(--ink);border-radius:11px;color:white;background:var(--ink);font-size:17px;font-weight:900;cursor:pointer;transition:background .16s ease,transform .16s ease}.play-button:hover:not(:disabled){background:#34445e;transform:translateY(-1px)}.play-button:active:not(:disabled){transform:translateY(1px)}.play-button:disabled{opacity:.72;cursor:wait}.play-triangle{width:16px;height:16px}.level-picker{min-width:0;padding:14px;margin:0 0 var(--space-4);border:1px solid var(--line);border-radius:13px;background:#fff}.level-picker legend{padding:0 5px;margin-bottom:9px;color:var(--ink);font-size:13px;font-weight:900}.level-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.level-choice{position:relative;display:grid;place-items:center;min-height:44px;border:1px solid #d4d9e0;border-radius:9px;color:#394658;background:#fff;font-size:14px;font-weight:900;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.level-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.level-choice span{pointer-events:none}.level-choice:hover{border-color:var(--blue);background:#f4f7fd}.level-choice.is-selected{border-color:var(--blue);color:white;background:var(--blue)}.level-choice:focus-within{outline:3px solid #315db9;outline-offset:3px}.level-description{min-height:18px;margin:var(--space-2) 0 0;color:var(--muted);font-size:12px;font-weight:800}.play-copy>.play-button{width:100%}.play-art{position:relative;display:grid;place-items:center;min-height:220px}.play-art img{width:min(100%,238px);aspect-ratio:1;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}.art-sticker{position:absolute;display:grid;place-items:center;width:57px;height:57px;border:3px solid var(--ink);border-radius:50%;font-size:16px;font-weight:900;transform:rotate(-12deg)}.sticker-one{top:31px;left:5%;color:var(--ink);background:#cce7ff}.sticker-two{right:0;bottom:32px;color:white;background:var(--coral);transform:rotate(9deg)}.error-message,.save-retry{color:var(--red);font-size:14px;font-weight:800;line-height:1.45}.saved-section{max-width:760px;margin:30px auto 0}.saved-heading{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:12px;margin-bottom:13px;border-bottom:1px solid var(--line)}.saved-heading .eyebrow{margin-bottom:2px}.saved-heading h2{margin:0;font-size:23px;font-weight:900;letter-spacing:-.45px}.saved-total{padding:5px 9px;border:1px solid var(--line);border-radius:8px;color:#394658;background:#fff;font-size:12px;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state{display:flex;align-items:center;gap:13px;min-height:83px;padding:14px 17px;border:1px dashed #d8d4c8;border-radius:16px;color:var(--muted);background:#fff}.empty-state p{margin:0;font-size:14px;font-weight:700;line-height:1.45}.empty-coin,.saved-row-coin{flex:0 0 auto;display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#fff3cf}.coin-dot{display:inline-block;width:19px;height:19px;border:4px solid #d99918;border-radius:50%;background:#ffd35d;box-shadow:inset 0 0 0 2px #fff0b1}.saved-list{display:grid;grid-gap:8px;gap:8px;padding:0;margin:0;list-style:none}.saved-row{display:flex;align-items:center;gap:12px;min-height:68px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:white}.saved-row-copy{display:grid;grid-gap:1px;gap:1px;min-width:0}.saved-row-copy strong{font-size:14px;font-weight:900}.saved-row-copy span{font-weight:700}.saved-date,.saved-row-copy span{color:var(--muted);font-size:12px}.saved-date{margin-left:auto;font-weight:800;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.privacy-note{margin:13px 0 0;color:#5d687b;font-size:12px;line-height:1.5}.footer-note{margin:34px 7px 0;color:#8791a2;font-size:12px;font-weight:800}.game-screen{max-width:620px;margin:22px auto 0}.game-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.text-button{padding:7px 0;border:0;color:#4f6389;background:transparent;font-size:14px;font-weight:900;cursor:pointer}.text-button:hover{color:var(--ink);text-decoration:underline}.coin-count{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:30px;background:#fff2c9;font-size:13px;font-weight:900}.coin-count .coin-dot{width:15px;height:15px;border-width:3px}.game-status{display:inline-flex;align-items:center;gap:8px}.level-badge{padding:8px 10px;border:1px solid #dce2ee;border-radius:30px;color:#40516f;background:white;font-size:12px;font-weight:900}.question-progress{display:flex;align-items:center;gap:13px;margin-bottom:14px;color:var(--muted);font-size:12px;font-weight:900}.progress-track{flex:1 1;height:8px;overflow:hidden;border-radius:20px;background:#e9edf3}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width .25s ease}.question-card{padding:clamp(22px,5vw,34px);border:1px solid var(--line);border-radius:16px;background:white}.question-card.math-question{border-color:var(--math-line);background:var(--math-surface)}.question-card.reading-question{border-color:var(--reading-line);background:var(--reading-surface)}.topic-pill{display:inline-flex;align-items:center;min-height:29px;padding:4px 11px;margin-bottom:15px;border-radius:30px;font-size:12px;font-weight:900}.topic-pill.math{color:#294c91;background:#dce8ff}.topic-pill.reading{color:#814228;background:#ffe7d8}.question-card h1{max-width:580px;font-size:clamp(27px,6vw,37px);letter-spacing:-1px}.answer-list{display:grid;grid-gap:10px;gap:10px;margin-top:24px}.answer-button{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:9px 13px;border:1px solid #d4d9e0;border-radius:10px;color:var(--ink);background:white;text-align:left;font-size:15px;line-height:1.4;font-weight:800;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.answer-button:hover:not(:disabled){border-color:#8197bf;background:#fff;transform:translateY(-1px)}.answer-button:disabled{cursor:default}.answer-button.is-correct{border-color:#73bc91;color:#185d3b;background:#eaf8ef}.answer-button.is-wrong{border-color:#e59a8d;color:#9c332e;background:#fff0ed}.answer-letter{display:grid;flex:0 0 auto;place-items:center;width:31px;height:31px;border-radius:10px;color:#50617f;background:#f0f2f6;font-size:12px;font-weight:900}.answer-feedback{min-height:22px;margin:16px 0 0;color:var(--green);font-size:14px;font-weight:900}.penalty-feedback{color:#a34935}.save-retry{margin-top:12px;padding:13px;border-radius:13px;background:#fff1ee}.save-retry p{margin:0 0 9px}.small-button{min-height:37px;padding:7px 12px;border:1px solid #b8c2d3;border-radius:10px;color:var(--ink);background:white;font-size:13px;font-weight:900;cursor:pointer}.small-button:hover{background:#f3f6fc}.next-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:0 17px;margin-top:10px;border:0;border-radius:13px;color:white;background:var(--blue);font-size:15px;font-weight:900;cursor:pointer}.next-button:hover{background:#365fb8}.results-screen{max-width:620px;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 26px;margin:22px auto 0;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center}.results-medal{display:grid;place-items:center;width:74px;height:74px;margin-bottom:20px;border:4px solid #d99918;border-radius:50%;background:var(--yellow);box-shadow:inset 0 0 0 5px #ffedb0}.results-medal .coin-dot{width:29px;height:29px;border-color:#b67d0e}.results-screen .eyebrow{margin-bottom:8px}.results-screen h1{font-size:clamp(30px,7vw,44px)}.results-screen .intro{margin:12px auto 22px}.sms-panel{width:min(100%,390px);padding:15px;margin:0 0 16px;border:1px solid var(--line);border-radius:13px;background:#fffdf6;text-align:left}.sms-panel h2{margin:0 0 5px;font-size:18px;font-weight:900;letter-spacing:-.3px}.sms-description,.sms-panel>p:not(.sms-feedback){margin:0 0 12px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.sms-form{display:grid;grid-gap:8px;gap:8px}.sms-form label{color:var(--ink);font-size:13px;font-weight:900}.sms-form input{width:100%;min-height:46px;padding:9px 11px;border:1px solid #c8ced8;border-radius:9px;color:var(--ink);background:#fff;font:inherit;font-size:15px;font-weight:700}.sms-form input::placeholder{color:#687487;opacity:1}.sms-form input:focus-visible{outline:3px solid #4975d7;outline-offset:2px}.sms-button{min-height:44px;margin-top:2px}.sms-button:disabled{opacity:.65;cursor:wait}.sms-feedback{margin:10px 0 0;font-size:13px;font-weight:900;line-height:1.45}.sms-feedback.success{color:var(--green)}.sms-feedback.error{color:var(--red)}.results-back{margin-top:12px}@media (max-width:620px){.app-shell{width:min(100% - 28px,500px);padding-top:13px}.brand{font-size:18px}.brand-icon{width:37px;height:37px;border-radius:11px}.subject-note{font-size:9px;letter-spacing:.7px}.topbar-actions{gap:8px}.signout-button{min-height:34px;padding:5px 8px;font-size:11px}.welcome-screen{grid-template-columns:1fr;gap:0;min-height:0;padding:25px 18px 16px;margin-top:14px;border-radius:15px}.welcome-copy h1{font-size:36px}.welcome-copy .intro{margin:12px 0 17px;font-size:15px}.welcome-copy .play-button{width:100%}.welcome-art{min-height:150px;margin-top:4px}.welcome-art img{width:142px}.welcome-art .sticker-one{top:18px;left:15%}.play-screen{grid-template-columns:1fr;gap:0;min-height:0;padding:25px 18px 16px;margin-top:14px;border-radius:15px}.play-copy h1{font-size:36px}.intro{margin:12px 0 17px;font-size:15px}.play-button{min-height:54px;width:100%}.play-art{min-height:150px;margin-top:4px}.play-art img{width:142px}.art-sticker{width:44px;height:44px;font-size:13px;border-width:2px}.sticker-one{top:18px;left:15%}.sticker-two{right:13%;bottom:14px}.saved-section{margin:25px 2px 0}.saved-heading h2{font-size:21px}.saved-row{gap:9px;padding:9px}.saved-row-coin{width:39px;height:39px;border-radius:12px}.saved-row-copy strong{font-size:13px}.saved-date,.saved-row-copy span{font-size:11px}.privacy-note{font-size:12px}.footer-note{margin-top:28px}.game-screen{margin-top:18px}.question-card{padding:22px 17px;border-radius:14px}.question-progress{gap:9px;font-size:11px}.answer-button{min-height:55px;padding:8px 10px;font-size:14px}.results-screen{min-height:370px;padding:23px 17px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.landing-shell{width:min(100% - 40px,1100px);min-height:100svh;display:flex;flex-direction:column;margin:0 auto;padding:24px 0 20px}.landing-header{display:flex;align-items:center;justify-content:space-between;min-height:48px}.landing-header .subject-note{color:#46536a}.landing-hero{flex:1 1;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);align-items:center;grid-gap:clamp(28px,6vw,78px);gap:clamp(28px,6vw,78px);padding:38px 0 44px}.landing-copy{max-width:570px}.landing-copy h1{max-width:11ch;margin:0;color:var(--ink);font-size:clamp(46px,6.4vw,76px);line-height:.99;letter-spacing:-.06em;font-weight:900}.landing-intro{max-width:46ch;margin:22px 0 24px;color:#394658;font-size:clamp(17px,1.7vw,19px);line-height:1.55;font-weight:700}.landing-cta{width:-moz-fit-content;width:fit-content;min-width:138px;min-height:46px;padding:0 15px;font-size:15px;text-decoration:none}.landing-cta svg{width:20px;height:20px}.landing-note{margin:12px 0 0;color:#4e5a69;font-size:13px;font-weight:800}.landing-product{display:grid;justify-items:center;grid-gap:0;gap:0;padding:14px 0}.landing-art{display:block;width:min(75%,322px);aspect-ratio:1;object-fit:cover;border:1px solid #d2dff5;border-radius:28px;box-shadow:0 18px 38px rgba(32,39,53,.14)}.landing-question{z-index:1;width:min(100%,390px);padding:16px 18px 18px;margin-top:-26px;border:1px solid #dfe2e6;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(32,39,53,.1)}.landing-question-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.landing-question .topic-pill{margin:0}.landing-sample-label{color:#526074;font-size:12px;font-weight:900}.landing-question h2{margin:16px 0 12px;color:var(--ink);font-size:22px;line-height:1.2;letter-spacing:-.4px;font-weight:900}.landing-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.landing-answers span{display:flex;align-items:center;gap:6px;min-height:39px;padding:6px 8px;border:1px solid #d7dce4;border-radius:9px;color:#394658;background:#fff;font-size:12px;font-weight:800;white-space:nowrap}.landing-answers b{color:#59677c;font-size:11px;font-weight:900}.landing-footer{display:flex;justify-content:space-between;gap:14px;padding-top:16px;border-top:1px solid #e4e4e1;color:#4e5a69;font-size:12px;font-weight:900}@media (max-width:760px){.landing-shell{width:min(100% - 32px,560px);padding-top:14px}.landing-hero{grid-template-columns:1fr;gap:26px;padding:42px 0 28px}.landing-copy h1{max-width:11ch;font-size:clamp(43px,11.8vw,66px)}.landing-intro{max-width:44ch;margin:17px 0 19px;font-size:16px}.landing-cta{width:-moz-fit-content;width:fit-content}.landing-product{width:100%}.landing-art{width:min(72%,300px)}.landing-question{margin-top:-20px}}@media (max-width:390px){.landing-shell{width:min(100% - 28px,360px)}.landing-hero{padding-top:34px}.landing-copy h1{font-size:43px}.landing-answers{gap:5px}.landing-answers span{gap:4px;padding:5px 6px;font-size:11px}.landing-footer{flex-direction:column;gap:5px}}