@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap');
:root{--green:#247653;--dark:#164f38;--ink:#263e34;--muted:#78867e;--border:#e1e9e3;--paper:#f3f7f3;--red:#dc756d}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);font-family:'Nunito Sans',sans-serif;background:var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e7b34d;outline-offset:4px}header{height:86px;max-width:1360px;padding:0 38px;margin:auto;display:flex;align-items:center;gap:23px;border-bottom:1px solid var(--border)}.brand{font-size:35px;font-weight:900;text-decoration:none;color:var(--dark);letter-spacing:-1.7px}.brand span{color:#80ac66;margin-left:3px}.tagline{font-size:12px;color:var(--muted)}.header-xp{margin-left:auto;background:#e3eee3;padding:9px 16px;border-radius:25px;font-size:12px;color:var(--green)}main{max-width:1360px;padding:38px;display:grid;grid-template-columns:220px minmax(340px,560px) 240px;justify-content:space-between;gap:34px;margin:auto}.library{padding-top:16px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--muted)}h1{font-size:29px;line-height:1.2;letter-spacing:-.9px;margin:20px 0 15px;font-weight:900}h1 i{font-style:normal;color:var(--green)}.intro{font-size:13px;color:var(--muted);line-height:1.7}.nav{display:grid;gap:7px;margin:27px 0}.nav button{display:flex;justify-content:space-between;align-items:center;border:0;border-radius:12px;background:transparent;text-align:left;padding:13px;color:#6a7b70;font-weight:700;font-size:13px}.nav button span{font-size:10px;padding:3px 6px;background:#e7eee7;border-radius:5px}.nav button.active{background:var(--green);color:white;box-shadow:0 5px 12px #24765318}.nav button.active span{background:#ffffff26}.category-label{margin-left:10px}#categories{display:flex;flex-wrap:wrap;gap:7px;margin:15px 5px}#categories button{background:white;border:1px solid var(--border);border-radius:20px;padding:7px 11px;color:#728375;font-size:11px}#categories button.active{background:#dceadd;border-color:#a3c5a8;color:var(--dark)}.tip{margin:32px 5px 0;padding-top:23px;border-top:1px solid var(--border);display:flex;gap:12px;font-size:11px;line-height:1.7}.tip>span{font-size:25px;color:#90ac65}.tip p{color:var(--muted);margin:6px 0}.practice{border:1px solid #dce8de;background:#fbfcfa;border-radius:30px;overflow:hidden;box-shadow:0 15px 45px #214d3610;position:relative}.game-banner{position:relative;padding:25px 28px 65px;background:linear-gradient(120deg,#27805b,#216647);color:white;overflow:hidden}.game-banner:before,.game-banner:after{content:'';position:absolute;border-radius:50%;background:#ffffff08;pointer-events:none}.game-banner:before{width:240px;height:240px;right:-60px;top:-125px}.game-banner:after{width:140px;height:140px;left:-80px;bottom:20px}.topline{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}.pill{font-size:9px;letter-spacing:1px;font-weight:800;padding:7px 10px;border-radius:20px;background:#ffffff20}.topline button{background:transparent;border:0;color:#e3f0e7;font-size:11px;padding:7px 0}.banner-title{font-size:27px;font-weight:900;letter-spacing:-.6px;margin:22px 0 4px}.game-banner>p{font-size:12px;color:#c4ddcc;margin:0}.banner-stats{display:flex;gap:24px;margin-top:20px;font-size:11px;color:#cce1d1}.banner-stats b{font-size:15px;color:white;margin:0 4px}#quizView{position:relative;margin-top:-32px}.question-card{position:relative;background:white;margin:0 22px;border:1px solid #edf1eb;border-radius:22px;padding:22px 22px 20px;box-shadow:0 8px 25px #1d513b08}.round-badge{position:absolute;top:-28px;left:50%;transform:translateX(-50%);background:white;border:5px solid #c7dec9;box-shadow:0 0 0 4px #ffffff;width:64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);font-size:23px;font-weight:900;line-height:1}.round-badge span{font-size:9px;color:#8b9c8f;margin-top:4px}.round-stats{display:flex;justify-content:space-between;font-size:10px;margin:0 0 28px}.correct-count{color:#55a07c}.wrong-count{color:var(--red)}.word-meta{display:flex;justify-content:space-between;gap:10px;font-size:8px;font-weight:800;letter-spacing:.7px;color:#8b9a8b}#reviewFlag{color:var(--green)}.question{text-align:center;font-size:13px;color:var(--muted);margin:24px 0 10px}#word{text-align:center;font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:0;line-height:1.3;overflow-wrap:anywhere;margin:10px 0;color:var(--dark)}.hint{text-align:center;font-size:11px;color:#97a295;margin:0 0 10px}.listen{display:block;margin:0 auto 19px;background:#f1f7ef;border:0;border-radius:20px;color:var(--green);padding:7px 12px;font-size:10px}.session{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#93a08f;margin:10px 0 7px}.progress,.level-track{height:5px;background:#e6eee1;border-radius:10px;overflow:hidden}.progress div,.level-track div{height:100%;background:#8cb376;width:0;transition:width .3s}.answer-area{padding:25px 30px 10px}#answers{display:grid;gap:12px}#answers button{display:flex;align-items:center;gap:13px;width:100%;min-height:57px;padding:12px 15px;border:2px solid #e5ebe5;border-radius:14px;color:var(--ink);background:white;text-align:left;font-size:16px;font-weight:700;box-shadow:0 3px 0 #e9efe7;transition:transform .15s,border-color .15s}#answers button:after{content:'';margin-left:auto;border:2px solid #dde6dd;width:16px;height:16px;border-radius:50%;flex-shrink:0}#answers button:hover:not(:disabled){border-color:#7bac87;transform:translateY(-2px)}#answers .letter{font-size:10px;color:#8b9a8b;background:#f3f7f1;border-radius:7px;display:grid;place-items:center;width:25px;height:27px;flex-shrink:0}#answers button.correct{border-color:#64a77a;background:#f1f8ed;box-shadow:0 3px 0 #d1e6ce}#answers button.wrong{border-color:#e78b81;background:#fff5f1;box-shadow:0 3px 0 #f5d9d1}#answers button.correct:after{content:'✓';display:grid;place-items:center;border:0;color:white;background:#65a57b;font-size:12px;width:22px;height:22px}#answers button.wrong:after{content:'×';display:grid;place-items:center;border:0;color:white;background:#e8897c;font-size:17px;width:22px;height:22px}#answers button:disabled{cursor:default;opacity:1}.result{display:none}#feedback{font-size:12px;line-height:1.7;margin-top:20px;color:#557360}#feedback:empty{display:none}.primary{background:var(--green);border:0;border-radius:13px;padding:15px 18px;color:white;font-weight:800;font-size:13px;box-shadow:0 4px 0 #165536}.primary:hover{background:#1f6849}#next{width:100%;margin-top:15px}#next span{float:right}.secondary{background:white;border:1px solid #ceded1;color:var(--green);border-radius:12px;font-weight:700;font-size:11px;padding:12px}button:disabled{opacity:.5;cursor:default}.keyboard{text-align:center;font-size:9px;color:#9ba596;margin:23px 0 8px}kbd{font:9px inherit;border:1px solid #dfe7da;border-radius:4px;padding:3px 5px;margin-left:5px;background:white}.encouragement{text-align:center;font-size:10px;color:#8c9b84;margin:12px 15px 22px}.right{padding-top:15px}.journey{text-align:center;padding:24px 20px;border-radius:22px;background:#e6efdf;border:1px solid #dae5d2}.journey-icon{display:grid;place-items:center;width:63px;height:63px;margin:auto;border-radius:50%;background:#d5e5c9;color:#75975c;font-size:35px}.journey .eyebrow{margin-top:19px}h3{font-size:16px;font-weight:800;margin:10px 0}.journey>p:not(.eyebrow),.review>p,.coming p{font-size:11px;line-height:1.8;color:var(--muted)}.level-track{margin:20px 0 9px;background:#d3e1c9}.journey small{font-size:9px;color:#79926a}.review{padding:20px;margin-top:23px;border:1px solid var(--border);border-radius:20px;background:white}.review-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.review-title h3{font-size:13px;margin:0}.review-title span{font-size:10px;background:#e5efd9;color:#769559;border-radius:7px;padding:4px 8px}#reviewWords{font-size:11px;margin:18px 0;color:#7e8d78;line-height:1.7}#reviewWords div{display:flex;justify-content:space-between;padding:8px 0;gap:10px;border-bottom:1px solid var(--border)}#reviewWords small{font-size:9px;color:#a0ab98}#reviewButton{width:100%}.coming{margin-top:28px;padding:0 12px}.coming .pill{background:#e5ebdf;color:#899b75;font-size:8px}.coming h3{margin-top:18px;line-height:1.4}.reset{background:transparent;border:0;color:#99a791;font-size:10px;margin:18px 12px}footer{display:flex;justify-content:space-between;margin:0 auto;max-width:1284px;padding:20px 0;border-top:1px solid var(--border);font-size:10px;color:#95a18e}#summaryView{position:relative;text-align:center;padding:0 28px 15px;margin-top:-24px}.score-orbit{width:160px;height:160px;border-radius:50%;background:#d2e7d170;border:17px solid #a8cfaa55;box-shadow:0 0 0 16px #b5d4b02b;margin:0 auto 32px;display:grid;place-items:center}.score-orbit>div{background:white;border-radius:50%;width:125px;height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-orbit small{font-size:10px;color:#73a27a;font-weight:800}.score-orbit b{font-size:43px;color:var(--green);line-height:1.3}.score-orbit b span{font-size:13px;margin-left:3px}#summaryTitle{font-size:27px;color:var(--dark);margin:10px 0 5px}.summary-subtitle{font-size:12px;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:1fr 1fr;text-align:left;background:white;padding:24px;border:1px solid var(--border);border-radius:20px;gap:23px;margin:23px 0}.summary-grid div{display:flex;flex-direction:column;gap:3px}.summary-grid b{font-size:22px;color:var(--green)}.summary-grid div:last-child b{color:var(--red)}.summary-grid span{font-size:11px;color:var(--muted)}.summary-actions{display:grid;gap:13px;margin-top:24px}#sessionRecap{text-align:left;font-size:12px;color:#788a77}#sessionRecap h3{font-size:13px}#sessionRecap div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);gap:12px}#sessionRecap span:last-child{color:#87977e}
@media(max-width:1100px){main{grid-template-columns:190px minmax(340px,560px);justify-content:center;gap:28px;padding:28px}.right{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0}.review{margin:0}.coming,.reset{grid-column:auto;margin:0 10px}footer{margin:0 28px}.journey{padding:20px}}
@media(max-width:720px){header{height:70px;padding:0 20px}.brand{font-size:29px}.tagline{font-size:10px}main{display:flex;flex-direction:column;padding:20px 14px;gap:20px}.library{padding:0 6px}h1,.intro,.tip,.library>.eyebrow{display:none}.nav{display:flex;margin:0 0 12px;gap:5px;overflow:auto}.nav button{padding:10px 12px;white-space:nowrap;font-size:11px}.nav button span{display:none}.category-label{display:none}#categories{margin:0;gap:6px}#categories button{padding:6px 9px;font-size:10px}.practice{width:100%;max-width:550px;align-self:center;border-radius:26px}.game-banner{padding:23px 22px 60px}.banner-title{font-size:25px}.question-card{margin:0 15px;padding:22px 18px 18px}.answer-area{padding:24px 22px 8px}#word{font-size:42px}.keyboard span{display:none}.right{display:grid;grid-template-columns:1fr 1fr;gap:12px}.journey,.review{padding:18px 13px;border-radius:18px}.journey-icon{width:46px;height:46px;font-size:27px}.coming{display:none}.reset{grid-column:1/-1;justify-self:center;margin-top:4px}footer{margin:0 20px;font-size:9px}footer span{display:none}.header-xp{padding:7px 10px;font-size:10px}.tagline{max-width:100px}.score-orbit{width:148px;height:148px}.summary-grid{padding:20px}#summaryView{padding:0 22px 15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* One focused page at a time. */
.flow-main{display:block;max-width:760px;padding:32px 24px 40px}.screen{width:100%}.chooser{background:#fbfcfa;border:1px solid #dce8de;border-radius:30px;overflow:hidden;box-shadow:0 15px 45px #214d3610}.chooser-hero{background:linear-gradient(120deg,#27805b,#216647);color:white;padding:32px 35px;position:relative;overflow:hidden}.chooser-hero:after{content:'';width:260px;height:260px;border-radius:50%;background:#ffffff08;position:absolute;top:-100px;right:-80px;pointer-events:none}.chooser-hero h1{display:block;color:white;font-size:36px;margin:23px 0 12px;line-height:1.15;font-weight:900}.chooser-hero p{font-size:13px;color:#d4e9d9}.home-stats{display:flex;gap:25px;font-size:12px;color:#d4e9d9;margin-top:23px}.home-stats b{color:white;margin:0 4px}.chooser-body{padding:28px 35px}.choice-card{width:100%;display:flex;align-items:center;gap:18px;text-align:left;padding:23px 20px;border:1px solid #dae6dc;border-radius:17px;background:white;color:var(--ink);margin:13px 0;box-shadow:0 3px 0 #e7eee5;transition:transform .15s,border-color .15s}.choice-card:hover:not(.unavailable){border-color:#70a67e;transform:translateY(-2px)}.choice-icon{width:46px;height:46px;border-radius:13px;background:#e9f2e5;color:var(--green);display:grid;place-items:center;font-size:23px;font-weight:800;flex-shrink:0}.choice-card b{display:block;font-size:17px;font-weight:800}.choice-card small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:4px}.choice-arrow{margin-left:auto;font-size:23px;color:var(--green)}.unavailable{background:#f3f5f1;box-shadow:none;color:#7c897e}.unavailable .choice-icon{background:#e7ece3;color:#9eac99}.soon{font-size:8px;letter-spacing:.6px;font-weight:800;padding:6px 9px;border-radius:20px;background:#e6ebdf;color:#819574;margin-left:auto;white-space:nowrap}.home-review{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--border);margin-top:27px;padding-top:25px}.home-review b{font-size:13px}.home-review p{font-size:11px;color:var(--muted);margin:6px 0}.home-journey{display:flex;align-items:center;gap:16px;text-align:left;margin-top:23px;padding:17px 20px}.home-journey .journey-icon{width:42px;height:42px;margin:0;font-size:25px;flex-shrink:0}.home-journey>div:last-child{flex:1}.home-journey h3{font-size:13px;margin:0 0 3px}.home-journey .level-track{margin:9px 0 0}.back-link{background:transparent;border:0;color:#d8edde;padding:0;font-size:12px;position:relative;z-index:1}.step-label{float:right;font-size:9px;letter-spacing:1px;color:#bedcc8;margin-top:4px}.direction-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 21px;font-size:11px;color:var(--muted);gap:10px}.setup-note{text-align:center;font-size:11px;color:#8c9c83;margin-top:26px}.category-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;margin:0!important}.category-grid button{border-radius:15px!important;font-size:14px!important;padding:20px 15px!important;font-weight:800;min-height:88px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:white!important;color:var(--dark)!important}.category-grid button:first-child{grid-column:1/-1;background:#e9f2e5!important}.category-grid button small{font-size:10px;font-weight:500;color:#8c9a85}.practice{max-width:590px;margin:auto}.practice .game-banner{padding:24px 28px 59px}.practice .banner-title{font-size:23px;margin-top:18px}.practice .word-meta,.practice .hint,.practice .listen,.practice .round-stats,.practice .session{display:none}.practice .question-card{padding:28px 22px 22px}.practice .question{margin-top:18px}.practice #word{margin:16px 0 22px}.practice .encouragement{display:none}.practice .keyboard{margin-bottom:17px}.practice .answer-area{padding-top:22px}.practice #summaryView{padding-bottom:26px}.flow-main:has(#practicePage:not([hidden])){padding-top:24px}body:has(#practicePage:not([hidden])) .tagline,body:has(#practicePage:not([hidden])) .header-xp{display:none}
@media(max-width:720px){.flow-main{padding:20px 14px 30px}.chooser{border-radius:25px}.chooser-hero{padding:27px 24px}.chooser-hero h1{display:block;font-size:30px}.chooser-body{padding:23px}.choice-card{gap:12px;padding:18px 14px}.choice-card b{font-size:15px}.choice-card small{font-size:11px}.choice-icon{width:38px;height:38px;font-size:20px}.unavailable{flex-wrap:wrap}.soon{margin-left:50px}.home-review{align-items:flex-start;flex-direction:column;gap:10px}.home-review button{width:100%}.direction-row{font-size:10px}.direction-row button{font-size:10px;padding:10px}.category-grid button{padding:17px 12px!important}.practice .game-banner{padding:22px 22px 57px}.practice .question-card{padding:27px 18px 20px}.practice #word{font-size:39px}.practice .banner-title{font-size:22px}.step-label{font-size:8px}}
.sentence-mode #word{font-size:29px;line-height:1.6;letter-spacing:0;margin:16px 0;overflow-wrap:normal}.sentence-mode #contextHint{display:block;text-align:center;color:#7c8e76;font-size:12px;line-height:1.8;margin:14px 0 20px;padding:12px;background:#f3f7ef;border-radius:10px}.sentence-mode .question{font-size:11px}.sentence-mode #answers button{font-size:15px}#sessionRecap div{flex-wrap:wrap}#sessionRecap div span:first-child{max-width:100%}@media(max-width:720px){.sentence-mode #word{font-size:24px}.sentence-mode #contextHint{font-size:11px}}
