@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans Variable,Hiragino Sans,Yu Gothic,sans-serif;color:#2f443a;background:#f7f8f3;font-synthesis:none;font-weight:400;font-size:14px;--green: #386953;--green-dark: #285640;--muted: #839086;--border: #e4e8dd;--cream: #f7f8f3;--safe-area-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad834a;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:.025em;line-height:1.6;font-weight:700}h2{font-size:17px;line-height:1.6;font-weight:700}h3{font-size:16px;line-height:1.6}p{color:#7b877c;line-height:1.9}button{border:0}svg{flex-shrink:0}button svg,a svg{vertical-align:middle}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#fffef9;border-right:1px solid var(--border);padding:40px 22px 20px;display:flex;flex-direction:column;z-index:10;overflow-y:auto}.sidebar>*{flex-shrink:0}.brand{display:flex;gap:12px;align-items:center;margin:0 12px;color:#294b3c;font-size:18px;font-weight:600;letter-spacing:-.7px;line-height:1.2}.brand-icon{display:grid;place-items:center;width:42px;height:48px;background:#e5eddd;border-radius:15px 15px 18px 18px;color:#547553}.brand-quest{display:block;font-size:27px;font-weight:700}.brand-dot{color:#b9935d}.sidebar-caption{color:#a2a99b;letter-spacing:1.7px;font-size:9px;margin:40px 14px 18px;font-weight:600}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:10px;color:#7c887e;font-size:13px;font-weight:500}.sidebar nav a:hover{background:#f4f6ee}.sidebar nav a.active{background:#eaf0e3;color:#3e6b4e;font-weight:700}.nav-chevron{margin-left:auto;opacity:0}.active .nav-chevron{opacity:1}.sidebar-note{margin:45px 11px 25px;padding:22px 13px;border-top:1px dashed #dce2d4;border-bottom:1px dashed #dce2d4;color:#809775}.sidebar-note p{font-size:13px;color:#76826f;margin:12px 0 10px;line-height:2}.sidebar-note span{font-size:10px;color:#a0a796}.settings-link{margin-top:auto;display:flex;align-items:center;gap:12px;padding:18px 17px;color:#889082;font-size:12px}.settings-link.active{color:var(--green)}.profile{border-top:1px solid var(--border);padding:22px 2px 0;display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;border-radius:50%;width:35px;height:35px;background:#f2e5ce;color:#9a815b;font-size:14px}.profile strong{font-size:11px;display:block;font-weight:600}.profile small{font-size:9px;color:#a0a799;display:block;margin-top:4px}.online-dot{width:6px;height:6px;border-radius:50%;background:#87a777;display:inline-block;flex-shrink:0}.profile .online-dot{margin-left:auto}.main-wrap{margin-left:236px}.topbar{height:81px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--border);background:#fbfcf7}.breadcrumb{font-size:11px;color:#859083;letter-spacing:.05em}.breadcrumb span{color:#c6cbbb;margin:0 13px}.topbar-right{display:flex;align-items:center;gap:22px}.course-badge{display:flex;align-items:center;gap:9px;font-size:11px;color:#64795e;font-weight:700}.course-badge>span{font-size:11px;font-weight:400;color:#8b9386}.material-pill{display:inline-flex;align-items:center;gap:7px;background:#f5f0df;border:1px solid #ebe3cc;color:#9e8351;padding:8px 12px;border-radius:20px;font-size:12px}.material-pill>span{font-size:10px}.mobile-brand{display:none}main{max-width:1380px;margin:auto;padding:36px 42px 12px;min-height:calc(100vh - 147px)}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#8c9b7b;margin-bottom:9px}.page-title p{font-size:12px;margin-top:8px;letter-spacing:.03em}.greeting-leaf{display:inline-block;color:#8f9f6e;margin-left:14px;font-size:32px;vertical-align:middle}.date-label{color:#8b9485;font-size:11px;border:1px solid var(--border);border-radius:20px;padding:8px 13px;white-space:nowrap}.card{background:#fffefb;border:1px solid var(--border);border-radius:15px;box-shadow:0 4px 14px #344b3110}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px}.hero{overflow:hidden}.hero-art{position:relative;background:#dcebe5;height:300px;overflow:hidden}.town-scene{width:100%;height:100%;display:block;object-fit:cover}.hero-art .town-scene{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;transform:scale(1.1)}.location-tag{position:absolute;top:20px;left:22px;display:inline-flex;align-items:center;gap:7px;color:#5f7b65;font-size:9px;letter-spacing:1px;border:1px solid #f3f7ecad;background:#f6faedb0;padding:8px 12px;border-radius:20px}.scene-caption{position:absolute;bottom:18px;right:22px;font-size:9px;color:#587963;background:#f4f7e9c4;padding:7px 11px;border-radius:20px;display:flex;gap:7px;align-items:center}.hero-body{padding:26px 26px 24px}.soft-tag{display:inline-flex;gap:6px;align-items:center;background:#edf2e7;color:#6e875c;padding:5px 10px;font-size:10px;letter-spacing:.04em;border-radius:5px}.hero-body h2{font-size:21px;letter-spacing:.02em;margin:12px 0 7px}.hero-body p{font-size:12px}.quest-meta{display:flex;gap:17px;flex-wrap:wrap;margin:18px 0 24px;color:#8c9787;font-size:10px}.quest-meta span{display:flex;align-items:center;gap:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:9px;min-height:44px;padding:12px 20px;font-size:12px;font-weight:600;letter-spacing:.035em;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--green);color:#fffdf0;border:1px solid var(--green);box-shadow:0 3px 5px #2c5a3820}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{background:#fbfcf6;border:1px solid #dce4d2;color:#627b56}.secondary:hover:not(:disabled){background:#edf2e5}.hero-body>.button{width:100%;min-height:48px;justify-content:center}.hero-body>.button svg{margin-left:7px}.dashboard-side{display:flex;flex-direction:column;gap:21px}.weekly{padding:23px 22px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{display:flex;gap:8px;font-size:12px;align-items:center}.section-heading a{color:#a4ad98}.weekly-number{display:flex;gap:7px;align-items:baseline;margin:22px 0 17px}.weekly-number strong{font-size:43px;color:#4d714b;line-height:1;font-weight:500}.weekly-number>span{font-size:13px;color:#a1aa96}.weekly-number svg{margin-left:auto;align-self:center;color:#b6c59c}.goal-dots{display:flex;gap:9px;margin-bottom:15px;flex-wrap:wrap}.goal-dots>span{height:29px;width:29px;border:1px dashed #d3ddc4;background:#f7f8ef;border-radius:50%;display:grid;place-items:center;color:#d4dcc5;font-size:14px}.goal-dots>span.achieved{background:#7e9b67;color:#fff;border:1px solid #7e9b67}.weekly p{font-size:10px;line-height:1.9;color:#94a087}.review-card{flex:1;padding:22px;background:#f1f4e8;box-shadow:none;border-color:#e3e9d7}.icon-tile{display:inline-flex;align-items:center;justify-content:center;background:#e5edd8;color:#819663;width:42px;height:42px;border-radius:11px;margin-bottom:15px}.review-card h2{font-size:13px}.review-card p{font-size:11px;margin:10px 0 17px;color:#8a987d;line-height:2}.text-button{border:0;background:transparent;display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:500;color:#698354;padding:6px 0}.text-button:hover{text-decoration:underline}.section-title{margin:30px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.section-title h2{font-size:16px;letter-spacing:.05em}.section-title p{font-size:11px;margin-top:6px}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.journey-card{display:flex;gap:17px;padding:25px 23px;align-items:flex-start;transition:border-color .15s}.journey-card:hover{border-color:#aec09b}.journey-icon{width:55px;height:61px;border-radius:15px;display:grid;place-items:center;flex-shrink:0}.warm{background:#f3ead6;color:#b39864}.green{background:#eaf0e1;color:#859d6b}.small-label{font-size:9px;font-weight:600;letter-spacing:1.3px;color:#9da58f}.journey-card h3{font-size:13px;margin:7px 0 6px}.journey-card p{font-size:10px;line-height:1.7}.journey-card>svg{margin-left:auto;align-self:center;color:#a6b098}.mini-progress{background:#eef1e5;border-radius:6px;height:4px;margin:15px 0 6px;overflow:hidden}.mini-progress>span{display:block;height:100%;background:#95ad7a;border-radius:6px}.journey-card small{font-size:9px;color:#a0aa93}.inline-material{display:inline-flex;align-items:center;gap:6px;color:#ab956d;font-size:10px;margin-top:16px}.gentle-note{display:flex;gap:9px;justify-content:center;align-items:center;color:#9caa8d;font-size:10px;margin:30px 0 20px}.gentle-note svg{color:#adb99b}footer{max-width:1380px;margin:auto;padding:20px 42px 27px;display:flex;justify-content:space-between;color:#adb4a3;font-size:9px;letter-spacing:.04em}footer>span{font-size:8px;letter-spacing:1.3px}.chapter-banner{display:flex;align-items:center;gap:22px;padding:27px;background:#eaf0e1;border-radius:15px;border:1px solid #dce5cf;margin-bottom:25px}.chapter-banner>svg{color:#8b9e68}.chapter-banner h2{font-size:22px}.chapter-banner p{font-size:12px;margin-top:8px}.chapter-banner>.soft-tag{margin-left:auto;background:#fffaf0}.lesson-list{display:flex;flex-direction:column;gap:12px}.lesson{display:flex;align-items:center;gap:22px;padding:23px}.lesson-number{width:47px;height:47px;border-radius:50%;background:#f2eedf;color:#a48b60;display:grid;place-items:center;font-size:17px;flex-shrink:0}.lesson.done .lesson-number{background:#e4efdc;color:#698852}.lesson h2{font-size:16px;margin-top:5px}.lesson p{font-size:10px;margin-top:6px;max-width:540px}.lesson-count{margin-left:auto;font-size:12px;color:#93a080}.locked-label{font-size:10px;color:#a3ab99;white-space:nowrap}.checkpoint{margin-top:25px;padding:27px;display:flex;gap:23px;align-items:center;background:#fbf7e9}.checkpoint>svg{color:#b9a16d}.checkpoint p{font-size:11px;margin:8px 0}.checkpoint small{font-size:10px;color:#9b987e}.checkpoint>.button,.checkpoint>.locked-label{margin-left:auto;flex-shrink:0}.town-panorama{position:relative;overflow:hidden;margin-bottom:25px;background:#dfebe2}.town-panorama .town-scene{max-height:420px;min-height:260px}.town-overlay{position:absolute;top:26px;left:26px}.town-overlay h2{margin:12px 0;font-size:21px}.building-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.building{padding:25px;position:relative}.building-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:17px;background:#f0f0e4;color:#a3ac91;margin-bottom:18px}.building-icon.level-1,.building-icon.level-2,.building-icon.level-3{background:#e3edda;color:#708c53}.building-level{font-size:9px;letter-spacing:1px;color:#9ea68e;position:absolute;right:23px;top:29px}.building h2{font-size:16px}.building p{font-size:11px;margin:8px 0 18px}.level-track{display:flex;gap:5px;margin-bottom:20px}.level-track span{height:4px;flex:1;background:#edf0e5;border-radius:4px}.level-track .filled{background:#93a978}.building .button{width:100%;font-size:11px}.cost{margin-left:auto;display:flex;align-items:center;gap:4px}.footnote{font-size:11px;line-height:1.9;margin:20px 0;color:#929d87}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat-card{padding:25px}.stat-card>svg{color:#8ca176}.stat-card div{margin:14px 0 8px}.stat-card strong{font-size:34px;font-weight:500;margin-right:10px;color:#4b714b}.stat-card span{color:#a4ad96}.stat-card p{font-size:11px}.vocabulary{overflow:hidden}.vocab-row{display:grid;grid-template-columns:minmax(0,1fr) 95px 110px 90px;align-items:center;gap:15px;padding:19px 24px;border-bottom:1px solid #eef0e7}.vocab-row:last-child{border-bottom:0}.vocab-header{background:#f4f6ec;font-size:11px;color:#8a987c;padding-top:14px;padding-bottom:14px}.vocab-row strong{font-size:13px;font-weight:500}.vocab-row small{display:block;font-size:10px;color:#97a08d;margin-top:5px}.mastery{font-size:10px;color:#adb5a2}.mastery.growing{color:#a48e60}.mastery.retained{color:#63864f}.due-date{font-size:11px;color:#96a087}.settings-card{max-width:720px;padding:30px;margin-bottom:24px}.settings-card h2{margin-bottom:20px}.settings-card label:not(.checkbox-label){display:block;font-size:13px;font-weight:600;margin:23px 0 10px}.settings-card label span{display:block;font-size:11px;font-weight:400;color:#95a087;margin-top:5px}.settings-card select{display:block;max-width:100%;width:320px;background:#fafbf5;border:1px solid #dce3d2;border-radius:8px;padding:11px;color:#56704d}.checkbox-label{display:flex;align-items:center;gap:10px;margin:25px 0;font-size:12px}.checkbox-label input{accent-color:var(--green);width:18px;height:18px}.settings-card p{font-size:12px;margin-bottom:18px}.settings-card hr{border:0;border-top:1px solid var(--border);margin:25px 0}.success-note{display:flex;gap:8px;align-items:center;font-size:12px;color:#68864c;margin:15px 0}.settings-card .success-note{margin:15px 0 0}.danger{background:#9f5649;color:#fff}.danger-text{color:#a46155}.delete-confirm{display:flex;gap:15px;flex-wrap:wrap}.delete-confirm p{width:100%}.quest-layout{max-width:820px;margin:0 auto}.quest-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.quest-top>span{display:flex;gap:7px;align-items:center;font-size:11px;color:#9ca68e}.quest-progress{height:7px;border-radius:8px;background:#e6ecdc;overflow:hidden}.quest-progress>span{height:100%;display:block;background:#87a66a;border-radius:8px;transition:width .2s}.quest-counter{display:flex;justify-content:space-between;font-size:11px;color:#92a07f;margin:13px 0 28px}.quest-counter>span{font-size:10px}.question-card{padding:40px;min-height:380px}.question-card h1{font-size:23px;margin:24px 0 12px;outline:none;line-height:1.8}.question-instruction{font-size:11px;margin-bottom:27px}.answer-options{display:flex;flex-direction:column;gap:11px}.answer-option{width:100%;text-align:left;display:flex;align-items:center;gap:15px;border:1px solid #e1e6d8;background:#fdfdf7;border-radius:10px;padding:15px 17px;color:#526648;font-size:16px;font-family:DM Sans Variable,Hiragino Sans,Yu Gothic,sans-serif}.answer-option>span{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border:1px solid #e2e7d8;border-radius:7px;color:#9daa8d;font-size:12px}.answer-option svg{margin-left:auto}.answer-option:hover:not(:disabled),.answer-option.selected{background:#eef3e7;border-color:#8da77a}.answer-option:disabled{opacity:1}.answer-option.correct-option{border-color:#93ad7e;background:#f1f6e9}.question-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px}.answer-input-label{display:block;font-size:11px;color:#8b997d}.answer-input-label input{width:100%;padding:19px 17px;font-size:18px;color:#425f37;background:#fcfcf6;border:1px solid #dbe3cd;border-radius:10px;margin-top:10px}.answer-input-label input::placeholder{color:#b5bbaa;font-size:15px}.answer-input-label input:disabled{opacity:.65}.hint-box{display:flex;gap:13px;background:#f5f0de;border-radius:10px;padding:17px;margin-top:18px;color:#a38a56}.hint-box strong{font-size:11px}.hint-box p{font-size:17px;color:#8c7950;margin:9px 0}.hint-box small{font-size:10px;color:#a79976}.feedback{padding:23px;border-radius:12px;margin-top:25px;background:#eff5e7;border:1px solid #dee9cf}.feedback.try-again{background:#f8f2e4;border-color:#eee1c7}.feedback-title{display:flex;gap:10px;align-items:center;color:#6d8c51;font-size:14px}.try-again .feedback-title{color:#a18a56}.feedback .canonical-answer{font-size:20px;color:#516a42;margin:18px 0 10px}.feedback p{font-size:12px}.feedback small{display:block;font-size:10px;color:#9c997d;margin-top:8px}.feedback>.button{display:flex;margin:20px 0 0 auto;min-width:150px}.quest-bottom{display:flex;justify-content:space-between;align-items:center;margin:24px 0}.quest-bottom p{display:flex;gap:7px;align-items:center;font-size:10px;color:#a0ab92}.subtle{font-size:10px;color:#a5ae99}.abandon-confirm{padding:23px}.abandon-confirm p{font-size:12px;margin-bottom:18px}.abandon-confirm button{margin-right:20px}.quest-symbol{display:grid;place-items:center;width:75px;height:75px;background:#edf3e3;color:#8aa56c;border-radius:50%}.results{max-width:700px;text-align:center;margin:30px auto}.result-trophy{display:grid;place-items:center;width:100px;height:100px;background:#f4ecd5;color:#bfa267;border-radius:50%;margin:0 auto 25px;box-shadow:0 0 0 10px #f8f3e5}.results>.eyebrow{margin-top:30px}.results>h1{font-size:28px;margin:13px 0}.results>p{font-size:12px}.results-card{display:grid;grid-template-columns:1.4fr 1fr;text-align:left;margin:30px 0 20px;padding:28px}.result-stat{border-right:1px solid var(--border);padding-right:20px}.result-stat>span{font-size:11px;color:#8d9c7b;display:block}.result-stat strong{display:block;font-size:37px;color:#574;font-weight:500;margin:9px 0}.result-stat small{font-size:15px;color:#a7b096}.result-stat p{font-size:10px}.result-reward{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b39960}.result-reward strong{font-size:32px;margin:7px 0}.result-reward>span{font-size:10px}.review-summary{text-align:left;padding:25px;margin:20px 0}.review-summary h2{font-size:13px;display:flex;gap:8px;align-items:center;margin-bottom:17px}.review-summary p{font-size:14px;border-top:1px solid #edf0e5;padding:10px 0}.result-actions{display:flex;gap:15px;justify-content:center;margin:27px 0 16px}.result-actions>.button{min-width:190px}.error{display:flex;align-items:center;gap:10px;background:#fbede7;border:1px solid #ecd1c8;padding:14px 17px;border-radius:9px;color:#a06050;font-size:12px;line-height:1.8;margin:15px 0}.error button{background:#f1d8cd;color:#8b5447;padding:5px 10px;border-radius:5px;white-space:nowrap}.loading{display:flex;min-height:55vh;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#8da772}.loading p{font-size:12px}.empty-state{padding:70px 20px;text-align:center}.empty-state h1{margin-bottom:30px}.boot-error{max-width:800px;margin:100px auto}.skip-link{position:fixed;top:-60px;left:15px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}@media(min-width:1500px){.hero-art{height:340px}.hero-body{padding:28px 32px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 310px}.weekly,.review-card{padding:27px}}@media(max-width:1200px){.sidebar{width:205px;padding:32px 14px 20px}.main-wrap{margin-left:205px}main{padding:30px 28px 10px}.topbar{padding:0 28px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.hero-art{height:260px}.hero-body{padding:23px}.hero-body h2{font-size:18px}.weekly,.review-card{padding:20px 17px}.quest-meta{gap:10px}.journey-card{padding:20px 17px;gap:13px}.journey-icon{width:44px;height:50px}.journey-card h3{font-size:12px}.building-grid{gap:14px}.building{padding:20px}.building-level{right:16px;font-size:8px}.building-icon{width:49px;height:49px}.chapter-banner p{font-size:11px}.lesson{padding:20px;gap:15px}footer{padding-left:28px;padding-right:28px}}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hero-art{height:300px}.hero-body{display:flex;align-items:center;gap:25px}.hero-body>.button{width:auto;white-space:nowrap;flex-shrink:0;font-size:11px}.quest-meta{margin-bottom:0}.hero-body h2{font-size:19px}.weekly-number{margin-top:15px}.review-card h2{margin-top:0}.review-card p{margin:10px 0}.icon-tile{margin-bottom:10px}.journey-grid{grid-template-columns:1fr}.greeting-leaf{display:none}h1{font-size:24px}.building-grid{grid-template-columns:1fr 1fr}.lesson{flex-wrap:wrap}.lesson>div{flex:1}.lesson p{max-width:420px}.checkpoint{flex-wrap:wrap}.checkpoint>div{flex:1;min-width:200px}.vocab-row{grid-template-columns:minmax(0,1fr) 65px 75px 60px;gap:10px;padding:17px}.stats-grid{gap:12px}.stat-card{padding:20px 15px}.stat-card p{font-size:10px}.stat-card strong{font-size:30px}.date-label{display:none}}@media(max-width:760px){.sidebar{inset:auto 0 0;width:100%;height:calc(70px + var(--safe-area-bottom));padding:0;background:#fffef9f5;border-top:1px solid var(--border);border-right:0;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.brand,.sidebar-caption,.sidebar-note,.profile,.settings-link{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0;height:100%;padding:4px 8px calc(4px + var(--safe-area-bottom))}.sidebar nav a{padding:10px 3px 8px;flex-direction:column;justify-content:center;gap:6px;border-radius:9px;font-size:9px}.sidebar nav a.active{background:transparent}.sidebar nav a.active>svg:first-child{stroke-width:2.5}.nav-chevron{display:none}.main-wrap{margin-left:0;padding-bottom:calc(70px + var(--safe-area-bottom))}.topbar{height:65px;padding:0 20px}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:#4f6f48;letter-spacing:-.4px}.topbar-right{gap:13px}.course-badge>span{display:none}.course-badge{font-size:10px}.material-pill{font-size:11px;padding:7px 10px}.material-pill>span{display:none}main{padding:25px 20px 5px}.page-title{margin-bottom:23px}.page-title h1{font-size:23px}.page-title p{font-size:11px}.eyebrow{font-size:9px;letter-spacing:1.6px}.hero-art{height:260px}.hero-art .town-scene{transform:scale(1.22)}.location-tag{top:16px;left:16px;font-size:8px}.scene-caption{bottom:14px;right:14px;font-size:8px}.hero-body{display:block;padding:23px}.hero-body h2{font-size:19px}.hero-body p{font-size:11px}.quest-meta{margin:16px 0 20px;font-size:9px}.hero-body>.button{width:100%;font-size:12px}.dashboard-side{gap:14px}.weekly,.review-card{padding:19px 16px}.section-heading h2{font-size:10px;gap:5px}.section-heading h2 svg{width:15px}.weekly-number strong{font-size:35px}.weekly-number svg{width:28px}.goal-dots{gap:6px}.goal-dots>span{width:24px;height:24px}.weekly p,.review-card p{font-size:9px;line-height:1.9}.review-card h2{font-size:11px}.review-card .text-button{font-size:10px;gap:6px}.review-card .icon-tile{width:34px;height:34px}.review-card .icon-tile svg{width:19px}.section-title{margin-top:25px}.section-title h2{font-size:15px}.section-title p,.section-title .text-button{font-size:10px}.journey-card{padding:22px 20px}.journey-card h3{font-size:13px}.journey-card p{font-size:10px}.gentle-note{font-size:9px;line-height:1.8;text-align:center;margin:25px 5px 15px}footer{padding:15px 20px 25px;justify-content:center;font-size:8px}footer>span{display:none}.chapter-banner{padding:20px;gap:14px;flex-wrap:wrap}.chapter-banner h2{font-size:19px}.chapter-banner p{font-size:10px}.chapter-banner>svg{width:26px}.chapter-banner>.soft-tag{display:none}.lesson{padding:19px 16px;gap:13px}.lesson-number{width:36px;height:36px;font-size:13px}.lesson h2{font-size:14px}.lesson p{font-size:9px}.lesson .small-label{font-size:8px}.lesson-count{font-size:10px;margin-left:0}.lesson>.button,.lesson>.locked-label,.lesson>.soft-tag{margin-left:49px;font-size:10px}.lesson>.button{min-height:36px;padding:8px 16px}.lesson.done>.soft-tag{margin-left:0}.checkpoint{padding:22px;gap:15px}.checkpoint h2{font-size:15px}.checkpoint p{font-size:10px}.checkpoint>svg{width:26px}.checkpoint .button{width:100%;margin-top:7px}.building-grid{gap:13px}.building{padding:19px 15px}.building-icon{width:44px;height:44px;margin-bottom:15px}.building-icon svg{width:25px}.building-level{position:static;display:block;font-size:8px;margin-bottom:6px}.building h2{font-size:13px}.building p{font-size:9px;min-height:35px}.building .button{font-size:10px;gap:5px;padding:10px 9px}.building .button>svg{width:14px}.cost{gap:3px}.town-panorama .town-scene{min-height:270px;width:120%;margin-left:-10%}.town-overlay{top:18px;left:18px}.town-overlay h2{font-size:15px}.town-overlay .material-pill{font-size:10px}.stats-grid{gap:9px}.stat-card{padding:17px 11px}.stat-card>svg{width:19px}.stat-card strong{font-size:27px;margin-right:4px}.stat-card span{font-size:10px}.stat-card p{font-size:9px}.vocab-row{grid-template-columns:minmax(0,1fr) 47px 56px;gap:6px;padding:16px 12px}.vocab-row>:last-child{display:none}.vocab-row strong{font-size:12px;line-height:1.6;display:block}.vocab-row small{font-size:9px;line-height:1.7}.mastery,.vocab-header{font-size:9px}.settings-card{padding:23px}.settings-card p{font-size:11px}.quest-top{margin-bottom:20px}.quest-top .text-button{font-size:10px}.quest-top>span{font-size:9px}.quest-counter{margin-bottom:22px;font-size:10px}.quest-counter>span{font-size:9px}.question-card{padding:26px 21px}.question-card h1{font-size:20px}.question-instruction{font-size:10px}.answer-option{font-size:14px;padding:13px 12px;gap:10px}.answer-option>span{width:23px;height:23px;font-size:10px}.question-actions .text-button{font-size:10px}.question-actions .button{font-size:11px;padding:11px 16px}.answer-input-label input{font-size:16px;padding:17px 13px}.answer-input-label input::placeholder{font-size:13px}.feedback{padding:18px}.feedback-title{font-size:12px}.feedback .canonical-answer{font-size:18px}.feedback p{font-size:11px}.feedback small{font-size:9px}.quest-bottom{gap:10px}.quest-bottom p,.quest-bottom .text-button{font-size:9px}.results{margin-top:20px}.results>h1{font-size:23px}.results>p{font-size:11px}.results-card{padding:22px}.result-stat strong{font-size:32px}.result-stat>span{font-size:10px}.result-stat p{font-size:9px}.result-reward strong{font-size:28px}.result-actions{gap:10px}.result-actions>.button{min-width:0;flex:1;font-size:11px;padding:12px 10px;gap:7px}.review-summary{padding:22px}.review-summary p{font-size:13px}.error{font-size:11px;flex-wrap:wrap}.footnote{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.mobile-settings{display:none}@media(max-width:760px){.mobile-settings{display:inline-flex;color:#829474}}.input-mode-switch{display:flex;gap:5px;padding:4px;border:1px solid var(--border);border-radius:10px;background:#f4f6ed;width:fit-content;margin-bottom:20px}.input-mode-switch button{display:flex;align-items:center;gap:7px;background:transparent;color:#809173;padding:10px 13px;border-radius:7px;font-size:11px}.input-mode-switch button[aria-pressed=true]{background:#fffefb;color:var(--green);box-shadow:0 1px 5px #344b3115}.word-builder>.answer-input-label{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.word-builder>.answer-input-label>span{font-size:9px;color:#97a18e}.assembled-answer{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;min-height:85px;padding:15px;margin-top:10px;border:1px solid #dbe3cd;border-radius:10px;background:#fcfcf6}.word-placeholder{color:#a3ad97;font-size:12px;padding:10px 0}.word-bank{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 12px}.word-token{display:inline-flex;gap:7px;align-items:center;padding:11px 15px;min-height:44px;border:1px solid #dce4d2;border-bottom-width:3px;border-radius:9px;background:#fffef9;color:#516b45;font-size:16px;overflow-wrap:anywhere;max-width:100%}.word-token.chosen{background:#eaf1e1;border-color:#c5d6b5}.word-token:disabled{opacity:.3}.word-token.chosen:disabled{opacity:1}.word-support-note{font-size:10px;margin-top:15px;color:#929c84}@media(max-width:760px){.input-mode-switch{width:100%}.input-mode-switch button{flex:1;justify-content:center;padding:10px 6px;font-size:10px}.word-token{font-size:15px;padding:10px 12px}.assembled-answer{padding:12px}}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:min(100%,480px);padding:clamp(24px,6vw,48px);text-align:center}.login-card h1{font-size:clamp(28px,5vw,38px)}.login-card p{line-height:1.8}.google-login-button{display:flex;justify-content:center;margin:28px 0;min-height:44px}.login-card small{display:block;margin-top:24px;line-height:1.7;color:var(--muted)}
