@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff");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}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff");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}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff");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}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff");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}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-ext-900-normal-BLeVovcl.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-900-normal-DKFql_-q.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-900-normal-CWPcV0_V.woff2) format("woff2"),url(/assets/nunito-cyrillic-900-normal-Dr1fjxoU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-vietnamese-900-normal-D6LWQAy_.woff2) format("woff2"),url(/assets/nunito-vietnamese-900-normal-WV2-fBew.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2) format("woff2"),url(/assets/nunito-latin-ext-900-normal-CTBZd6bf.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2) format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff) format("woff");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{color-scheme:light;font-family:Nunito,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f8fbff;--paper-deep: #eaf3fb;--paper-white: #fff;--ink: #173247;--ink-soft: #506779;--green: #16863e;--green-deep: #0d5a2f;--green-pale: #e6f7eb;--green-soft: #a9e3b4;--gold: #f5b927;--gold-deep: #79500b;--coral: #d94c52;--coral-pale: #fff0ef;--lavender: #e5e2ff;--blue: #146db7;--blue-pale: #e7f3ff;--line: #d9e5ed;--white: #fff;--shadow-soft: 0 12px 34px rgb(33 64 86 / 10%);--shadow-button: 0 5px 0 #0d5a2f;--radius-sm: .8rem;--radius-md: 1.25rem;--radius-lg: 1.8rem;--duration-fast: .15s;--duration-normal: .26s;--ease-playful: cubic-bezier(.2, .8, .25, 1.2);--page-width: 68rem;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);background:var(--paper);color:var(--ink);font-size:clamp(1rem,.96rem + .2vw,1.08rem)}*{box-sizing:border-box}html{min-width:20rem;min-height:100%;background:var(--paper)}body{min-width:20rem;min-height:100vh;margin:0;background-color:var(--paper);background-image:none;color:var(--ink)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed}a{color:var(--green-deep)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}.brand-lockup{display:inline-flex;align-items:center;gap:.55rem;color:var(--green-deep);font-size:1.3rem;font-weight:900;letter-spacing:-.07em}.brand-mark{display:grid;width:2rem;aspect-ratio:1;place-items:center;border:2px solid var(--green-deep);border-radius:50% 50% 45%;background:var(--gold);color:var(--green-deep);font-size:1.2rem;line-height:1;transform:rotate(-8deg)}.primary-button,.secondary-button{display:inline-flex;min-height:3.4rem;align-items:center;justify-content:center;border:0;border-radius:1rem;cursor:pointer;font-weight:900;transition:transform var(--duration-fast),box-shadow var(--duration-fast),background-color var(--duration-fast)}.primary-button{background:var(--green);box-shadow:var(--shadow-button);color:var(--white)}.primary-button:hover:not(:disabled){background:var(--green-deep);transform:translateY(-2px)}.primary-button:active:not(:disabled){box-shadow:0 1px 0 var(--green-deep);transform:translateY(4px)}.primary-button:disabled{background:#a7b2a5;box-shadow:0 4px #7e8b7e;color:#f9faf5}.secondary-button{padding:.7rem 1.1rem;border:1px solid var(--line);background:var(--paper-white);color:var(--green-deep)}.secondary-button:hover:not(:disabled){border-color:var(--green-soft);background:var(--green-pale)}.inline-error{margin:.7rem 0;color:#a34336;font-size:.93rem;font-weight:800}.inline-note{color:var(--green-deep);font-weight:800}.floating-error{position:fixed;z-index:30;top:1rem;left:50%;width:min(92vw,36rem);padding:.8rem 1rem;border:1px solid #ecc7b8;border-radius:var(--radius-sm);background:var(--paper-white);box-shadow:var(--shadow-soft);color:#9b4537;font-weight:800;text-align:center;transform:translate(-50%)}.floating-error button{margin-left:.8rem;border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.2rem}.page-loading,.empty-course-page,.empty-state{display:flex;min-height:70vh;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.page-loading{gap:1rem;color:var(--ink-soft);font-weight:800}.mascot{display:block;width:10rem;max-width:100%;overflow:visible}.mascot-small{width:5.4rem;flex:0 0 auto}.mascot-root{fill:none;stroke:#9b6c3e;stroke-linecap:round;stroke-linejoin:round;stroke-width:6}.mascot-leaves{fill:#72bd79;stroke:#397950;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.mascot-body{fill:#a6d8a3;stroke:#397950;stroke-width:5}.mascot-eye{fill:#314b39}.mascot-mouth{fill:none;stroke:#314b39;stroke-linecap:round;stroke-width:4}.mascot-blush{fill:#ef967a;opacity:.72}.mascot-root-dot,.mascot-sparkles{fill:var(--gold)}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr)}.login-panel{width:min(100%,34rem);margin:auto;padding:1.6rem clamp(1.25rem,6vw,3.2rem) 2rem}.login-intro{margin:2.8rem 0 1.8rem}.login-intro .mascot{width:8.6rem;margin:0 auto 1.2rem}.login-intro h1{margin-bottom:.6rem;font-size:clamp(2.2rem,10vw,3.35rem);font-weight:900;line-height:1.04}.login-intro>p:last-child{max-width:25rem;margin-bottom:0;color:var(--ink-soft)}.login-form{display:grid;gap:.58rem}.login-form label,.profile-form label,.editor-fields label{margin-top:.55rem;color:var(--ink);font-size:.9rem;font-weight:900}.login-form input,.profile-form input,.admin-login input,.filter-row select,.editor-fields input,.editor-fields select,.editor-fields textarea,.stat-filter select{width:100%;min-height:3.25rem;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:.85rem;background:var(--paper-white);color:var(--ink)}.login-form input::placeholder,.profile-form input::placeholder{color:var(--ink-soft)}.login-submit{width:100%;margin-top:.85rem}.consent-line{margin:.65rem 0 0;color:var(--ink-soft);font-size:.78rem;line-height:1.45;text-align:center}.cohort-note{margin:.25rem 0;color:var(--green-deep);font-size:.86rem;font-weight:800}.login-art{display:none}.course-picker-page{width:min(100% - 2rem,42rem);min-height:100vh;margin:auto;padding:3rem 0 6rem}.course-picker-heading{margin-bottom:2rem;text-align:center}.course-picker-heading .mascot{width:8.5rem;margin:0 auto .7rem}.course-picker-heading h1{margin-bottom:0;font-size:clamp(1.8rem,7vw,2.8rem);font-weight:900}.course-list{display:grid;gap:.9rem}.course-option{display:grid;min-height:6.4rem;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-white);box-shadow:var(--shadow-soft);cursor:pointer;text-align:left;transition:transform var(--duration-fast),border-color var(--duration-fast)}.course-option:hover{border-color:var(--green-soft);transform:translateY(-2px)}.course-option>span:nth-child(2){display:grid;gap:.18rem}.course-option strong{font-size:1.1rem;font-weight:900}.course-option small{color:var(--ink-soft)}.course-seal{display:grid;width:3.2rem;aspect-ratio:1;place-items:center;border:2px solid currentColor;border-radius:48% 52% 45% 55%;background:var(--gold);color:var(--green-deep);font-weight:900;transform:rotate(-6deg)}.course-option-1 .course-seal{background:var(--coral-pale);color:#a34e3c}.course-option-2 .course-seal{background:var(--lavender);color:#52557a}.path-page,.profile-page,.leaderboard-page{width:min(100%,var(--page-width));min-height:100vh;margin:0 auto;padding:0 1rem calc(6.7rem + var(--safe-bottom))}.game-topbar{position:sticky;z-index:10;top:0;display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:.7rem;padding:.6rem 0;background:#fffaf0f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-button{min-height:2.75rem;padding:0;border:0;background:transparent;cursor:pointer}.topbar-metrics{display:flex;align-items:center;gap:.42rem}.metric-pill{display:flex;min-width:3.2rem;min-height:2.6rem;align-items:center;justify-content:center;gap:.24rem;padding:.3rem .45rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper-white);color:var(--ink-soft);font-size:.78rem}.metric-pill strong{color:var(--ink);font-size:.91rem;font-weight:900}.streak-metric span{font-size:1.02rem}.goal-metric{min-width:3.3rem;flex-direction:column;gap:0;border:0;background:transparent;font-size:.6rem}.goal-ring-wrap{position:relative;display:grid;width:2.15rem;aspect-ratio:1;place-items:center;color:var(--green-deep);font-size:.55rem;font-weight:900}.goal-ring{position:absolute;inset:0;width:100%;height:100%}.goal-ring-base,.goal-ring-progress{fill:none;stroke-width:5}.goal-ring-base{stroke:#e9e2d3}.goal-ring-progress{stroke:var(--green);stroke-linecap:round}.profile-avatar,.profile-large-avatar,.leader-initial{display:grid;flex:0 0 auto;place-items:center;border:2px solid var(--green-deep);border-radius:50%;background:var(--gold);color:var(--green-deep);font-weight:900}.profile-avatar{width:2.8rem;aspect-ratio:1;cursor:pointer;font-size:1.05rem}.path-heading{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 0 1.3rem}.path-heading h1{margin-bottom:.15rem;font-size:clamp(1.8rem,7vw,2.65rem);font-weight:900}.path-heading p:last-child{margin-bottom:0;color:var(--ink-soft)}.path-heading .mascot{width:4.8rem}.course-switch{margin-bottom:.4rem;padding:.25rem 0;border:0;background:transparent;color:var(--green);cursor:pointer;font-size:.85rem;font-weight:900}.review-today-button{display:grid;width:100%;min-height:4.6rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin:.3rem 0 1.5rem;padding:.7rem .9rem;border:1px solid #d3e6c7;border-radius:var(--radius-md);background:#edf5e8;color:var(--green-deep);cursor:pointer;text-align:left;box-shadow:0 4px #cbdcbe}.review-today-button:active{box-shadow:0 1px #cbdcbe;transform:translateY(3px)}.review-icon{display:grid;width:2.5rem;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--green);color:var(--white);font-size:1.4rem}.review-today-button>span:nth-child(2){display:grid;gap:.1rem}.review-today-button strong{font-size:1rem;font-weight:900}.review-today-button small{color:var(--ink-soft)}.review-arrow{font-size:1.3rem}.learning-path{display:grid;gap:1rem;padding-bottom:1.6rem}.unit-band{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#f0f5e9;box-shadow:var(--shadow-soft)}.unit-band-1{background:#f8eee2}.unit-band-2{background:#eceef7}.unit-banner{position:relative;display:grid;gap:.4rem;padding:1.2rem 1.25rem;border-bottom:1px solid rgb(38 61 50 / 10%);background:#dcebd2}.unit-band-1 .unit-banner{background:#f1dfc8}.unit-band-2 .unit-banner{background:#dcdcf0}.unit-banner span{color:var(--green-deep);font-size:.65rem;font-weight:900;letter-spacing:.14em}.unit-banner h2{margin:0;font-size:1.35rem;font-weight:900}.unit-banner p{max-width:38rem;margin:0;color:#55665a;font-size:.9rem}.lesson-path{position:relative;display:flex;min-height:15rem;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1.4rem .5rem}.lesson-path:before{position:absolute;top:2rem;bottom:2rem;left:50%;width:.22rem;border-radius:1rem;background:repeating-linear-gradient(to bottom,#bed2af 0 .38rem,transparent .38rem .72rem);content:"";transform:translate(-50%)}.lesson-node-row{position:relative;display:flex;width:min(100%,24rem);min-height:5.8rem;align-items:center;gap:.75rem}.node-shift-0{justify-content:flex-start;padding-left:9%}.node-shift-1{justify-content:flex-end;padding-right:9%}.lesson-node{position:relative;z-index:1;display:grid;width:4.45rem;min-width:4.45rem;aspect-ratio:1;place-items:center;border:3px solid var(--green-deep);border-radius:50%;background:var(--gold);box-shadow:0 6px #9b7137,0 12px 18px #4b442d1f;color:var(--green-deep);cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast),filter var(--duration-fast)}.lesson-node:hover:not(:disabled){filter:saturate(1.08);transform:translateY(-2px)}.lesson-node:active:not(:disabled){box-shadow:0 1px #9b7137;transform:translateY(5px)}.lesson-node-current{background:var(--green);box-shadow:0 6px 0 var(--green-deep),0 0 #35775457;color:var(--white)}.lesson-node-done{border-color:#9a6426;background:#f7d982;color:#765128}.lesson-node-locked{border-color:#bbbba9;background:#dddccf;box-shadow:0 5px #b5b4a5;color:#77796d}.lesson-node:disabled{cursor:not-allowed;filter:saturate(.7)}.node-symbol{position:relative;z-index:2;font-size:1.75rem;font-weight:900;line-height:1}.node-pulse{position:absolute;inset:-.55rem;border:2px solid var(--green);border-radius:50%;animation:node-pulse 1.8s ease-out infinite}.lesson-node-caption{display:grid;max-width:10rem;gap:.12rem;color:var(--ink);font-size:.86rem;line-height:1.15}.lesson-node-caption strong{font-weight:900}.lesson-node-caption small{color:var(--ink-soft);font-size:.72rem}.lesson-node-row>.mascot{position:absolute;z-index:2;left:.25rem;width:3.6rem;transform:translate(-30%)}.node-shift-1>.mascot{right:.25rem;left:auto;transform:translate(30%)}.all-done-note{display:flex;align-items:center;gap:.7rem;padding:1rem;border-radius:var(--radius-md);background:var(--green-pale);color:var(--green-deep)}.all-done-note .mascot{width:3.5rem}.bottom-nav{position:fixed;z-index:15;right:0;bottom:0;left:0;display:flex;min-height:calc(4.6rem + var(--safe-bottom));justify-content:space-around;padding:.5rem .7rem calc(.5rem + var(--safe-bottom));border-top:1px solid var(--line);background:#fffdf8f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{display:flex;min-width:5.5rem;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;border:0;border-radius:.8rem;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:.72rem;font-weight:800}.bottom-nav button>span{font-size:1.25rem;line-height:1.1}.bottom-nav .bottom-nav-active>span{color:var(--green)}.lesson-player{display:flex;min-height:100vh;flex-direction:column;padding:0 1rem calc(1rem + var(--safe-bottom));background:var(--paper)}.lesson-topbar{display:grid;width:min(100%,50rem);min-height:4.7rem;grid-template-columns:2.6rem 1fr 2.5rem;align-items:center;gap:.8rem;margin:0 auto}.icon-button{display:grid;width:2.5rem;aspect-ratio:1;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:1.7rem}.icon-button:hover{background:var(--paper-deep)}.lesson-progress-track{overflow:hidden;height:.72rem;border-radius:1rem;background:#e8e2d6}.lesson-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#63ad74,#8ac778)}.lesson-count{color:var(--ink-soft);font-size:.76rem;font-weight:900;text-align:right}.lesson-content{width:min(100%,45rem);flex:1;align-self:center;padding:1.4rem 0 6rem}.lesson-question-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.lesson-question-heading h1{display:grid;gap:.65rem;margin:0;font-size:clamp(1.55rem,7vw,2.25rem);font-weight:900;line-height:1.13}.lesson-question-heading .mascot{width:4.5rem}.scenario-label{width:fit-content;padding:.3rem .65rem;border-radius:1rem;background:#f8e7c4;color:#85592c;font-size:.74rem;font-weight:900;letter-spacing:.04em}.answer-options{display:grid;gap:.7rem}.answer-card{display:flex;min-height:4.25rem;align-items:center;gap:.8rem;padding:.8rem 1rem;border:2px solid var(--line);border-radius:1.1rem;background:var(--paper-white);box-shadow:0 3px #eadfc9;cursor:pointer;font-weight:800;text-align:left;transition:border-color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.answer-card:hover:not(:disabled){border-color:#bdd7b4;background:#f6faef}.answer-card-selected{border-color:var(--green);background:var(--green-pale);box-shadow:0 3px #aacba6}.choice-letter{display:grid;width:2rem;min-width:2rem;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:.65rem;background:#faf5e9;color:var(--green-deep);font-size:.8rem;font-weight:900}.boolean-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.boolean-card{display:grid;min-height:8rem;place-content:center;gap:.45rem;border:2px solid var(--line);border-radius:1.3rem;background:var(--paper-white);box-shadow:0 5px #e4d9c3;cursor:pointer;font-size:1.1rem;font-weight:900;text-align:center}.boolean-card>span{font-size:1.7rem}.boolean-true>span{color:var(--green)}.boolean-false>span{color:var(--coral)}.boolean-card.answer-card-selected{border-color:var(--green);background:var(--green-pale)}.fill-sentence{margin:0 0 1.2rem;font-size:clamp(1.2rem,5vw,1.6rem);font-weight:800;line-height:1.6}.fill-slot{display:inline-block;min-width:6.5rem;margin:0 .25rem;padding:0 .4rem .08rem;border-bottom:3px dashed #87a77c;color:var(--ink-soft);text-align:center}.fill-slot-active{border-color:var(--green);color:var(--green-deep)}.word-chips{display:flex;flex-wrap:wrap;gap:.55rem}.word-chip,.order-built-chip{min-height:2.8rem;padding:.55rem .8rem;border:1.5px solid #d5dfcd;border-radius:.85rem;background:var(--paper-white);box-shadow:0 3px #d5dfcd;cursor:pointer;font-weight:800}.word-chip:hover:not(:disabled),.word-chip-selected{border-color:var(--green);background:var(--green-pale)}.word-chip-used{opacity:.4}.match-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.match-column{display:grid;align-content:start;gap:.7rem}.match-card{display:grid;min-height:4rem;place-items:center;padding:.55rem;border:1.5px solid var(--line);border-radius:.9rem;background:var(--paper-white);box-shadow:0 3px #e7ddcb;cursor:pointer;font-size:.9rem;font-weight:800;line-height:1.2;text-align:center}.match-card-active{border-color:var(--green);background:var(--green-pale)}.match-card-locked{border-color:#a9cba5;background:#e4f0dc;color:var(--green-deep);opacity:.76}.match-card-wrong{border-color:var(--coral);background:var(--coral-pale)}.match-card:disabled{cursor:default}.match-hint{grid-column:1 / -1;min-height:1.4rem;margin:.15rem 0 0;color:var(--ink-soft);font-size:.82rem;text-align:center}.order-question{display:grid;gap:1.2rem}.order-built{display:flex;min-height:6rem;flex-wrap:wrap;align-content:flex-start;gap:.5rem;padding:.7rem;border:2px dashed #d6ddce;border-radius:1rem;background:#fffdf8a8}.order-placeholder{align-self:center;margin:auto;color:#8b9488;font-size:.9rem}.order-built-chip{display:flex;align-items:center;gap:.45rem;background:#edf5e8}.order-built-chip span{display:grid;width:1.4rem;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--green);color:var(--white);font-size:.72rem}.lesson-actions{position:fixed;z-index:3;right:0;bottom:0;left:0;padding:.8rem 1rem calc(1rem + var(--safe-bottom));border-top:1px solid rgb(234 223 201 / 75%);background:#fffaf0f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.check-answer{width:min(100%,45rem);min-height:3.5rem;margin:auto;font-size:1.05rem}.feedback-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;background:#22302759}.feedback-sheet{width:min(100%,47rem);max-height:min(82vh,44rem);margin:0 auto;overflow-y:auto;padding:.8rem 1.2rem calc(1.1rem + var(--safe-bottom));border-radius:1.6rem 1.6rem 0 0;background:var(--paper-white);box-shadow:0 -12px 38px #2b2f222e}.feedback-correct{border-top:6px solid #76b875}.feedback-wrong{border-top:6px solid var(--coral)}.feedback-handle{width:2.8rem;height:.28rem;margin:0 auto 1rem;border-radius:1rem;background:#d5d4ca}.feedback-heading{display:flex;align-items:center;gap:.8rem;margin-bottom:.65rem}.feedback-symbol{display:grid;width:3rem;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--green-pale);color:var(--green-deep);font-size:1.45rem;font-weight:900}.feedback-wrong .feedback-symbol{background:var(--coral-pale);color:#a34e3c}.feedback-heading h2{margin:0;font-size:1.55rem;font-weight:900}.feedback-heading p{margin:0;color:var(--green);font-size:.85rem;font-weight:900}.correct-answer{margin:.5rem 0;color:#9c483a}.feedback-explanation{margin-bottom:.65rem;color:var(--ink-soft);line-height:1.45}.source-quote{margin-bottom:.9rem;padding:.7rem .8rem;border-radius:.9rem;background:#f5f0e6}.source-quote summary{cursor:pointer;color:var(--green-deep);font-size:.85rem;font-weight:900}.source-quote blockquote{margin:.7rem 0 0;padding-left:.75rem;border-left:3px solid var(--gold);color:var(--ink-soft);line-height:1.5}.feedback-continue{width:100%}.combo-toast{position:fixed;z-index:5;top:5.5rem;left:50%;padding:.55rem 1rem;border:1px solid #e8ca83;border-radius:2rem;background:#fff0c5;box-shadow:var(--shadow-soft);color:#7d5526;font-weight:900;transform:translate(-50%)}.completion-page{display:grid;min-height:100vh;place-items:center;padding:1.2rem 1rem calc(1.2rem + var(--safe-bottom))}.completion-card{position:relative;width:min(100%,34rem);padding:1.6rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-white);box-shadow:var(--shadow-soft);text-align:center}.completion-card>.mascot{width:9.3rem;margin:0 auto .35rem}.completion-card h1{margin-bottom:.3rem;font-size:clamp(1.9rem,7vw,2.5rem);font-weight:900;line-height:1.05}.completion-subtitle{max-width:24rem;margin:0 auto 1rem;color:var(--ink-soft)}.completion-score{display:inline-flex;align-items:baseline;gap:.25rem;margin:.2rem 0 1rem;color:var(--gold-deep)}.completion-score>span:first-child{font-size:1.2rem}.completion-score strong{font-size:2.5rem;font-weight:900}.completion-score>span:last-child{font-weight:800}.completion-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.completion-stats div{display:grid;gap:.1rem}.completion-stats strong{font-size:1.2rem;font-weight:900}.completion-stats span{color:var(--ink-soft);font-size:.69rem;line-height:1.15}.streak-celebration{display:flex;align-items:center;gap:.7rem;margin:1rem 0;padding:.8rem;border:1px solid #f0d18b;border-radius:1rem;background:#fff2d0;text-align:left}.streak-flame{font-size:2.2rem}.streak-celebration div{display:grid;gap:.1rem}.streak-celebration strong{color:#825323;font-size:1.05rem;font-weight:900}.streak-celebration span:last-child{color:#79694d;font-size:.8rem;line-height:1.25}.freeze-earned{margin:0 0 .8rem;color:var(--green-deep);font-weight:900}.completion-return{width:100%;margin-top:.7rem}.subpage-header{display:flex;min-height:4rem;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.back-button{padding:.5rem 0;border:0;background:transparent;color:var(--green-deep);cursor:pointer;font-weight:900}.back-button:hover{color:var(--green)}.profile-hero{display:flex;align-items:center;gap:.8rem;padding:1.4rem 0 1rem}.profile-large-avatar{width:4rem;aspect-ratio:1;font-size:1.45rem}.profile-hero h1{margin-bottom:0;font-size:1.65rem;font-weight:900}.profile-hero p{margin-bottom:0;color:var(--ink-soft)}.profile-hero .mascot{width:4rem;margin-left:auto}.profile-streak-card,.profile-form,.profile-preferences{margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-white);box-shadow:var(--shadow-soft)}.profile-streak-heading{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.4rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.profile-streak-heading div{display:grid;align-content:start;gap:.05rem}.profile-streak-heading div:first-child{grid-template-columns:auto 1fr;align-items:center;column-gap:.3rem}.profile-streak-heading div:first-child span{grid-row:1 / 3;font-size:1.15rem}.profile-streak-heading strong{font-size:1.1rem;font-weight:900}.profile-streak-heading small{color:var(--ink-soft);font-size:.68rem}.streak-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;padding-top:.75rem}.calendar-day{display:grid;justify-items:center;gap:.35rem;color:var(--ink-soft);font-size:.65rem;text-transform:capitalize}.calendar-dot{display:grid;width:1.7rem;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--white);font-size:.7rem;font-style:normal;font-weight:900}.calendar-frozen{border-color:#7d9db0;background:#91b4c3}.profile-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-bottom:1rem}.profile-totals div{display:grid;min-height:5rem;align-content:center;justify-items:center;padding:.4rem;border:1px solid var(--line);border-radius:1rem;background:#fffdf7;text-align:center}.profile-totals strong{font-size:1.3rem;font-weight:900}.profile-totals span{color:var(--ink-soft);font-size:.68rem;line-height:1.2}.profile-form,.profile-preferences{display:grid;gap:.45rem}.profile-form h2,.profile-preferences h2{margin:0 0 .2rem;font-size:1.15rem;font-weight:900}.profile-form .secondary-button{margin-top:.45rem}.preference-row{display:flex;min-height:4rem;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #f0e8d9}.preference-row>span{display:grid;gap:.05rem}.preference-row strong{font-weight:900}.preference-row small{color:var(--ink-soft);font-size:.76rem}.preference-row input{width:1.35rem;height:1.35rem;accent-color:var(--green)}.logout-button{display:block;margin:1rem auto 0;padding:.6rem 1rem;border:0;background:transparent;color:#9a4b3e;cursor:pointer;font-weight:900}.leaderboard-hero{padding:1.2rem 0 .8rem;text-align:center}.leaderboard-hero .mascot{width:7.4rem;margin:0 auto .35rem}.leaderboard-hero h1{margin-bottom:.2rem;font-size:clamp(1.8rem,7vw,2.5rem);font-weight:900}.leaderboard-hero p:last-child{margin-bottom:0;color:var(--ink-soft)}.leaderboard-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin:1rem 0;padding:.3rem;border-radius:1rem;background:#f0eadc}.leaderboard-tabs button{min-height:2.8rem;border:0;border-radius:.75rem;background:transparent;color:var(--ink-soft);cursor:pointer;font-weight:900}.leaderboard-tabs .tab-active{background:var(--paper-white);box-shadow:0 2px 8px #2f342a14;color:var(--green-deep)}.leaderboard-list{display:grid;gap:.55rem}.leaderboard-row{display:grid;min-height:4.3rem;grid-template-columns:2rem 2.6rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper-white)}.leaderboard-self{border-color:#a4c79e;background:#eef5e8}.leader-rank{color:var(--ink-soft);font-size:.86rem;font-weight:900;text-align:center}.leader-rank-1{color:#b1812f;font-size:1.35rem}.leader-rank-2,.leader-rank-3{color:#6c7b75;font-size:1.1rem}.leader-initial{width:2.5rem;aspect-ratio:1;border:0;background:#e7ead7;font-size:.92rem}.leaderboard-row strong{overflow:hidden;font-size:.9rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.leader-points{color:var(--gold-deep);font-size:.78rem;font-weight:900;white-space:nowrap}.empty-leaderboard{display:grid;justify-items:center;gap:.4rem;padding:2rem 1rem;color:var(--ink-soft);text-align:center}.empty-leaderboard .mascot{width:4rem}.empty-leaderboard p{max-width:20rem;margin:0}.admin-app{min-height:100vh;background:#f3f2ec}.admin-login-page{display:grid;min-height:100vh;place-items:center;padding:1.2rem;background:var(--paper)}.admin-login{display:grid;width:min(100%,27rem);gap:.6rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-white);box-shadow:var(--shadow-soft)}.admin-login .mascot{width:6.5rem;margin:0 auto}.admin-login h1{margin-bottom:.3rem;font-size:1.7rem;font-weight:900;text-align:center}.admin-login label{font-weight:900}.admin-shell{width:min(100%,86rem);margin:auto;padding:1rem}.admin-header{display:flex;min-height:4.2rem;align-items:center;justify-content:space-between;gap:1rem;padding:0 0 .8rem;border-bottom:1px solid #dcded5}.admin-header>div{display:flex;align-items:center;gap:.7rem}.admin-header .brand-lockup{font-size:1.1rem}.admin-header small{display:block;color:var(--ink-soft)}.admin-header button,.admin-tabs button,.admin-toolbar button,.admin-actions button{min-height:2.65rem;padding:.5rem .8rem;border:1px solid #d4d8cd;border-radius:.75rem;background:#fffefa;color:var(--green-deep);cursor:pointer;font-weight:900}.admin-tabs{display:flex;gap:.5rem;padding:1rem 0}.admin-tabs .tab-active{border-color:var(--green);background:var(--green);color:var(--white)}.admin-review-layout{display:grid;gap:1rem}.review-sidebar{display:grid;align-content:start;gap:.55rem;padding:.9rem;border:1px solid #dcded5;border-radius:1rem;background:#fffefa}.review-sidebar h2{margin:0 0 .3rem;font-size:1rem}.review-sidebar button{display:flex;min-height:2.5rem;justify-content:space-between;padding:.45rem;border:0;border-radius:.55rem;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.review-sidebar button:hover{background:#eff4e9}.review-sidebar span{color:var(--ink-soft);font-size:.8rem}.admin-review-main{min-width:0}.filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.7rem}.filter-row select{min-height:2.8rem;padding:.5rem;font-size:.83rem}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:.65rem 0}.admin-toolbar p{margin:0;color:var(--ink-soft);font-size:.86rem}.admin-toolbar .bulk-approve{border-color:var(--green);background:var(--green);color:var(--white)}.admin-question-list{display:grid;gap:.75rem}.admin-question-card{overflow:hidden;border:1px solid #d9ded3;border-radius:1rem;background:#fffefa;box-shadow:0 3px 12px #3941320d}.admin-question-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.75rem;border-bottom:1px solid #ebeee7}.admin-question-card-head label{display:flex;align-items:flex-start;gap:.5rem}.admin-question-card-head input{margin-top:.25rem;accent-color:var(--green)}.admin-question-card-head strong{display:block;overflow-wrap:anywhere;font-size:.83rem}.admin-question-card-head small{color:var(--ink-soft)}.status-tag{flex:0 0 auto;padding:.25rem .5rem;border-radius:1rem;background:#f4e6bf;color:#795822;font-size:.7rem;font-weight:900}.status-approved{background:#deefdc;color:var(--green-deep)}.status-rejected{background:#f7e1db;color:#99483c}.admin-question-preview{padding:.85rem}.admin-question-preview h3{margin-bottom:.7rem;font-size:1.02rem;font-weight:900}.admin-answer-look{display:grid;gap:.35rem;margin-bottom:.7rem}.admin-answer-look span{padding:.4rem .55rem;border:1px solid #e5e5d9;border-radius:.55rem;color:#536056;font-size:.82rem}.admin-answer-look .scenario-label{display:inline-block;width:fit-content;border:0}.admin-quote{margin:.6rem 0;padding:.6rem .7rem;border-left:3px solid var(--gold);background:#faf4e6;color:var(--ink-soft);font-size:.82rem}.admin-actions{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 .75rem .75rem}.admin-actions .reject-action{border-color:#edd4ca;color:#9a493a}.question-editor{display:grid;gap:.8rem;padding:.9rem;border-top:1px solid #e7e9e0;background:#f8f8f2}.question-editor summary{cursor:pointer;color:var(--green-deep);font-weight:900}.editor-fields{display:grid;gap:.35rem}.editor-fields label{margin-top:.25rem}.editor-fields input,.editor-fields select,.editor-fields textarea{min-height:2.7rem;border-color:#d8ddd2;background:#fff;font-size:.86rem}.editor-fields textarea{min-height:5rem;resize:vertical}.editor-immutable{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.editor-immutable code{overflow-wrap:anywhere;color:var(--ink-soft)}.admin-preview-panel{position:fixed;z-index:30;inset:0;overflow-y:auto;padding:1rem;background:var(--paper)}.admin-preview-inner{width:min(100%,46rem);margin:auto}.admin-preview-inner>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}.admin-preview-question{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.admin-stats{display:grid;gap:1rem}.stats-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.stats-toolbar>div{display:flex;flex-wrap:wrap;gap:.5rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.stats-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.stats-cards article{display:grid;gap:.1rem;padding:.8rem;border:1px solid #dce0d6;border-radius:.9rem;background:#fffefa}.stats-cards strong{font-size:1.55rem;font-weight:900}.stats-cards span{color:var(--ink-soft);font-size:.77rem}.stats-section{overflow-x:auto;padding:.9rem;border:1px solid #dce0d6;border-radius:1rem;background:#fffefa}.stats-section h2{margin-bottom:.6rem;font-size:1.1rem;font-weight:900}.stats-table{width:100%;border-collapse:collapse;font-size:.8rem;text-align:left}.stats-table th,.stats-table td{padding:.5rem;border-bottom:1px solid #eaede6;vertical-align:top}.stats-table th{color:var(--ink-soft)}.stats-flag{color:#9f493a;font-weight:900}.stat-filter{display:flex;align-items:center;gap:.6rem}.stat-filter select{width:auto}@keyframes node-pulse{0%{opacity:.85;transform:scale(.92)}75%,to{opacity:0;transform:scale(1.36)}}@media(min-width:48rem){.login-page{grid-template-columns:minmax(27rem,.86fr) minmax(26rem,1.14fr)}.login-panel{padding:2rem 3.2rem}.login-intro .mascot{margin-left:0}.login-art{position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;background:#e8f0dc}.login-art:before,.login-art:after{position:absolute;border:1px solid rgb(61 105 70 / 17%);border-radius:50%;content:""}.login-art:before{width:min(70vw,43rem);aspect-ratio:1}.login-art:after{width:min(58vw,35rem);aspect-ratio:1}.sun-disc{position:absolute;width:min(42vw,25rem);aspect-ratio:1;border-radius:50%;background:#f2c465;box-shadow:0 0 0 1.6rem #f2c4652b,0 0 0 3.1rem #f2c4651a}.paper-sun{position:absolute;width:min(28vw,16rem);aspect-ratio:1;border:1px solid rgb(56 96 64 / 22%);border-radius:50%;background:#b4d9ad;transform:translate(4rem,-1.5rem)}.root-ornament{position:absolute;z-index:1;top:50%;left:50%;width:16rem;height:16rem;border:1px solid rgb(38 76 49 / 44%);border-top-color:transparent;border-right-color:transparent;border-radius:50%}.root-ornament-one{transform:translate(-50%,-25%) rotate(-36deg) scaleX(1.3)}.root-ornament-two{transform:translate(-50%,-25%) rotate(36deg) scaleX(1.3)}.art-caption{position:absolute;bottom:2.2rem;color:var(--green-deep);font-size:.75rem;font-weight:900;letter-spacing:.2em}.path-page,.profile-page,.leaderboard-page{padding-right:2rem;padding-left:2rem}.lesson-path{min-height:19rem;gap:1.1rem}.lesson-node-row{width:min(100%,30rem)}.node-shift-0{padding-left:15%}.node-shift-1{padding-right:15%}.lesson-node{width:5rem;min-width:5rem}.lesson-node-caption{max-width:14rem;font-size:.95rem}.unit-banner{grid-template-columns:1fr minmax(12rem,.8fr);align-items:center;gap:1.5rem;padding:1.5rem 2rem}.unit-banner p{justify-self:end}.lesson-content{padding-top:2rem}.feedback-sheet{margin-bottom:0;padding:1rem 1.5rem 1.25rem;border-radius:1.6rem 1.6rem 0 0}.admin-shell{padding:1.5rem 2rem}.admin-review-layout{grid-template-columns:15rem minmax(0,1fr)}.filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-question-preview{padding:1rem}.admin-answer-look{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:64rem){.game-topbar{min-height:5rem}.topbar-metrics{gap:.8rem}.metric-pill{min-width:4.4rem;padding:.35rem .7rem;font-size:.85rem}.metric-pill strong{font-size:1rem}.goal-ring-wrap{width:2.4rem}.path-heading{padding-top:2.1rem}.path-heading .mascot{width:6.2rem}.learning-path{gap:1.4rem}.lesson-path{min-height:22rem}.lesson-node-row{width:min(100%,38rem)}.node-shift-0{padding-left:21%}.node-shift-1{padding-right:21%}.lesson-node-row>.mascot{left:1.6rem}.node-shift-1>.mascot{right:1.6rem;left:auto}.bottom-nav{position:static;width:min(100%,31rem);min-height:4.2rem;margin:1rem auto 0;padding:.35rem;border:1px solid var(--line);border-radius:1.2rem;box-shadow:var(--shadow-soft)}.path-page,.profile-page,.leaderboard-page{padding-bottom:1.5rem}.admin-review-layout{grid-template-columns:17rem minmax(0,1fr)}.admin-question-card{display:grid;grid-template-columns:minmax(15rem,.9fr) minmax(0,1.1fr)}.admin-question-card-head{grid-column:1 / -1}.question-editor{border-top:0;border-left:1px solid #e7e9e0}}@media(max-width:22rem){.topbar-metrics{gap:.15rem}.metric-pill{min-width:2.65rem;padding:.2rem .3rem}.goal-metric{min-width:2.7rem}.brand-lockup{gap:.35rem;font-size:1.1rem}.brand-mark{width:1.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1.2s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.22s!important}}:root{background:var(--paper);color:var(--ink);--shadow-button: 0 5px 0 #0d5a2f}html,body{background-color:var(--paper);background-image:none}.primary-button:disabled{background:#536a5c;box-shadow:0 4px #354a3d;color:#fff}.button-icon,.streak-flame{display:inline-grid;flex:0 0 auto;place-items:center;vertical-align:middle}.streak-flame-animated{transform-origin:50% 90%;animation:flame-wiggle .72s cubic-bezier(.2,.7,.3,1) 2}@keyframes flame-wiggle{0%,to{transform:rotate(0) scale(1)}35%{transform:rotate(-5deg) scale(1.08)}70%{transform:rotate(4deg) scale(1.04)}}.login-page{min-height:100vh;min-height:100dvh;align-items:center;background:var(--paper)}.login-panel{padding:calc(.85rem + var(--safe-top)) 1.25rem calc(1.2rem + var(--safe-bottom))}.login-intro{margin:.75rem 0 1rem}.login-intro .mascot{width:4.4rem;margin:0 auto .35rem}.login-intro h1{max-width:23rem;margin-bottom:.35rem;font-size:clamp(1.78rem,7.5vw,2.15rem);line-height:1.06}.login-intro>p:last-child{max-width:22rem;margin-bottom:0;font-size:.95rem;line-height:1.35}.login-form{gap:.34rem}.login-form label{margin-top:.28rem}.login-form input{min-height:3rem;padding:.65rem .8rem;border:2px solid var(--line);border-radius:.95rem;background:#fff}.login-submit{min-height:3.35rem;margin-top:.5rem;border-radius:1rem;font-size:1.05rem}.consent-line{margin-top:.35rem;font-size:.72rem}.path-page,.profile-page,.leaderboard-page{padding-top:var(--safe-top);background:var(--paper)}.game-topbar{min-height:4.2rem;padding:.35rem 0;background:#f8fbfff5}.metric-pill{border:0;background:transparent;color:var(--ink-soft)}.streak-metric .streak-flame{width:1.15rem;height:1.35rem}.points-metric{color:var(--gold-deep)}.goal-metric>span:last-child{color:var(--ink-soft);font-size:.64rem;font-weight:800}.goal-ring-progress{stroke:var(--green)}.path-heading{padding:.65rem 0 1rem}.path-heading h1{color:var(--ink);font-size:clamp(1.8rem,7vw,2.45rem)}.path-heading p:last-child{max-width:32rem;line-height:1.4}.course-switch{display:inline-flex;min-height:2.75rem;align-items:center;gap:.25rem}.review-today-button{border-color:#9bddb1;background:#e7f8ec;color:#12462a;box-shadow:0 5px #98d9a8}.review-icon{background:var(--green)}.learning-path{gap:1rem}.unit-band{position:relative;overflow:visible;border:2px solid var(--unit-dark);border-radius:1.65rem;background:var(--unit-tint);box-shadow:0 7px color-mix(in srgb,var(--unit-dark) 28%,transparent),0 13px 20px #1d384914}.unit-band-0,.unit-band-1,.unit-band-2,.unit-band-3,.unit-band-4,.unit-band-5{background:var(--unit-tint)}.unit-banner,.unit-band-1 .unit-banner,.unit-band-2 .unit-banner{grid-template-columns:1fr;gap:.3rem;padding:1rem 1.05rem;border:0;border-radius:1.45rem 1.45rem 0 0;background:var(--unit-color);color:var(--unit-ink)}.unit-banner span{display:inline-block;margin-bottom:.15rem;color:var(--unit-ink);font-size:.86rem;font-weight:900;letter-spacing:0}.unit-banner h2{font-size:clamp(1.35rem,5vw,1.75rem);line-height:1.08}.unit-banner p{max-width:42rem;color:var(--unit-ink);font-size:.88rem;font-weight:700;line-height:1.35;opacity:.9}.lesson-path{display:flex;min-height:0;flex-direction:column;gap:0;padding:.75rem .5rem;isolation:isolate}.lesson-connector{position:absolute;z-index:-1;top:.75rem;left:0;width:100%;height:calc(100% - 1.5rem);overflow:visible;pointer-events:none}.lesson-connector path{fill:none;stroke:var(--unit-dark);stroke-width:1.45;stroke-linecap:round;stroke-dasharray:1 4;opacity:.5;vector-effect:non-scaling-stroke}.lesson-node-row{display:grid;width:max-content;align-self:center;min-height:112px;height:112px;flex:0 0 112px;place-items:center;gap:0;transform:translate(0)}.node-shift-0{transform:translate(clamp(-4.5rem,-11vw,-2.5rem))}.node-shift-1{transform:translate(clamp(2.5rem,11vw,4.5rem))}.node-shift-0,.node-shift-1{justify-content:initial;padding:0}.lesson-node-row-open{z-index:12}.lesson-node{width:4.65rem;min-width:4.65rem;border:0;background:var(--unit-color);box-shadow:0 7px 0 var(--unit-dark),0 12px 18px #21313e29;color:var(--unit-ink)}.lesson-node:hover:not(:disabled){filter:saturate(1.1) brightness(1.03);transform:translateY(-3px)}.lesson-node:active:not(:disabled){box-shadow:0 1px 0 var(--unit-dark),0 4px 8px #21313e1f;transform:translateY(5px)}.lesson-node-current{background:var(--green);box-shadow:0 7px 0 var(--green-deep),0 12px 18px #21313e29;color:#fff}.lesson-node-done{border:2px solid #aa7108;background:#ffd34f;box-shadow:0 7px #a66a08,0 12px 18px #21313e24;color:#593a08}.lesson-node-locked{border:2px solid #b5c1cb;background:#e5ebf0;box-shadow:0 6px #aab6c0;color:#526777;filter:none}.lesson-node:disabled{cursor:pointer;filter:none}.node-pulse{inset:-.6rem;border:3px solid var(--green);animation:node-pulse 1.65s ease-out infinite}@keyframes node-pulse{0%{opacity:.8;transform:scale(.92)}70%,to{opacity:0;transform:scale(1.32)}}.start-speech{position:absolute;z-index:3;top:-.55rem;left:50%;padding:.32rem .7rem;border:2px solid #0d5a2f;border-radius:1rem;background:#fff;box-shadow:0 3px #c8e6d0;color:#0d5a2f;font-size:.72rem;font-weight:1000;transform:translate(-50%);animation:bubble-bounce 1.8s ease-in-out infinite}.start-speech:after{position:absolute;bottom:-.42rem;left:calc(50% - .32rem);width:.55rem;height:.55rem;border-right:2px solid #0d5a2f;border-bottom:2px solid #0d5a2f;background:#fff;content:"";transform:rotate(45deg)}@keyframes bubble-bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}.lesson-node-row>.mascot{position:absolute;z-index:2;top:2.25rem;left:calc(50% + .4rem);width:3.2rem;transform:none}.node-shift-1>.mascot{right:calc(50% + .4rem);left:auto;transform:none}.lesson-node-popover{position:absolute;z-index:8;top:calc(50% + 2.45rem);left:50%;display:grid;width:min(17rem,calc(100vw - 4rem));gap:.4rem;padding:.85rem;border:2px solid var(--unit-dark);border-radius:1rem;background:#fff;box-shadow:0 9px 22px #1632472e;color:var(--ink);text-align:center;transform:translate(-50%)}.lesson-node-popover:before{position:absolute;top:-.48rem;left:calc(50% - .42rem);width:.72rem;height:.72rem;border-top:2px solid var(--unit-dark);border-left:2px solid var(--unit-dark);background:#fff;content:"";transform:rotate(45deg)}.lesson-node-popover>strong{font-size:1rem;font-weight:900;line-height:1.15}.lesson-node-popover>small{color:var(--ink-soft);font-weight:800}.lesson-node-popover>p{display:flex;align-items:center;justify-content:center;gap:.3rem;margin:0;color:var(--ink-soft);font-size:.82rem;font-weight:800}.lesson-node-popover .node-popover-note{color:#8a4c21}.node-start-button{min-height:2.9rem;border:0;border-radius:.85rem;background:var(--green);box-shadow:0 4px 0 var(--green-deep);color:#fff;cursor:pointer;font-weight:900}.node-start-button:active:not(:disabled){box-shadow:0 1px 0 var(--green-deep);transform:translateY(3px)}.node-start-button:disabled{background:#536a5c;color:#fff}.bottom-nav{background:#fffffff7}.bottom-nav button{min-height:3.6rem;gap:.22rem}.bottom-nav button>svg{color:currentColor}.bottom-nav .bottom-nav-active{color:var(--green-deep)}.lesson-player{min-height:100vh;min-height:100dvh;padding:calc(var(--safe-top) + .25rem) 1rem calc(1rem + var(--safe-bottom));background:var(--paper)}.lesson-topbar{min-height:3.65rem;padding:.15rem 0 .45rem}.icon-button{width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--ink-soft)}.lesson-progress-track{position:relative;height:.92rem;background:#dce8ef;box-shadow:inset 0 2px 3px #19394e1f}.lesson-progress-fill{position:relative;overflow:hidden;background:linear-gradient(90deg,#15964a,#25b95f)}.lesson-progress-fill:after{position:absolute;top:1px;right:.18rem;left:.18rem;height:.25rem;border-radius:1rem;background:#ffffff85;content:""}.lesson-content{width:min(100%,42rem);padding:.5rem 0 6.1rem}.lesson-question-heading{align-items:flex-start;gap:.55rem;margin-bottom:.8rem}.lesson-question-heading>div{min-width:0;max-width:34rem}.question-context{margin:0 0 .3rem;color:var(--ink-soft);font-size:.82rem;font-weight:800;line-height:1.2}.lesson-question-heading h1{max-width:34rem;gap:.45rem;font-size:clamp(1.38rem,5.8vw,1.62rem);line-height:1.18}.lesson-question-heading .mascot{width:3.15rem}.scenario-label{padding:.28rem .65rem;background:#ffedbd;color:#62420a;font-size:.74rem;letter-spacing:0}.answer-options{gap:.55rem}.answer-card{min-height:3.8rem;gap:.72rem;padding:.62rem .78rem;border:2px solid #d5e1e9;border-radius:1.05rem;background:#fff;box-shadow:0 4px #d5e1e9;color:var(--ink);font-size:.98rem;line-height:1.2}.answer-card:hover:not(:disabled){border-color:#6ab5ef;background:#f2f9ff}.answer-card-selected,.boolean-card.answer-card-selected,.word-chip-selected,.match-card-active{border-color:#187ad0;background:var(--blue-pale);box-shadow:0 4px #b5d8f5;color:#123f66}.choice-letter{width:2.1rem;min-width:2.1rem;border:1px solid #c9d8e5;border-radius:50%;background:#f2f7fb;color:#31506a}.answer-card-selected .choice-letter{border-color:#176db5;background:#176db5;color:#fff}.boolean-card{min-height:6.25rem;border-color:#d5e1e9;background:#fff;color:var(--ink)}.boolean-card.answer-card-selected{border-color:#187ad0;background:var(--blue-pale)}.fill-sentence{margin-bottom:.85rem;font-size:clamp(1.2rem,4.8vw,1.5rem);line-height:1.35}.fill-slot-active{border-color:var(--blue);color:#124f83}.word-chip,.order-built-chip{min-height:2.9rem;border-color:#d3e0e9;background:#fff;box-shadow:0 3px #d3e0e9}.word-chip:hover:not(:disabled),.word-chip-selected{border-color:#187ad0;background:var(--blue-pale);color:#123f66}.match-card{min-height:3.75rem;border-color:#d5e1e9;background:#fff}.match-card-active{border-color:#187ad0;background:var(--blue-pale)}.match-card-locked{border-color:#63bd79;background:#e5f7e9;color:#12542e;opacity:1}.match-card-locked svg{margin-right:.3rem;color:var(--green);vertical-align:middle}.order-built{border-color:#a9cbea;background:#f5faff}.order-built-chip{background:#eaf5ff;color:#123f66}.lesson-actions{padding-top:.65rem;border-top-color:#dce8ef;background:#f8fbfff7}.check-answer{min-height:3.65rem;border-radius:1rem;font-size:1.08rem}.feedback-backdrop{background:#122b3d1c}.feedback-sheet{max-height:min(86dvh,44rem);border-radius:1.5rem 1.5rem 0 0;box-shadow:0 -9px 28px #1732471f}.feedback-correct{border-top:7px solid var(--green);background:#e8f8ed}.feedback-wrong{border-top:7px solid var(--coral);background:#fff0ef}.feedback-heading h2{font-size:1.55rem}.feedback-correct .feedback-heading h2,.feedback-correct .feedback-heading p{color:#0d672f}.feedback-wrong .feedback-heading h2{color:#a62932}.feedback-symbol{width:3.2rem;min-width:3.2rem;background:#15863e;color:#fff}.feedback-wrong .feedback-symbol{background:#c93640;color:#fff}.correct-answer{color:#96363b}.feedback-explanation{color:#304e60}.source-quote{background:#ffffffbf}.source-quote blockquote{color:#304e60}.feedback-correct .feedback-continue{background:#16863e;box-shadow:0 5px #0d5a2f}.feedback-wrong .feedback-continue{background:#b6323b;box-shadow:0 5px #7b2028}.streak-celebration{border-color:#f0c34c;background:#fff2c6}.streak-flame-wrap{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}.streak-flame-wrap .streak-flame{display:block}.streak-celebration strong{color:#70420a}.streak-celebration span:last-child{color:#594b30}.completion-page{min-height:100vh;min-height:100dvh;background:var(--paper)}.completion-card{border:2px solid #dce8ef;border-bottom:7px solid #a9c1ce;background:#fff}.completion-score{color:#79500b}.completion-score>svg{align-self:center}.completion-confetti{position:fixed;top:8%;left:50%;display:flex;align-items:center;gap:7rem;color:var(--gold);opacity:.8;pointer-events:none;transform:translate(-50%)}.subpage-header{justify-content:flex-start}.back-button{display:inline-flex;min-height:2.8rem;align-items:center;gap:.35rem}.profile-streak-heading div:first-child .streak-flame{width:1.2rem;height:1.45rem}.calendar-dot{border-color:#cbdbe5;background:#f2f7fa}.calendar-active{border-color:var(--green);background:var(--green)}.calendar-frozen{border-color:#28749b;background:#28749b}.calendar-dot svg{color:#fff}.profile-totals div{border-bottom:4px solid #badfc4;background:#fff}.leaderboard-hero{padding:.8rem 0 .4rem}.leaderboard-hero .mascot{width:5.4rem;margin-bottom:.1rem}.leaderboard-hero h1{margin-bottom:.25rem;color:var(--ink);font-size:clamp(1.7rem,6vw,2.15rem)}.leaderboard-hero p:last-child{max-width:30rem;margin:0 auto;font-size:.9rem;line-height:1.35}.leaderboard-tabs{background:#e9f1f7}.leaderboard-tabs button{min-height:2.9rem}.leaderboard-tabs .tab-active{background:#fff;color:var(--green-deep)}.leaderboard-row{min-height:4.5rem;grid-template-columns:2.3rem 2.6rem minmax(0,1fr) auto;border-color:#d5e1e9;border-bottom-width:3px;background:#fff}.leaderboard-self{border-color:#16863e;background:#e7f8ec;box-shadow:0 0 0 2px #16863e inset}.leader-rank{display:grid;width:2rem;min-height:2rem;place-items:center;border-radius:50%;background:#e7edf2;color:#344c5d;font-size:.9rem}.leader-rank-1{background:#ffd65f;color:#573a06;font-size:1rem}.leader-rank-2{background:#dce6ee;color:#354d5f;font-size:1rem}.leader-rank-3{background:#f0c7a9;color:#613e27;font-size:1rem}.leader-initial{border:0;background:#ccebd3;color:#144e2c}.empty-leaderboard{min-height:5rem;padding:1rem}.admin-app,.admin-login-page{background:#f8fbff}.review-sidebar{gap:.65rem;border-color:#d5e1e9;background:#fff}.review-sidebar h2{margin-bottom:.15rem}.review-unit-group{display:grid;gap:.35rem;padding-top:.55rem;border-top:1px solid #e3ebf1}.review-unit-group h3{margin:0;color:#173247;font-size:.82rem;font-weight:900;line-height:1.2}.review-sidebar .review-lesson-link{display:grid;min-height:3.25rem;justify-content:stretch;gap:.3rem;padding:.45rem .5rem;border:1px solid transparent;border-radius:.7rem}.review-sidebar .review-lesson-link[aria-pressed=true]{border-color:#9bd6aa;background:#eaf8ee}.review-lesson-link>strong{overflow:hidden;color:#173247;font-size:.78rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.review-count-chips{display:flex;flex-wrap:wrap;gap:.22rem}.review-count-chips small{padding:.12rem .35rem;border-radius:1rem;background:#eef3f6;color:#405768;font-size:.62rem;font-weight:800;white-space:nowrap}.keyboard-hint{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin:.45rem 0;color:#405768;font-size:.78rem}.keyboard-hint kbd{min-width:1.45rem;padding:.12rem .3rem;border:1px solid #c7d6e1;border-bottom-width:2px;border-radius:.35rem;background:#fff;color:#173247;font:inherit;font-weight:900;text-align:center}.admin-question-card{border-color:#d5e1e9;background:#fff}.admin-question-card-active{border-color:#4fa36a;box-shadow:0 0 0 2px #b8e4c4,0 6px 16px #17324714}.admin-question-card-head{background:#f4f9fc}.admin-question-preview h3{color:#173247;line-height:1.3}.admin-correct-answer{display:grid;gap:.35rem;margin:.75rem 0;padding:.7rem .8rem;border:1px solid #8dc99c;border-radius:.85rem;background:#eaf8ee;color:#124b2a}.admin-correct-answer>strong{display:flex;align-items:center;gap:.35rem;color:#0c652f;font-size:.88rem;font-weight:900}.admin-correct-answer ul,.admin-correct-answer ol{display:grid;gap:.25rem;margin:0;padding-left:1.4rem;color:#173f29;font-size:.86rem;font-weight:750}.admin-quote{display:grid;gap:.4rem;margin:.65rem 0 0;padding:.75rem .85rem;border-left:4px solid var(--gold);border-radius:0 .7rem .7rem 0;background:#fff8e6;color:#3e5260;font-size:.83rem;line-height:1.45}.admin-quote strong{color:#654811}.admin-actions{align-content:start;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;gap:.5rem;padding:0 .8rem .8rem}.admin-actions button{min-height:2.75rem;align-self:start;padding:.55rem .85rem;border:1px solid #bed0db;border-radius:.7rem;background:#fff;color:#173247;cursor:pointer;font-size:.82rem;font-weight:900;white-space:nowrap}.admin-actions .approve-action{border-color:var(--green);background:var(--green);color:#fff}.admin-actions .reject-action{border-color:#e4b7b8;background:#fff;color:#9b3037}@media(max-width:23rem){.login-panel{padding-right:1rem;padding-left:1rem}.topbar-metrics{gap:.1rem}.metric-pill{min-width:2.7rem;padding:.2rem}.goal-metric{min-width:2.8rem}.lesson-node{width:4.35rem;min-width:4.35rem}.leaderboard-row{grid-template-columns:1.9rem 2.25rem minmax(0,1fr) auto;gap:.35rem;padding-right:.45rem;padding-left:.45rem}}@media(min-width:48rem){.login-panel{padding-top:calc(1.3rem + var(--safe-top));padding-bottom:calc(1.5rem + var(--safe-bottom))}.login-intro .mascot{width:5.2rem;margin-bottom:.5rem}.unit-banner,.unit-band-1 .unit-banner,.unit-band-2 .unit-banner{grid-template-columns:minmax(0,1fr) minmax(12rem,.8fr);align-items:center;gap:1.5rem;padding:1.25rem 1.7rem}.unit-banner p{justify-self:end}.lesson-node-row{width:min(100%,38rem)}.lesson-node{width:5rem;min-width:5rem}.lesson-node-popover{width:18rem}.lesson-content{padding-top:.9rem}.feedback-sheet{padding:1rem 1.5rem calc(1.25rem + var(--safe-bottom))}.review-sidebar{max-height:calc(100vh - 8rem);overflow-y:auto}}@media(min-width:64rem){.lesson-node-row>.mascot{left:calc(50% + .8rem)}.node-shift-1>.mascot{right:calc(50% + .8rem);left:auto}.admin-actions{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.node-pulse,.start-speech,.streak-flame-animated{animation-duration:2.4s!important;animation-iteration-count:1!important}.start-speech{animation-name:bubble-bounce-reduced}@keyframes bubble-bounce-reduced{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-2px)}}}.mascot-leaves{fill:#35c85b;stroke:#176c39}.mascot-body{fill:#78df72;stroke:#176c39}.lesson-path:before{content:none}.lesson-node,.lesson-node-done,.lesson-node-locked{border:3px solid var(--unit-dark)}.lesson-node-row>.mascot{top:2.5rem;left:calc(50% + 2.55rem);width:3rem}.node-shift-1>.mascot{right:calc(50% + 2.55rem);left:auto}.feedback-backdrop{background:#122b3d0d}.feedback-sheet.feedback-wrong .feedback-continue,.feedback-sheet.feedback-wrong .feedback-continue:hover:not(:disabled),.feedback-sheet.feedback-wrong .feedback-continue:focus-visible{background:#b6323b;box-shadow:0 5px #7b2028}.feedback-sheet.feedback-wrong .feedback-continue:active:not(:disabled){background:#a52a33;box-shadow:0 1px #7b2028;transform:translateY(4px)}@media(min-width:64rem){.lesson-node-row>.mascot{left:calc(50% + 2.75rem)}.node-shift-1>.mascot{right:calc(50% + 2.75rem);left:auto}}
