@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{font-family:Nunito,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#253d3a;background:#fbfcfb;font-synthesis:none;font-weight:600;--green:#14866c;--green-dark:#09664f;--line:#e6ece8;--muted:#758780;--orange:#f08745;--mint:#e5f5ec;--shadow:0 4px 0 #dfe7e2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f1b347;outline-offset:4px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:900}h1{font-size:30px;letter-spacing:-.9px;line-height:1.2}h2{font-size:21px;letter-spacing:-.45px}h3{font-size:17px;letter-spacing:-.2px}p{line-height:1.65}small{font-size:13px;line-height:1.5;color:var(--muted)}svg{flex-shrink:0;stroke-width:2.1}input,select{min-width:0}button{border:0;background:none}button svg{vertical-align:middle}.accent,.green{color:var(--green)}.orange{color:#e8833e}.amber{color:#bf8a11}.subtle{font-size:13px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.3px;line-height:1.6;font-weight:900;color:var(--muted)}.jp,[lang=ja]{font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;letter-spacing:.03em}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:234px;border-right:1px solid var(--line);background:#fff;padding:35px 21px 22px;z-index:30;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:9px;font-size:35px;font-weight:900;letter-spacing:-1.8px;color:var(--green);padding-left:10px}.brand-dot{color:var(--orange);margin-left:-8px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;font-family:Meiryo,sans-serif;font-size:25px;font-weight:900;border-radius:13px;box-shadow:0 3px #0d6754;width:39px;height:39px;letter-spacing:0}.brand-caption{font-size:8px;letter-spacing:1.9px;font-weight:900;color:#97a49d;margin:14px 0 38px 13px}.sidebar nav{display:grid;gap:11px}.nav-item{position:relative;display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:53px;padding:0 17px;border:2px solid transparent;border-radius:13px;color:#72827b;font-weight:800;font-size:15px;transition:background .2s,transform .2s}.nav-item:hover{background:#f5f8f6}.nav-item.active{color:var(--green);background:#eaf6ee;border-color:#b9ddca;box-shadow:0 2px #d8eadd}.nav-count{margin-left:auto;background:var(--green);color:#fff;font-size:11px;border-radius:7px;padding:2px 6px}.sidebar-bottom{margin-top:auto;padding-top:40px}.install-card{background:#fafbf7;border:1px solid var(--line);padding:16px;border-radius:16px}.install-card strong{display:block;font-size:14px;margin:12px 0 5px}.install-card p{color:var(--muted);font-size:12px;line-height:1.5}.install-card .text-button{font-size:12px;margin-top:11px}.profile-nav{display:flex;align-items:center;text-align:left;gap:10px;width:100%;padding:23px 2px 0}.profile-nav>span:nth-child(2){flex:1;min-width:0}.profile-nav strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-nav small{font-size:11px;display:block}.profile-nav>svg{color:#91a198}.avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;background:#fce7cb;color:#a36731;border:2px solid white;outline:1px solid #ecdac2;font-size:18px;font-weight:900}.avatar.tiny{height:34px;width:34px;font-size:14px}.avatar.big{height:75px;width:75px;font-size:32px}.workspace{margin-left:234px}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 40px;background:#ffffffc9}.desktop-breadcrumb{display:flex;align-items:center;gap:13px;font-size:13px;color:#93a098}.desktop-breadcrumb strong{color:#5c7167;font-weight:800}.top-stats{display:flex;align-items:center;gap:27px}.top-stats>span{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:900}.top-stats .desktop-text{font-size:13px;font-weight:800}.mobile-brand{display:none}.content-grid{max-width:1220px;display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:32px;padding:35px 40px 50px;margin:0 auto}.main-content{min-width:0;animation:enter .3s ease-out}.right-rail{padding-top:3px;display:flex;flex-direction:column;gap:23px;min-width:0}.greeting{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.greeting .eyebrow{font-size:11px;color:#698276;letter-spacing:1.2px}.greeting h1{font-size:28px;margin-top:5px}.date-label{white-space:nowrap;font-size:12px;color:var(--muted);background:#f0f4f1;border:1px solid #e6ece7;padding:7px 11px;border-radius:9px}.hero-card{min-height:253px;border-radius:21px;background:#fff2db;border:1.5px solid #f1debd;box-shadow:0 4px #f3e6cf;position:relative;overflow:hidden;display:flex;padding:29px 26px;margin-bottom:25px}.hero-copy{position:relative;z-index:2;min-width:53%}.hero-label{display:flex;align-items:center;gap:6px;color:#b08646;font-size:9px;font-weight:900;letter-spacing:1px}.hero-copy h2{font-size:28px;line-height:1.23;margin:13px 0 10px;letter-spacing:-.7px;color:#494b31}.hero-copy p{font-size:13px;color:#8b816a;line-height:1.65;margin-bottom:19px}.hero-copy .button{font-size:13px;padding:11px 18px;min-height:44px}.hero-art{position:absolute;right:3px;bottom:-5px;width:245px;height:240px}.mascot{object-fit:contain;max-width:100%;height:auto;display:block}.hero-art .mascot{position:absolute;bottom:3px;right:0;width:245px;animation:float 4s ease-in-out infinite;transform-origin:bottom}.speech-bubble{position:absolute;top:9px;left:30px;font-family:Meiryo,sans-serif;font-size:10px;padding:10px 12px;background:#fff;border:1px solid #ecddc3;border-radius:13px;transform:rotate(4deg);z-index:2;color:#9a7945;box-shadow:0 2px #e9dabc}.speech-bubble:after{content:"";width:7px;height:7px;background:#fff;border-right:1px solid #ecddc3;border-bottom:1px solid #ecddc3;position:absolute;bottom:-5px;left:27px;transform:rotate(45deg)}.spark{position:absolute;color:#d8a44e;font-size:27px}.spark-one{right:18px;top:49px;animation:twinkle 2s ease-in-out infinite}.spark-two{left:7px;bottom:45px;font-size:23px;animation:twinkle 2.6s ease-in-out infinite}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:11px 19px;border-radius:12px;background:#fff;border:1.5px solid #dbe5de;box-shadow:0 3px #dbe5de;font-weight:900;font-size:14px;transition:transform .1s,box-shadow .1s,background .15s}.button:hover:not(:disabled){background:#f4f8f5}.button:active:not(:disabled){transform:translateY(3px);box-shadow:none}.button.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 4px #08654e}.button.primary:hover:not(:disabled){background:#0c795f;border-color:#0c795f}.button.primary:active:not(:disabled){box-shadow:none}.button:disabled{background:#ecf0ed!important;color:#a4afa9!important;box-shadow:0 3px #d7dfd9!important;border-color:#ecf0ed!important;opacity:1}.button.small{font-size:12px;min-height:37px;padding:8px 12px;gap:7px}.button.full{width:100%}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--green);font-weight:900;padding:4px 0;line-height:1.5}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:10px;color:#708778}.icon-button:hover:not(:disabled){background:#edf4ee}.panel{background:#fff;border:1.5px solid var(--line);border-radius:17px;padding:21px;box-shadow:0 2px #edf1ed}.panel h3{display:flex;align-items:center;gap:8px}.panel>p{color:var(--muted);font-size:14px;margin:8px 0 15px}.tile{display:inline-flex;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;border-radius:14px;font-weight:900}.tile.large{width:58px;height:58px;border-radius:18px}.tile.large svg{width:30px;height:30px}.tile.small-tile{width:35px;height:35px;border-radius:11px}.mint{background:#e6f5eb;color:#258364}.peach{background:#fff0df;color:#cf8847}.lavender{background:#efecfa;color:#8a73b4}.sky{background:#e8f2fa;color:#6191b2}.pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;min-height:24px;border-radius:7px;font-size:11px;font-weight:900;background:#f0f5f1;color:#7d8e81;white-space:nowrap}.pill.mint{background:#e8f6ed;color:#36916d}.pill.peach{background:#fff2e3;color:#b1793b}.overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px 15px;margin-bottom:28px}.overview-stats>div{display:flex;gap:10px;align-items:center;border-right:1px solid var(--line)}.overview-stats>div:last-child{border:0}.overview-stats .tile{height:36px;width:36px;border-radius:12px}.overview-stats strong{display:block;font-size:21px;line-height:1.1}.overview-stats strong small{font-size:12px;font-weight:700}.overview-stats>div>span>small{font-size:10px;display:block;margin-top:5px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.section-heading h2{font-size:18px}.section-heading h3{font-size:15px}.section-heading .text-button{font-size:11px}.continue-card{width:100%;text-align:left;border:1.5px solid #bedcc9;border-bottom:4px solid #bedcc9;border-radius:17px;background:#f5faf5;display:flex;align-items:center;gap:17px;padding:19px;margin-bottom:27px;transition:transform .15s,background .15s}.continue-card:hover{background:#edf7ed}.continue-card:active{transform:translateY(2px)}.lesson-symbol{height:69px;width:64px;background:#dcedda;color:#558765;border:1px solid #cde2c9;border-bottom:4px solid #c7dfc2;border-radius:17px;display:flex;align-items:center;justify-content:center;font-family:Meiryo,sans-serif;font-size:33px;font-weight:900;flex-shrink:0}.continue-copy{flex:1;min-width:0}.continue-copy .eyebrow{font-size:9px;color:#719878;letter-spacing:1px}.continue-copy strong{display:block;font-size:19px;margin:3px 0}.continue-copy small{display:block;font-size:11px;margin-bottom:11px;color:#839987}.continue-copy .progress-track{height:7px}.play-circle{width:37px;height:37px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px #0d694f}.play-circle svg{margin-left:2px}.progress-track{height:10px;border-radius:10px;background:#eaf0e9;overflow:hidden}.progress-track>span{display:block;height:100%;background:#6cba83;border-radius:inherit;transition:width .5s cubic-bezier(.2,.8,.2,1);position:relative}.progress-track>span:after{content:"";position:absolute;inset:2px 4px auto;height:3px;background:#ffffff45;border-radius:10px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}.practice-card{border-radius:17px;padding:19px;text-align:left;border:1.5px solid #eee5d6;border-bottom:4px solid #eee5d6;background:#fffbf3;transition:transform .15s}.practice-card:hover{transform:translateY(-3px)}.practice-card.class-card{border-color:#e3dfee;background:#f9f7ff}.practice-card h3{margin-top:12px;font-size:16px}.practice-card p{font-size:11px;color:#8d8a7d;margin:5px 0 14px}.card-link{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;color:#af8249}.class-card .card-link{color:#8877a9}.daily-word{padding:18px 0;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.daily-word>div{flex:1}.daily-word h3{font-size:17px;margin:3px 0}.daily-word h3 span{font-size:11px;color:var(--muted);font-weight:600;margin-left:8px}.daily-word p{font-size:11px;color:#8a978f}.daily-word .eyebrow{font-size:9px;letter-spacing:1px}.daily-word .jp{font-size:25px}.goal-card{padding:20px}.goal-count{display:flex;align-items:center;gap:5px;margin:21px 0 11px}.goal-count strong{font-size:32px;line-height:1}.goal-count>span{font-size:12px;color:#85968a}.goal-count .pill{margin-left:auto;color:#4c9b72;font-size:10px}.goal-card>p{font-size:11px;margin:10px 0 18px;color:#95a194}.week{display:flex;justify-content:space-between;gap:6px;border-top:1px solid var(--line);padding-top:15px}.week>div{display:flex;flex-direction:column;align-items:center;gap:8px}.week>div>span{font-size:10px;color:#9aa499;font-weight:800}.week i{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;color:#a1ada4;background:#f1f5ef;font-style:normal}.week i.today{border:1.5px dashed #c9954c;background:#fff8e7;color:#b48b41}.week i.complete{background:#81ba8b;color:#fff;border:0}.level-card>.eyebrow{font-size:9px}.level-card-title{display:flex;align-items:center;gap:12px;margin:14px 0}.level-mini{height:43px;width:40px;display:flex;align-items:center;justify-content:center;background:#fff0d6;border:1.5px solid #f0d6a7;border-bottom:3px solid #e6c98f;border-radius:12px;color:#b28848;font-weight:900;font-size:17px}.level-card-title h3{font-size:13px}.level-card-title p{font-size:11px;color:#94a08f;margin-top:4px}.level-card .progress-track{height:7px}.level-card .text-button{font-size:11px;margin-top:16px}.encouragement{text-align:center;padding:18px 4px 4px}.japanese-deco{font-size:26px;font-family:Meiryo,sans-serif;color:#c5d4c5;font-weight:700;letter-spacing:6px}.encouragement p{font-size:12px;color:#80967e;line-height:1.9;margin:12px 0 9px}.encouragement>span:last-child{font-size:10px;color:#a3afa0}.rail-footer{display:grid;justify-items:center;gap:7px;border-top:1px dashed #dfe7dc;padding-top:20px;margin-top:8px}.rail-footer>span{display:flex;align-items:center;gap:5px;font-size:9px;color:#a0ad9e}.rail-footer .text-button{font-size:9px;color:#96a492}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.page-heading h1{margin-top:7px}.page-heading p{font-size:14px;color:var(--muted);margin-top:9px}.level-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.level-picker button{border:1.5px solid var(--line);background:#fff;border-bottom-width:4px;padding:14px;border-radius:14px;display:flex;gap:5px;flex-direction:column;text-align:center;align-items:center}.level-picker strong{font-size:24px}.level-picker span{font-size:12px;color:var(--muted)}.level-picker .selected{background:#e8f6ed;border-color:#a5d7ba;color:var(--green)}.level-banner{background:var(--green);color:#fff;padding:22px;border-radius:17px;display:flex;align-items:center;gap:15px;box-shadow:0 4px #0e6c54}.level-seal{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:#ffffff24;border-radius:15px;font-size:24px;font-weight:900}.level-banner h2{font-size:19px}.level-banner p{color:#cae8dd;font-size:12px;margin-top:5px}.level-counter{margin-left:auto;font-weight:900;font-size:21px}.learning-path{padding:25px 15px 0 34px}.path-item{display:flex;gap:24px;align-items:center;position:relative;padding:18px 0 37px;min-height:165px}.path-item:after{content:"";position:absolute;top:106px;left:34px;width:3px;height:77px;background:repeating-linear-gradient(to bottom,#dce6df 0,#dce6df 6px,transparent 6px,transparent 12px)}.path-node{width:70px;height:70px;flex-shrink:0;border-radius:24px;background:#fff0d6;border:2px solid #ecd3a5;border-bottom:6px solid #dfc18e;color:#a4783a;font-family:Meiryo,sans-serif;font-size:28px;font-weight:900;transition:transform .15s}.path-node:hover{transform:rotate(-5deg) scale(1.05)}.path-node.done{background:#daf0df;border-color:#afd4b8;color:var(--green)}.path-description{text-align:left;flex:1;padding:0}.path-description .eyebrow{font-size:10px}.path-description strong{display:block;font-size:21px;margin:5px 0}.path-description p{font-size:13px;color:var(--muted);margin-bottom:9px}.path-finish{padding:22px 15px;text-align:center;border:1px dashed #d5e0d6;border-radius:17px;background:#f4f8f3;margin-top:4px}.path-finish svg{color:#c3a268;margin-bottom:9px}.path-finish strong{display:block;font-size:14px}.path-finish p{font-size:12px;color:var(--muted);margin-top:7px}.review-hero{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:26px;background:#fffaf0;border-color:#eee0c4}.review-number{font-size:57px;color:#bd873f;font-weight:900;line-height:1}.review-hero>div{flex:1;min-width:180px}.review-hero h2{font-size:20px}.review-hero p{font-size:13px;color:#9b8b70;margin-top:6px}.review-hero .button{width:100%;margin-top:4px}.review-list{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 18px}.review-row{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.review-row:last-child{border:0}.review-row>div{flex:1;min-width:0}.review-row strong{font-size:14px;display:block;overflow-wrap:anywhere}.review-row small{display:block;font-size:11px;margin-top:5px}.review-row .tile{width:36px;height:36px;border-radius:11px}.footnote{font-size:12px;color:#819381;margin:19px 0}.empty{text-align:center;padding:40px 25px}.empty>svg{margin:0 auto 18px;color:#8bbca4;width:40px;height:40px}.empty h3,.empty h2{display:block}.empty p{color:var(--muted);font-size:14px;margin:10px 0 20px}.empty .button{margin:0 auto 15px}.empty .text-button{display:flex}.search-field{border:1.5px solid #dce6dd;background:#fff;border-radius:14px;display:flex;align-items:center;gap:12px;padding:4px 14px;min-height:53px;color:#8ba392}.search-field input{border:0;outline:none!important;background:transparent;width:100%;padding:12px 0;font-size:14px;color:#354e41}.filter-row{display:flex;align-items:center;gap:8px;margin:17px 0;flex-wrap:wrap}.filter{border:1.5px solid var(--line);padding:8px 13px;border-radius:10px;display:flex;align-items:center;gap:7px;color:#8d9c90;font-size:12px;font-weight:900;background:#fff}.filter.active{color:var(--green);background:#e9f5ed;border-color:#b3d9c0}.dictionary-list{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:17px}.word-card{padding:17px}.word-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.word-heading .icon-button{min-width:32px;min-height:36px}.word-card h2{font-size:21px;line-height:1.65;overflow-wrap:anywhere}.reading{display:block;font-size:11px;color:var(--muted);margin-top:2px}.word-card h3{font-size:14px;margin:9px 0 13px}.example{border-top:1px dashed #dce5dc;padding-top:12px}.example p{font-size:13px;line-height:1.8}.example small{display:block;font-size:11px;margin-top:3px}.profile-card{text-align:center;margin-bottom:20px}.profile-card .avatar{margin:4px auto 14px}.profile-card h2{font-size:24px}.profile-card p{overflow-wrap:anywhere}.form-stack{display:flex;flex-direction:column;gap:20px}.form-stack label{display:flex;flex-direction:column;gap:8px;font-weight:800;font-size:14px}.form-stack input,.form-stack select{width:100%;border:1.5px solid #dce5df;border-radius:11px;background:#fcfdfb;color:#35483b;padding:12px 13px;min-height:47px;font-size:16px}.main-content>.panel{margin-bottom:20px}.switch-row{display:flex;align-items:center;gap:15px;justify-content:space-between}.switch-row strong{font-size:14px}.switch-row p{font-size:12px;color:var(--muted);margin-top:5px}.switch{background:#d7e1d9;border-radius:20px;padding:4px;width:48px;height:28px;flex-shrink:0;transition:background .2s}.switch span{display:block;height:20px;width:20px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0002;transition:transform .2s}.switch.on{background:var(--green)}.switch.on span{transform:translate(20px)}.button-row{display:flex;gap:10px;flex-wrap:wrap}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.two-columns h3{margin-top:14px}.two-columns p{margin-bottom:0}.class-intro{padding:30px}.class-intro h2{margin-top:19px;font-size:24px}.class-intro p{margin:12px 0 20px}.class-intro small{display:block;margin-top:18px}.class-actions{display:flex;gap:13px;margin-bottom:25px}.class-header,.assignment{display:flex;align-items:center;gap:14px}.class-header>div,.assignment>div{flex:1;min-width:0}.class-header h2{font-size:20px;overflow-wrap:anywhere}.class-header p,.assignment p{color:var(--muted);font-size:12px;margin-top:4px}.assignment h3{font-size:15px}.back-link{margin-bottom:15px}.room-card{width:100%;display:flex;align-items:center;text-align:left;gap:14px;margin-bottom:15px}.room-card>span:nth-child(2){flex:1;min-width:0}.room-card strong{font-size:18px;display:block;overflow-wrap:anywhere}.room-card small{display:block;margin-top:5px}.student-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.student-row:last-child{border:0}.student-row>div{flex:1}.student-row strong{font-size:14px}.student-row p{font-size:11px;color:var(--muted)}.student-row .pill{font-size:10px}.connection-banner{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;background:#fff5df;color:#987831;padding:10px 20px}.notice{border:1px solid #e9dab7;background:#fff9eb;padding:18px;border-radius:12px;font-size:14px;line-height:1.6}.notice p{margin:10px 0 18px}.notice.error,.connection-banner.error{background:#fff0ec;border-color:#f0c6bd;color:#9f4d3a}.notice svg{margin-right:8px}.notice .text-button{display:block;margin-top:12px}.mobile-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:#20382c73;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;overflow-y:auto}.modal{position:relative;width:100%;max-width:470px;max-height:calc(100dvh - 44px);overflow-y:auto;overscroll-behavior:contain;background:#fbfdfb;border:1px solid #e3ece5;border-radius:25px;box-shadow:0 20px 70px #17362533;padding:32px;animation:modal-enter .25s ease-out;outline:none}.modal.wide{max-width:650px;padding:29px 36px}.modal-close{position:absolute;top:15px;right:15px;z-index:3;color:#9caaa0}.modal-heading{text-align:center;padding:8px 10px 26px}.modal-heading .tile{margin:0 auto 17px}.modal-heading h2{font-size:25px;line-height:1.3}.modal-heading p{font-size:14px;color:var(--muted);margin-top:10px}.study-top{display:flex;align-items:center;gap:10px;padding-right:40px;margin-bottom:21px;min-height:30px}.study-top strong{font-size:15px;flex:1}.study-counter{font-size:12px;color:var(--muted);white-space:nowrap}.learning-content,.quiz-content{padding-top:28px}.learning-content>h2,.quiz-content>h2{font-size:25px;line-height:1.3;margin:7px 0 18px}.lesson-note{font-size:15px;line-height:1.85;color:#758379;margin-bottom:24px}.flashcard{background:#fff9eb;border:1.5px solid #efdfbc;border-bottom:5px solid #e9d7ad;border-radius:21px;padding:20px 24px;text-align:center;animation:enter .25s ease-out;min-height:260px}.flashcard-top{display:flex;align-items:center;justify-content:space-between;color:#b69c69}.flashcard-top>span{font-size:10px;font-weight:900;letter-spacing:1px}.flashcard-top .icon-button{color:#b0945c}.flashcard h3{font-size:29px;margin:14px 0 10px;line-height:1.7;color:#5b5d40}.flashcard>p{font-size:14px;color:#ac9d7e;margin-bottom:12px}.flashcard>strong{font-size:19px;color:#797950}.flashcard .example{margin-top:22px;border-color:#eaddbc}.flashcard .example p{font-size:17px;color:#726f52}.flashcard .example small{font-size:13px;color:#a1977b}.flashcard-controls{display:flex;align-items:center;justify-content:space-between;padding:15px 0 22px}.dots{display:flex;gap:7px}.dots>span{height:7px;width:7px;border-radius:50%;background:#dee7df}.dots>span.active{background:var(--green);width:18px;border-radius:6px}.session-exit{display:flex;margin:20px auto 8px;color:#97a39a;font-size:12px}.session-hint{display:block;text-align:center;font-size:10px;color:#a5afa7}.question-text{background:#eef6ef;border-radius:15px;padding:25px 18px;font-size:25px;font-weight:700;text-align:center;margin:20px 0 25px;line-height:1.7;color:#476957}.options{display:grid;gap:12px;margin:22px 0 24px}.option{display:flex;align-items:center;gap:14px;min-height:60px;border:2px solid #e2e9e3;border-bottom:4px solid #dbe4dc;border-radius:14px;text-align:left;padding:13px 16px;background:#fff;font-weight:800;font-size:16px;transition:background .15s,border-color .15s,transform .1s}.option:hover:not(:disabled){background:#f1f8f3;border-color:#c8decf}.option:active:not(:disabled){transform:translateY(2px)}.option-letter{width:28px;height:28px;border:1.5px solid #dfe6df;color:#a0aba1;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}.option>span:nth-child(2){flex:1}.option.selected{border-color:#80bd9a;background:#eaf6ee;color:#248261}.option.selected .option-letter{border-color:#90c6a5;color:#248261}.option:disabled{opacity:1;cursor:default}.option.correct{border-color:#73b68e;background:#e4f5e9;color:#2a865b}.option.wrong{border-color:#e5a18d;background:#fff0e8;color:#bb6e51;animation:shake .3s ease-out}.feedback{border-radius:16px;padding:20px;animation:enter .2s ease-out}.feedback.success{background:#e6f5e9;color:#367d52}.feedback.incorrect{background:#fff1e5;color:#ae7249}.feedback h3{display:flex;align-items:center;gap:10px;font-size:19px}.feedback p{font-size:14px;margin:11px 0 20px;line-height:1.8}.audio-question{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:24px;background:#e5f3eb;border:2px solid #badcc7;border-bottom:4px solid #abd0ba;border-radius:17px;color:var(--green);font-weight:900}.audio-question:active{transform:translateY(2px)}.transcript{font-size:12px;margin:13px 0;color:var(--muted)}.transcript summary{cursor:pointer}.transcript p{padding-top:10px;font-size:17px}.result-content{text-align:center;position:relative;padding-top:10px;overflow:hidden}.result-trophy{display:flex;justify-content:center;align-items:center;width:115px;height:115px;background:#fff0ce;color:#d7a13f;border:3px solid #f4d58f;border-bottom:7px solid #e9c26e;border-radius:35px;margin:9px auto 29px;animation:pop .6s ease-out}.result-content h2{font-size:27px;margin:10px 0}.result-content>p{font-size:14px;color:var(--muted);margin:10px 0 25px}.result-content .eyebrow{font-size:9px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 30px}.result-stats>div{border:1px solid #e1e9e2;border-bottom:3px solid #dce7df;border-radius:14px;padding:15px 8px;display:flex;align-items:center;flex-direction:column;gap:5px;background:#fff}.result-stats svg{color:#67a383;height:20px;width:20px;margin-bottom:6px}.result-stats strong{font-size:22px}.result-stats small{font-size:11px}.result-content>.text-button{font-size:12px;margin-top:18px}.confetti-area{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti-area i{position:absolute;top:-20px;width:7px;height:12px;border-radius:2px;animation:confetti 2s ease-out both}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:150;display:flex;align-items:center;gap:12px;background:#294b3e;color:#fff;border-radius:14px;box-shadow:0 5px 20px #284e3433;padding:14px 18px;max-width:calc(100vw - 32px);font-size:13px;animation:toast-enter .2s ease-out}.toast>button{color:#cde3d3;padding:4px}.update-banner{position:fixed;bottom:20px;right:25px;display:flex;gap:15px;align-items:center;padding:14px 18px;border:1px solid #cee1d2;border-radius:14px;background:#f4fff5;z-index:70;font-size:13px;box-shadow:0 4px 18px #0001}.boot{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.boot>.brand-mark{width:60px;height:60px;font-size:40px;animation:float 2s infinite}.boot strong{font-size:30px;color:var(--green)}.boot p{font-size:14px;color:var(--muted)}.danger{color:#b66b53}@keyframes float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes twinkle{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-enter{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-enter{0%{opacity:0;margin-bottom:-10px}to{opacity:1;margin-bottom:0}}@keyframes pop{0%{transform:scale(.4) rotate(-15deg);opacity:0}65%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(470px) rotate(540deg);opacity:0}}@media(min-width:1500px){.content-grid{padding-top:42px;gap:40px}.hero-card{min-height:270px}.hero-copy h2{font-size:32px}.hero-art{right:16px;width:270px;height:250px}.hero-art .mascot{width:265px}.hero-label{font-size:10px}}@media(max-width:1190px){.sidebar{width:202px;padding-left:15px;padding-right:15px}.workspace{margin-left:202px}.content-grid{grid-template-columns:minmax(0,1fr) 240px;gap:23px;padding:28px}.topbar{padding:0 28px}.hero-art{width:205px;right:-8px;height:225px}.hero-art .mascot{width:210px}.speech-bubble{font-size:8px;left:22px;top:18px}.hero-copy h2{font-size:25px}.hero-copy p{font-size:12px}.hero-label{font-size:8px}.overview-stats{padding:14px 10px}.overview-stats>div{gap:7px}.overview-stats .tile{width:30px;height:34px}.overview-stats>div>span>small{font-size:9px}.greeting h1{font-size:26px}.right-rail .panel{padding:17px}.brand{font-size:32px}.brand-caption{font-size:7px;margin-left:10px}.nav-item{gap:10px;font-size:14px;padding-left:13px}.practice-card{padding:17px}.practice-card p{font-size:11px}.practice-card h3{font-size:15px}.section-heading>.subtle{display:none}.continue-card{gap:12px;padding:16px}.lesson-symbol{width:53px;height:63px}.continue-copy strong{font-size:17px}.top-stats{gap:20px}}@media(max-width:1000px)and (min-width:761px){.right-rail{display:none}.content-grid{display:block;max-width:760px;padding:32px 35px}.hero-art{width:255px;height:246px;right:5px}.hero-art .mascot{width:250px}.hero-copy h2{font-size:29px}.hero-copy p{font-size:14px}.hero-label{font-size:9px}.speech-bubble{font-size:10px;left:25px}.overview-stats>div>span>small{font-size:11px}.hero-card{min-height:270px}.practice-card p{font-size:13px}.practice-card h3{font-size:18px}.greeting h1{font-size:30px}}@media(max-width:760px){:root{background:#fbfcfa}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:70px;padding:0 20px;position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0}.mobile-brand{display:flex;align-items:center;gap:9px;font-size:25px;color:var(--green);letter-spacing:-1px}.mobile-brand .brand-mark{height:30px;width:30px;border-radius:10px;font-size:20px;box-shadow:0 2px #0d6754}.desktop-breadcrumb,.desktop-text{display:none!important}.top-stats{gap:15px}.top-stats>span{font-size:14px}.top-stats svg{height:18px;width:18px}.top-stats .tiny{width:29px;height:29px;font-size:13px}.content-grid{display:block;max-width:600px;padding:26px 20px 115px}.right-rail{display:none}.greeting{margin-bottom:20px}.greeting h1{font-size:25px}.greeting .eyebrow{font-size:10px}.date-label{font-size:10px;padding:6px 8px}.hero-card{min-height:243px;padding:24px 21px;margin-bottom:23px}.hero-copy h2{font-size:26px;margin-top:15px}.hero-copy p{font-size:12px;max-width:185px;margin-bottom:19px}.hero-label{font-size:8px;letter-spacing:.55px}.hero-label svg{width:11px}.hero-copy .button{font-size:12px;padding:10px 15px}.hero-art{height:225px;width:216px;right:0;bottom:-8px}.hero-art .mascot{width:216px;bottom:4px;right:-5px}.speech-bubble{font-size:8px;top:21px;left:27px;padding:8px}.spark-one{right:10px;top:65px;font-size:20px}.spark-two{left:23px;bottom:20px;font-size:20px}.overview-stats{gap:5px;padding:15px 11px;margin-bottom:26px}.overview-stats>div{gap:9px}.overview-stats .tile{width:32px;height:35px;border-radius:10px}.overview-stats .tile svg{width:18px;height:18px}.overview-stats strong{font-size:21px}.overview-stats>div>span>small{font-size:9px}.section-heading{margin-bottom:14px}.section-heading h2{font-size:18px}.section-heading .text-button{font-size:12px}.continue-card{padding:17px 15px;gap:13px;margin-bottom:26px}.lesson-symbol{width:52px;height:65px;border-radius:15px}.continue-copy strong{font-size:18px}.continue-copy small{font-size:10px}.play-circle{height:34px;width:34px}.play-circle svg{height:17px;width:17px}.practice-grid{gap:12px}.practice-card{padding:17px 15px}.practice-card h3{font-size:16px}.practice-card p{font-size:11px;min-height:34px}.practice-card .tile{width:41px;height:41px;border-radius:13px}.card-link{font-size:11px}.daily-word{gap:10px;padding:16px 0}.daily-word p{font-size:11px}.daily-word .tile{width:40px;height:43px}.daily-word h3{font-size:16px}.daily-word h3 span{font-size:10px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fffffff7;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid #e1e8e2;justify-content:space-around;padding:9px 8px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -5px 22px #2d503505}.mobile-nav>button{position:relative;min-width:55px;min-height:49px;padding:5px 8px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;color:#9aaba0;border-radius:12px}.mobile-nav>button.active{color:var(--green);background:#eaf6ed}.mobile-nav>button>span{font-size:10px;font-weight:900}.mobile-nav>button>i{width:5px;height:5px;border-radius:50%;background:var(--orange);position:absolute;right:15px;top:4px}.page-heading h1{font-size:27px}.page-heading p{font-size:13px}.page-heading .large{width:48px;height:48px;border-radius:15px}.level-picker{gap:9px}.level-picker button{padding:12px 8px}.level-picker strong{font-size:22px}.level-picker span{font-size:11px}.level-banner{padding:19px 15px;gap:12px}.level-banner h2{font-size:18px}.level-seal{width:45px;height:47px;font-size:22px}.level-counter{font-size:17px}.learning-path{padding-left:13px;padding-right:2px}.path-item{gap:20px}.path-description strong{font-size:20px}.path-description p{font-size:12px}.review-row{gap:9px}.review-row strong{font-size:13px}.review-row .pill{font-size:9px}.review-hero{padding:23px 20px}.dictionary-list{gap:12px}.word-card{padding:14px}.word-card h2{font-size:20px}.word-card h3{font-size:13px}.word-card .example p{font-size:12px}.word-card .reading{font-size:10px}.class-intro{padding:24px}.class-intro h2{font-size:22px}.class-intro .button{font-size:13px}.two-columns{gap:12px}.two-columns .panel{padding:18px}.two-columns h3{font-size:15px}.two-columns p{font-size:12px}.class-actions{gap:9px}.class-actions .button{font-size:13px;padding:11px 13px}.class-header{flex-wrap:wrap}.class-header>.button{margin-left:58px}.assignment{gap:10px;padding:16px}.assignment h3{font-size:14px}.assignment .tile{width:34px;height:37px}.assignment .button{font-size:11px;padding:7px 10px}.toast{bottom:91px;width:max-content;max-width:calc(100% - 32px);font-size:12px;padding:12px 14px}.update-banner{bottom:86px;left:15px;right:15px;justify-content:space-between;font-size:12px}.connection-banner{font-size:11px;padding:10px 15px}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px);border-radius:22px;padding:28px 22px}.modal.wide{max-height:100dvh;height:100dvh;border-radius:0;border:0;padding:25px 22px calc(25px + env(safe-area-inset-bottom));max-width:none}.modal-backdrop:has(.wide){padding:0}.study-top{margin-bottom:20px;padding-right:30px;gap:8px}.study-top strong{font-size:14px}.study-counter{font-size:11px}.modal.wide .modal-close{top:20px;right:11px;min-width:33px;min-height:35px}.learning-content,.quiz-content{padding-top:25px}.learning-content>h2,.quiz-content>h2{font-size:25px}.lesson-note{font-size:15px}.flashcard{padding:15px 18px}.flashcard h3{font-size:29px;overflow-wrap:anywhere}.flashcard>strong{font-size:20px}.flashcard .example p{font-size:16px}.question-text{font-size:25px;padding:24px 15px}.option{min-height:61px;font-size:16px;padding:13px}.feedback{padding:18px}.feedback h3{font-size:18px}.feedback p{font-size:14px}.session-exit{margin-top:20px}.form-stack input,.form-stack select{font-size:16px}.result-content h2{font-size:25px}.result-trophy{margin-top:15px}.modal-heading h2{font-size:25px}}@media(max-width:399px){.content-grid,.topbar{padding-left:16px;padding-right:16px}.greeting h1{font-size:22px}.greeting .date-label{font-size:9px}.hero-card{padding:23px 17px;min-height:236px}.hero-copy h2{font-size:24px}.hero-copy p{max-width:163px;font-size:11px}.hero-art{width:175px;height:203px;right:-6px}.hero-art .mascot{width:180px;bottom:5px}.speech-bubble{top:19px;left:24px;font-size:7px}.hero-label{font-size:7px;letter-spacing:.25px}.hero-copy .button{font-size:12px;padding:10px 13px}.overview-stats>div{gap:6px}.overview-stats .tile{width:27px;height:30px}.overview-stats .tile svg{width:16px;height:16px}.overview-stats>div>span>small{font-size:8px}.overview-stats strong{font-size:19px}.section-heading h2{font-size:17px}.section-heading .text-button{font-size:11px}.practice-card{padding:15px 13px}.practice-card h3{font-size:15px}.practice-card p,.card-link{font-size:10px}.continue-copy strong{font-size:17px}.continue-copy small{font-size:9px}.dictionary-list{grid-template-columns:1fr}.word-card h2{font-size:23px}.word-card h3{font-size:15px}.word-card .reading{font-size:12px}.word-card .example p{font-size:14px}.word-card .example small{font-size:12px}.top-stats{gap:12px}.top-stats>span{font-size:12px}.mobile-brand{font-size:24px}.two-columns{grid-template-columns:1fr}}.hero-copy p,.practice-card p,.daily-word p,.panel>p,.page-heading p{font-size:14px}.overview-stats>div>span>small,.continue-copy small,.card-link,.goal-card>p,.level-card-title p,.reading,.word-card .reading,.word-card .example small,.daily-word .eyebrow,.rail-footer>span,.rail-footer .text-button,.session-hint{font-size:12px}.hero-label,.continue-copy .eyebrow,.path-description .eyebrow,.level-card>.eyebrow{font-size:10px}.word-card .example p,.review-row strong{font-size:14px}@media(max-width:760px){.hero-copy p{font-size:13px;max-width:185px}.practice-card p{font-size:12px;min-height:40px}.overview-stats>div>span>small{font-size:10px}.continue-copy small{font-size:11px}.mobile-nav>button>span{font-size:12px}.daily-word p,.card-link{font-size:12px}.hero-label{font-size:8px}}@media(max-width:399px){.hero-copy p{font-size:12px;max-width:160px}.hero-label{font-size:7px}.overview-stats>div>span>small{font-size:9px}.card-link{font-size:11px}.continue-copy small{font-size:10px}.mobile-nav>button>span{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.level-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.level-picker strong{font-size:21px}.level-picker span{font-size:12px}.level-seal,.level-mini{flex-shrink:0}.foundation-intro{padding:23px;background:#e8f6ed;border:1px solid #c9e4d3;border-radius:19px;margin-bottom:20px}.foundation-intro h2{font-size:23px;margin:7px 0 9px}.foundation-intro p{font-size:16px;line-height:1.7;color:#577561}.script-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px}.script-picker button{display:flex;gap:12px;align-items:center;text-align:left;border:2px solid #e0e8de;border-bottom-width:5px;border-radius:17px;background:#fff;padding:16px 12px}.script-picker .selected{background:#fff6df;border-color:#edcf85}.script-glyph{font-size:38px;color:#a7772b;line-height:1.2}.script-picker strong{display:block;font-size:16px}.script-picker small{display:block;font-size:14px;margin-top:4px;color:#778575}.foundation-progress{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px;font-size:14px}.kana-lessons{display:grid;gap:12px;margin-bottom:20px}.kana-lesson{display:flex;align-items:center;gap:15px;text-align:left;border:1px solid #e2e9df;border-bottom:4px solid #e2e9df;background:#fff;border-radius:17px;padding:17px;transition:transform .15s}.kana-lesson:hover{transform:translateY(-2px)}.kana-lesson.done{background:#edf8ef}.kana-number{display:flex;align-items:center;justify-content:center;min-width:39px;height:39px;border-radius:12px;background:#e9f4ed;color:#13866c;font-weight:900}.kana-copy{flex:1;min-width:0}.kana-copy strong{display:block;font-size:17px}.kana-copy>span{display:block;font-size:20px;line-height:1.7;margin:4px 0;color:#5b705f;overflow-wrap:anywhere}.kana-copy small{font-size:13px;color:#7b897c}.kana-lesson>svg{flex-shrink:0;color:#729780}.card-position{font-size:14px;color:#728475}.writing-content{padding-top:25px}.writing-content h2{font-size:25px;margin:9px 0}.writing-content>p{font-size:16px;line-height:1.7;color:#65776a}.writing-chars{display:flex;gap:8px;overflow-x:auto;padding:13px 0;margin:5px 0;scrollbar-width:thin}.writing-chars button{position:relative;flex-shrink:0;min-width:59px;padding:8px 10px;border:1.5px solid #dce6df;background:#fff;border-radius:12px}.writing-chars button.selected{border-color:#13866c;background:#e6f5ed}.writing-chars button>span:first-child{font-size:24px;display:block}.writing-chars small{display:block;font-size:13px;margin-top:3px}.written-dot{position:absolute;right:5px;top:5px;width:6px;height:6px;background:#13866c;border-radius:50%}.writing-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px;font-size:16px}.writing-caption label{font-size:14px;display:flex;gap:8px;align-items:center;min-height:40px}.writing-caption input{accent-color:#13866c;width:18px;height:18px}.writing-canvas{display:block;width:100%;max-width:360px;aspect-ratio:1;touch-action:none;border:2px solid #cfdece;border-radius:18px;margin:0 auto;cursor:crosshair;-webkit-user-select:none;user-select:none}.writing-actions{display:flex;justify-content:center;gap:12px;margin:14px 0}.writing-content>.writing-note{font-size:14px;padding:14px;border-radius:12px;background:#eef4ed}.writing-footer{display:grid;gap:12px;margin-top:20px}@media(max-width:600px){.level-picker{gap:7px}.level-picker button{padding:13px 4px}.level-picker strong{font-size:19px}.level-picker span{font-size:11px}.script-picker{gap:9px}.script-picker button{gap:8px;padding:13px 10px}.script-glyph{font-size:31px}.script-picker strong{font-size:15px}.script-picker small{font-size:13px}.kana-lesson{padding:15px 12px;gap:12px}.kana-copy strong{font-size:16px}.kana-copy>span{font-size:18px}.foundation-intro{padding:20px}.foundation-intro h2{font-size:22px}}.brand-wordmark{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.brand-credit{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:3px;font-size:12px;font-weight:800;letter-spacing:0;color:#202b26;line-height:1}.brand-credit img{display:block;width:76px;height:auto;object-fit:contain}.brand-caption{margin-top:15px}.mobile-brand .brand-credit{font-size:10px;gap:4px;margin-top:2px}.mobile-brand .brand-credit img{width:59px}.mobile-brand .brand-wordmark>strong{line-height:1.05}.brand-wordmark .brand-dot{margin-left:0}.n5-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.n5-unit{padding:20px;text-align:left;border:1.5px solid #dfe9df;border-bottom:4px solid #d3e2d6;background:#fff;border-radius:18px;transition:transform .15s}.n5-unit:hover{transform:translateY(-2px)}.n5-unit-top,.n5-unit-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#13866c}.n5-unit h3{font-size:19px;margin:15px 0 9px;min-height:50px}.n5-unit p{font-size:14px;color:#738377;margin-bottom:15px}.n5-unit-bottom{font-size:13px;margin-top:12px}.n5-help{font-size:14px;color:#687b6d;line-height:1.8;margin:20px 0 25px}.grammar-lesson{width:100%;margin-bottom:15px}.n5-curriculum .kana-copy small{display:block;margin-top:8px}.n5-curriculum .kana-copy strong{line-height:1.5}@media(max-width:480px){.n5-unit-grid{grid-template-columns:1fr;gap:12px}.n5-unit h3{min-height:0;font-size:19px;margin:13px 0 7px}.n5-unit{padding:18px}.n5-curriculum .foundation-intro p{font-size:15px}}.level-picker button:disabled{opacity:1;background:#f0f2f0;border-color:#dce2dc;color:#87938b;cursor:not-allowed}.level-picker button:disabled span{color:#68786d}.level-picker strong{display:flex;align-items:center;gap:5px}.login-page{min-height:100dvh;background:#f5faf6;padding:35px 24px}.login-shell{max-width:1000px;margin:auto}.login-brand{display:flex;align-items:center;gap:12px;color:var(--green);font-size:34px;font-weight:900}.login-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:55px;margin:55px 0 25px}.login-art{text-align:center}.login-art .mascot{width:270px;height:270px;object-fit:contain}.login-art h2{margin:20px 0 10px}.login-art p{color:#62776a}.login-card{padding:34px;background:#fff;border:1px solid #dce8de;border-bottom:5px solid #d5e5d9;border-radius:24px}.login-card h1{font-size:29px;line-height:1.3;margin:10px 0}.login-description{font-size:16px;color:#687e70;margin-bottom:25px;overflow-wrap:anywhere}.login-card .notice{margin-bottom:20px}.password-field{position:relative;display:flex;align-items:center}.password-field input{padding-right:48px}.password-field .icon-button{position:absolute;right:5px}.login-help,.login-footer{font-size:14px;color:#647b6b;line-height:1.75}.login-help{margin-top:22px}.login-footer{text-align:center}.login-access-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}@media(max-width:650px){.login-page{padding:24px 18px}.login-layout{display:block;margin:30px 0 20px}.login-art{display:none}.login-card{padding:26px 22px}.login-card h1{font-size:27px}.login-brand{font-size:30px}}.example-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.flashcard .example-row{justify-content:center}.example-row .icon-button{min-width:32px;min-height:32px;padding:4px}
