@import "https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&display=swap";:root{color:#303e36;font-synthesis:none;--green:#315d4b;--green-dark:#294f40;--green-light:#eaf0e8;--muted:#63725f;--line:#e8eae3;--paper:#fff;--serif:"Signika",sans-serif;--japanese:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;background:#f8f9f6;font-family:Signika,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.45}input,select{color:inherit}button,input,select,a{outline-offset:4px}button:focus-visible{outline:2px solid #62866b}a:focus-visible{outline:2px solid #62866b}input:focus-visible{outline:2px solid #62866b}select:focus-visible{outline:2px solid #62866b}button,a{touch-action:manipulation}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.3}svg{flex-shrink:0}a,button{transition:background .16s,color .16s,border-color .16s,box-shadow .16s,transform .16s}input::-webkit-input-placeholder{color:var(--muted)}input::-ms-input-placeholder{color:var(--muted)}input::placeholder{color:var(--muted)}strong{font-weight:600}[lang=ja]{font-family:var(--japanese)}.muted{color:var(--muted)}.full{width:100%}.eyebrow{color:#78816f;letter-spacing:1.8px;font-size:14px;font-weight:600;line-height:1.6;display:block}.status-dot{background:#7c9c77;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.button{letter-spacing:.1px;white-space:nowrap;border:1px solid transparent;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:10px 18px;font-size:16px;font-weight:550;display:inline-flex}.button.primary{background:var(--green);color:#fff}.button.primary:not(:disabled):hover{background:#254a39;transform:translateY(-1px);box-shadow:0 3px 10px rgba(41,79,64,.125)}.button.secondary{color:#52624e;background:#fff;border-color:#dfe4da}.button.secondary:not(:disabled):hover{background:#f0f4ed;border-color:#c8d2c1}.icon-button{color:#7b867a;border-radius:5px;justify-content:center;align-items:center;width:32px;height:32px;padding:5px;display:inline-flex}.icon-button:hover{color:var(--green);background:#eaf0e6}.text-link,.text-button{color:var(--green);justify-content:center;align-items:center;gap:7px;padding:0;font-size:14px;font-weight:550;display:inline-flex}.text-link:hover,.text-button:hover{color:#183d2b}.text-link:hover svg{transform:translate(2px)}.text-button:disabled{opacity:.5}.field-error{color:#a54e3c;margin:10px 0;font-size:14px;line-height:1.6}.notice,.setup-note{color:#8d8060;background:#f5f2e9;border:1px solid #ede7d7;border-radius:6px;padding:11px 13px;font-size:14px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.brand{letter-spacing:-.8px;color:#344c3e;align-items:center;gap:10px;font-size:23px;font-weight:650;line-height:1.1;display:flex}.brand-mark{width:39px;height:42px;color:var(--muted);font-family:var(--japanese);background:#315d4b;border-radius:9px;justify-content:center;align-items:center;padding-bottom:3px;font-size:30px;font-weight:400;line-height:1;display:flex}.brand-type{font-weight:450}.brand small{color:var(--muted);letter-spacing:2.4px;margin-top:7px;font-size:12px;font-weight:500;display:block}.brand-light{color:#fff}.brand-link{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;display:block}.brand-link:focus-visible{border-radius:4px}.brand-light .brand-mark{color:var(--green);background:#fff}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:238px;padding:32px 21px 0;display:flex;position:fixed;top:0;bottom:0;left:0;right:auto}.sidebar .brand-link{margin-left:5px}.nav-label{color:var(--muted);letter-spacing:1.6px;margin:51px 13px 15px;font-size:12px}.main-nav{flex-direction:column;gap:7px;display:flex}.main-nav>a{color:#7a8478;white-space:nowrap;border-radius:7px;align-items:center;gap:11px;padding:13px 12px;font-size:14px;font-weight:500;display:flex;position:relative}.main-nav>a:hover{color:var(--green);background:#f5f7f1}.main-nav>a.active{color:#3e664b;background:#edf2e8;font-weight:600}.main-nav .nav-count{color:#5c7551;background:#dce8d4;border-radius:4px;margin-left:auto;padding:0 5px;font-size:12px}.sidebar-note{background:#f7f8f1;border:1px solid #ebeee1;border-radius:9px;margin-top:42px;padding:17px}.note-icon{color:var(--muted);background:#edf0df;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;margin-bottom:13px;display:flex}.sidebar-note strong{color:#536247;font-size:16px}.sidebar-note p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.85}.sidebar-note a{color:#6d815b;align-items:center;gap:7px;margin-top:16px;font-size:14px;font-weight:600;display:flex}.sidebar-bottom{margin-top:auto;padding-top:50px}.small-divider{background:var(--line);height:1px;margin-bottom:18px}.sidebar-help{color:var(--muted);gap:9px;padding:7px;font-size:14px;display:flex}.profile{border-top:1px solid var(--line);align-items:center;gap:9px;margin:21px -21px 0;padding:17px;display:flex}.avatar{color:#6d7c5b;background:#e7ebe1;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:550;display:flex}.profile>div{flex:1;min-width:0}.profile strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.profile small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.profile .icon-button{width:24px;height:26px}.main-shell{flex-direction:column;min-height:100vh;margin-left:238px;display:flex}.topbar{border-bottom:1px solid var(--line);background:rgba(255,255,255,.7);justify-content:space-between;align-items:center;gap:20px;height:73px;min-height:73px;padding:0 44px;display:flex}.breadcrumb{color:var(--muted);white-space:nowrap;align-items:center;gap:13px;font-size:14px;display:flex}.breadcrumb svg{color:var(--muted)}.breadcrumb strong{color:#5b6c55;font-weight:500}.topbar-right{align-items:center;gap:24px;display:flex}.daily-mini{color:var(--muted);align-items:center;gap:7px;font-size:14px;display:flex}.daily-mini svg{color:var(--muted)}.daily-mini strong{color:#5c7350;font-size:14px;font-weight:500}.plan-pill{color:#64775a;background:#fff;border:1px solid #dfe6d8;border-radius:5px;align-items:center;gap:7px;padding:6px 11px;font-size:14px;display:flex}.plan-pill span{background:#84a573;border-radius:50%;width:5px;height:5px}.plan-pill:hover{background:#eef3e9}.mobile-menu,.mobile-close{display:none}main{flex:1}.page{max-width:1510px;margin:auto;padding:35px 44px 45px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.page-heading .eyebrow{letter-spacing:1.7px;margin-bottom:8px;font-size:12px}.page-heading h1,.practice-heading h1{letter-spacing:-1px;color:#354539;font-size:27px;font-weight:550}.heading-dot{color:var(--muted)}.page-heading p,.practice-heading>div>p{color:var(--muted);margin-top:8px;font-size:14px}.quiet-label{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;margin-top:26px;font-size:12px;display:flex}.site-footer{width:100%;max-width:1510px;color:var(--muted);border-top:1px solid #e8ebe1;justify-content:space-between;align-items:center;gap:14px;margin:auto;padding:19px 44px;font-size:12px;display:flex}.site-footer>[lang=ja]{font-family:inherit;font-size:12px}.footer-dot{margin:0 7px}.site-footer span:last-child{white-space:nowrap}.hero-card{isolation:isolate;background:#edf0e3;border:1px solid #e5e8db;border-radius:12px;min-height:278px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:2;min-width:48%;padding:28px 34px;position:relative}.hero-tag{color:#6f825b;letter-spacing:1.4px;align-items:center;gap:7px;margin-bottom:12px;font-size:12px;font-weight:550;display:inline-flex}.hero-copy h2{font-family:var(--serif);letter-spacing:-1px;color:#3b5141;font-size:36px;font-weight:400;line-height:1.16}.hero-copy h2 em{color:#66805a;font-weight:400}.hero-copy>p{color:var(--muted);margin-top:13px;font-size:14px;line-height:1.85}.hero-copy>.button{min-height:38px;margin-top:20px;padding:8px 15px;font-size:14px}.hero-bottom{color:var(--muted);align-items:center;gap:10px;margin-top:19px;font-size:12px;display:flex}.hero-avatars{padding-left:0;display:flex}.hero-avatars i{width:21px;height:21px;color:var(--muted);font-family:var(--japanese);background:#e2e7d5;border:2px solid #edf0e3;border-radius:50%;justify-content:center;align-items:center;margin-left:-4px;font-size:14px;font-style:normal;display:flex}.hero-avatars i:first-child{background:#dae1cb;margin-left:0}.hero-art{align-items:flex-end;width:51%;height:100%;display:flex;position:absolute;bottom:-1px;right:0}.hero-art .landscape{object-fit:cover;align-self:flex-end;width:100%;height:100%;overflow:visible}.hero-japanese{writing-mode:vertical-rl;font-family:var(--japanese);color:#66785b;letter-spacing:5px;z-index:2;font-size:16px;position:absolute;top:35px;right:44px}.hero-stamp{color:var(--muted);z-index:2;border:1px solid #bf947c;padding:3px 5px;font-size:14px;line-height:1.3;position:absolute;top:165px;right:46px;transform:rotate(-7deg)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;margin-bottom:35px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:17px;display:flex;position:relative}.stat-icon{border-radius:9px;justify-content:center;align-items:center;width:39px;height:39px;display:flex}.stat-icon.sage{color:var(--muted);background:#edf2e7}.stat-icon.peach{color:var(--muted);background:#f8eee5}.stat-icon.cream{color:var(--muted);background:#f8f4e5}.stat>div>span{color:var(--muted);font-size:12px;display:block}.stat>div>strong{color:#4c5c46;letter-spacing:-.5px;margin-top:4px;font-size:23px;font-weight:550;line-height:1.3;display:block}.stat strong small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:400}.stat-caption{color:var(--muted);white-space:nowrap;align-self:flex-end;margin-left:auto;padding-bottom:2px;font-size:12px}.learning-layout{grid-template-columns:minmax(0,1fr) 239px;align-items:start;gap:27px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.section-heading h2{letter-spacing:-.5px;font-size:18px;font-weight:550}.section-heading p{color:var(--muted);margin-top:5px;font-size:14px}.section-japanese{color:var(--muted);letter-spacing:3px;font-size:14px}.alphabet-tabs{border-bottom:1px solid #e0e5d8;align-items:center;gap:5px;display:flex}.alphabet-tabs>button{color:var(--muted);white-space:nowrap;border-radius:4px 4px 0 0;justify-content:center;align-items:center;gap:7px;padding:12px 12px 13px;font-size:14px;display:flex;position:relative}.alphabet-tabs>button[aria-selected=true]{color:#496942;font-weight:600}.alphabet-tabs>button[aria-selected=true]:after{content:"";background:#759063;height:2px;position:absolute;bottom:-1px;left:0;right:0}.alphabet-tabs>button:hover{background:#eff2e9}.alphabet-tabs>button>[lang=ja]{font-size:16px;line-height:1}.tab-count{color:var(--muted);background:#e6eddf;border-radius:3px;padding:1px 5px;font-size:12px}.coming-label{color:var(--muted);background:#eff1ea;border-radius:3px;padding:2px 4px;font-size:12px}.catalog-toolbar{align-items:center;gap:10px;margin-top:23px;display:flex}.group-select{position:relative}.group-select select{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;cursor:pointer;color:#637557;background:#fff;border:1px solid #e1e6d9;border-radius:5px;max-width:180px;height:34px;padding:8px 30px 8px 11px;font-size:12px;font-weight:500}.group-select>svg{pointer-events:none;color:var(--muted);position:absolute;top:10px;right:9px}.catalog-search{height:34px;color:var(--muted);background:#fff;border:1px solid #e2e6dc;border-radius:5px;align-items:center;gap:8px;width:40%;max-width:180px;margin-left:auto;padding:0 9px;display:flex}.catalog-search input{background:0 0;border:none;outline:none;width:100%;min-width:0;font-size:12px}.catalog-search:focus-within{border-color:#94aa83}.catalog-search .icon-button{width:20px;padding:0}.filter-button{height:34px;color:var(--muted);background:#fff;border:1px solid #e0e5d9;border-radius:5px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:flex}.filter-button:hover,.filter-button.active{color:#547247;background:#eaf0e3}.filter-dot{background:var(--green);border-radius:50%;width:4px;height:4px}.filter-options{background:#f0f3ea;border:1px solid #e1e7d7;border-radius:6px;flex-wrap:wrap;gap:6px;margin-top:9px;padding:10px;display:flex}.filter-options>button{color:var(--muted);background:#fff;border:1px solid #dfe5d5;border-radius:4px;align-items:center;padding:4px 8px;font-size:12px;display:flex}.filter-options>button.selected{color:#4c6a3f;background:#dae5d1;border-color:#c4d3b8}.grid-key{color:var(--muted);align-items:center;gap:15px;margin:19px 0 17px;font-size:12px;display:flex}.grid-key>span{align-items:center;gap:5px;display:flex}.grid-key i{border-radius:50%;width:5px;height:5px}.key-new{background:#d4dace}.key-practiced{background:#dcbba0}.key-learned{background:#90ad79}.visible-count{color:var(--muted);margin-left:auto}.kana-rows{flex-direction:column;gap:17px;display:flex}.kana-row{align-items:center;gap:14px;display:flex}.row-label{letter-spacing:.3px;color:var(--muted);flex-shrink:0;width:32px;font-size:12px;line-height:1.4}.kana-grid{flex:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.kana-card{background:#fff;border:1px solid #e2e7db;border-radius:7px;min-width:0;transition:box-shadow .16s,transform .16s,border-color .16s;position:relative;overflow:hidden}.kana-card:hover{border-color:#a8bb96;transform:translateY(-3px);box-shadow:0 5px 15px rgba(57,75,44,.043)}.kana-card a{border-radius:5px;flex-direction:column;align-items:center;min-height:103px;padding:17px 8px 11px;display:flex}.kana-character{font-family:var(--japanese);color:#55644b;letter-spacing:-2px;font-size:35px;font-weight:400;line-height:1.3}.kana-romaji{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5}.kana-card-line{background:#e2e8da;border-radius:1px;width:10px;height:2px;margin-top:9px}.bookmark-button{color:var(--muted);opacity:0;border-radius:4px;padding:4px;display:flex;position:absolute;top:3px;right:4px}.kana-card:hover .bookmark-button,.bookmark-button.bookmarked{opacity:1}.bookmark-button:focus-visible{opacity:1}.bookmark-button:hover{color:var(--muted);background:#eef2e9}.bookmark-button.bookmarked{color:var(--muted)}.bookmark-button.bookmarked svg{fill:#e9efd9}.learned-check{color:var(--muted);display:flex;position:absolute;top:5px;left:6px}.kana-learned{background:#f1f6e9;border-color:#d7e3c8}.kana-practiced{background:#fffcf7;border-color:#e8dfcf}.kana-card .stars{gap:1px;margin-top:7px}.combination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.combination-grid .kana-character{letter-spacing:0;font-size:30px}.inline-notice{color:#738765;background:#f0f4e9;border-radius:5px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px;font-size:14px;display:flex}.catalog-footnote{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:10px;margin-top:25px;padding-top:17px;font-size:12px;display:flex}.catalog-footnote span{white-space:nowrap}.right-rail{padding-top:4px}.daily-card{text-align:center;background:#fff;border:1px solid #e4e8dc;border-radius:9px;padding:20px 18px}.rail-title{text-align:left;align-items:center;gap:8px;display:flex}.rail-title h3{color:#647458;font-size:14px;font-weight:550}.tiny-icon{color:var(--muted);display:flex}.goal-ring{background:conic-gradient(#88a66c var(--progress),#edf1e5 0deg);border-radius:50%;width:107px;height:107px;margin:23px auto 21px;padding:6px;transform:rotate(-35deg)}.goal-ring>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:rotate(35deg)}.goal-ring strong{color:#5c7450;letter-spacing:-1px;font-size:30px;font-weight:500;line-height:1.2}.goal-ring strong small{color:var(--muted);letter-spacing:0;font-size:16px;font-weight:400}.goal-ring div>span{color:var(--muted);margin-top:4px;font-size:12px}.daily-card h4{color:#788660;font-size:14px;font-weight:550;line-height:1.65}.daily-card>p{color:var(--muted);margin-top:9px;font-size:14px;line-height:1.9}.daily-card .text-link{margin-top:18px;font-size:14px}.tip-card{background:#f5f3e9;border:1px solid #e8e6d8;border-radius:9px;margin-top:19px;padding:20px 18px}.tip-eyebrow{letter-spacing:1px;color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.tip-character{letter-spacing:3px;color:var(--muted);margin-top:24px;margin-bottom:18px;font-size:23px;display:block}.tip-card h3{color:#7e8066;font-size:16px;line-height:1.55}.tip-card>p{color:var(--muted);margin-top:9px;font-size:14px;line-height:1.9}.tip-card>a{color:var(--muted);align-items:center;gap:5px;margin-top:18px;font-size:12px;font-weight:550;display:flex}.rail-quote{text-align:center;color:var(--muted);margin-top:35px}.rail-quote>span{letter-spacing:6px;font-size:17px}.rail-quote>p{letter-spacing:.5px;margin-top:8px;font-size:12px}.auth-shell{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{isolation:isolate;background:#edf0e5;flex-direction:column;min-height:780px;padding:43px 55px;display:flex;position:relative;overflow:hidden}.auth-story .brand{z-index:3;font-size:27px}.auth-story .brand-mark{width:44px;height:46px}.auth-story-copy{z-index:2;margin-top:76px;position:relative}.auth-story-copy .eyebrow{letter-spacing:2px;color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.auth-story-copy .eyebrow>span{background:#9dad88;border-radius:50%;width:5px;height:5px}.auth-story-copy h1{font-family:var(--serif);letter-spacing:-1.9px;color:#3b5141;margin-top:21px;font-size:53px;font-weight:400;line-height:1.14}.auth-story-copy h1 em{color:var(--muted);font-style:italic;font-weight:400}.auth-story-copy>p{color:var(--muted);margin-top:22px;font-size:16px;line-height:1.9}.auth-sample{background:rgba(250,251,244,.81);border:1px solid rgba(255,255,255,.66);border-radius:10px;align-items:center;gap:18px;max-width:370px;margin-top:34px;padding:20px 23px;display:flex;box-shadow:0 6px 22px rgba(101,119,76,.03)}.sample-number{color:var(--muted);align-self:flex-start;padding-top:7px;font-size:12px}.auth-sample>[lang=ja]{color:var(--muted);font-size:57px;line-height:1.2}.auth-sample strong{font-family:var(--serif);color:#657f54;font-size:30px;font-weight:400}.auth-sample small{color:var(--muted);margin-top:0;font-size:12px;display:block}.sample-spark{color:var(--muted);margin-left:auto}.auth-landscape{z-index:0;opacity:.8;transform-origin:bottom;pointer-events:none;width:100%;height:auto;position:absolute;bottom:10px;left:0;transform:scale(1.05)}.auth-story-footer{z-index:2;color:var(--muted);text-shadow:0 1px 3px rgba(40,71,56,.19);flex-direction:column;align-items:center;gap:8px;margin-top:auto;padding-top:200px;font-size:12px;display:flex;position:relative}.auth-story-footer>[lang=ja]{letter-spacing:5px;color:var(--muted);font-size:16px}.auth-form-side{flex-direction:column;align-items:center;padding:34px 45px 24px;display:flex;position:relative}.auth-top-note{color:var(--muted);align-self:flex-end;align-items:center;gap:8px;font-size:12px;display:flex}.auth-form-wrap{width:100%;max-width:335px;margin:auto;padding:52px 0 35px}.auth-form-icon{width:47px;height:47px;color:var(--muted);background:#f4f7ef;border:1px solid #e6ecde;border-radius:12px;justify-content:center;align-items:center;margin-bottom:28px;display:flex}.auth-form-wrap>.eyebrow{color:var(--muted);letter-spacing:1.7px;margin-bottom:12px;font-size:12px}.auth-form-wrap h2{letter-spacing:-.9px;color:#3e4e3b;font-size:27px;font-weight:550}.auth-intro{color:var(--muted);margin-top:12px;margin-bottom:26px;font-size:14px;line-height:1.9}.google-button{color:#586a4e;background:#fff;border-color:#e0e6d8;min-height:45px;font-size:14px}.google-button:hover:not(:disabled){background:#f2f5ee}.or-divider{color:var(--muted);align-items:center;gap:13px;margin:19px 0;font-size:12px;display:flex}.or-divider>span{background:#e9ece3;flex:1;height:1px}.auth-form-wrap label{color:#6e7c60;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.input-with-icon{height:45px;color:var(--muted);border:1px solid #e0e6d8;border-radius:6px;align-items:center;gap:9px;padding:0 12px;display:flex}.input-with-icon:focus-within{border-color:#92aa80;box-shadow:0 0 0 3px rgba(146,170,128,.063)}.input-with-icon input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:14px}.auth-submit{min-height:44px;margin-top:15px;font-size:14px}.auth-passwordless{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:11px 0 0;font-size:12px;display:flex}.setup-note{color:var(--muted);background:#f8f6ed;border-color:#f0ecdd;margin:17px 0 0;padding:9px 11px;font-size:12px}.demo-entry{text-align:center;border-top:1px solid #e9ece3;margin-top:23px;padding-top:20px}.demo-entry>span{color:var(--muted);margin-bottom:12px;font-size:12px;display:block}.demo-entry small{color:var(--muted);margin-top:9px;font-size:12px;display:block}.auth-benefits{justify-content:center;gap:19px;margin-top:24px;display:flex}.auth-benefits>span{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.auth-privacy{color:var(--muted);text-align:center;margin-top:23px;font-size:12px;line-height:1.9}.auth-privacy .text-button{color:var(--muted);font-size:12px;font-weight:400;text-decoration:underline}.auth-bottom-note{color:var(--muted);font-size:12px}.otp-input{letter-spacing:12px;text-align:center;color:#58714a;background:#f9fbf6;border:1px solid #d5e0cc;border-radius:8px;width:100%;height:60px;padding-left:12px;font-size:24px}.code-options{justify-content:space-between;margin-top:19px;display:flex}.code-options .text-button{font-size:14px}.practice-back-row{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.back-link{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.back-link:hover{color:var(--green)}.character-pagination{color:#6c805c;align-items:center;gap:15px;font-size:14px;display:flex}.character-pagination>a{width:28px;height:28px;color:var(--muted);background:#fff;border:1px solid #e0e6d8;border-radius:5px;justify-content:center;align-items:center;display:flex}.character-pagination>a:hover{background:#eaf1e2}.character-pagination>span>span{color:var(--muted)}.practice-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.practice-heading .eyebrow{margin-bottom:8px;font-size:12px}.practice-heading h1{font-size:27px}.save-character{min-height:36px;padding:7px 12px;font-size:14px}.save-character.is-saved{background:#edf4e5;border-color:#cbdcb8}.save-character.is-saved svg{fill:#cfdfbf}.practice-layout{grid-template-columns:224px minmax(0,1fr);align-items:start;gap:24px;display:grid}.character-details{flex-direction:column;gap:17px;display:flex}.character-reference{text-align:center;background:#fff;border:1px solid #e2e8d9;border-radius:9px;padding:19px 18px}.reference-label{color:var(--muted);letter-spacing:.5px;justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.reference-badge{font-family:var(--japanese);letter-spacing:1px;color:var(--muted);background:#f3f6ee;border-radius:3px;padding:2px 5px;font-size:12px}.detail-character{color:#567348;letter-spacing:-8px;margin-top:10px;font-size:100px;font-weight:400;line-height:1.5;display:block}.detail-romaji{font-family:var(--serif);color:var(--muted);margin-top:-3px;font-size:27px;line-height:1}.detail-stroke-count{color:var(--muted);margin-top:10px;font-size:12px;display:block}.audio-button{color:var(--muted);background:#eef4e6;border:1px solid #e2ebd7;gap:8px;min-height:36px;margin-top:19px;padding:7px 8px;font-size:14px}.audio-button:hover{background:#e5efd9}.audio-button.playing{background:#dce9cc}.pronunciation{color:var(--muted);text-align:left;margin-top:15px;font-size:14px;line-height:1.9}.stroke-order-card{background:#fff;border:1px solid #e2e8d9;border-radius:9px;padding:18px}.stroke-order-card .rail-title{color:var(--muted)}.stroke-order-card .rail-title h3{font-size:14px}.stroke-animation{fill:none;stroke:#8da47a;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:120px;height:120px;margin:8px auto 0;display:block}.stroke-animation path{stroke-dasharray:1;stroke-dashoffset:1px;animation:.8s forwards draw-stroke}@keyframes draw-stroke{to{stroke-dashoffset:0}}.replay-button{color:var(--muted);margin:3px auto 0;font-size:12px;display:flex}.stroke-order-card>p{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.85}.word-card{background:#f0f3e8;border:1px solid #e6eadb;border-radius:8px;padding:16px 18px}.word-card .eyebrow{letter-spacing:1px;color:var(--muted);font-size:12px}.word-card>strong{color:var(--muted);margin-top:9px;font-size:24px;font-weight:400;display:block}.word-card>span:last-child{color:var(--muted);margin-top:5px;font-size:12px;display:block}.word-card i{color:var(--muted);margin:0 4px;font-style:normal}.practice-workspace{min-width:0}.pad-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.pad-heading h2{letter-spacing:-.4px;font-size:18px;font-weight:550}.pad-heading p{color:var(--muted);margin-top:5px;font-size:14px}.pad-heading p strong{font-family:var(--japanese);color:var(--muted)}.local-label{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.local-label>span{background:#a2b58e;border-radius:50%;width:5px;height:5px}.pad-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.pad-toggles,.pad-actions{align-items:center;gap:8px;display:flex}.pad-toggles>button{color:var(--muted);background:#fff;border:1px solid #e3e9db;border-radius:5px;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:12px;display:flex}.pad-toggles>button.active{color:var(--muted);background:#edf3e4;border-color:#d7e5c9}.pad-toggles>button:hover{background:#e9f0e1}.pad-actions{gap:4px}.pad-actions .icon-button{width:31px;height:31px;color:var(--muted);background:#fff;border:1px solid #e3e9db}.writing-pad{background:#fff;border:1px solid #dce4d3;border-radius:9px;position:relative;overflow:hidden;box-shadow:0 3px 15px rgba(104,130,74,.016)}.pad-svg{touch-action:none;cursor:crosshair;width:100%;height:auto;min-height:280px;max-height:500px;display:block}.pad-grid{stroke:#e7ecdf;stroke-width:.25px;stroke-dasharray:1.3 1.3;fill:none}.pad-diagonals{opacity:.65}.pad-guide-box{stroke-dasharray:none;opacity:.4}.pad-reference{fill:none;stroke:#d8e2cb;stroke-width:2.7px;stroke-linecap:round;stroke-linejoin:round}.pad-reference-numbers circle{fill:#b8c7a3}.pad-reference-numbers text{fill:#fff;text-anchor:middle;stroke:none;font-family:inherit;font-size:4px}.user-strokes{fill:none;stroke:#3d5f37;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.pad-empty{pointer-events:none;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:35px;left:0;right:0}.pad-empty>span{width:49px;height:49px;color:var(--muted);background:#f6f8f1;border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.pad-empty>p{color:var(--muted);background:rgba(255,255,255,.79);padding:2px 7px;font-size:16px}.pad-empty>small{color:var(--muted);background:rgba(255,255,255,.79);margin-top:5px;padding:2px 7px;font-size:12px}.pad-bottom{color:var(--muted);pointer-events:none;background:#fdfefb;border-top:1px solid #f0f3e9;justify-content:space-between;gap:10px;padding:10px 15px;font-size:12px;display:flex}.pad-bottom>span:last-child{color:var(--muted)}.evaluate-row{justify-content:space-between;align-items:center;gap:15px;margin-top:17px;display:flex}.evaluate-row>p{color:var(--muted);align-items:flex-start;gap:6px;max-width:300px;font-size:12px;line-height:1.75;display:flex}.evaluate-row>p svg{color:var(--muted);margin-top:2px}.evaluate-row .button{min-height:40px;padding:8px 16px;font-size:14px}.before-evaluation{background:#f1f4ea;border:1px solid #e9ecdf;border-radius:7px;align-items:center;gap:12px;margin-top:22px;padding:19px;display:flex}.before-evaluation>span{width:37px;height:37px;color:var(--muted);background:#e8efdc;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.before-evaluation strong{color:var(--muted);font-size:14px;font-weight:500}.before-evaluation p{color:var(--muted);margin-top:3px;font-size:12px}.practice-next{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:24px;padding-top:22px;display:flex}.practice-next>.text-link{color:var(--muted);font-size:14px}.practice-next .button{min-height:36px;padding:7px 12px;font-size:14px}.practice-next .button>[lang=ja]{color:var(--muted);font-size:17px}.evaluation-card{background:#fff;border:1px solid #dce6cf;border-radius:9px;margin-top:23px;animation:.3s fade-up;overflow:hidden}@keyframes fade-up{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.evaluation-main{padding:22px}.evaluation-title{align-items:center;gap:10px;display:flex}.evaluation-spark{width:40px;height:40px;color:var(--muted);background:#f0f4e4;border-radius:50%;justify-content:center;align-items:center;display:flex}.evaluation-title .eyebrow{letter-spacing:1.2px;color:var(--muted);font-size:12px}.evaluation-title h3{color:#677d54;margin-top:3px;font-size:16px;font-weight:550}.evaluation-title .icon-button{color:var(--muted);margin-left:auto}.evaluation-stars{align-items:center;gap:16px;margin:19px 0 13px;display:flex}.stars{color:var(--muted);gap:5px;line-height:1;display:inline-flex}.stars svg{fill:#e9ecdf;stroke:#e5e9db;stroke-width:1.5px;width:23px;height:23px}.stars svg.filled{fill:#d1b16b;stroke:#d1b16b}.stars-small{gap:3px}.stars-small svg{width:12px;height:12px}.evaluation-stars>strong{color:var(--muted);font-size:21px;font-weight:500;line-height:1}.evaluation-stars>strong>span{color:var(--muted);margin-left:2px;font-size:16px}.guided-pill{color:var(--muted);background:#f4f3e8;border-radius:4px;margin-left:auto;padding:3px 7px;font-size:12px}.evaluation-main>p{color:var(--muted);font-size:14px;line-height:1.9}.evaluation-metrics{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.evaluation-metrics>div{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:12px;display:flex}.evaluation-metrics strong{color:var(--muted);font-size:12px}.evaluation-metrics i{background:linear-gradient(to right,#adbd94 var(--metric),#eef2e5 var(--metric));border-radius:2px;width:100%;height:3px}.k49-comparison{background:#f9fbf5;border-top:1px solid #e9eedf;padding:17px 22px}.k49-title{color:var(--muted);letter-spacing:1.1px;align-items:center;gap:8px;font-size:12px;display:flex}.experimental-tag{letter-spacing:0;color:var(--muted);background:#f0f4e7;border:1px solid #e2e8d6;border-radius:3px;padding:1px 5px;font-size:12px}.k49-match{align-items:center;gap:11px;margin-top:12px;display:flex}.pixel-sample{width:42px;height:42px;image-rendering:pixelated;border:1px solid #e0e8d5;border-radius:5px;flex-shrink:0;display:block}.k49-match strong{color:var(--muted);font-size:14px;font-weight:500;display:block}.k49-match>div>span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.k49-comparison>p{color:var(--muted);align-items:center;gap:6px;margin-top:9px;font-size:12px;line-height:1.75;display:flex}.evaluation-footer{background:#fff;border-top:1px solid #e9eedf;justify-content:space-between;gap:12px;padding:12px 22px;display:flex}.evaluation-footer>span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.evaluation-footer .text-link{color:var(--muted);font-size:12px}.progress-stats{grid-template-columns:repeat(4,1fr);gap:18px;margin:29px 0;display:grid}.progress-stat{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;align-items:flex-start;padding:22px;display:flex}.progress-stat>svg{width:20px;color:var(--muted);margin-bottom:17px}.progress-stat>span{color:var(--muted);font-size:14px}.progress-stat>strong{color:#6c8458;margin-top:4px;font-size:32px;font-weight:500;line-height:1.4}.progress-stat strong small{color:var(--muted);font-size:16px;font-weight:400}.progress-panels{grid-template-columns:1.3fr 1fr;gap:23px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;padding:25px}.panel h2{color:#5a6c4f;letter-spacing:-.4px;font-size:17px;font-weight:550}.panel>.muted{color:var(--muted);margin-top:5px;font-size:14px}.weekly-chart{align-items:stretch;gap:18px;height:185px;padding-top:25px;display:flex}.chart-column{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:7px;font-size:12px;display:flex}.chart-column>strong{color:var(--muted);font-size:12px;line-height:1}.bar-track{background:#f5f7ef;border-radius:4px;flex:1;align-items:flex-end;width:70%;max-width:40px;display:flex;overflow:hidden}.bar-track>i{background:#acc295;border-radius:4px;width:100%;min-height:2px}.chart-column:last-child .bar-track>i{background:#7c9e63}.mastery-panel{background:#edf2e5;padding:27px}.mastery-panel .eyebrow{color:var(--muted);font-size:12px}.mastery-panel>strong{color:var(--muted);letter-spacing:-2px;margin-top:14px;font-size:43px;font-weight:400;display:block}.mastery-panel>strong small{color:var(--muted);letter-spacing:0;font-size:19px;font-weight:400}.mastery-panel>h2{color:var(--muted);margin-top:7px;font-size:16px;line-height:1.6}.mastery-panel>p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.9}.progress-track{background:#dfe8d2;border-radius:3px;height:4px;margin-top:20px;overflow:hidden}.progress-track>i{background:#9fb888;border-radius:3px;height:100%;display:block}.mastery-panel .text-link{color:var(--muted);margin-top:23px;font-size:14px}.history-panel{margin-top:25px}.history-label{color:var(--muted);font-size:12px}.attempt-list{margin-top:14px}.attempt{border-top:1px solid #eef1e7;align-items:center;gap:20px;padding:14px 5px;display:flex}.attempt:hover{background:#f9fbf5}.attempt-character{font-family:var(--japanese);text-align:center;min-width:43px;color:var(--muted);font-size:30px;display:inline-block}.attempt>div{flex:1}.attempt>div>strong{color:var(--muted);font-size:16px;display:block}.attempt>div>small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.attempt-guided{color:var(--muted);font-size:12px}.attempt>.muted{color:var(--muted)}.progress-note{text-align:center;color:var(--muted);margin-top:20px;font-size:12px}.empty-state{text-align:center;min-height:240px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:28px 20px;display:flex}.empty-icon{color:var(--muted);background:#edf2e5;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:17px;display:flex}.empty-state h3{color:var(--muted);font-size:16px;font-weight:500}.empty-state p{color:var(--muted);max-width:370px;margin-top:9px;font-size:14px;line-height:1.9}.empty-state .button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:18px auto 0;font-size:14px;display:flex}.guide-page{max-width:1200px}.guide-sprout{color:var(--muted)}.guide-banner{background:#edf1e4;border:1px solid #e1e8d8;border-radius:11px;align-items:center;min-height:180px;padding:30px 35px;display:flex;position:relative;overflow:hidden}.guide-banner>div{z-index:2;position:relative}.guide-banner .eyebrow{letter-spacing:1.3px;color:var(--muted);font-size:12px}.guide-banner h2{font-family:var(--serif);color:#6f875b;letter-spacing:-.5px;margin-top:13px;font-size:31px;font-weight:400}.guide-banner p{color:var(--muted);margin-top:10px;font-size:14px}.guide-banner .landscape{opacity:.75;width:38%;position:absolute;bottom:0;right:0}.guide-steps{grid-template-columns:repeat(4,1fr);gap:17px;margin:28px 0 37px;display:grid}.guide-step{border:1px solid var(--line);background:#fff;border-radius:9px;padding:21px;position:relative}.guide-step-number{color:var(--muted);font-size:14px;font-family:var(--serif);position:absolute;top:20px;right:17px}.guide-step>svg{color:var(--muted);margin:6px 0 23px}.guide-step h2{color:var(--muted);margin-bottom:12px;font-size:16px;font-weight:550;line-height:1.6}.guide-step p{color:var(--muted);font-size:14px;line-height:1.95}.faq-section{max-width:720px;margin:auto}.faq-section>h2{color:var(--muted);margin-bottom:22px;font-size:20px;font-weight:500}.faq-section details{color:var(--muted);border-top:1px solid #e1e7d8;padding:17px 0}.faq-section details:last-child{border-bottom:1px solid #e1e7d8}.faq-section summary{cursor:pointer;padding-right:22px;font-size:14px;font-weight:500;list-style:none;position:relative}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:"+";color:var(--muted);font-size:17px;font-weight:400;position:absolute;top:-3px;right:2px}.faq-section details[open]>summary:after{content:"−"}.faq-section details p{color:var(--muted);margin-top:12px;padding-right:20px;font-size:14px;line-height:1.95}.guide-cta{text-align:center;margin:48px 0 40px}.guide-cta>span{font-family:var(--japanese);letter-spacing:7px;color:var(--muted);font-size:19px}.guide-cta h2{font-family:var(--serif);color:var(--muted);margin:14px 0 22px;font-size:26px;font-weight:400}.credits{color:var(--muted);text-align:center;max-width:700px;margin:auto;font-size:12px;line-height:1.9}.credits a{text-underline-offset:3px;text-decoration:underline}.credits a:hover{color:var(--muted)}.modal{color:#6c8059;background:#fff;border:1px solid #dce5d0;border-radius:13px;width:calc(100% - 40px);max-width:470px;padding:27px;box-shadow:0 15px 80px rgba(27,53,47,.125)}.modal::-ms-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(36,58,50,.333)}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(36,58,50,.333)}.modal-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.modal-heading h2{color:#61794f;letter-spacing:-.5px;font-size:19px;font-weight:500}.modal-heading>.icon-button{color:var(--muted)}.modal>p{color:var(--muted);margin:14px 0;font-size:14px;line-height:1.9}.modal>p a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.modal>.button{margin-top:17px}.modal-symbol{color:var(--muted);justify-content:center;margin:24px 0;display:flex}.loading-screen,.error-screen{min-height:100vh;color:var(--muted);background:#f7f9f2;flex-direction:column;justify-content:center;align-items:center;gap:25px;display:flex}.loading-screen>span{font-size:14px}.loading-screen .brand{animation:2s infinite soft-pulse}.error-screen{text-align:center;padding:30px}.error-screen h1{font-size:24px;font-weight:500}.error-screen p{font-size:16px}@keyframes soft-pulse{50%{opacity:.5}}@media (min-width:1550px){.page{padding-top:43px}.hero-card{min-height:315px}.hero-copy{padding:34px 42px}.hero-copy h2{font-size:43px}.hero-copy>p{font-size:16px}.hero-copy>.button,.hero-bottom{margin-top:23px}.hero-art{width:50%}.hero-copy h2 br{display:block}.hero-art .landscape{height:auto}.kana-card a{min-height:116px;padding-top:18px}.kana-character{font-size:40px}.learning-layout{grid-template-columns:minmax(0,1fr) 268px;gap:32px}.kana-grid{gap:13px}.kana-rows{gap:20px}.right-rail{padding-top:3px}.daily-card{padding:23px}.hero-japanese{top:38px;right:56px}.hero-stamp{top:177px;right:58px}}@media (max-width:1250px){.sidebar{width:214px;padding-left:16px;padding-right:16px}.sidebar .brand{gap:8px;font-size:21px}.sidebar .brand-mark{width:36px;height:39px}.main-shell{margin-left:214px}.main-nav>a{gap:9px;padding:13px 10px;font-size:14px}.sidebar-note{padding:16px}.profile{margin-left:-16px;margin-right:-16px;padding:15px}.topbar{padding-left:30px;padding-right:30px}.page{padding:29px 30px 38px}.page-heading h1{font-size:24px}.quiet-label{display:none}.hero-copy{padding:27px}.hero-copy h2{font-size:33px}.hero-art{width:47%}.hero-japanese{font-size:14px;top:34px;right:28px}.hero-stamp{top:155px;right:30px}.stat{gap:9px;padding:14px 12px}.stat-icon{width:34px;height:34px}.stat-caption{display:none}.learning-layout{grid-template-columns:minmax(0,1fr) 202px;gap:23px}.section-heading h2{font-size:17px}.section-japanese{font-size:12px}.alphabet-tabs>button{gap:5px;padding:11px 8px;font-size:12px}.coming-label{display:none}.catalog-toolbar{gap:7px}.group-select select{max-width:155px;font-size:12px}.catalog-search{gap:6px;padding:0 8px}.catalog-search input{font-size:12px}.filter-button{padding:7px;font-size:12px}.row-label{width:27px;font-size:12px}.kana-row{gap:9px}.kana-grid{gap:8px}.kana-card a{min-height:92px;padding-top:14px}.kana-character{font-size:30px}.daily-card{padding:18px 15px}.daily-card h4{font-size:14px}.daily-card>p{font-size:12px}.tip-card{padding:19px 15px}.tip-card h3{font-size:14px}.tip-card>p{font-size:12px}.tip-character{font-size:22px}.practice-layout{grid-template-columns:197px minmax(0,1fr);gap:20px}.practice-heading h1{font-size:24px}.practice-heading .save-character{font-size:12px}.detail-character{font-size:90px}.pad-heading h2{font-size:17px}.local-label,.evaluate-row>p{font-size:12px}.site-footer{padding-left:30px;padding-right:30px;font-size:12px}.site-footer>[lang=ja]{font-size:12px}.auth-story{padding:38px 40px}.auth-story-copy h1{font-size:46px}.auth-sample{padding:18px}.auth-story-copy{margin-top:75px}.guide-steps{gap:12px}.guide-step{padding:17px}.guide-step h2{font-size:14px}.guide-step p{font-size:12px}}@media (max-width:1050px){.learning-layout{grid-template-columns:minmax(0,1fr)}.right-rail{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;margin-top:10px;display:grid}.daily-card{text-align:left;flex-direction:column;justify-content:center;min-height:183px;padding-left:125px;display:flex;position:relative}.daily-card .rail-title{margin-bottom:9px}.daily-card .goal-ring{width:90px;height:90px;margin:0;position:absolute;top:38px;left:15px}.daily-card .goal-ring strong{font-size:23px}.daily-card .goal-ring strong small{font-size:16px}.daily-card .goal-ring div>span{font-size:12px}.daily-card h4{font-size:14px}.daily-card .text-link{align-self:flex-start;margin-top:10px;font-size:12px}.daily-card>p{font-size:12px}.tip-card{margin:0;padding:18px 20px}.tip-character{margin-top:10px;margin-bottom:10px;font-size:20px}.tip-card>p{font-size:12px}.tip-card>a{margin-top:10px}.rail-quote{display:none}.hero-copy h2{font-size:34px}.hero-art{width:47%}.hero-copy>p{font-size:14px}.hero-japanese{font-size:14px;top:36px;right:22px}.hero-stamp{top:152px;right:24px}.kana-card a{min-height:109px;padding-top:17px}.kana-character{font-size:38px}.kana-grid{gap:11px}.alphabet-tabs>button{padding:12px 14px;font-size:14px}.coming-label{display:initial}.catalog-search{max-width:220px}.catalog-search input{font-size:12px}.filter-button{padding:7px 10px;font-size:12px}.group-select select{max-width:190px;font-size:12px}.catalog-toolbar{gap:11px}.row-label{width:34px}.practice-layout{grid-template-columns:175px minmax(0,1fr);gap:18px}.character-reference{padding:16px 13px}.reference-label,.reference-badge{font-size:12px}.detail-character{letter-spacing:-6px;font-size:80px}.detail-romaji{font-size:24px}.character-reference .audio-button{gap:5px;padding:7px 5px;font-size:12px}.pronunciation{font-size:12px}.stroke-order-card{padding:15px}.stroke-order-card .rail-title{gap:6px}.stroke-order-card .rail-title h3{font-size:14px}.stroke-animation{width:104px;height:104px}.word-card{padding:14px}.pad-heading{align-items:flex-start}.local-label{display:none}.practice-heading h1{font-size:22px}.practice-heading{align-items:flex-start}.save-character{gap:5px;margin-top:25px;padding:7px 9px;font-size:12px}.pad-svg{min-height:265px}.evaluate-row{flex-direction:column;align-items:stretch;gap:11px}.evaluate-row>p{max-width:unset}.evaluate-row .button{align-self:flex-end}.evaluation-title h3{font-size:16px}.evaluation-main{padding:18px}.evaluation-stars>.stars svg{width:20px;height:20px}.evaluation-main>p{font-size:14px}.k49-comparison{padding:15px 18px}.evaluation-footer{flex-wrap:wrap;padding:12px 18px}.progress-stats{gap:12px}.progress-stat{padding:18px}.progress-stat>span{font-size:12px}.progress-stat>strong{font-size:27px}.progress-panels{grid-template-columns:1.2fr 1fr;gap:16px}.panel{padding:21px}.mastery-panel h2{font-size:16px}.mastery-panel>p{font-size:12px}.guide-steps{grid-template-columns:1fr 1fr}.guide-step h2{font-size:16px}.guide-step p{font-size:14px}.auth-story{padding:35px 30px}.auth-story-copy h1{font-size:41px}.auth-story-copy>p{font-size:14px}.auth-form-side{padding-left:32px;padding-right:32px}.auth-form-wrap h2{font-size:25px}.auth-sample{gap:13px;padding:16px}.auth-sample>[lang=ja]{font-size:49px}.auth-sample small{font-size:12px}.auth-story-copy .eyebrow{letter-spacing:1.3px;font-size:12px}.auth-landscape{transform:scale(1.5)}.auth-story-footer{font-size:12px}}@media (max-width:800px){.sidebar{width:200px;padding-top:29px}.main-shell{margin-left:200px}.sidebar .brand{font-size:20px}.main-nav>a{gap:8px;font-size:12px}.main-nav .nav-count{font-size:12px}.sidebar-note{padding:15px}.sidebar-note strong,.sidebar-note p{font-size:14px}.sidebar-note a,.nav-label,.sidebar-help,.profile strong,.profile small{font-size:12px}.topbar{height:64px;min-height:64px;padding:0 23px}.topbar-right{gap:12px}.daily-mini{gap:5px;font-size:12px}.daily-mini strong{font-size:12px}.daily-mini svg{width:13px}.plan-pill{padding:5px 8px;font-size:12px}.breadcrumb{gap:8px;font-size:12px}.page{padding:27px 23px 35px}.page-heading h1{font-size:22px;line-height:1.4}.page-heading .eyebrow{letter-spacing:1.4px;font-size:12px}.page-heading p{font-size:14px}.hero-card{min-height:290px}.hero-copy{padding:25px 23px}.hero-copy h2{font-size:33px}.hero-art{opacity:.8;width:46%}.hero-japanese,.hero-stamp{display:none}.hero-copy>p{font-size:14px}.hero-tag{letter-spacing:1px;font-size:12px}.hero-copy>.button{min-height:35px;font-size:12px}.hero-bottom{font-size:12px}.stats-grid{gap:9px;margin-top:16px;margin-bottom:28px}.stat{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 9px}.stat-icon{border-radius:6px;width:29px;height:29px}.stat-icon svg{width:17px}.stat>div>span{font-size:12px}.stat>div>strong{font-size:21px}.stat strong small{font-size:12px}.section-heading h2{font-size:16px}.section-heading p{font-size:12px}.section-japanese{display:none}.alphabet-tabs>button{gap:5px;padding:12px 10px;font-size:12px}.coming-label{display:none}.catalog-toolbar{gap:7px}.group-select select{max-width:156px;padding-left:9px;font-size:12px}.catalog-search{max-width:160px}.catalog-search input{font-size:12px}.filter-button{padding:7px;font-size:12px}.catalog-search>svg{width:14px}.grid-key{gap:9px;font-size:12px}.grid-key>span{gap:4px}.row-label{width:27px;font-size:12px}.kana-row{gap:8px}.kana-grid{gap:7px}.kana-card a{min-height:90px;padding:13px 4px 10px}.kana-character{font-size:29px}.kana-romaji{font-size:12px}.kana-card-line{margin-top:7px}.bookmark-button{padding:3px;top:1px;right:1px}.bookmark-button svg{width:10px}.kana-rows{gap:13px}.catalog-footnote{font-size:12px}.right-rail{grid-template-columns:1fr 1fr;gap:12px}.daily-card{text-align:center;justify-content:flex-start;padding:16px}.daily-card .goal-ring{width:75px;height:75px;margin:14px auto;position:static}.daily-card .rail-title{justify-content:center}.daily-card .text-link{align-self:center;margin-top:12px}.daily-card h4{font-size:14px}.daily-card>p{font-size:12px}.tip-card{flex-direction:column;padding:17px 14px;display:flex}.tip-eyebrow{letter-spacing:.5px;gap:5px;font-size:12px}.tip-character{letter-spacing:2px;margin-top:20px;margin-bottom:17px;font-size:18px}.tip-card h3{font-size:14px}.tip-card>p{font-size:12px}.tip-card>a{margin-top:auto;padding-top:10px;font-size:12px}.site-footer{padding:17px 23px;font-size:12px}.site-footer>[lang=ja]{display:none}.practice-layout{grid-template-columns:1fr}.character-details{grid-template-columns:1.15fr 1fr;gap:14px;display:grid}.character-reference{grid-row:span 2;padding:14px 18px}.character-reference .detail-character{margin:4px 0 0;font-size:88px;line-height:1.35}.detail-romaji{font-size:22px}.detail-stroke-count{margin-top:7px;font-size:12px}.character-reference .audio-button{margin-top:12px;font-size:14px}.pronunciation{margin-top:10px;font-size:12px;line-height:1.7}.stroke-order-card{padding:14px}.stroke-order-card .rail-title h3{font-size:12px}.stroke-animation{width:84px;height:84px}.stroke-order-card>p{display:none}.replay-button{font-size:12px}.word-card{padding:12px 14px}.word-card .eyebrow{font-size:12px}.word-card>strong{margin-top:5px;font-size:19px}.word-card>span:last-child{font-size:12px}.practice-heading h1{font-size:21px}.practice-heading .eyebrow{font-size:12px}.save-character{gap:0;width:33px;height:33px;min-height:0;padding:7px;font-size:0}.save-character svg{width:15px}.practice-workspace{margin-top:7px}.practice-next .text-link{font-size:12px}.progress-stats{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.progress-stat{padding:17px}.progress-stat>svg{margin-bottom:10px}.progress-stat>span{font-size:12px}.progress-stat>strong{font-size:29px}.progress-panels{grid-template-columns:1fr}.progress-page .page-heading{align-items:flex-start}.progress-page .page-heading>.button{min-height:35px;margin-top:22px;padding:10px;font-size:0}.progress-page .page-heading>.button svg{width:15px}.history-panel{padding:20px}.history-label{display:none}.attempt{gap:12px;padding:12px 0}.attempt-guided{font-size:12px}.attempt-character{min-width:32px;font-size:26px}.attempt>div>small{font-size:12px}.attempt>div>strong{font-size:14px}.attempt .stars svg{width:9px;height:9px}.attempt>.muted{width:13px}.guide-banner{min-height:180px;padding:25px}.guide-banner h2{max-width:220px;font-size:27px;line-height:1.25}.guide-banner .landscape{opacity:.5;width:45%}.guide-banner p{max-width:210px;font-size:14px}.guide-steps{gap:12px}.guide-step{padding:17px}.guide-step>svg{width:23px;margin-bottom:18px}.guide-step h2{font-size:14px}.guide-step p{font-size:12px}.guide-sprout{display:none}.auth-story{padding:30px 26px}.auth-story .brand{font-size:24px}.auth-story-copy h1{letter-spacing:-1px;font-size:35px}.auth-story-copy>p{font-size:14px}.auth-form-side{padding-left:28px;padding-right:28px}.auth-form-wrap{padding-top:38px}.auth-form-wrap h2{font-size:23px}.auth-top-note{font-size:12px}.auth-sample{gap:12px;padding:15px}.auth-sample>.sample-number{display:none}.auth-sample strong{font-size:25px}.auth-sample small{font-size:12px}.sample-spark{display:none}.auth-story-copy .eyebrow{font-size:12px}.auth-story-footer>[lang=ja]{letter-spacing:3px;font-size:14px}}@media (max-width:650px){.sidebar{z-index:60;width:238px;padding:30px 21px 0;transition:transform .2s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar .brand{font-size:23px}.sidebar .brand-mark{width:39px;height:42px}.main-shell{margin-left:0}.mobile-menu{margin-left:-6px;margin-right:1px;display:flex}.mobile-close{color:var(--muted);display:flex;position:absolute;top:33px;right:13px}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:rgba(33,61,50,.25);position:fixed;top:0;bottom:0;left:0;right:0}.main-nav>a{gap:11px;padding:13px 12px;font-size:14px}.main-nav .nav-count{font-size:12px}.sidebar-note strong{font-size:16px}.sidebar-note p,.sidebar-note a,.sidebar-help{font-size:14px}.profile{margin-left:-21px;margin-right:-21px;padding:17px}.profile strong{font-size:14px}.profile small{font-size:12px}.topbar{height:62px;min-height:62px;padding:0 20px}.topbar-right{gap:12px}.daily-mini{font-size:12px}.breadcrumb{gap:6px;font-size:12px}.page{padding:25px 20px 35px}.page-heading{gap:10px;margin-bottom:23px}.page-heading h1{max-width:400px;font-size:24px}.page-heading .eyebrow{letter-spacing:1.5px;font-size:12px}.page-heading p{margin-top:8px;font-size:14px}.hero-card{min-height:280px}.hero-copy{min-width:0;padding:25px}.hero-copy h2{letter-spacing:-1px;font-size:37px}.hero-copy>p{font-size:14px}.hero-tag{font-size:12px}.hero-art{opacity:.7;width:42%}.hero-copy>.button{min-height:38px;font-size:14px}.hero-bottom{margin-top:18px;font-size:12px}.hero-copy br{display:block}.hero-copy h2 em{color:#69875a}.stats-grid{gap:10px;margin-top:15px;margin-bottom:29px}.stat{gap:11px;padding:15px 12px}.stat-icon{width:32px;height:32px}.stat>div>span{font-size:12px}.stat>div>strong{font-size:23px}.stat strong small{font-size:12px}.learning-layout{gap:20px}.section-heading h2{font-size:18px}.section-heading p{font-size:14px}.alphabet-tabs>button{padding:11px 12px;font-size:14px}.alphabet-tabs>button>[lang=ja]{font-size:17px}.catalog-toolbar{margin-top:19px}.group-select select{max-width:172px;height:35px;font-size:12px}.catalog-search{max-width:190px;height:35px}.catalog-search input{font-size:12px}.filter-button{height:35px;padding:7px 9px;font-size:12px}.grid-key{gap:11px;margin:17px 0;font-size:12px}.grid-key>span{gap:4px}.row-label{width:29px;font-size:12px}.kana-grid,.kana-row{gap:9px}.kana-card a{min-height:98px;padding:13px 4px 9px}.kana-character{font-size:34px}.kana-romaji{font-size:12px}.kana-card-line{margin-top:8px}.kana-rows{gap:14px}.bookmark-button{opacity:1;color:var(--muted);top:2px;right:2px}.bookmark-button svg{width:11px;height:11px}.catalog-footnote{font-size:12px}.daily-card{padding:19px}.daily-card .goal-ring{width:86px;height:86px}.daily-card .goal-ring strong{font-size:28px}.daily-card .goal-ring strong small{font-size:16px}.daily-card h4{font-size:14px}.daily-card>p{font-size:12px}.daily-card .text-link{font-size:14px}.tip-card{padding:21px 17px}.tip-eyebrow{font-size:12px}.tip-character{letter-spacing:3px;margin-top:22px;margin-bottom:21px;font-size:21px}.tip-card h3{font-size:16px}.tip-card>p{font-size:14px}.tip-card>a{font-size:12px}.site-footer{padding:16px 20px;font-size:12px}.auth-shell{grid-template-columns:1fr}.auth-story{min-height:unset;padding:25px 24px 28px;display:block;overflow:hidden}.auth-story .brand{z-index:3;font-size:24px;position:relative}.auth-story .brand-mark{width:38px;height:40px;font-size:28px}.auth-story .brand small{font-size:12px}.auth-story-copy{max-width:320px;margin-top:30px}.auth-story-copy .eyebrow{letter-spacing:1.3px;max-width:260px;font-size:12px}.auth-story-copy h1{letter-spacing:-1px;margin-top:13px;font-size:34px}.auth-story-copy>p{margin-top:12px;font-size:14px;line-height:1.8}.auth-story-copy>p br,.auth-sample,.auth-story-footer{display:none}.auth-landscape{opacity:.7;width:45%;bottom:0;left:auto;right:-10px;transform:scale(1.2)}.auth-form-side{padding:0 25px 24px}.auth-top-note{display:none}.auth-form-wrap{max-width:370px;padding:29px 0 20px}.auth-form-icon{display:none}.auth-form-wrap>.eyebrow{margin-bottom:8px;font-size:12px}.auth-form-wrap h2{font-size:25px}.auth-intro{margin-top:10px;margin-bottom:21px;font-size:14px}.auth-passwordless,.setup-note{font-size:12px}.auth-benefits,.demo-entry{margin-top:20px}.auth-bottom-note{font-size:12px}.practice-back-row{margin-bottom:21px}.back-link{font-size:12px}.character-pagination{gap:11px;font-size:14px}.practice-heading h1{font-size:23px}.practice-heading>div>p{font-size:14px}.practice-heading .eyebrow{font-size:12px}.practice-layout{gap:24px}.character-details{grid-template-columns:1.1fr 1fr;gap:13px}.character-reference{padding:17px}.reference-label,.reference-badge{font-size:12px}.character-reference .detail-character{font-size:90px}.character-reference .audio-button{margin-top:14px;font-size:14px}.pronunciation{font-size:12px}.stroke-order-card{padding:17px}.stroke-order-card .rail-title h3{font-size:14px}.stroke-animation{width:100px;height:100px}.replay-button{font-size:12px}.word-card{padding:13px 16px}.word-card .eyebrow{font-size:12px}.word-card>strong{font-size:22px}.word-card>span:last-child{font-size:12px}.pad-heading h2{font-size:18px}.pad-heading p{font-size:14px}.local-label{font-size:12px;display:flex}.pad-svg{min-height:290px}.pad-empty p{font-size:14px}.pad-empty small{font-size:12px}.evaluate-row .button{min-height:42px;font-size:14px}.evaluate-row>p{font-size:12px}.before-evaluation{padding:16px}.before-evaluation strong{font-size:14px}.before-evaluation p{font-size:12px}.evaluation-title h3{font-size:16px}.evaluation-main{padding:20px}.evaluation-stars .stars svg{width:23px;height:23px}.evaluation-main>p{font-size:14px}.evaluation-metrics{gap:12px}.k49-comparison{padding:17px 20px}.k49-match strong{font-size:14px}.k49-comparison>p{font-size:12px}.evaluation-footer{padding:13px 20px}.evaluation-footer>span,.evaluation-footer .text-link{font-size:12px}.practice-next{margin-top:23px}.practice-next .text-link,.practice-next .button{font-size:14px}.progress-page .page-heading h1{font-size:23px}.progress-stat>span{font-size:14px}.progress-stat>strong{font-size:32px}.progress-stat{padding:20px}.progress-panels{gap:17px}.mastery-panel{padding:24px}.mastery-panel>h2{font-size:16px}.mastery-panel>p{font-size:14px}.panel h2{font-size:17px}.history-panel{padding:20px}.attempt-guided{font-size:12px}.attempt-character{font-size:29px}.attempt>div>strong{font-size:14px}.attempt>div>small{font-size:12px}.attempt .stars svg{width:11px;height:11px}.guide-banner{min-height:175px;padding:25px}.guide-banner h2{font-size:29px}.guide-banner p{font-size:14px}.guide-steps{gap:13px;margin-top:21px}.guide-step{padding:20px}.guide-step h2{font-size:16px}.guide-step p{font-size:14px}.faq-section>h2{font-size:19px}.faq-section summary,.faq-section details p{font-size:14px}.guide-cta>h2{font-size:24px}}@media (max-width:400px){.page{padding-left:16px;padding-right:16px}.topbar{padding:0 16px}.topbar-right{gap:8px}.daily-mini{gap:4px;font-size:0}.daily-mini strong{font-size:12px}.daily-mini svg{width:14px}.plan-pill,.breadcrumb{font-size:12px}.page-heading h1{font-size:22px}.hero-copy{padding:24px 20px}.hero-copy h2{font-size:34px}.hero-copy>p{font-size:14px}.hero-bottom{font-size:12px}.hero-art{opacity:.6;width:36%}.stat{padding:13px 10px}.stat>div>span{font-size:12px}.stat>div>strong{font-size:22px}.stats-grid{gap:8px}.alphabet-tabs>button{gap:5px;padding:11px 9px;font-size:12px}.alphabet-tabs>button>[lang=ja]{font-size:16px}.catalog-toolbar{gap:6px}.group-select select{max-width:144px;padding-left:8px;padding-right:26px;font-size:12px}.catalog-search{gap:5px;padding:0 7px}.catalog-search input{font-size:12px}.filter-button{gap:0;padding:7px 8px;font-size:0}.filter-button svg{width:15px}.filter-dot{margin-left:3px}.row-label{width:25px;font-size:12px}.kana-row,.kana-grid{gap:6px}.kana-card a{min-height:85px;padding:12px 3px 8px}.kana-character{font-size:28px}.kana-romaji{font-size:12px}.bookmark-button svg{width:9px;height:9px}.bookmark-button{padding:2px}.kana-card .stars svg{width:6px;height:6px}.catalog-footnote span{display:none}.grid-key{gap:8px;font-size:12px}.right-rail{gap:10px}.daily-card{padding:16px 12px}.daily-card h4{font-size:14px}.daily-card>p{font-size:12px}.tip-card{padding:18px 13px}.tip-eyebrow{font-size:12px}.tip-character{letter-spacing:2px;font-size:19px}.tip-card h3{font-size:14px}.tip-card>p,.tip-card>a{font-size:12px}.character-reference{padding:14px}.character-reference .detail-character{font-size:81px}.character-reference .audio-button,.pronunciation{font-size:12px}.stroke-order-card{padding:14px}.stroke-order-card .rail-title h3{font-size:12px}.stroke-animation{width:87px;height:87px}.word-card{padding:12px 14px}.word-card>strong{font-size:20px}.word-card>span:last-child{font-size:12px}.pad-heading h2{font-size:17px}.local-label{font-size:12px}.pad-toggles>button{gap:5px;padding:6px 8px;font-size:12px}.pad-actions{gap:3px}.pad-actions .icon-button{width:28px;height:29px}.pad-svg{min-height:265px}.pad-empty p{font-size:14px}.pad-empty small{font-size:12px}.pad-bottom{padding:9px 11px;font-size:12px}.practice-next .text-link{font-size:12px}.practice-next .button{padding:7px 10px;font-size:12px}.evaluation-title h3{font-size:16px}.evaluation-title .eyebrow{font-size:12px}.evaluation-main{padding:17px}.evaluation-title{gap:8px}.evaluation-spark{width:34px;height:34px}.evaluation-metrics{gap:9px}.evaluation-metrics>div{font-size:12px}.k49-comparison{padding:15px 17px}.k49-title{gap:6px;font-size:12px}.k49-match strong{font-size:14px}.evaluation-footer{padding:12px 17px}.evaluation-footer .text-link,.evaluation-footer>span{font-size:12px}.attempt{gap:10px}.attempt-guided{display:none}.attempt>div>small{font-size:12px}.guide-step{padding:17px}.guide-step h2{font-size:14px}.guide-step p{font-size:12px}.guide-banner{padding:22px}.guide-banner h2{font-size:26px}.guide-banner .eyebrow{font-size:12px}.guide-cta h2{font-size:22px}}.page-heading p,.section-heading p,.hero-copy>p,.pronunciation,.stroke-order-card>p,.pad-heading p,.before-evaluation p,.evaluation-main>p,.k49-comparison>p,.guide-step p,.faq-section details p,.auth-intro{color:#79846d}.kana-romaji{color:var(--muted)}.bookmark-button{justify-content:center;align-items:center;min-width:24px;min-height:24px}.skip-link{color:#fff;z-index:100;background:#315d4b;border-radius:5px;padding:10px 16px;font-size:16px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.practice-heading>div{min-width:0}.expert-switch{color:#728364;flex-shrink:0;align-items:center;gap:8px;padding:6px 0;font-size:14px;display:inline-flex}.switch-track{background:#dce4d3;border-radius:12px;align-items:center;width:30px;height:18px;padding:3px;transition:background .15s;display:inline-flex}.switch-track>i{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;display:block;box-shadow:0 1px 3px rgba(52,76,62,.094)}.expert-switch[aria-checked=true] .switch-track{background:#54784a}.expert-switch[aria-checked=true] .switch-track>i{transform:translate(12px)}.expert-switch:hover{color:#315d4b}.pad-toggles>button:disabled{cursor:default}@media (max-width:400px){.expert-switch{gap:6px;font-size:12px}}.overall-score{color:#61794f;justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 4px;display:flex}.overall-score>span{font-size:16px;font-weight:550}.overall-score>strong{letter-spacing:-1px;font-size:30px;font-weight:500;line-height:1.2}.overall-score small{color:var(--muted);letter-spacing:0;margin-left:3px;font-size:16px}.evaluation-main>.score-formula{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.7}.k49-comparison>summary{cursor:pointer;letter-spacing:.2px;color:var(--muted);flex-wrap:wrap;font-size:14px;list-style:none}.k49-comparison>summary:before{content:"›";font-size:16px;line-height:1}.k49-comparison[open]>summary:before{transform:rotate(90deg)}.k49-comparison>summary::-webkit-details-marker{display:none}.k49-comparison>summary:focus-visible{outline-offset:4px;outline:2px solid #62866b}@media (max-width:800px){.practice-heading .save-character{flex-shrink:0;gap:0;width:33px;height:33px;min-height:0;padding:7px;font-size:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-delay:0s!important}.stroke-animation path{stroke-dashoffset:0}.loading-screen .brand{opacity:1}}.progress-controls{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:-4px 0 24px;font-size:14px;display:flex}.progress-controls>span{align-items:center;gap:7px;display:flex}.progress-controls label{align-items:center;gap:12px;display:flex}.progress-controls select,.activity-heading select{color:#405b3d;background:#fff;border:1px solid #dce4d3;border-radius:7px;min-height:44px;padding:10px 12px;font-size:14px}.engagement-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.engagement-card{color:#354d39;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;min-height:330px;padding:25px;display:flex}.engagement-card.streak-card{background:#edf2e5;border-color:#dee7d2}.engagement-card .eyebrow{color:#61794f;letter-spacing:1.2px;align-items:center;gap:7px;min-height:38px;font-size:12px;font-weight:500;display:flex}.streak-card .eyebrow svg{color:#ae7654}.engagement-number{letter-spacing:-1.4px;font-variant-numeric:tabular-nums;color:#315d4b;margin:14px 0 16px;font-size:56px;font-weight:500;line-height:1.15}.engagement-number>small{letter-spacing:0;color:var(--muted);margin-left:5px;font-size:18px;font-weight:400}.engagement-card>p{color:#52664b;margin-bottom:18px;font-size:16px;line-height:1.5}.engagement-card>small{color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.65}.engagement-card .text-link{justify-content:space-between;width:100%;min-height:36px;margin-top:auto;font-size:14px}.engagement-track{background:#e6eddd;border-radius:5px;width:100%;height:6px;margin:5px 0 16px;overflow:hidden}.engagement-track>i{background:#8fae76;border-radius:5px;height:100%;display:block}.engagement-sub{width:100%;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 10px;margin:0 0 16px;font-size:14px;display:flex}.engagement-sub>strong{color:#3e6145;white-space:nowrap;font-size:16px;font-weight:500}.engagement-sub small{color:var(--muted);font-size:14px;font-weight:400}.activity-panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:24px;padding:30px}.activity-panel .eyebrow{color:#6c825b;letter-spacing:1.5px;font-size:12px}.activity-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.activity-heading h2{letter-spacing:-.5px;color:#3b543e;margin-top:9px;font-size:32px;font-weight:500}.activity-heading p{color:var(--muted);margin-top:9px;font-size:16px}.activity-heading select{background:#f7f9f2;min-width:175px}.activity-body{grid-template-columns:minmax(0,1fr) 240px;gap:26px;display:grid}.activity-calendar{min-width:0;padding-top:4px}.activity-range{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:23px;font-size:14px;display:flex}.activity-range>span:first-child{font-size:16px}.activity-range strong{color:#426646;margin-right:3px;font-size:26px;font-weight:500}.heatmap-scroll{scrollbar-width:thin;scrollbar-color:#b5c5a7 #f3f6ed;padding:5px 5px 9px 0;overflow-x:auto}.heatmap{min-width:max(100%,calc(var(--weeks)*23px + 29px));grid-template-rows:28px auto;grid-template-columns:20px minmax(0,1fr);column-gap:9px;display:grid}.heatmap-months{grid-column:2;grid-template-columns:repeat(var(--weeks),minmax(0,1fr));color:var(--muted);gap:5px;font-size:12px;display:grid}.heatmap-months>span{white-space:nowrap;overflow:visible}.heatmap-days{color:var(--muted);z-index:2;background:#fff;grid-row:2;grid-template-rows:repeat(7,minmax(0,1fr));gap:5px;font-size:12px;display:grid;position:-webkit-sticky;position:sticky;left:0}.heatmap-days>span{align-items:center;display:flex}.heatmap-cells{grid-area:2/2;grid-template-rows:repeat(7,minmax(0,1fr));grid-auto-flow:column;grid-template-columns:repeat(var(--weeks),minmax(0,1fr));gap:5px;display:grid}.heat-day,.heatmap-padding{aspect-ratio:1;border-radius:4px;min-width:0;min-height:16px;padding:0;display:block}.level-0{background:#edf1e6}.level-1{background:#d8e5c9}.level-2{background:#b7cda2}.level-3{background:#92b378}.level-4{background:#638d50}.level-5{background:#315d4b}.heat-day{border:1px solid rgba(66,102,70,.07)}.heat-day:hover{border-color:#63864d;transform:scale(1.1)}.heat-day.selected{outline-offset:2px;outline:2px solid #315d4b}.heat-day:focus-visible{outline-offset:2px;z-index:1;outline:2px solid #315d4b}.heatmap-bottom{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:12px;display:flex}.heatmap-legend{white-space:nowrap;align-items:center;gap:5px;display:flex}.heatmap-legend i{border-radius:3px;width:12px;height:12px;display:block}.heatmap-legend>span:first-child{margin-right:4px}.heatmap-legend>span:last-child{margin-left:4px}.activity-detail{background:#f3f6ed;border:1px solid #e7ecdf;border-radius:10px;flex-direction:column;justify-content:center;padding:23px;display:flex}.activity-detail h3{color:#456441;margin:12px 0 23px;font-size:23px;font-weight:500;line-height:1.35}.activity-detail dl{margin:0}.activity-detail dl>div{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;font-size:14px;display:flex}.activity-detail dd{color:#315d4b;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:20px}.activity-detail>p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.6}.activity-detail .text-link{justify-content:flex-start;min-height:36px;margin-top:19px;font-size:14px}.activity-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:26px;padding-top:21px;font-size:14px;display:flex}.activity-footer>span:last-child{margin-left:auto;font-size:12px}.activity-footer strong{color:#426646;font-weight:500}.learning-totals{color:var(--muted);background:#f0f3e9;border:1px solid #e2e7db;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0 30px;padding:23px;display:grid}.learning-totals>div{align-items:center;gap:10px;font-size:14px;display:flex}.learning-totals strong{color:#3c5843;margin-top:6px;font-size:28px;font-weight:500;display:block}.learning-totals strong>small{color:var(--muted);font-size:16px}.metric-definitions{color:var(--muted);margin-top:24px;scroll-margin-top:20px;font-size:14px;line-height:1.8}.metric-definitions summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:500}.metric-definitions p{max-width:880px;margin-top:12px}.catalog-review-banner{background:#f0f3e9;border:1px solid #e1e7d6;border-radius:10px;justify-content:space-between;align-items:center;gap:22px;margin:22px 0;padding:20px 23px;display:flex}.catalog-review-banner strong{color:#436348;font-size:18px;font-weight:500;display:block}.catalog-review-banner span{color:var(--muted);margin-top:5px;font-size:14px;display:block}.catalog-review-banner .button{font-size:14px}.review-hero{background:#eaf0e1;border:1px solid #dde5d3;border-radius:12px;align-items:center;gap:28px;margin-bottom:22px;padding:34px;display:flex}.review-symbol{color:#63845a;background:#dde7d2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.review-hero>div:nth-child(2){flex:1;min-width:0}.review-hero h2{letter-spacing:-.5px;color:#35563d;margin-top:9px;font-size:32px;font-weight:500}.review-hero p{color:var(--muted);max-width:500px;margin-top:13px;font-size:16px;line-height:1.65}.review-hero .button{margin-top:24px;font-size:16px}.review-goal{text-align:center;border-left:1px solid #d2dcc7;padding-left:28px}.review-goal strong{color:#4f7148;letter-spacing:-1px;font-size:58px;font-weight:500;line-height:1.2;display:block}.review-goal strong>small{font-size:24px}.review-goal>span{color:#516b43;font-size:14px;display:block}.review-goal>small{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6;display:block}.review-summary{color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;font-size:14px;display:grid}.review-summary>span{border:1px solid var(--line);background:#fff;border-radius:9px;padding:18px 21px}.review-summary strong{color:#54724b;margin-bottom:5px;font-size:28px;font-weight:500;line-height:1.3;display:block}.review-instructions{margin-bottom:24px}.review-instructions h2,.upcoming-panel h2{font-size:24px;font-weight:500}.review-instructions ol{color:#50644a;margin:18px 0;padding-left:23px;font-size:16px;line-height:1.75}.review-instructions li{margin-bottom:12px;padding-left:4px}.review-instructions>p{color:var(--muted);font-size:16px;line-height:1.75}.review-instructions .text-link{font-size:inherit;text-underline-offset:3px;text-decoration:underline;display:inline}.upcoming-panel .section-heading{margin-bottom:20px}.upcoming-panel .section-heading p,.upcoming-panel>.muted{color:var(--muted);font-size:16px}.upcoming-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px;display:grid}.upcoming-list>div{border-top:1px solid var(--line);align-items:center;gap:16px;padding:16px 0;font-size:16px;display:flex}.upcoming-list [lang=ja]{color:#526f45;font-size:32px;line-height:1.3}.upcoming-list strong{color:#526c43}.upcoming-list time{color:var(--muted);margin-left:auto;font-size:14px}.recall-rating{background:#f1f4e9;border-top:1px solid #dfe6d4;padding:24px}.recall-rating .eyebrow{font-size:12px}.recall-rating h3{color:#3d5f43;margin-top:9px;font-size:24px;font-weight:500}.recall-rating p{color:var(--muted);margin-top:12px;font-size:16px;line-height:1.7}.recall-rating .button{margin-top:20px}.recall-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.recall-buttons>button{background:#fff;border:1px solid #d7dfcc;border-radius:8px;flex-direction:column;align-items:center;padding:16px 10px;display:flex}.recall-buttons strong{color:#466940;font-size:16px;font-weight:500}.recall-buttons span{color:var(--muted);margin-top:5px;font-size:14px}.recall-buttons small{color:#526d42;margin-top:12px;font-size:14px;font-weight:500}.recall-buttons>button:hover{background:#e6efdd;border-color:#8ea87d}.recall-buttons>button:first-child strong{color:#995936}.recall-buttons>button:nth-child(2) strong{color:#806a24}.expert-switch:disabled{opacity:.85}@media (max-width:1280px){.engagement-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.engagement-card{min-height:290px}.activity-body{grid-template-columns:minmax(0,1fr)}.activity-detail{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}.activity-detail .eyebrow{grid-column:1}.activity-detail h3{grid-column:1;margin-bottom:12px}.activity-detail dl{grid-area:1/2/5}.activity-detail .text-link,.activity-detail>p{grid-column:1}.activity-detail .text-link{align-self:end}.activity-footer>span:last-child{width:100%;margin-left:0}.review-goal{display:none}.upcoming-list{grid-template-columns:1fr}}@media (max-width:650px){.progress-controls{gap:14px;margin-top:0;font-size:14px}.progress-controls label{flex-direction:column;align-items:stretch;gap:6px;width:100%;font-size:16px}.progress-controls select,.activity-heading select{width:100%;min-height:48px;font-size:16px}.engagement-stats{grid-template-columns:minmax(0,1fr);gap:14px}.engagement-card{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;min-height:0;padding:23px;display:grid}.engagement-card .eyebrow{letter-spacing:1px;grid-column:1;min-height:0;font-size:12px}.engagement-number{grid-area:1/2/3;align-self:start;margin:0;font-size:48px}.engagement-number>small{font-size:16px}.engagement-card>p{grid-column:1;margin-bottom:0;font-size:16px}.engagement-sub,.engagement-track,.engagement-card>small,.engagement-card .text-link{grid-column:1/-1;margin:0}.engagement-card>small{font-size:14px;line-height:1.7}.engagement-card .text-link{min-height:44px;font-size:16px}.engagement-sub{gap:6px 12px;font-size:16px}.engagement-sub>strong{font-size:18px}.activity-panel{padding:23px 20px}.activity-heading{flex-direction:column;align-items:stretch;gap:20px;margin-bottom:25px}.activity-heading h2{font-size:28px}.activity-heading p{font-size:16px;line-height:1.65}.activity-range{flex-direction:column;align-items:flex-start;gap:7px;font-size:14px}.activity-range>span:first-child{font-size:16px}.heatmap-bottom{flex-direction:column;align-items:flex-start;font-size:12px}.heatmap-legend{gap:5px}.heatmap-legend i{width:14px;height:14px}.activity-detail{margin-top:0;padding:20px;display:flex}.activity-detail h3{margin-bottom:22px;font-size:23px}.activity-detail dl>div{gap:14px;margin-bottom:14px;font-size:16px}.activity-detail dd{font-size:22px}.activity-detail .text-link{min-height:44px;font-size:16px}.activity-detail>p{font-size:14px}.activity-footer{flex-direction:column;align-items:flex-start;gap:12px;font-size:14px}.activity-footer>span:last-child{font-size:14px;line-height:1.65}.learning-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding:22px}.learning-totals>div{align-items:flex-start;font-size:14px}.learning-totals svg{display:none}.learning-totals strong{font-size:28px}.metric-definitions{font-size:16px}.catalog-review-banner{flex-direction:column;align-items:stretch;gap:18px;padding:22px}.catalog-review-banner strong{font-size:21px}.catalog-review-banner span,.catalog-review-banner .button{font-size:16px}.review-hero{align-items:flex-start;padding:25px}.review-symbol{display:none}.review-hero h2{font-size:29px}.review-hero p{font-size:16px}.review-hero .button{white-space:normal;width:100%;min-height:48px}.review-summary{gap:10px;font-size:14px}.review-summary>span{padding:15px 12px;line-height:1.4}.review-summary strong{font-size:26px}.review-instructions h2,.upcoming-panel h2{font-size:24px}.review-instructions ol,.review-instructions>p,.upcoming-panel .section-heading p{font-size:16px}.recall-rating{padding:23px 20px}.recall-rating h3{font-size:24px}.recall-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}:root{font-size:16px;line-height:1.65}.page-heading h1,.practice-heading h1{letter-spacing:-.5px;font-weight:500}.page-heading p,.practice-heading>div>p,.section-heading p{font-size:16px;line-height:1.65}.eyebrow{letter-spacing:1.3px;font-size:12px;font-weight:500}.button{min-height:46px;font-size:16px;font-weight:500}.text-link,.text-button{font-size:14px}.icon-button{width:40px;height:40px}.main-nav>a{white-space:normal;font-size:14px;line-height:1.5}.main-nav .nav-count{flex-shrink:0}.brand small{letter-spacing:1.7px;font-size:10px}.brand-mark{color:#faf8eb}.brand-light .brand-mark{color:var(--green)}.auth-story-footer{color:#f6f8f0}.auth-story-footer>[lang=ja]{color:#f6f8f0}.nav-label{letter-spacing:1.4px;font-size:12px}.sidebar-note p,.sidebar-note a,.sidebar-help,.profile strong{font-size:14px}.profile small{font-size:12px}.sidebar-note strong{font-size:16px}.hero-copy>p{font-size:16px;line-height:1.7}.hero-copy>.button{min-height:46px;font-size:16px}.hero-copy h2{letter-spacing:-.6px;font-weight:400}.hero-tag,.hero-bottom{font-size:12px}.hero-copy h2 em,.auth-story-copy h1 em{font-style:normal}.stat>div>span{font-size:14px}.stat>div>strong{font-size:28px;font-weight:500}.stat strong small{font-size:14px}.stat-caption{white-space:normal;font-size:12px}.section-heading h2{font-size:24px;font-weight:500}.group-select select,.catalog-search,.filter-button{height:44px}.group-select>svg{top:14px}.group-select select,.catalog-search input,.filter-button,.alphabet-tabs>button{font-size:14px}.alphabet-tabs>button>[lang=ja]{font-size:22px}.coming-label{font-size:10px}.grid-key{flex-wrap:wrap;font-size:12px}.kana-romaji{color:#536e48;font-size:16px}.kana-card a{min-height:115px}.kana-card .stars svg{width:9px;height:9px}.daily-card h4,.tip-card h3,.rail-title h3{font-size:16px}.daily-card>p,.tip-card>p{color:var(--muted);font-size:14px;line-height:1.75}.daily-card .text-link,.tip-card>a{font-size:14px}.pronunciation,.stroke-order-card>p{font-size:14px;line-height:1.7}.character-reference .audio-button{min-height:44px;font-size:14px}.detail-stroke-count{font-size:14px;line-height:1.5}.pad-heading p{font-size:16px}.pad-heading h2{font-size:24px;font-weight:500}.pad-heading p strong{font-family:inherit}.pad-heading p strong[lang=ja]{font-family:var(--japanese)}.expert-switch{min-height:44px;font-size:14px}.pad-toggles>button{min-height:42px;font-size:14px}.pad-actions .icon-button{width:40px;height:40px}.pad-bottom{color:var(--muted);font-size:12px}.pad-empty>p{color:#627455;font-size:16px}.pad-empty>small{color:var(--muted);font-size:14px}.evaluate-row>p{max-width:390px;color:var(--muted);font-size:14px}.evaluate-row .button{min-height:46px;font-size:16px}.before-evaluation strong{color:#506c42;font-size:16px}.before-evaluation p{font-size:14px;line-height:1.6}.evaluation-title .eyebrow{font-size:12px}.evaluation-title h3{font-size:22px;font-weight:500}.evaluation-main>p{font-size:16px}.evaluation-metrics>div,.evaluation-metrics strong{font-size:14px}.evaluation-metrics i{height:5px}.overall-score>span{font-size:16px}.overall-score>strong{font-size:36px}.evaluation-main>.score-formula{color:var(--muted);font-size:14px}.guided-pill{color:#776236;font-size:12px}.k49-comparison>summary{letter-spacing:0;min-height:42px;font-size:14px}.k49-comparison>p,.k49-match strong,.k49-match>div>span{font-size:14px}.experimental-tag{color:#5f7451;font-size:12px}.evaluation-footer{flex-wrap:wrap;gap:12px}.evaluation-footer>span,.evaluation-footer .text-link{font-size:14px}.practice-next .button,.practice-next>.text-link{min-height:44px;font-size:14px}.attempt>div>strong{color:#526a45;font-size:16px}.attempt>div>small,.attempt-guided,.history-label{font-size:14px}.panel h2{font-size:24px;font-weight:500}.empty-state h3{color:#506d42;font-size:22px}.empty-state p,.empty-state .button{font-size:16px}.guide-step h2{color:#506c42;font-size:18px}.guide-step p,.faq-section summary,.faq-section details p{font-size:16px;line-height:1.75}.guide-banner p{font-size:16px}.guide-banner .eyebrow{font-size:12px}.faq-section>h2{font-size:28px}.guide-cta .button{font-size:16px}.credits{color:var(--muted);font-size:12px}.notice,.setup-note{color:#74623d;font-size:14px;line-height:1.7}.field-error{font-size:14px}.auth-intro,.auth-form-wrap label,.input-with-icon input,.google-button,.auth-submit{font-size:16px}.auth-form-wrap{max-width:390px}.auth-form-wrap h2{font-size:32px;font-weight:500}.input-with-icon{height:50px}.auth-passwordless,.demo-entry>span,.demo-entry small,.auth-privacy,.auth-privacy .text-button,.auth-benefits>span{font-size:14px}.demo-entry .button{min-height:48px;font-size:16px}.auth-story-copy>p{font-size:16px}.modal>p{font-size:16px;line-height:1.75}.modal-heading h2{font-size:26px}.site-footer{flex-wrap:wrap;font-size:12px}.site-footer>[lang=ja]{font-size:12px}@media (max-width:1050px) and (min-width:651px){.stats-grid{gap:12px}.stat{padding:16px}.stat-icon,.stat-caption{display:none}.practice-layout{grid-template-columns:minmax(0,1fr)}.character-details{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.word-card{grid-column:1/-1}.character-details:has(>.character-reference:only-child){grid-template-columns:minmax(0,1fr)}}@media (max-width:650px){.page{padding:28px 20px 40px}.page-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:26px}.page-heading h1,.practice-heading h1,.progress-page .page-heading h1{letter-spacing:-.4px;font-size:32px;line-height:1.18}.page-heading p,.practice-heading>div>p,.section-heading p{margin-top:12px;font-size:16px;line-height:1.65}.page-heading .eyebrow,.practice-heading .eyebrow{letter-spacing:1px;margin-bottom:10px;font-size:12px}.page-heading>.button{width:100%;min-height:48px;font-size:16px}.quiet-label,.section-japanese{display:none}.button{min-height:48px;font-size:16px}.icon-button{width:44px;height:44px}.text-link,.text-button{font-size:16px}.topbar{gap:8px;height:72px;min-height:72px;padding:0 16px}.breadcrumb{gap:3px;min-width:0;font-size:14px}.breadcrumb>span,.breadcrumb>svg{display:none}.breadcrumb strong{text-overflow:ellipsis;font-size:14px;overflow:hidden}.topbar-right{flex-shrink:0;gap:9px}.daily-mini{gap:5px;font-size:0}.daily-mini strong{font-size:14px}.plan-pill{gap:6px;min-height:36px;padding:5px 9px;font-size:14px}.sidebar{width:min(300px,90vw);padding:30px 24px 0;overflow-y:auto}.sidebar .brand{font-size:28px}.sidebar .brand-mark{width:43px;height:46px}.sidebar .brand small{font-size:10px}.mobile-close{top:29px;right:14px}.nav-label{margin-top:38px;font-size:12px}.main-nav>a{min-height:50px;padding:13px;font-size:16px}.main-nav .nav-count{font-size:12px}.sidebar-note{margin-top:28px;padding:20px}.sidebar-note p{font-size:16px;line-height:1.65}.sidebar-note a,.sidebar-help{min-height:44px;font-size:14px}.sidebar-bottom{padding-top:30px}.profile{margin-left:-24px;margin-right:-24px;padding:18px}.profile strong{font-size:14px}.profile small{font-size:12px}.profile .icon-button{width:36px;height:40px}.hero-copy{padding:27px 23px}.hero-copy h2{letter-spacing:-.5px;font-size:40px;line-height:1.15}.hero-copy>p{font-size:16px;line-height:1.65}.hero-copy>.button{min-height:48px;padding:11px 16px;font-size:16px}.hero-tag{letter-spacing:.7px;font-size:12px}.hero-bottom{align-items:flex-start;font-size:14px}.hero-avatars{flex-shrink:0;margin-top:2px}.hero-avatars i{font-size:12px}.hero-art{opacity:.25;width:55%;height:180px;bottom:0}.hero-japanese,.hero-stamp{display:none}.stats-grid{gap:10px;margin-top:18px}.stat{align-items:flex-start;min-height:122px;padding:15px 12px}.stat-icon,.stat-caption{display:none}.stat>div>span{font-size:14px;line-height:1.4}.stat>div>strong{margin-top:11px;font-size:26px;line-height:1.3}.stat strong small{font-size:14px}.section-heading h2{font-size:25px;line-height:1.25}.section-heading{align-items:flex-start;gap:12px}.alphabet-tabs{gap:3px}.alphabet-tabs>button{flex:1;gap:5px;min-width:0;min-height:50px;padding:13px 5px;font-size:14px}.alphabet-tabs>button>[lang=ja]{font-size:22px}.alphabet-tabs .tab-count,.coming-label{display:none}.catalog-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:23px;display:grid}.group-select{grid-column:1/-1}.group-select select{width:100%;min-width:0;max-width:none;height:48px;padding:10px 35px 10px 14px;font-size:16px}.group-select>svg{top:16px;right:13px}.catalog-search{width:100%;min-width:0;max-width:none;height:48px;margin-left:0;padding:0 12px}.catalog-search input{font-size:16px}.catalog-search .icon-button{min-width:28px;height:40px}.filter-button{gap:6px;height:48px;padding:10px 12px;font-size:16px}.filter-options{gap:10px;padding:12px}.filter-options>button{min-height:44px;padding:9px 12px;font-size:14px}.grid-key{flex-wrap:wrap;gap:10px 14px;margin:20px 0;font-size:12px}.grid-key .visible-count{margin-left:0}.row-label{letter-spacing:0;width:30px;font-size:12px;line-height:1.4}.kana-row{gap:8px}.kana-grid{gap:7px}.kana-card a{min-height:126px;padding:29px 3px 12px}.kana-character{font-size:34px}.kana-romaji{font-size:16px}.kana-card .stars{gap:1px}.kana-card .stars svg{width:8px;height:8px}.bookmark-button{color:#738b60;min-width:28px;min-height:28px;padding:5px;top:1px;right:1px}.bookmark-button svg{width:14px;height:14px}.catalog-footnote{font-size:14px;line-height:1.65}.catalog-footnote span{display:none}.inline-notice{font-size:14px;line-height:1.65}.right-rail{grid-template-columns:1fr;gap:20px}.daily-card,.tip-card{margin-top:0;padding:24px}.daily-card h4,.tip-card h3,.rail-title h3{font-size:18px}.daily-card>p,.tip-card>p{font-size:16px;line-height:1.7}.daily-card .text-link,.tip-card>a{min-height:44px;font-size:16px}.tip-eyebrow{letter-spacing:.8px;font-size:12px}.goal-ring div>span{font-size:12px}.rail-quote>p{font-size:14px}.practice-back-row{gap:10px}.back-link{min-height:44px;font-size:14px}.character-pagination{gap:8px;font-size:14px}.character-pagination>a{width:36px;height:40px}.practice-heading{align-items:flex-start;gap:10px}.practice-heading .save-character{width:44px;height:44px;min-height:44px;padding:10px}.character-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.character-reference,.stroke-order-card{padding:18px 14px}.reference-label{flex-wrap:wrap;gap:8px;font-size:12px}.reference-badge{font-size:12px}.character-reference .detail-character{margin-top:15px;font-size:85px}.character-reference .audio-button{white-space:normal;gap:6px;min-height:48px;padding:10px 7px;font-size:16px}.pronunciation,.stroke-order-card>p{font-size:14px;line-height:1.7}.stroke-order-card .rail-title{align-items:flex-start;gap:6px}.stroke-order-card .rail-title h3{font-size:16px}.stroke-animation{width:100%;max-width:130px;height:130px}.replay-button{white-space:normal;min-height:44px;font-size:14px}.word-card{padding:18px}.word-card .eyebrow{font-size:12px}.word-card>span:last-child{font-size:16px}.character-details:has(>.character-reference:only-child){grid-template-columns:minmax(0,1fr)}.pad-heading{flex-direction:column;align-items:flex-start;gap:12px}.pad-heading h2{font-size:26px}.pad-heading p{font-size:16px;line-height:1.65}.expert-switch{gap:10px;min-height:44px;font-size:16px}.switch-track{width:36px;height:22px}.switch-track>i{width:16px;height:16px}.expert-switch[aria-checked=true] .switch-track>i{transform:translate(14px)}.pad-toolbar{flex-wrap:wrap;align-items:stretch;gap:12px}.pad-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.pad-toggles>button{justify-content:center;gap:7px;min-height:48px;padding:10px;font-size:16px}.pad-actions{gap:10px;margin-left:auto}.pad-actions .icon-button{width:44px;height:44px}.pad-svg{min-height:290px}.pad-empty p{font-size:16px}.pad-empty small{font-size:14px}.pad-bottom{padding:12px 14px;font-size:12px}.evaluate-row{flex-direction:column-reverse;align-items:stretch;gap:16px}.evaluate-row>p{max-width:none;font-size:14px;line-height:1.7}.evaluate-row .button{align-self:stretch;width:100%;min-height:50px;font-size:16px}.before-evaluation{align-items:flex-start;padding:20px}.before-evaluation strong{font-size:18px}.before-evaluation p{font-size:16px;line-height:1.65}.before-evaluation>span{width:32px;height:32px}.evaluation-main{padding:22px 20px}.evaluation-title h3{font-size:23px}.evaluation-title .eyebrow{letter-spacing:.7px;font-size:12px}.evaluation-spark{display:none}.evaluation-stars{flex-wrap:wrap;gap:12px}.evaluation-stars .stars svg{width:25px;height:25px}.evaluation-stars>strong>span{font-size:16px}.guided-pill{font-size:14px}.evaluation-main>p{font-size:16px;line-height:1.75}.evaluation-metrics{grid-template-columns:minmax(0,1fr);gap:18px}.evaluation-metrics>div{gap:9px;font-size:16px}.evaluation-metrics strong{font-size:16px}.evaluation-main>.score-formula{font-size:14px;line-height:1.7}.overall-score{margin-top:24px}.overall-score>span{font-size:16px}.overall-score>strong{font-size:38px}.k49-comparison{padding:20px}.k49-comparison>summary{gap:8px;font-size:16px;line-height:1.6}.k49-title>span:first-child{flex:1;min-width:150px}.k49-match strong,.k49-match>div>span,.k49-comparison>p{font-size:14px;line-height:1.7}.evaluation-footer{padding:18px 20px}.evaluation-footer>span{font-size:14px}.evaluation-footer .text-link{min-height:44px;font-size:16px}.practice-next{flex-wrap:wrap;gap:15px}.practice-next>.text-link,.practice-next .button{min-height:48px;font-size:16px}.practice-next .button{white-space:normal}.panel{padding:24px 20px}.panel h2{font-size:24px}.history-label{display:none}.attempt{flex-wrap:wrap;gap:12px;padding:17px 0}.attempt>div{min-width:100px}.attempt>div>strong{font-size:18px}.attempt>div>small{font-size:14px}.attempt-character{min-width:36px;font-size:32px}.attempt .stars svg{width:13px;height:13px}.attempt>.muted{display:none}.guide-banner{padding:26px}.guide-banner .eyebrow{font-size:12px}.guide-banner h2{font-size:34px}.guide-banner p{font-size:16px;line-height:1.7}.guide-steps{grid-template-columns:minmax(0,1fr);gap:16px}.guide-step{padding:25px}.guide-step h2{margin-top:0;font-size:22px}.guide-step p,.faq-section details p,.faq-section summary{font-size:16px;line-height:1.75}.guide-step>svg{margin-bottom:18px}.faq-section>h2{font-size:28px}.faq-section summary{padding-right:24px}.faq-section details p{padding-right:0}.guide-cta h2{font-size:30px}.guide-cta .button{font-size:16px}.credits{font-size:14px;line-height:1.75}.auth-story{padding:28px 24px 32px}.auth-story .brand{font-size:28px}.auth-story .brand small{font-size:10px}.auth-story-copy .eyebrow,.auth-form-wrap>.eyebrow{letter-spacing:1px;font-size:12px}.auth-story-copy{max-width:100%}.auth-story-copy h1{letter-spacing:-.8px;font-size:42px}.auth-story-copy>p{font-size:16px;line-height:1.7}.auth-landscape{opacity:.25}.auth-form-side{padding:0 24px 28px}.auth-form-wrap{padding-top:35px}.auth-form-wrap h2{font-size:32px}.auth-intro{font-size:16px;line-height:1.75}.auth-form-wrap label,.input-with-icon input,.google-button,.auth-submit,.demo-entry .button{font-size:16px}.auth-benefits{flex-wrap:wrap;gap:10px 20px}.auth-passwordless{align-items:flex-start;font-size:14px}.demo-entry>span,.demo-entry small,.auth-privacy,.auth-privacy .text-button{font-size:14px}.auth-bottom-note{font-size:12px}.notice,.setup-note,.field-error{font-size:14px;line-height:1.75}.modal{padding:25px 20px}.modal>p{font-size:16px}.modal-heading h2{font-size:25px}.site-footer{flex-direction:column;align-items:flex-start;gap:13px;padding:23px 20px;font-size:12px;line-height:1.6}.site-footer>[lang=ja]{font-size:12px}}@media (max-width:360px){.page{padding-left:16px;padding-right:16px}.page-heading h1,.practice-heading h1,.progress-page .page-heading h1{font-size:30px}.plan-pill{padding:5px 7px}.topbar-right{gap:6px}.topbar{padding:0 12px}.hero-copy{padding:26px 20px}.hero-copy h2{font-size:36px}.hero-tag{letter-spacing:0;font-size:12px}.stat{padding:15px 9px}.stat>div>strong{font-size:24px}.stat strong small{font-size:12px}.alphabet-tabs>button{gap:4px;padding-left:2px;padding-right:2px}.alphabet-tabs>button>[lang=ja]{font-size:20px}.kana-grid{gap:5px}.row-label{width:26px}.kana-character{font-size:31px}.character-pagination{gap:4px}.character-pagination>a{width:30px}.character-reference,.stroke-order-card{padding:17px 11px}.engagement-card{column-gap:12px;padding:21px 19px}.engagement-number{font-size:44px}.activity-panel{padding-left:17px;padding-right:17px}}.auth-shell p,.modal p,.page .metric-definitions,.page .metric-definitions summary,.page .notice,.page .field-error,.page .score-formula,.page .engagement-card>small,.page .review-goal>small,.page .activity-range,.page .activity-range>span,.page .activity-footer,.page .activity-footer>span:last-child,.page .engagement-sub,.page .engagement-sub small,.page .learning-totals>div,.page .credits,.page .catalog-review-banner span,.page .before-evaluation p,.page .pronunciation,.page .stroke-order-card>p,.page .k49-comparison>p,.page .k49-match>div>span{font-size:16px;line-height:1.7}.page :-webkit-any(p,li){font-size:16px;line-height:1.7}.page :-moz-any(p,li){font-size:16px;line-height:1.7}.page :is(p,li){font-size:16px;line-height:1.7}.page .text-link,.page .text-button,.page .catalog-footnote,.page .eyebrow,.page-heading .eyebrow,.practice-heading .eyebrow,.page .engagement-card .eyebrow,.page .activity-panel .eyebrow,.page .review-goal>span,.page .review-summary,.auth-shell .demo-entry>span,.auth-shell .demo-entry small,.sidebar-note p{font-size:16px}.reference-label,.reference-badge,.pad-bottom,.heatmap-bottom,.heatmap-months,.heatmap-days,.site-footer{font-size:14px}.site-footer>[lang=ja]{font-size:14px}.page :-webkit-any(h1,h2,h3){font-weight:400}.page :-moz-any(h1,h2,h3){font-weight:400}.page :is(h1,h2,h3){font-weight:400}.page p{font-weight:400}.page strong{font-weight:500}.review-hero h2{font-size:max(28px,min(3vw,34px));font-weight:400}.review-instructions h2,.upcoming-panel h2{font-weight:400}.review-summary strong{font-weight:500}.review-instructions li{padding-left:6px;font-weight:400}.review-page p,.review-page li,.recall-page p{font-weight:350}.review-instructions li::marker{color:#789264}.review-summary>span{line-height:1.5}.profile-identity{border-radius:5px;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.profile-identity>div{flex:1;min-width:0}.profile-identity:hover strong{color:var(--green)}.profile-page{max-width:1150px}.profile-account{background:#edf2e5;align-items:center;gap:22px;display:flex}.profile-avatar{color:#547349;background:#dce7d2;border-radius:50%;flex-shrink:0;align-items:center;justify-items:center;width:72px;height:72px;display:grid}.profile-account h2{margin-bottom:7px;font-size:28px}.profile-plan{color:#526c43;white-space:nowrap;border:1px solid #d4dfc8;border-radius:6px;margin-left:auto;padding:6px 11px;font-size:14px}.profile-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.profile-panels h2{align-items:center;gap:12px;margin-bottom:22px;display:flex}.profile-fields{margin:0 0 22px}.profile-fields>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;display:flex}.profile-fields dt,.profile-fields dd{font-size:16px}.profile-fields dt{color:var(--muted)}.profile-fields dd{overflow-wrap:anywhere;margin:0}.profile-sync{color:#647950;margin-top:18px;font-size:14px;display:block}.profile-panels .text-link{justify-content:flex-start;min-height:44px;margin-top:24px}.profile-signout{margin-top:25px}.recall-page .practice-layout{flex-direction:column;gap:25px;max-width:920px;margin:0 auto;display:flex}.recall-page .practice-heading{max-width:920px;margin-left:auto;margin-right:auto}.recall-page .character-details{width:100%;display:block}.recall-page .character-reference{text-align:left;background:#edf2e5;border-color:#dfe8d5;grid-template-columns:minmax(0,1fr) auto;gap:10px 28px;padding:25px 28px;display:grid}.recall-page .reference-label{letter-spacing:.8px;grid-column:1/-1;justify-content:flex-start;gap:14px}.recall-page .reference-badge{white-space:nowrap;background:#e2ebd8;padding:3px 9px}.recall-page .detail-romaji{color:#355b44;grid-area:2/1;margin:0;font-size:58px;font-weight:400;line-height:1.2}.recall-page .detail-character{letter-spacing:0;grid-area:2/1;justify-self:end;margin:0;font-size:64px;line-height:1.2}.recall-page .detail-stroke-count{grid-area:3/1;margin:0;font-size:14px}.recall-page .audio-button{color:#315d4b;background:#fff;grid-area:2/2/4;align-self:center;min-width:200px;min-height:50px;margin:0;padding:12px 18px;font-size:16px}.recall-page .character-reference .field-error{grid-column:1/-1}.recall-page .pronunciation{color:#5f7255;grid-column:1/-1;margin:5px 0 0}.recall-page .practice-workspace{width:100%}.recall-page .pad-heading{align-items:center;margin-bottom:10px}.recall-page .pad-heading h2{font-size:26px}.recall-page .pad-heading p{font-weight:400}.recall-page .pad-heading p strong{font-weight:500}.recall-mode-label{color:#5f7750;white-space:nowrap;background:#eaf0e3;border-radius:20px;align-items:center;gap:7px;padding:7px 12px;font-size:14px;display:inline-flex}.recall-page .pad-toolbar{justify-content:flex-end;margin-top:4px}.recall-page .pad-svg{min-height:300px;max-height:400px}.recall-page .evaluate-row>p{max-width:490px}.recall-page .before-evaluation{margin-top:24px}.recall-page .before-evaluation strong{font-weight:500}.recall-page .practice-next{margin-top:25px}.profile-account p,.profile-panels p{color:var(--muted)}@media (max-width:800px){.profile-panels{grid-template-columns:minmax(0,1fr)}.profile-account{flex-wrap:wrap}.profile-plan{margin-left:0}}@media (max-width:650px){.page .engagement-card .eyebrow{letter-spacing:.6px;font-size:16px}.page .engagement-card>small{font-size:16px}.page .engagement-card{column-gap:15px}.page .engagement-number{font-size:44px}.page .engagement-sub{font-size:16px}.recall-page .practice-layout{gap:24px}.recall-page .character-reference{grid-template-columns:minmax(0,1fr);gap:10px;padding:23px}.recall-page .reference-label{flex-wrap:wrap;gap:10px;font-size:14px}.recall-page .detail-romaji{font-size:56px}.recall-page .audio-button{grid-area:4/1;width:100%;min-width:0;margin-top:6px}.recall-page .pronunciation{grid-row:5}.recall-page .pad-heading{align-items:flex-start;gap:12px}.recall-page .pad-svg{min-height:280px;max-height:350px}.recall-page .evaluate-row>p{max-width:none}.profile-account{gap:16px}.profile-account>div{flex-basis:calc(100% - 90px)}.profile-account h2{font-size:25px}.profile-plan{margin-left:0}.profile-fields>div{flex-direction:column;align-items:flex-start;gap:7px}}.page.section-page{width:100%;max-width:none;padding:0}.section-header{--header-accent:#b35e43;background:#f4f1e7;border-bottom:1px solid #e6e3d8;position:relative;overflow:hidden}.section-header-inner{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);max-width:1510px;min-height:345px;margin:0 auto;padding:0;display:grid;position:relative}.section-header--catalog .section-header-inner{min-height:440px}.section-header-copy{z-index:1;align-self:center;width:auto;min-width:0;padding:40px 44px;position:relative}.section-header .eyebrow{color:#62715b;letter-spacing:1.5px;align-items:center;gap:12px;margin:0 0 19px;font-size:16px;font-weight:500;line-height:1.5;display:flex}.section-header .eyebrow:before{content:"";background:var(--header-accent);flex:0 0 25px;height:2px}.section-header h1{letter-spacing:-.7px;color:#314e43;text-wrap:balance;margin:0;font-size:max(32px,min(2.35vw,44px));font-weight:400;line-height:1.2}.section-header h1 em{color:#657d58;font-style:normal;font-weight:400}.section-header p{color:#596855;max-width:540px;margin-top:20px;font-size:17px;line-height:1.7}.section-header-actions{flex-direction:column;align-items:flex-start;gap:19px;margin-top:25px;display:flex}.section-header-actions>.button{min-height:48px;padding:12px 21px;font-size:16px}.section-header-actions>p{margin-top:0}.header-caption{color:#5e7054;align-items:center;gap:13px;font-size:16px;line-height:1.5;display:flex}.header-caption .hero-avatars{flex-shrink:0}.header-caption .hero-avatars i{border-color:#f4f1e7;width:23px;height:23px;font-size:12px}.header-session-label{color:#54724b;font-size:18px;font-weight:400;line-height:1.5}.section-header-art{background:#466c5c;align-self:stretch;min-width:0;min-height:100%;margin:0;position:relative;overflow:hidden}.section-artwork{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.section-artwork>img{object-fit:cover;object-position:var(--art-position,50% 50%);width:100%;height:100%;display:block}.section-header-art figcaption{color:#435c4e;background:rgba(250,247,238,.93);justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;font-size:14px;line-height:1.4;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.section-header-art figcaption [lang=ja]{letter-spacing:1.5px;white-space:nowrap;font-family:Noto Serif JP,serif}.section-header--review{--header-accent:#aa513c;--art-position:61% 52%}.section-header--progress{--header-accent:#a9693c;--art-position:62% 52%}.section-header--guide{--art-position:58% 51%}.section-header--profile{--art-position:62% 52%}.section-header--practice{--art-position:54% 63%}.section-body{max-width:1510px;margin:0 auto;padding:35px 44px 45px}.section-body>:first-child{margin-top:0}.catalog-review-banner{background:#f0f3e8;border:0;border-top:3px solid #f9faf5;border-radius:0;margin:0;padding:0}.catalog-review-inner{justify-content:space-between;align-items:center;gap:25px;width:100%;max-width:1510px;margin:0 auto;padding:26px 44px;display:flex}.catalog-review-inner strong{color:#476b49;font-size:22px;font-weight:500}.catalog-review-inner p{color:#5d7055;margin-top:8px;font-size:16px;line-height:1.65}.catalog-review-inner .button{min-height:46px;padding:11px 22px;font-size:16px}.catalog-page .stats-grid{margin-top:8px;margin-bottom:38px}.progress-page .section-body{padding-top:30px}.progress-page .progress-controls{margin-top:0}.guide-page .section-body{max-width:1200px}.profile-page .section-body{max-width:1150px}.button,.icon-button,.plan-pill,.profile-plan,.group-select select,.catalog-search,.filter-button,.input-with-icon,.progress-controls select,.activity-heading select,.pad-toggles>button,.recall-buttons>button{border-radius:4px}.stat,.engagement-card,.activity-panel,.activity-detail,.learning-totals,.character-reference,.stroke-order-card,.word-card,.before-evaluation,.evaluation-card,.profile-account,.sidebar-note{box-shadow:none;border:0;border-radius:4px}.kana-card,.writing-pad{border-radius:4px}.panel{box-shadow:none;border:0;border-radius:0}.history-panel{background:#fff;padding:26px}.activity-detail{background:#f1f4e9}.engagement-card.streak-card{border:0}.review-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:22px 0;display:grid}.review-summary>span{background:0 0;border:0;border-radius:0;padding:0 26px}.review-summary>span:first-child{padding-left:0}.review-summary>span+span{border-left:1px solid var(--line)}.review-instructions,.upcoming-panel{background:0 0;padding:15px 0 25px}.upcoming-panel{border-top:1px solid var(--line);padding-top:28px}.guide-steps{gap:0}.guide-step{background:0 0;border:0;border-radius:0;padding:12px 26px}.guide-step:first-child{padding-left:0}.guide-step+.guide-step{border-left:1px solid var(--line)}.guide-step-number{top:12px}.profile-account{border-bottom:1px solid var(--line);background:0 0;padding:0 0 28px}.profile-panels>.panel{background:0 0;padding:8px 0 25px}.recall-page .character-reference{border:0;border-radius:4px}.section-header--compact .section-header-inner{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);min-height:245px}.section-header--compact .section-header-copy{width:auto;padding-top:29px;padding-bottom:29px}.section-header--compact h1{font-size:32px}.section-header--compact .section-header-art figcaption{display:none}.section-header--compact .section-header-actions{margin-top:20px}.section-header--compact .save-character{gap:9px;width:auto;height:auto;min-height:44px;padding:9px 14px;font-size:14px}.recall-page .section-header-inner{max-width:1510px}.practice-page .section-body{padding-top:24px}.recall-page .practice-back-row{max-width:920px;margin-left:auto;margin-right:auto}.practice-page .practice-back-row{margin-bottom:24px}.recall-page .section-header p{max-width:580px}@media (min-width:1650px){.section-header-inner{min-height:375px}.section-header-copy{padding-top:48px;padding-bottom:48px}.section-header--catalog .section-header-inner{min-height:465px}.section-header h1{font-size:44px}.section-header--compact h1{font-size:34px}}@media (max-width:1250px){.section-header-copy{padding-left:32px;padding-right:30px}.section-body,.catalog-review-inner{padding-left:32px;padding-right:32px}.section-header h1{font-size:34px}.section-header--catalog h1{font-size:32px}.section-header-art figcaption{flex-wrap:wrap;gap:5px 12px;bottom:14px;left:14px;right:14px}}@media (max-width:900px){.section-header-inner{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.section-header--compact .section-header-inner{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.guide-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 0}.guide-step:nth-child(3){border-left:0;padding-left:0}}@media (max-width:760px){.section-header-inner,.section-header--compact .section-header-inner{grid-template-columns:minmax(0,1fr);min-height:0}.section-header--catalog .section-header-inner{min-height:0}.section-header-copy,.section-header--compact .section-header-copy{width:auto;padding:30px 24px 28px}.section-header-art{height:max(180px,min(51vw,290px));min-height:0}.section-header-art figcaption{padding:9px 12px;bottom:16px;left:18px;right:18px}.section-header--compact .section-header-art{height:112px}}@media (max-width:650px){.section-header-copy,.section-header--compact .section-header-copy{padding:30px 20px 27px}.section-header h1,.section-header--catalog h1{font-size:32px;line-height:1.23}.section-header .eyebrow{letter-spacing:.9px;margin-bottom:16px;font-size:16px}.section-header p{margin-top:18px;font-size:16px;line-height:1.7}.section-header .desktop-break{display:none}.section-header-actions{gap:18px;margin-top:23px}.section-header-actions>.button{white-space:normal;max-width:100%;min-height:48px;font-size:16px}.header-caption{align-items:flex-start;gap:10px;font-size:16px}.header-caption .hero-avatars{margin-top:1px}.section-body{padding:28px 20px 40px}.catalog-review-inner{flex-direction:column;align-items:flex-start;gap:18px;padding:25px 20px}.catalog-review-inner strong{font-size:22px}.catalog-review-inner p{margin-top:9px;font-size:16px}.catalog-review-inner .button{min-height:48px;padding:11px 18px}.catalog-page .stats-grid{margin-top:0;margin-bottom:30px}.review-summary{padding:20px 0}.review-summary>span{padding:0 12px}.review-summary strong{font-size:26px}.review-summary>span{font-size:16px}.review-instructions,.upcoming-panel{padding-left:0;padding-right:0}.history-panel{padding:23px 18px}.guide-steps{grid-template-columns:minmax(0,1fr);gap:0;margin-top:0}.guide-step,.guide-step:first-child,.guide-step:nth-child(3){border-left:0;padding:25px 0}.guide-step+.guide-step{border-left:0;border-top:1px solid var(--line)}.guide-step-number{top:25px;right:0}.profile-account{padding:0 0 25px}.profile-panels>.panel{padding:15px 0}.profile-panels>.panel+.panel{border-top:1px solid var(--line);padding-top:25px}.section-header--compact h1{font-size:30px}.section-header--compact .save-character{min-height:44px;font-size:14px}}@media (max-width:360px){.section-header-copy,.section-header--compact .section-header-copy{padding-left:16px;padding-right:16px}.section-header h1,.section-header--catalog h1{font-size:30px}.section-body,.catalog-review-inner{padding-left:16px;padding-right:16px}}.auth-form-side{justify-content:flex-start}.auth-story,.auth-form-side{min-width:0}.sidebar .brand small{letter-spacing:1px;font-size:10px}.auth-form-wrap{max-width:440px;padding-top:40px;padding-bottom:40px}.auth-story-editorial .auth-story-copy{max-width:760px}.auth-story-editorial .auth-story-copy .eyebrow{letter-spacing:1.6px;align-items:baseline;max-width:none;font-size:13px}.auth-story-editorial .auth-story-copy h1{letter-spacing:-1.2px;font-size:max(40px,min(3.2vw,64px));line-height:1.18}.auth-story-description{margin-top:30px}.auth-story-description p{color:#63725f;font-size:18px;font-weight:400;line-height:1.8}.home-kanji-card{background:rgba(250,251,244,.933);border-left:3px solid #9dab88;border-radius:5px;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:28px;max-width:430px;margin:30px 0 0;padding:22px 28px;display:grid}.home-kanji-japanese{color:#536c4b;flex-direction:column;align-items:center;gap:9px;display:flex}.home-kanji-pronunciation{white-space:nowrap;align-items:baseline;gap:10px;display:flex}.home-kanji-character{font-size:82px;font-weight:400;line-height:1.1;display:block}.home-kanji-reading{letter-spacing:2px;font-size:22px;line-height:1.5}.home-kanji-romaji{color:#6c7b61;font-size:16px;line-height:1.5}.home-kanji-card figcaption{min-width:0}.home-kanji-label{color:#7a866c;letter-spacing:1.7px;margin-bottom:9px;font-size:12px;line-height:1.5;display:block}.home-kanji-card strong{color:#3e5c46;overflow-wrap:anywhere;font-size:max(24px,min(2.2vw,30px));font-weight:400;line-height:1.35}.auth-story-illustration{z-index:0;pointer-events:none;height:52%;position:absolute;bottom:0;left:0;right:0}.auth-story-illustration:after{content:"";background:linear-gradient(#edf0e5 0%,rgba(237,240,229,.65) 18%,rgba(237,240,229,0) 40%,rgba(25,60,44,.22) 100%);position:absolute;top:0;bottom:0;left:0;right:0}.auth-story-illustration img{object-position:50% 68%}.auth-story-editorial .auth-story-footer{color:#fff;text-shadow:0 1px 5px #172c22;padding-top:260px;padding-bottom:4px}.auth-story-editorial .auth-story-footer>[lang=ja]{color:#fff}.waitlist-signup{text-align:left;background:#f0f3e9;border-top:3px solid #52745b;border-radius:4px;margin:28px 0 30px;padding:24px}.waitlist-signup h3{color:#315d4b;margin:0 0 23px;font-size:26px;font-weight:450}.waitlist-signup p{color:#617059;margin:0 0 20px;font-size:16px;line-height:1.6}.waitlist-signup form>label{margin:0 0 9px;font-size:16px;display:block}.waitlist-signup .input-with-icon{background:#fff}.waitlist-signup .input-with-icon input{min-width:0;font-size:16px}.waitlist-signup>.button{white-space:normal;text-align:center}.waitlist-signup form .waitlist-consent{cursor:pointer;align-items:flex-start;gap:10px;margin:16px 0 20px;font-size:16px;font-weight:400;line-height:1.5;display:flex}.waitlist-consent input{accent-color:#315d4b;flex-shrink:0;width:18px;height:18px;margin:3px 0 0}.waitlist-signup .waitlist-footnote{text-align:center;margin:12px 0 0;font-size:16px}.waitlist-honey{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.waitlist-success{color:#315d4b;align-items:flex-start;gap:12px;margin-top:20px;display:flex}.waitlist-success>svg{flex-shrink:0;margin-top:3px}.waitlist-success strong{font-size:19px;font-weight:500}.waitlist-success p{margin:8px 0 0}.waitlist-login-divider{color:#67765d;text-align:center;margin:0 0 17px;padding-top:8px;font-size:16px}.waitlist-admin{margin-top:32px;padding:30px}.waitlist-admin-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.waitlist-admin .eyebrow{color:#6a8056;letter-spacing:1px;align-items:center;gap:9px;font-size:14px;display:inline-flex}.waitlist-admin h2{margin:12px 0 10px;font-size:30px}.waitlist-admin-heading p{color:var(--muted);max-width:650px;margin:0}.waitlist-admin-heading>.button{flex-shrink:0}.waitlist-filters{flex-wrap:wrap;gap:8px;margin:28px 0 22px;display:flex}.waitlist-filters button{color:#627256;min-height:44px;font:inherit;cursor:pointer;background:#f4f5ee;border:1px solid transparent;border-radius:4px;align-items:center;gap:9px;padding:8px 14px;font-size:16px;display:inline-flex}.waitlist-filters button.selected{color:#315d4b;background:#e7eddf;border-color:#aabb9d}.waitlist-filters button>span{background:rgba(255,255,255,.6);border-radius:3px;padding:0 6px;font-size:14px}.waitlist-mail-note{color:#79633f;background:#f7f1e5;border-radius:4px;gap:13px;margin-bottom:15px;padding:18px;display:flex}.waitlist-mail-note svg{flex-shrink:0;margin-top:3px}.waitlist-mail-note p{margin:0}.waitlist-entry{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding:23px 0;display:flex}.waitlist-entry-info{min-width:0}.waitlist-entry h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:19px;font-weight:500}.waitlist-entry-info p{color:var(--muted);margin:4px 0 0}.waitlist-entry-info .waitlist-notice-state{color:#6c8057}.waitlist-entry-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:9px;max-width:45%;display:flex}.waitlist-entry-actions .button{min-height:44px;padding:9px 13px;font-size:14px}.waitlist-loading{color:var(--muted);align-items:center;gap:10px;padding:25px 0;display:flex}.waitlist-empty{text-align:center;padding:30px 18px}.waitlist-empty>span{color:#bac6a6;margin-bottom:10px;font-size:36px;display:block}.waitlist-empty p{color:var(--muted);margin:0}.waitlist-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:14px;display:flex}.waitlist-pagination>div{gap:8px;display:flex}.waitlist-pagination .icon-button{width:44px;height:44px}.waitlist-feedback{color:#315d4b;background:#edf3e6;border-radius:4px;padding:13px 17px}.waitlist-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.notice-preferences{background:#f4f5ee;min-height:100dvh;padding:38px 24px}.notice-preferences>.brand,.notice-preferences>.panel{max-width:640px;margin:0 auto 40px}.notice-preferences>.panel{padding:32px}.notice-preferences h1{margin:15px 0;font-size:max(28px,min(5vw,36px));font-weight:450}.notice-preferences p{margin-bottom:22px;font-size:16px;line-height:1.7}.notice-preferences .text-link{margin-top:24px;font-size:16px;display:flex}.waitlist-modal-actions .button{min-height:44px}@media (max-width:800px){.auth-story-editorial .auth-story-copy h1{font-size:38px}.waitlist-admin-heading,.waitlist-entry{flex-direction:column;align-items:flex-start;gap:16px}.waitlist-entry-actions{justify-content:flex-start;max-width:100%}}@media (max-width:650px){.auth-story-editorial .brand small{letter-spacing:1.9px;font-size:11px}.auth-story-editorial .auth-story-copy{max-width:none;margin-top:38px}.auth-story-editorial .auth-story-copy .eyebrow{letter-spacing:1px;font-size:12px;line-height:1.8}.auth-story-editorial .auth-story-copy h1{margin-top:18px;font-size:max(34px,min(8.7vw,48px));line-height:1.18}.auth-story-description{margin-top:22px}.auth-story-description p{font-size:16px;line-height:1.7}.auth-story-description p+p{margin-top:7px}.home-kanji-card{gap:18px;margin-top:25px;padding:20px 16px}.home-kanji-pronunciation{gap:8px}.home-kanji-character{font-size:70px}.home-kanji-reading{font-size:20px}.home-kanji-card strong{font-size:26px}.auth-story-illustration{width:calc(100% + 48px);height:230px;margin:0 -24px -32px;position:relative}.auth-story-illustration:after{background:linear-gradient(#edf0e5 0%,rgba(237,240,229,.376) 16%,rgba(237,240,229,0) 38%)}.auth-story-illustration img{object-position:50% 58%}.auth-form-wrap{padding-top:30px}.waitlist-signup{margin-top:24px;padding:21px 18px}.waitlist-admin{padding:22px 18px}.waitlist-admin h2{font-size:27px}.waitlist-filters{gap:6px}.waitlist-filters button{padding:8px 10px}.waitlist-entry h3{font-size:18px}}.brand{--brand-symbol-size:52px;--brand-gap:10px;--brand-caption-size:10px;--brand-caption-tracking:1px;align-items:center;gap:var(--brand-gap);letter-spacing:0;flex-shrink:0;width:230px;max-width:100%;line-height:1;display:flex}.brand .brand-symbol{width:var(--brand-symbol-size);height:var(--brand-symbol-size);flex-shrink:0;display:block}.brand-lettering{flex:1;min-width:0;display:block}.brand-wordmark{width:100%;height:auto;display:block}.brand .brand-lettering small{color:#63725f;font-size:var(--brand-caption-size);letter-spacing:var(--brand-caption-tracking);white-space:nowrap;margin:2px 0 0;padding-left:2px;font-weight:500;line-height:1.2;display:block}.brand-light .brand-lettering small{color:#f8f9f6}.sidebar .brand-link{width:calc(100% - 5px);max-width:190px}.sidebar .brand{--brand-symbol-size:48px;--brand-gap:8px;--brand-caption-tracking:.4px;width:190px}.auth-story .brand{--brand-symbol-size:72px;--brand-gap:12px;--brand-caption-size:12px;--brand-caption-tracking:1.2px;width:300px}@media (min-width:651px) and (max-width:1050px){.sidebar .brand{--brand-symbol-size:42px;--brand-gap:7px}.sidebar .brand-lettering small{display:none}}@media (max-width:650px){.auth-story .brand{--brand-symbol-size:64px;--brand-gap:10px;--brand-caption-size:11px;--brand-caption-tracking:1px;width:262px}}.handwriting-profile-link{justify-content:space-between;align-items:center;gap:24px;margin:24px 0;display:flex}.handwriting-profile-link h2{margin:10px 0}.handwriting-profile-link p{margin:0;font-size:16px}.handwriting-profile-link .button{flex-shrink:0}.handwriting-selector{align-items:flex-end;gap:24px;margin:28px 0;display:flex}.handwriting-selector label{margin-bottom:8px;font-size:16px;font-weight:500;display:block}.handwriting-select-control{display:block;position:relative}.handwriting-select-control>svg{pointer-events:none;color:#315d4b;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.handwriting-selector select{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;color:#315d4b;width:100%;min-width:180px;min-height:50px;font:inherit;background:#fff;border:1px solid #dce3d5;border-radius:5px;outline:none;padding:10px 48px 10px 16px;font-size:20px}.handwriting-selector select:focus{border-color:#315d4b;outline:none;box-shadow:inset 0 0 0 1px #315d4b}.handwriting-selector p{align-items:center;max-width:520px;min-height:50px;margin:0;font-size:16px;line-height:1.65;display:flex}.handwriting-test-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:start;gap:28px;display:grid}.handwriting-main{min-width:0}.handwriting-test-page .handwriting-results{margin:0}.handwriting-audio{margin:-8px 0 22px}.handwriting-audio .button{min-height:44px}.handwriting-saved{align-items:center;gap:8px;display:flex}.handwriting-test-page .pad-heading{flex-wrap:wrap;gap:16px;margin-bottom:20px}.handwriting-test-page .pad-heading p{font-size:16px}.handwriting-test-page .pad-svg{width:100%;height:auto;min-height:280px;max-height:480px;display:block}.handwriting-test-page .pad-toolbar{flex-wrap:wrap;gap:12px}.handwriting-compare{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.handwriting-compare [role=status]{align-items:center;gap:8px;font-size:16px;display:flex}.handwriting-results{gap:20px;min-width:0;display:grid}.handwriting-results .panel{border-radius:6px;padding:26px}.handwriting-results p{font-size:16px;font-weight:400;line-height:1.65}.handwriting-results h2{margin:14px 0;font-size:24px;font-weight:500;line-height:1.25}.handwriting-recognition{background:#edf2e8;border-top:3px solid #315d4b}.recognized-character{align-items:center;gap:20px;margin:16px 0;display:flex}.recognized-character strong{color:#315d4b;font-family:Noto Serif JP,serif;font-size:90px;font-weight:400;line-height:1.1}.recognized-character>span{color:#63725f;font-size:30px}.recognition-alternatives{margin:24px 0 0;padding:0;list-style:none}.recognition-alternatives li{border-top:1px solid #d6dfcf;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:10px 0;font-size:16px;display:grid}.recognition-alternatives li [lang=ja]{font-family:Noto Serif JP,serif;font-size:26px}.recognition-alternatives strong{font-weight:500}.handwriting-score{color:#315d4b;margin:12px 0 20px;font-size:30px;font-weight:500;display:block}.handwriting-grade dl{margin:0}.handwriting-grade dl>div{border-bottom:1px solid #e6eadd;justify-content:space-between;gap:12px;padding:8px 0;font-size:16px;display:flex}.handwriting-grade dd{margin:0;font-weight:500}.handwriting-empty-results{background:#f2f4ed}.handwriting-empty-results p{margin-bottom:0}.handwriting-empty-symbol{color:#9dab88;font-family:Noto Serif JP,serif;font-size:64px;line-height:1.3;display:block}@media (max-width:1100px){.handwriting-test-grid{grid-template-columns:minmax(0,1fr)}.handwriting-results{grid-template-columns:repeat(2,minmax(0,1fr))}.handwriting-empty-results{grid-column:1/-1}}@media (max-width:650px){.handwriting-profile-link,.handwriting-selector{flex-direction:column;align-items:stretch;gap:16px}.handwriting-selector select{width:100%}.handwriting-selector p{margin:0}.handwriting-results{grid-template-columns:minmax(0,1fr)}.handwriting-results .panel{padding:22px}.handwriting-compare .button{justify-content:center;width:100%}.handwriting-test-page .pad-svg{min-height:260px}}
/*# sourceMappingURL=main.4a61e97c986fce83.css.map*/