: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,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::placeholder{color:var(--muted)}strong{font-weight:600}[lang=ja]{font-family:var(--japanese)}.full{width:100%}.eyebrow{color:#78816f;letter-spacing:1.8px;font-size:14px;font-weight:600;line-height:1.6;display:block}.button{letter-spacing:.1px;white-space:nowrap;border:1px solid #0000;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:not(:disabled):hover{background:#254a39;transform:translateY(-1px);box-shadow:0 3px 10px #294f4020}.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}.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 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:#3f5a48;background:#eef2e8;border:1px solid #d9dfd1;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 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:fit-content;display:block}.brand-link:focus-visible{border-radius:4px}.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;inset:0 auto 0 0}.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.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-bottom{margin-top:auto;padding-top:50px}.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:#ffffffb3;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)}.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}.mobile-menu,.mobile-close{display:none}main{flex:1}.page{max-width:1510px;margin:auto;padding:35px 44px 45px}.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}.auth-shell{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.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}.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 #92aa8010}.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}.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}.back-link{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.back-link:hover{color:var(--green)}.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}.pronunciation{color:var(--muted);text-align:left;margin-top:15px;font-size:14px;line-height:1.9}@keyframes draw-stroke{to{stroke-dashoffset:0}}.replay-button{color:var(--muted);margin:3px auto 0;font-size:12px;display:flex}.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-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 #68824a04}.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;inset:0 0 35px}.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:#ffffffc9;padding:2px 7px;font-size:16px}.pad-empty>small{color:var(--muted);background:#ffffffc9;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)}.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}}.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}.guided-pill{color:var(--muted);background:#f4f3e8;border-radius:4px;margin-left:auto;padding:3px 7px;font-size:12px}.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}.attempt{border-top:1px solid #eef1e7;align-items:center;gap:20px;padding:14px 5px;display:flex}.attempt:hover{background:#f9fbf5}.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}.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:fit-content;margin:18px auto 0;font-size:14px;display:flex}.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 #1b352f20}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#243a3255}.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}.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 (width>=1550px){.page{padding-top:43px}}@media (width<=1250px){.sidebar{width:214px;padding-left:16px;padding-right:16px}.sidebar .brand{gap:8px;font-size:21px}.main-shell{margin-left:214px}.main-nav>a{gap:9px;padding:13px 10px;font-size:14px}.profile{margin-left:-16px;margin-right:-16px;padding:15px}.topbar{padding-left:30px;padding-right:30px}.page{padding:29px 30px 38px}.detail-character{font-size:90px}.site-footer{padding-left:30px;padding-right:30px;font-size:12px}.site-footer>[lang=ja]{font-size:12px}}@media (width<=1050px){.reference-badge{font-size:12px}.detail-character{letter-spacing:-6px;font-size:80px}.detail-romaji{font-size:24px}.pronunciation{font-size:12px}.word-card{padding:14px}.pad-svg{min-height:265px}.panel{padding:21px}}@media (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,.nav-label,.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}.breadcrumb{gap:8px;font-size:12px}.page{padding:27px 23px 35px}.site-footer{padding:17px 23px;font-size:12px}.site-footer>[lang=ja]{display:none}.detail-romaji{font-size:22px}.pronunciation{margin-top:10px;font-size:12px;line-height:1.7}.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-workspace{margin-top:7px}.attempt{gap:12px;padding:12px 0}.attempt>div>small{font-size:12px}.attempt>div>strong{font-size:14px}.attempt .stars svg{width:9px;height:9px}}@media (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}.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:#213d3240;position:fixed;inset:0}.main-nav>a{gap:11px;padding:13px 12px;font-size:14px}.main-nav .nav-count{font-size:12px}.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}.site-footer{padding:16px 20px;font-size:12px}.auth-shell{grid-template-columns:1fr}.auth-passwordless,.setup-note,.back-link,.reference-badge,.pronunciation,.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-svg{min-height:290px}.pad-empty p{font-size:14px}.pad-empty small{font-size:12px}.panel h2{font-size:17px}.attempt>div>strong{font-size:14px}.attempt>div>small{font-size:12px}.attempt .stars svg{width:11px;height:11px}}@media (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}.breadcrumb,.pronunciation{font-size:12px}.word-card{padding:12px 14px}.word-card>strong{font-size:20px}.word-card>span:last-child{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}.attempt{gap:10px}.attempt>div>small{font-size:12px}}.pronunciation{color:#79846d}.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)}.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 #344c3e18}.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 (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}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-delay:0s!important}.loading-screen .brand{opacity:1}}:root{--c-ink:#193f36;--c-ink-soft:#56665c;--c-olive:#53694a;--c-wash:#f4f3eb;--c-paper:#fbfaf5;--c-paper-hi:#fffdf7;--glass-paper:#fbfaf58f;--glass-wash:#f4f3eb8f;--glass-line:#d9dfd199;--glass-blur:saturate(1.8) blur(20px);--c-line:#d9dfd1;--c-line-strong:#bbc8b3;--c-moss:#315c4b;--c-moss-deep:#193f36;--c-moss-soft:#e8edde;--c-gold:#d1b16b;--c-danger:#a54e3c;--c-focus-ring:0 0 0 3px #315c4b2e;--shadow-card:0 1px 2px #1e33290a;--t-eyebrow:12px;--t-small:13px;--t-body:15px;--t-title:16px;--font-japanese:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif}.level-0{background:#edf1e6}.level-1{background:#d8e5c9}.level-2{background:#b7cda2}.level-3{background:#92b378}.level-4{background:#638d50}.level-5{background:#315d4b}.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}.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 (width<=1280px){.upcoming-list{grid-template-columns:1fr}}@media (width<=650px){.metric-definitions{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}.button{min-height:46px;font-size:16px;font-weight:500}.text-link,.text-button{font-size:14px}.icon-button{width:40px;height:40px}.sidebar{overscroll-behavior-y:contain;overflow-y:auto}.sidebar>*{flex-shrink:0}.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}.nav-label{letter-spacing:1.4px;font-size:12px}.profile strong{font-size:14px}.profile small{font-size:12px}.pronunciation{font-size:14px;line-height:1.7}.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}.overall-score>span{font-size:16px}.overall-score>strong{font-size:36px}.guided-pill{color:#456044;font-size:12px}.attempt>div>strong{color:#526a45;font-size:16px}.attempt>div>small{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}.notice,.setup-note{color:#74623d;font-size:14px;line-height:1.7}.field-error{font-size:14px}.input-with-icon input,.google-button,.auth-submit{font-size:16px}.input-with-icon{height:50px}.auth-passwordless{font-size:14px}.modal>p{font-size:16px;line-height:1.75}.modal-heading h2{font-size:26px}.site-footer{flex-wrap:wrap;font-size:12px}@media (width<=1050px) and (width>=651px){.word-card{grid-column:1/-1}}@media (width<=650px){.topbar{z-index:40;background:#fff;position:sticky;top:0}.sidebar:not(.sidebar-open){visibility:hidden;pointer-events:none}.sidebar.sidebar-open{visibility:visible;pointer-events:auto}.page{padding:28px 20px 40px}.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}.sidebar{width:min(300px,90vw);padding:30px 24px 0}.sidebar .brand{font-size:28px}.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-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}.back-link{min-height:44px;font-size:14px}.reference-badge{font-size:12px}.pronunciation{font-size:14px;line-height:1.7}.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}.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-toggles{grid-template-columns:repeat(3,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}.guided-pill{font-size:14px}.overall-score{margin-top:24px}.overall-score>span{font-size:16px}.overall-score>strong{font-size:38px}.panel{padding:24px 20px}.panel h2{font-size:24px}.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 .stars svg{width:13px;height:13px}.input-with-icon input,.google-button,.auth-submit{font-size:16px}.auth-passwordless{align-items:flex-start;font-size:14px}.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 (width<=360px){.page{padding-left:16px;padding-right:16px}.topbar-right{gap:6px}.topbar{padding:0 12px}}.page :is(p,li),.auth-shell p,.modal p,.page .metric-definitions,.page .metric-definitions summary,.page .notice,.page .field-error,.page .pronunciation{font-size:16px;line-height:1.7}.page .text-link,.page .text-button,.page .eyebrow{font-size:16px}.reference-badge,.pad-bottom,.site-footer,.site-footer>[lang=ja]{font-size:14px}.page :is(h1,h2,h3),.page p{font-weight:400}.page strong{font-weight:500}.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)}.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}.page.section-page{width:100%;max-width:none;padding:0}.section-header{--header-accent:#53694a;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:clamp(32px,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>p{margin-top:0}.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;inset: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:#faf7eeed;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:#53694a;--art-position:61% 52%}.section-header--progress{--header-accent:#53694a;--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}.button,.icon-button,.input-with-icon,.pad-toggles>button,.recall-buttons>button{border-radius:4px}.word-card,.evaluation-card{box-shadow:none;border:0;border-radius:4px}.writing-pad{border-radius:4px}.panel{box-shadow:none;border:0;border-radius:0}.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}@media (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 (width<=1250px){.section-header-copy{padding-left:32px;padding-right:30px}.section-body{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 (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)}}@media (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:clamp(180px,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 (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-actions{gap:18px;margin-top:23px}.section-header-actions>.button{white-space:normal;max-width:100%;min-height:48px;font-size:16px}.section-body{padding:28px 20px 40px}.section-header--compact h1{font-size:30px}}@media (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{padding-left:16px;padding-right:16px}}.sidebar .brand small{letter-spacing:1px;font-size:10px}.home-kanji-card{background:#fafbf4ee;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:clamp(24px,2.2vw,30px);font-weight:400;line-height:1.35}.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-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 #0000;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:#fff9;border-radius:3px;padding:0 6px;font-size:14px}.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:clamp(28px,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 (width<=800px){.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 (width<=650px){.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}.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}}.waitlist-modal-actions a.button.is-disabled{opacity:.5;pointer-events:none}.waitlist-draft{background:var(--c-wash);border-radius:4px;padding:12px 14px}.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}@media (width>=651px) and (width<=1050px){.sidebar .brand{--brand-symbol-size:42px;--brand-gap:7px}.sidebar .brand-lettering small{display:none}}:root{--ink:#202b30;--accent:#315c4b;--green:#202b30;--green-dark:#10191d;--green-light:#ece9e1;--muted:#697172;--line:#d8d5cc;--paper:#faf9f4;--serif:"Instrument Serif",Georgia,serif;--sidebar-size:236px;--content-max:1380px;--page-gutter:clamp(24px,3vw,48px);color:var(--ink);background:#f5f3eb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}body{background:#f5f3eb}button,input,select,textarea{font-family:inherit}button,a,input,select{outline-offset:4px}.auth-page,.auth-page *,.app-shell,.app-shell *,.modal{border-radius:0!important}.button{letter-spacing:0;min-height:48px;box-shadow:none;padding:12px 20px;font-size:14px;font-weight:500}.button.primary{background:var(--ink);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent);box-shadow:none;transform:none}.button.secondary{color:var(--ink);background:0 0;border-color:#bdbfb7}.button.secondary:hover:not(:disabled){border-color:var(--ink);background:#eae7dd}.icon-button{color:#707675}.icon-button:hover{color:var(--accent);background:#eae7df}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent)}.eyebrow{letter-spacing:1.8px;font-size:11px;font-weight:500}.text-link,.text-button{color:var(--ink)}.text-link:hover,.text-button:hover{color:var(--accent)}.field-error{color:#a83423}.auth-page{background:#f5f3eb;min-height:100svh;padding:0;display:block}.auth-shell{width:100%;max-width:none;height:100svh;min-height:600px;box-shadow:none;background:0 0;border:0;grid-template-rows:84px minmax(0,1fr) 46px;grid-template-columns:minmax(0,1fr);margin:0;display:grid;overflow:hidden}.auth-access-note{color:#777d77;justify-content:flex-start;align-items:center;gap:7px;margin:12px 0 0;font-size:11px;line-height:1.5;display:flex}.auth-request-panel .waitlist-signup{background:0 0;border:0;margin:0;padding:0}.auth-request-panel .input-with-icon{background:#fbfaf5;border-color:#bcbeb6;height:48px}.auth-request-panel .waitlist-footnote{color:#777d77;font-size:11px;line-height:1.6}.auth-request-panel .waitlist-success{border-left:2px solid var(--ink);background:#e8eadf;padding:16px}.auth-request-panel .waitlist-signup form>label{font-size:13px}.auth-request-panel .waitlist-signup form .waitlist-consent{font-size:16px;line-height:1.6}.app-shell{max-width:none;min-height:100svh;box-shadow:none;background:#f5f3eb;margin:0}.sidebar{width:var(--sidebar-size);border-right:1px solid var(--line);background:#fbfaf5;height:100dvh;padding:0;inset:0 auto 0 0;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:26px 20px 24px;display:flex}.sidebar .brand-link{width:192px;max-width:100%;margin:0}.sidebar .brand{--brand-symbol-size:39px;--brand-gap:8px;width:192px}.sidebar .brand-lettering small{letter-spacing:.5px;font-size:8px;display:block}.sidebar .sidebar-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 16px 20px;overflow-y:auto}.nav-label{letter-spacing:1.5px;color:#92948b;margin:26px 8px 16px;font-size:9px}.main-nav{gap:0}.main-nav>a{color:#6d7471;border-bottom:1px solid #e7e4dc;gap:12px;min-height:51px;padding:12px 9px;font-size:13px;font-weight:400;line-height:1.5;position:relative}.main-nav>a.active{color:var(--accent);box-shadow:none;background:0 0;font-weight:600}.main-nav>a:hover{color:var(--ink);background:#eeece3}.main-nav .nav-count{color:#68716a;background:#e9e4da;padding:1px 5px;font-size:10px}.sidebar-bottom{border-top:1px solid var(--line);background:#fbfaf5;flex:none;margin:0;padding:15px 16px}.profile{border:0;margin:0;padding:0}.profile-identity{gap:10px;min-height:44px;padding:4px 5px}.profile-identity:hover{background:#eeece3}.profile .avatar{background:var(--ink);color:#fff;flex-shrink:0;width:33px;height:33px;font-size:14px}.profile strong{font-size:12px;font-weight:500;line-height:1.5}.profile small{color:#777d77;align-items:center;gap:5px;margin-top:2px;font-size:11px;line-height:1.4;display:flex}.sidebar-signout{color:#777d77;align-items:center;gap:12px;width:100%;min-height:44px;margin-top:6px;padding:10px 8px;font-size:12px;display:flex}.sidebar-signout:hover{color:var(--accent);background:#eee6df}.main-shell{margin-left:var(--sidebar-size);min-height:100svh}.topbar{z-index:25;height:60px;min-height:60px;padding:0 var(--page-gutter);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f5f3ebf5;display:flex;position:sticky;top:0}.breadcrumb{gap:11px;font-size:12px}.breadcrumb strong{color:var(--ink);font-weight:500}.topbar-right{gap:20px}.daily-mini{font-size:11px}.daily-mini strong{color:var(--accent);font-size:12px}.section-header{border:0;border-bottom:1px solid var(--line);background:0 0;margin:0}.section-header-inner,.section-header--catalog .section-header-inner,.section-header--compact .section-header-inner{max-width:var(--content-max);min-height:0;margin:0 auto;display:block}.section-header-copy,.section-header--compact .section-header-copy{padding:24px var(--page-gutter);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:28px;display:grid}.section-header .eyebrow{letter-spacing:1.5px;color:var(--accent);grid-area:1/1;gap:0;margin:0 0 8px;font-size:10px;line-height:1.5}.section-header .eyebrow:before{display:none}.section-header h1,.section-header--catalog h1,.section-header--compact h1{font-family:var(--serif);letter-spacing:-.8px;color:var(--ink);grid-area:2/1;font-size:clamp(32px,3vw,42px);font-weight:400;line-height:1.1}.section-header h1 br{display:none}.section-header h1 em{color:var(--ink);font-style:normal}.section-header h1 em:before{content:" "}.section-header p{color:#697172;grid-area:3/1;max-width:620px;margin-top:9px;font-size:14px;line-height:1.6}.section-header-actions{flex-direction:column;grid-area:1/2/4;align-items:flex-start;gap:10px;margin:0;display:flex}.section-header-actions>.button{min-height:44px;padding:10px 15px;font-size:13px}.section-header-art{display:none}.section-body{max-width:var(--content-max);padding:22px var(--page-gutter) 40px;margin:0 auto}.site-footer{max-width:var(--content-max);padding:18px var(--page-gutter);color:#8b8f84;font-size:10px}.site-footer>[lang=ja]{font-size:10px}.panel,.word-card{box-shadow:none;background:#fbfaf5;border:1px solid #dedcd2}.panel h2,.page h2{font-family:var(--serif);font-weight:400}.writing-pad{background:#fff;border-color:#cfcec4}.pad-toggles>button{background:#f3f1e8;border-color:#d1d1c6;font-size:12px}.pad-toggles>button.active{background:var(--ink);color:#fff}.expert-switch{font-size:12px}.modal{background:#faf9f4;border:1px solid #c9cbbf;max-height:calc(100dvh - 32px);overflow:auto}.modal-heading h2{font-family:var(--serif);font-size:32px;font-weight:400}@media (height<=700px) and (width>=881px){.auth-shell{grid-template-rows:68px minmax(0,1fr) 36px;min-height:540px}}@media (height<=560px){.sidebar-header{padding-block:17px}.sidebar-bottom{padding-block:9px}.nav-label{margin-top:16px}.main-nav>a{min-height:44px}}@media (width<=1180px) and (width>=981px){:root{--sidebar-size:218px;--page-gutter:26px}.sidebar-header{padding-inline:16px}.sidebar .brand-link,.sidebar .brand{width:184px}.section-header-copy{column-gap:18px}}@media (width<=980px){.sidebar{visibility:hidden;pointer-events:none;z-index:60;width:min(320px,100vw - 32px);transition:transform .18s,visibility 0s linear .18s;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.sidebar-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.sidebar-header{padding:24px}.sidebar .brand-link,.sidebar .brand{width:195px}.sidebar .mobile-close{background:#eeece3;flex-shrink:0;width:40px;height:40px;display:flex;position:static}.main-shell{margin-left:0}.mobile-menu{width:40px;height:40px;margin-left:-8px;display:flex}.sidebar-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#202b3066;position:fixed;inset:0}.breadcrumb>span,.breadcrumb>svg{display:none}.topbar{padding-inline:20px}}@media (width<=880px){.auth-shell{flex-direction:column;height:auto;min-height:100svh;display:flex;overflow:visible}.auth-access-note{font-size:10px}}@media (width<=650px){:root{--page-gutter:20px}.topbar{height:58px;min-height:58px;padding-inline:16px}.breadcrumb{gap:5px}.breadcrumb strong{font-size:12px}.topbar-right{gap:10px}.daily-mini{font-size:0}.daily-mini strong{font-size:12px}.section-header-copy,.section-header--compact .section-header-copy{padding:23px var(--page-gutter);display:block}.section-header .eyebrow{margin-bottom:10px;font-size:9px}.section-header h1,.section-header--catalog h1,.section-header--compact h1{font-size:35px;line-height:1.08}.section-header p{margin-top:10px;font-size:13px;line-height:1.6}.section-header-actions{flex-direction:row;margin-top:17px;display:flex}.section-header-actions>.button{min-height:44px;font-size:12px}.section-body{padding-top:22px}.site-footer{padding-block:20px;font-size:10px;line-height:1.6}.site-footer>[lang=ja]{font-size:10px}.modal{max-width:calc(100vw - 28px)}}@media (prefers-reduced-motion:no-preference){.google-button,.main-nav>a{transition:background .15s,color .15s}.google-button:active{transform:translateY(1px)}}@keyframes ink-appear{0%{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.entry-page{--scene-ink:#183e38;--scene-cream:#fffdf2;--scene-accent:#e5c69b;--entry-gutter:clamp(32px, 7.6vw, 120px);background:var(--scene-ink);color:var(--scene-cream);padding:0;font-family:Signika,sans-serif}.entry-page [hidden]{display:none!important}.entry-page,.entry-page *{border-radius:0!important}.auth-shell.entry-shell{background:var(--scene-ink);border:0;flex-direction:column;width:100%;max-width:none;height:auto;min-height:100svh;margin:0;display:flex;overflow:visible}.entry-stage{isolation:isolate;flex:1 0 auto;grid-template-rows:100px minmax(0,1fr);min-height:calc(100svh - 192px);padding-bottom:52px;display:grid;position:relative}.entry-art,.entry-art:after,.entry-art .section-artwork,.entry-art img{width:100%;height:100%;position:absolute;inset:0}.entry-art{z-index:-2;background:#486c66;overflow:hidden}.entry-art .section-artwork{display:block}.entry-art img{object-fit:cover;object-position:center 56%}.entry-art:after{content:"";background:linear-gradient(90deg,#102e2bd9 0%,#102e2bb8 25%,#102e2b62 48%,#0000 74%),linear-gradient(#0d282b66,#0000 24% 74%,#102e2b88)}.entry-masthead{z-index:2;align-items:center;gap:44px;padding:25px clamp(24px,3.5vw,64px);display:flex;position:relative}.entry-masthead .brand{--brand-symbol-size:46px;--brand-caption-size:9px;--brand-caption-tracking:.8px;width:222px}.entry-navigation{align-items:center;gap:10px;margin-left:auto;display:flex}.entry-navigation button{color:#fffdf2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:0 1px 4px #183e3880;background:#183e38a6;border:1px solid #fffdf26b;min-height:44px;padding:10px 18px;font-size:15px;font-weight:500;line-height:1.3;position:relative}.entry-navigation button[aria-pressed=true]{background:#183e38bd;border-color:#fffdf2b3}.entry-navigation button:hover{background:#183e38e6;border-color:#fffdf2b3}.entry-beta{color:#fffdf2;white-space:nowrap;text-shadow:0 1px 4px #183e38;background:#183e3866;align-items:center;gap:9px;min-height:44px;padding:10px 12px;font-size:12px;display:flex}.entry-beta>span{background:#efcfad;width:6px;height:6px}.entry-content{width:100%;max-width:1510px;margin:auto;padding:26px clamp(32px,7.6vw,120px) 35px;position:relative}.entry-story{max-width:760px}.entry-page .eyebrow{letter-spacing:2.3px;color:#f2ecdc;font-size:11px;font-weight:500;line-height:1.7;display:block}.entry-story h1{letter-spacing:-1.8px;color:#fffdf2;text-wrap:initial;margin:22px 0 0;font-family:Signika,sans-serif;font-size:clamp(48px,4.8vw,68px);font-weight:400;line-height:1.02}.entry-story h1 em{color:#e5c99f;font-style:normal}.entry-description{margin-top:24px}.entry-description p,.entry-description p+p{color:#f7f5e9;margin:0;font-size:16px;font-weight:400;line-height:1.65}.entry-login{outline-offset:8px;width:min(100%,370px);margin-top:26px}.entry-page .entry-login .google-button{color:#243d35;background:#fffdf2;border:1px solid #fffdf2;justify-content:flex-start;align-items:center;gap:16px;width:100%;min-height:58px;padding:13px 20px;font-size:17px;font-weight:500;display:flex;box-shadow:0 4px 18px #102e2b22}.entry-login .google-button>svg:last-child{margin-left:auto}.entry-page .google-button:hover:not(:disabled){color:#122f28;background:#edd6b5;border-color:#edd6b5;transform:none}.entry-page .google-button:active:not(:disabled){transform:translateY(1px)}.entry-login .auth-access-note,.entry-login .auth-passwordless{color:#f3f2df;justify-content:flex-start;align-items:center;gap:7px;margin:11px 0 0;font-size:12px;display:flex}.entry-login .or-divider{color:#fffdf2;margin-block:15px}.entry-login .or-divider span{background:#f3f2df55}.entry-login form>label{color:#fffdf2;margin-bottom:8px;font-size:14px;display:block}.entry-page .input-with-icon,.entry-page .otp-input{color:#183e38;background:#fffdf2;border:1px solid #e4dcc8;min-height:50px}.entry-login .auth-submit{color:#183e38;background:#e5c99f;margin-top:13px}.entry-login .field-error{color:#922b1b;background:#fff3e5;margin-block:12px;padding:10px 13px;font-size:14px}.entry-login .setup-note{color:#fffdf2}.entry-form-heading h2,.entry-request h2{letter-spacing:-1px;color:#fffdf2;font-family:Signika,sans-serif;font-size:44px;font-weight:400;line-height:1.06}.entry-form-heading p,.entry-request>p{color:#f5f0e3;margin:18px 0 22px;font-size:16px;line-height:1.65}.entry-login .code-options .text-button{color:#fffdf2;min-height:44px}.entry-request{max-width:455px;padding-block:10px}.entry-request>.eyebrow{margin-bottom:17px}.entry-request .waitlist-signup{background:0 0;border:0;margin:0;padding:0}.entry-request .waitlist-signup form>label{color:#fffdf2;font-size:15px}.entry-request .waitlist-signup form .waitlist-consent{color:#fffdf2;font-size:16px;line-height:1.6}.entry-request .waitlist-consent input{accent-color:#e5c99f}.entry-request .waitlist-signup .button{color:#183e38;background:#fffdf2;border-color:#fffdf2;min-height:52px}.entry-request .waitlist-footnote{color:#f5f0e3;font-size:12px}.entry-request .waitlist-success{color:#183e38;background:#fffdf2;border:0;padding:22px}.entry-request .field-error{color:#922b1b;background:#fff3e5;padding:10px}.entry-kanji{position:absolute;bottom:80px;right:clamp(28px,4vw,70px)}.entry-kanji-title{color:#fffdf2;text-shadow:0 1px 7px #102e2b;margin:0 0 8px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4}.entry-kanji .home-kanji-card{color:#fffdf2;width:auto;min-width:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#133e37d9;border:1px solid #fffdf266;border-left:3px solid #e5c99f;align-items:center;gap:20px;margin:0;padding:15px 22px;display:flex;position:static}.entry-kanji .home-kanji-japanese{flex-direction:column;align-items:center;display:flex}.entry-kanji .home-kanji-character{font-family:var(--japanese);color:#fffdf2;font-size:61px;font-weight:400;line-height:1.1}.entry-kanji .home-kanji-pronunciation{align-items:baseline;gap:9px;margin-top:6px;display:flex}.entry-kanji .home-kanji-reading{color:#fffdf2;font-size:13px}.entry-kanji .home-kanji-romaji{color:#e2d7c3;font-size:11px}.entry-kanji figcaption{min-width:95px}.entry-kanji .home-kanji-label{color:#e5c99f;letter-spacing:1.8px;margin-bottom:7px;font-size:9px}.entry-kanji .home-kanji-card strong{color:#fffdf2;font-size:26px;font-weight:400;line-height:1.1;display:block}.entry-quote{color:#fffdf2;text-shadow:0 1px 7px #102e2b;flex-direction:column;align-items:flex-start;gap:5px;display:flex;position:absolute;bottom:24px;left:max(clamp(32px,7.6vw,120px),50vw - 635px)}.entry-quote>[lang=ja]{font-family:var(--japanese);letter-spacing:3px;font-size:14px}.entry-quote>span:last-child{font-size:11px}.entry-strip{padding:16px var(--entry-gutter);color:#183e38;background:#f4f1e7;border-top:1px solid #fffdf24d;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);align-items:center;gap:44px;display:grid}.entry-intro{padding-block:4px}.entry-intro .eyebrow{color:#826748;letter-spacing:1.6px;margin-bottom:7px;font-size:10px;line-height:1.5}.entry-intro h2{color:#183e38;letter-spacing:-.4px;margin:0;font-family:Signika,sans-serif;font-size:24px;font-weight:500;line-height:1.2}.entry-intro p{color:#58675d;max-width:340px;margin:9px 0 0;font-size:13px;line-height:1.55}.entry-options{background:#fffdf280;border:1px solid #bec8b9;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;display:grid}.entry-option:only-child{grid-column:1/-1}.entry-option{color:#183e38;text-align:left;grid-template-rows:20px 28px 18px;align-content:center;row-gap:6px;width:100%;min-width:0;min-height:116px;padding:16px 20px;display:grid}.entry-option+.entry-option{border-left:1px solid #bec8b9}.entry-option-label{color:#58675d;font-size:13px;line-height:20px}.entry-option-title{grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:14px;width:100%;display:grid}.entry-option-title strong{letter-spacing:-.3px;font-size:22px;font-weight:500;line-height:28px}.entry-option-title svg{color:#47644e;transition:transform .16s}.entry-option small{color:#58675d;font-size:11px;line-height:18px}.entry-option:hover:not(:disabled){background:#e5e9dc}.entry-option:hover .entry-option-title svg{transform:translate(3px)}.entry-option:active:not(:disabled){background:#dce2d2}.entry-page .entry-option:focus-visible,.entry-page .entry-footer button:focus-visible{outline-offset:-4px;outline-color:#183e38}.entry-footer{min-height:44px;padding:0 var(--entry-gutter);color:#58675d;background:#f4f1e7;border-top:1px solid #d5dbcf;justify-content:flex-start;align-items:center;gap:32px;font-size:12px;display:flex}.entry-footer-meta{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.entry-footer button{color:#36533d;text-underline-offset:3px;min-height:44px;padding:0;font-size:12px;text-decoration:underline}.entry-page button:focus-visible,.entry-page input:focus-visible{outline-offset:5px;outline:2px solid #e5c99f}.entry-shell--request .entry-stage{min-height:max(560px,100svh - 192px)}@media (width>=1800px){.entry-page{--entry-gutter:max(90px, calc((100vw - 1270px)/2))}.entry-content{padding-block:70px}.entry-story{max-width:750px}.entry-stage{grid-template-rows:114px minmax(0,1fr)}.entry-art img{object-position:center 56%}}@media (height<=710px) and (width>=881px){.entry-stage{grid-template-rows:82px minmax(0,1fr);min-height:calc(100svh - 176px);padding-bottom:36px}.entry-masthead{padding-block:15px}.entry-masthead .brand{--brand-symbol-size:40px;width:200px}.entry-content{padding-top:16px;padding-bottom:14px}.entry-story{max-width:650px}.entry-story h1{margin-top:14px;font-size:52px;line-height:1.02}.entry-description{margin-top:17px}.entry-description p,.entry-description p+p{font-size:14px;line-height:1.65}.entry-login{margin-top:20px}.entry-page .entry-login .google-button{min-height:52px;font-size:16px}.entry-strip{gap:32px;padding-block:12px}.entry-option{min-height:108px;padding-block:12px}.entry-intro h2{font-size:23px}.entry-kanji{bottom:75px}.entry-kanji .home-kanji-character{font-size:48px}}@media (width<=1050px) and (width>=881px){.entry-content{padding-inline:55px}.entry-story{max-width:565px}.entry-story h1{font-size:52px}.entry-page{--entry-gutter:40px}.entry-strip{grid-template-columns:minmax(0,.9fr) minmax(0,1.8fr);gap:26px}.entry-intro h2{font-size:21px}.entry-option{grid-template-rows:36px 28px 36px;padding-inline:16px}.entry-option-label{line-height:18px}.entry-option-title strong{font-size:20px}.entry-option small{line-height:18px}.entry-kanji{bottom:60px;right:30px}.entry-kanji .home-kanji-card{gap:12px;padding:12px 15px}.entry-kanji .home-kanji-character{font-size:48px}.entry-quote{left:55px}}@media (width<=880px){.entry-page{--entry-gutter:28px}.entry-stage{grid-template-rows:82px minmax(0,1fr) auto auto;min-height:0;padding-bottom:0}.entry-art img{object-position:57% center}.entry-art:after{background:linear-gradient(90deg,#102e2bd9,#102e2b7a 65%,#102e2b33),linear-gradient(#102e2b44,#0000 40%,#102e2b99)}.entry-masthead{flex-wrap:wrap;gap:18px;padding:18px 24px}.entry-masthead .brand{--brand-symbol-size:40px;--brand-caption-size:8px;width:190px}.entry-navigation{gap:8px}.entry-navigation button{padding-inline:14px;font-size:14px}.entry-beta{display:none}.entry-content{padding:30px 28px 24px}.entry-story{max-width:570px}.entry-story h1{font-size:53px}.entry-story .eyebrow{letter-spacing:1.5px;max-width:280px;font-size:9px;line-height:1.8}.entry-description{margin-top:20px}.entry-description p,.entry-description p+p{font-size:14px;line-height:1.7}.entry-login{margin-top:23px}.entry-kanji{justify-self:end;padding:22px 28px 0;position:relative;bottom:auto;right:auto}.entry-kanji .home-kanji-card{gap:16px;padding:12px 18px}.entry-kanji .home-kanji-character{font-size:42px}.entry-kanji .home-kanji-reading{font-size:12px}.entry-kanji .home-kanji-card strong{font-size:22px}.entry-kanji .home-kanji-pronunciation{margin-top:4px}.entry-quote{align-items:flex-start;padding:22px 28px 25px;position:relative;bottom:auto;left:auto;right:auto}.entry-quote>[lang=ja]{font-size:12px}.entry-strip{grid-template-columns:minmax(0,1fr);gap:22px;padding-block:26px}.entry-intro{padding:0}.entry-intro p{max-width:440px;font-size:13px}.entry-footer{flex-wrap:wrap;gap:24px}.entry-request{max-width:520px}.entry-shell--request .entry-stage{min-height:0}}@media (width<=540px){.entry-page{--entry-gutter:24px}.entry-stage{grid-template-rows:76px minmax(0,1fr) auto auto}.entry-masthead{gap:13px;padding:16px 22px}.entry-masthead .brand{--brand-symbol-size:38px;--brand-gap:8px;--brand-caption-size:9px;--brand-caption-tracking:.5px;width:190px}.entry-navigation button{padding-inline:12px;font-size:14px}.entry-navigation button:first-child{display:none}.entry-shell--request .entry-navigation button:first-child{display:block}.entry-shell--request .entry-navigation button:last-child{display:none}.entry-content{padding:26px 24px 16px}.entry-story h1{letter-spacing:-1px;margin-top:17px;font-size:clamp(35px,9.7vw,48px);line-height:1.07}.entry-description{margin-top:20px}.entry-description p,.entry-description p+p{font-size:13px;line-height:1.75}.entry-login{margin-top:23px}.entry-page .entry-login .google-button{min-height:54px;font-size:16px}.entry-login .auth-access-note{font-size:11px}.entry-kanji{justify-self:start;padding:52px 24px 0}.entry-kanji .home-kanji-card{border:0;border-left:2px solid #e5c99f;padding:8px 15px}.entry-kanji .home-kanji-label{font-size:8px}.entry-quote{padding:19px 24px 24px}.entry-strip{gap:23px;padding-block:28px}.entry-intro h2{font-size:23px}.entry-options{grid-template-columns:minmax(0,1fr)}.entry-option{min-height:112px;padding-inline:20px}.entry-option+.entry-option{border-top:1px solid #bec8b9;border-left:0}.entry-option-title strong{font-size:22px}.entry-option small{font-size:12px}.entry-footer{flex-direction:column;align-items:flex-start;gap:0;padding-block:15px 7px}.entry-footer-meta{gap:8px}.entry-footer button{text-align:left}.entry-form-heading h2,.entry-request h2{font-size:37px}.entry-form-heading p,.entry-request>p{font-size:14px}}@media (width<=360px){.entry-masthead{gap:8px;padding-inline:18px}.entry-navigation button{padding-inline:9px;font-size:13px}.entry-masthead .brand{--brand-symbol-size:34px;--brand-caption-size:8px;width:166px}.entry-content{padding:18px 20px 16px}.entry-story h1{font-size:35px}.entry-story .eyebrow{font-size:8px}.entry-description p,.entry-description p+p{font-size:12px}.entry-login{margin-top:18px}}@media (width<=880px) and (height<=500px) and (orientation:landscape){.entry-stage{grid-template-rows:64px minmax(0,1fr) auto auto}.entry-content{flex-direction:column;padding:14px 24px 20px;display:flex}.entry-story{display:contents}.entry-story>.eyebrow{order:3;margin-top:22px}.entry-description{order:4;margin-top:12px}.entry-story h1{order:1;max-width:500px;margin:0;font-size:31px;line-height:1.06}.entry-login{order:2;margin-top:16px}.entry-page .entry-login .google-button{min-height:48px}}@media (prefers-reduced-motion:no-preference){.entry-story{animation:.6s ease-out both scene-arrive}.entry-login,.entry-request{animation:.4s ease-out both scene-arrive}.entry-page button{transition:color .16s,background .16s,transform .12s}}@keyframes scene-arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.app-shell{--ink:#193f36;--green:#315c4b;--green-dark:#193f36;--accent:#315c4b;--line:#d9dfd1;--serif:"Signika", sans-serif;--sidebar-size:240px;--page-gutter:clamp(24px, 3vw, 44px);color:var(--ink);background:#f4f3eb;font-family:Signika,sans-serif;overflow:clip}.app-shell .sidebar{background:#fbfaf5;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;max-height:100dvh;padding:0;display:grid}.app-shell .sidebar-header{padding:25px 20px}.app-shell .sidebar-scroll{min-height:0;padding:0 16px 18px;overflow-y:auto}.app-shell .nav-label{color:#647260;margin:25px 9px 13px;font-size:10px}.app-shell .main-nav>a{color:#526354;min-height:52px;padding:13px 10px;font-size:14px;line-height:1.4}.app-shell .main-nav>a.active{color:#264c3d;background:#e8edde}.app-shell .main-nav>a:hover{color:#264c3d;background:#edf0e4}.app-shell .main-nav .nav-count{color:#456044;background:#dce5cf}.app-shell .sidebar-bottom{border-top:1px solid var(--line);background:#f1f2e8;min-height:0;padding:16px;position:relative}.app-shell .profile-identity{padding:5px 7px}.app-shell .profile strong{font-size:14px;line-height:1.4}.app-shell .profile small{color:#526354;font-size:12px}.app-shell .profile .avatar{background:#315c4b}.app-shell .sidebar-signout{color:#526354;min-height:44px;margin-top:7px;font-size:13px}.app-shell .main-shell{min-width:0;overflow:visible}.app-shell .topbar{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf5f5;height:62px;min-height:62px;position:sticky;top:0}.app-shell .breadcrumb{font-size:13px}.app-shell .breadcrumb strong{font-size:14px;font-weight:500}.app-shell .daily-mini{color:#526354;align-items:center;gap:8px;min-height:44px;padding:7px 10px;font-size:13px;display:flex}.app-shell .daily-mini strong{color:#315c4b;font-size:15px;font-weight:500}.app-shell .daily-mini:hover{color:#264c3d;background:#e8edde}.app-shell .site-footer{color:#647260}.app-shell .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.study-goal-panel{margin:24px 0;padding:26px}.study-goal-heading{align-items:flex-start;gap:14px;display:flex}.study-goal-heading>svg{color:#315c4b;flex-shrink:0;margin-top:3px}.study-goal-heading h2{color:#193f36;font-size:25px;line-height:1.2}.study-goal-heading p{color:#526354;margin-top:8px;font-size:15px;line-height:1.6}.study-goal-panel fieldset{border:0;min-width:0;margin:22px 0 0;padding:0}.study-goal-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.study-goal-choice{cursor:pointer;background:#f8f8f0;border:1px solid #c5cfbb;flex-direction:column;gap:12px;min-width:0;padding:20px;display:flex}.study-goal-choice:hover{border-color:#789168}.study-goal-choice.is-selected{background:#e8efdd;border-color:#315c4b;box-shadow:inset 0 0 0 1px #315c4b}.study-goal-choice-heading{align-items:center;gap:10px;display:flex}.study-goal-choice-heading strong{color:#193f36;font-size:18px;font-weight:500}.study-goal-choice input{accent-color:#315c4b;flex-shrink:0;order:-1;width:18px;height:18px;margin:0}.study-goal-choice:has(input:focus-visible){outline-offset:3px;outline:2px solid #315c4b}.study-goal-time{color:#315c4b;align-items:baseline;gap:7px;font-size:33px;line-height:1.1;display:flex}.study-goal-time small{color:#526354;font-size:12px}.study-goal-count{color:#315c4b;font-size:14px}.study-goal-description{color:#526354;font-size:13px;line-height:1.6}.study-goal-note,.study-goal-storage{color:#647260;margin-top:17px;font-size:13px;line-height:1.6}.study-goal-save{flex-wrap:wrap;align-items:center;gap:18px;margin-top:20px;display:flex}.study-goal-save .button{color:#fffdf2;background:#315c4b;min-height:46px}.study-goal-feedback{color:#456044;align-items:center;gap:7px;font-size:14px;display:flex}.goal-load-error{color:#3f5a48;background:#eef2e8;border:1px solid #d9dfd1;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding:12px 15px;font-size:14px;display:flex}.goal-load-error button{min-height:40px;text-decoration:underline}@media (height<=560px){.app-shell .sidebar-header{padding-block:15px}.app-shell .sidebar-bottom{padding-block:8px}.app-shell .nav-label{margin-top:16px}}@media (width<=980px){.app-shell .sidebar{width:min(320px,100vw - 32px)}.app-shell .sidebar-header{padding:24px}.app-shell .main-shell{margin-left:0}}@media (width<=760px){.study-goal-options{grid-template-columns:minmax(0,1fr)}.study-goal-choice{grid-template-columns:1fr auto;gap:10px 20px;display:grid}.study-goal-time{grid-area:1/2/3;align-self:center}.study-goal-count,.study-goal-description{grid-column:1/-1}}@media (width<=650px){.app-shell{--page-gutter:20px}.app-shell .topbar{gap:10px;height:58px;min-height:58px;padding-inline:16px}.app-shell .breadcrumb strong{font-size:13px}.app-shell .daily-mini{gap:6px;padding-inline:4px;font-size:12px}.app-shell .daily-mini strong{font-size:14px}.app-shell .daily-mini strong+span{display:none}.study-goal-panel{padding:20px}.study-goal-heading{gap:11px}.study-goal-heading h2{font-size:24px}.study-goal-heading p{font-size:14px}.study-goal-choice{padding:17px}.study-goal-time{text-align:right;font-size:29px;display:block}.study-goal-time small{margin-top:5px;font-size:11px;display:block}}@media (prefers-reduced-motion:no-preference){.study-goal-choice{transition:background .15s,border-color .15s}}.writing-session{--pad-height:clamp(300px, calc(100svh - 350px), 410px);width:100%;max-width:1180px;margin:0 auto;padding:8px 24px 16px}.writing-session .handwriting-grade-overview .stars svg{width:16px;height:16px}.writing-session .handwriting-score{font-size:26px}.writing-session .handwriting-results{grid-area:auto;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:18px;height:auto;max-height:none;scroll-margin-top:78px;display:grid;overflow:visible}.writing-session .handwriting-results .panel{padding:23px}.writing-session .handwriting-results .eyebrow{letter-spacing:1px;font-size:11px}.writing-session .handwriting-results p{font-size:14px;line-height:1.6}.writing-session .handwriting-results h2{font-size:22px}.writing-session .handwriting-grade dl>div{font-size:14px}@media (width>=981px){.app-shell--writing .topbar{height:56px;min-height:56px}.app-shell--writing .site-footer{display:none}}@media (width<=1150px) and (width>=981px){.writing-session{--pad-height:clamp(300px,calc(100svh - 390px),390px);padding-inline:18px}}@media (width<=980px){.writing-session{--pad-height:clamp(280px,calc(100svh - 360px),410px);padding:12px 20px 22px}}@media (width<=700px){.writing-session{padding:10px 16px 20px}.writing-session .handwriting-results{grid-template-columns:minmax(0,1fr)}}@media (width<=380px){.writing-session{padding-inline:10px}}@keyframes writing-sheet-enter{0%{opacity:.65}to{opacity:1}}.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}@media (width<=650px){.handwriting-profile-link{flex-direction:column;align-items:stretch;gap:16px}}.handwriting-test-page{background:var(--c-wash);max-width:none;color:var(--c-ink);padding:0}.hw-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.handwriting-test-page :is(button,a,select,summary){scroll-margin-block:84px 96px}.handwriting-test-page :is(button,a,select,summary):focus-visible{outline:2px solid var(--c-moss);outline-offset:2px}.handwriting-test-page .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-soft);font-size:12px;font-weight:600;line-height:1.5;display:block}.hw-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""stage""actions""tools""results";gap:12px;width:100%;max-width:1560px;margin-inline:auto;padding:16px 16px 24px;display:grid}.handwriting-test-page.has-result .hw-layout{grid-template-areas:"head""stage""results""actions""tools"}.hw-head{grid-area:head}.hw-stage{grid-area:stage;min-width:0;scroll-margin-top:84px}.hw-actions{grid-area:actions}.hw-tools{grid-area:tools}.hw-results{grid-area:results}.hw-card{background:var(--c-paper);border:1px solid var(--c-line);box-shadow:0 1px 2px #1e33290a}.hw-head{box-shadow:none;background:0 0;border:0;padding:0}.hw-head-grid{align-items:center;gap:6px;display:flex}.hw-head-top,.hw-pager{display:contents}.hw-head .hw-back{order:0}.hw-select{flex:1;order:1}.hw-pager>span{order:2}.hw-pager>:nth-child(2){order:3}.hw-pager>:nth-child(3){order:4}.hw-head .handwriting-audio{order:5}.hw-head .handwriting-save{order:6}@media (width<=559px){.hw-pager>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.handwriting-test-page .hw-back{min-width:44px;min-height:44px;color:var(--c-ink-soft);justify-content:center;align-items:center;gap:6px;margin:0;padding:0 8px;font-size:14px;font-weight:500;display:inline-flex}.handwriting-test-page .hw-back:hover{background:var(--c-moss-soft);color:var(--c-ink)}.hw-pager{color:var(--c-ink-soft);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:14px;display:flex}.hw-pager>span{white-space:nowrap;padding:0 8px}.hw-pager>span i{color:var(--c-line-strong);margin:0;font-style:normal}.handwriting-test-page .hw-pager .icon-button{width:44px;height:44px;color:var(--c-ink);background:0 0}.handwriting-test-page .hw-pager .icon-button:hover:not(:disabled){background:var(--c-moss-soft)}.hw-glyph{display:none}.hw-meta{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hw-select{min-width:0}.handwriting-select-control{display:block;position:relative}.handwriting-select-control>svg{pointer-events:none;color:var(--c-ink-soft);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.hw-select select{appearance:none;border:1px solid var(--c-line-strong);background:var(--c-paper);width:100%;min-height:48px;color:var(--c-ink);font:inherit;cursor:pointer;padding:6px 38px 6px 14px;font-size:20px;font-weight:500;line-height:1.2}.hw-select select:hover:not(:disabled){border-color:var(--c-moss)}.hw-head .handwriting-audio{flex-shrink:0;margin:0;position:relative}.hw-head .handwriting-save{flex-shrink:0}.hw-head .button{border:1px solid var(--c-line-strong);background:var(--c-paper);width:48px;height:48px;min-height:48px;color:var(--c-ink);box-shadow:none;gap:8px;padding:0;font-size:15px;font-weight:500}.hw-head .button:hover:not(:disabled){background:var(--c-moss-soft);border-color:var(--c-moss);transform:none}.hw-head .handwriting-audio .audio-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hw-head .button[aria-pressed=true]{color:var(--c-moss);border-color:var(--c-moss);background:var(--c-moss-soft)}.hw-head .handwriting-audio .field-error{z-index:5;border:1px solid var(--c-line-strong);background:var(--c-paper);width:min(280px,80vw);margin:0;padding:10px 12px;font-size:14px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #1e33291a}.handwriting-test-page .writing-pad{border:1px solid var(--c-line-strong);background:var(--c-paper);width:100%;margin-inline:auto;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,0 10px 30px -18px #1e332940}.handwriting-test-page .pad-svg{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:#fffdf7;width:100%;height:auto;min-height:0;max-height:none;display:block}.handwriting-test-page .pad-grid{stroke:#bbc8b3;stroke-width:.3px;stroke-dasharray:1.4 1.4;fill:none}.handwriting-test-page .pad-diagonals{opacity:.45}.handwriting-test-page .pad-guide-box{stroke:#bbc8b3;stroke-dasharray:none;opacity:.7}.handwriting-test-page .pad-reference{fill:none;stroke:#dce4d3;stroke-width:3.4px}.handwriting-test-page .pad-reference-numbers circle{fill:var(--c-olive);r:3px}.handwriting-test-page .pad-reference-numbers text{fill:#fffdf7;font-size:3.4px;font-weight:600}.handwriting-test-page .pad-reference .is-radical{stroke:#a8bd94}.kj-radical{border-top:1px solid var(--c-line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin:8px 0 0;padding-top:10px;display:grid}.kj-radical-glyph{border:1px solid var(--c-line-strong);background:var(--c-paper-hi);width:52px;height:52px;color:var(--c-ink);place-items:center;font-size:32px;line-height:1;display:grid}.kj-radical-glyph.is-emphasised{background:var(--c-moss-soft);border-color:#a8bd94}.kj-radical-text .ui-eyebrow{display:block}.kj-radical-name{color:var(--c-ink-soft);margin:2px 0 0;font-size:14px}.kj-radical-name strong{color:var(--c-ink);font-size:16px;font-weight:600}.kj-radical-name [lang=ja]{color:var(--c-ink);font-size:16px}.kj-radical-help{color:var(--c-ink-soft);margin:4px 0 0;font-size:13px;line-height:1.5}.kj-radical-related{color:var(--c-ink-soft);flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-size:13px;display:flex}.kj-radical-related a{border:1px solid var(--c-line-strong);background:var(--c-paper-hi);min-width:34px;height:34px;color:var(--c-ink);place-items:center;font-size:19px;text-decoration:none;display:grid}.kj-radical-related a:hover{background:var(--c-moss-soft);border-color:var(--c-moss)}.handwriting-test-page .pad-stroke-order path{fill:none;stroke:var(--c-olive);stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.8s forwards draw-stroke}.handwriting-test-page .sheet-example{margin-top:16px}.handwriting-test-page .user-strokes{stroke:var(--c-ink);stroke-width:2.9px}.handwriting-test-page .pad-empty{inset:0 0 52px}.handwriting-test-page .pad-empty>span{background:var(--c-moss-soft);color:var(--c-moss)}.handwriting-test-page .pad-empty>p,.handwriting-test-page .pad-empty>small{color:var(--c-ink-soft);background:0 0}.handwriting-test-page .pad-bottom{border-top:1px solid var(--c-line);background:var(--c-paper);min-height:52px;color:var(--c-ink-soft);align-items:center;gap:10px;padding:4px 6px 4px 14px;font-size:13px;line-height:1.4;display:flex}.handwriting-test-page .pad-bottom>span:first-child{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.handwriting-test-page .pad-bottom>span:nth-child(2){font-variant-numeric:tabular-nums;color:var(--c-ink-soft);flex-shrink:0}.hw-pad-tools{pointer-events:auto;border-left:1px solid var(--c-line);gap:2px;margin-left:4px;padding-left:6px;display:flex}.handwriting-test-page .hw-pad-tools .icon-button{width:44px;height:44px;color:var(--c-ink);background:0 0;border:0}.handwriting-test-page .hw-pad-tools .icon-button:hover:not(:disabled){background:var(--c-moss-soft)}.hw-tools{box-shadow:none;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:0;display:flex}.handwriting-test-page .pad-toggles{border:1px solid var(--c-line-strong);background:var(--c-paper);gap:0;padding:0;display:inline-flex}.handwriting-test-page .pad-toggles>button{min-height:40px;color:var(--c-ink-soft);box-shadow:none;background:0 0;border:0;align-items:center;gap:6px;padding:6px 11px;font-size:14px;font-weight:500;display:inline-flex}.handwriting-test-page .pad-toggles>button+button{border-left:1px solid var(--c-line-strong)}.handwriting-test-page .pad-toggles>button:hover:not(:disabled){color:var(--c-ink);background:var(--c-moss-soft)}.handwriting-test-page .pad-toggles>button.active{background:var(--c-moss-soft);color:var(--c-ink);box-shadow:inset 0 -2px var(--c-moss)}.handwriting-test-page .expert-switch{min-height:40px;color:var(--c-ink-soft);align-items:center;gap:8px;margin:0;padding:0 2px;font-size:14px;font-weight:500;display:inline-flex}.handwriting-test-page .expert-switch:hover:not(:disabled){color:var(--c-ink)}.handwriting-test-page .switch-track{background:#d9dfd1;border:0;width:38px;height:22px;padding:3px}.handwriting-test-page .switch-track>i{width:16px;height:16px}.handwriting-test-page .expert-switch[aria-checked=true]{color:var(--c-ink)}.handwriting-test-page .expert-switch[aria-checked=true] .switch-track{background:var(--c-moss)}.handwriting-test-page .expert-switch[aria-checked=true] .switch-track>i{transform:translate(16px)}.hw-actions{gap:8px;display:grid}.hw-status{min-height:20px;color:var(--c-ink-soft);justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.hw-status.is-ready svg{color:var(--c-moss)}.hw-status:empty{display:none}.handwriting-compare-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.handwriting-compare-actions .button{gap:8px;min-height:52px;padding:12px 18px;font-size:16px;font-weight:600;transform:none}.handwriting-compare-actions .button [lang=ja]{font-weight:500}.handwriting-compare-actions .primary{background:var(--c-moss);color:#fffdf7;box-shadow:inset 0 1px #ffffff1f,0 6px 16px -8px #1f4536b3}.handwriting-compare-actions .primary:hover:not(:disabled){background:var(--c-moss-deep);transform:none}.handwriting-compare-actions .primary:active:not(:disabled){transform:translateY(1px)}.handwriting-compare-actions .primary:disabled{opacity:1;color:#857f70;box-shadow:none;background:#e1ddd0}.handwriting-compare-actions .secondary{border:1px solid var(--c-line-strong);background:var(--c-paper);color:var(--c-ink)}.handwriting-compare-actions .secondary:hover:not(:disabled){background:var(--c-moss-soft);border-color:var(--c-moss)}.hw-error{color:#6e5032;background:#f5f0e2;border-color:#e5d9bd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.hw-error .button{min-height:40px;padding:8px 12px;font-size:14px}.hw-results{flex-direction:column;gap:12px;min-width:0;margin:0;scroll-margin-top:84px;display:flex}.hw-results .hw-card{padding:18px}.hw-results p{color:var(--c-ink-soft);margin:10px 0 0;font-size:16px;line-height:1.55}.hw-results h2{letter-spacing:-.01em;text-wrap:balance;color:var(--c-ink);margin:0;font-size:20px;font-weight:600;line-height:1.25}.hw-results>*{flex-shrink:0}.hw-results .handwriting-grade{border-color:var(--c-moss);padding:0}.handwriting-grade>.eyebrow{background:var(--c-moss);color:#d6e0cf;margin:0;padding:14px 18px 0}.handwriting-grade-overview{background:var(--c-moss);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:4px 18px 16px;display:flex}.handwriting-grade-overview>div{min-width:0}.hw-results .handwriting-grade-overview h2{color:#fffdf7;font-size:20px}.handwriting-grade-overview .stars{gap:3px;margin:8px 0 0}.handwriting-grade-overview .stars svg{fill:none;stroke:#8fa88a;width:18px;height:18px}.handwriting-grade-overview .stars svg.filled{fill:var(--c-gold);stroke:var(--c-gold)}.handwriting-test-page .handwriting-score{letter-spacing:-.03em;color:#fffdf7;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:42px;font-weight:600;line-height:1}.handwriting-grade>:not(.eyebrow):not(.handwriting-grade-overview){margin-inline:18px}.handwriting-grade>:last-child{margin-bottom:16px}.hw-results .handwriting-advice{background:var(--c-moss-soft);color:#2c4a3c;margin-top:14px;margin-bottom:14px;padding:10px 12px;font-size:15px}.handwriting-grade dl{gap:12px;margin:0;display:grid}.handwriting-grade dl>div{color:var(--c-ink-soft);grid-template-columns:1fr auto;gap:6px 10px;font-size:14px;display:grid}.handwriting-grade dt{min-width:0}.handwriting-grade dd{color:var(--c-ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.handwriting-metric-bar{background:#ece8dd;grid-column:1/-1;height:6px;display:block;overflow:hidden}.handwriting-metric-bar i{background:var(--c-moss);height:100%;display:block}.hw-results .handwriting-saved{border-top:1px solid var(--c-line);align-items:center;gap:6px;margin-top:16px;padding-top:12px;font-size:13px;display:flex}.handwriting-recognition{background:var(--c-paper)}.recognition-summary{align-items:center;gap:14px;margin:12px 0 0;display:flex}.recognized-character{border:1px solid var(--c-line-strong);background:var(--c-moss-soft);width:72px;height:72px;color:var(--c-ink);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.recognized-character strong{font-family:var(--japanese);font-size:38px;font-weight:500;line-height:1}.recognized-character>span{letter-spacing:.04em;color:var(--c-ink-soft);margin-top:3px;font-size:12px;line-height:1}.recognition-summary h2{font-size:18px}.recognition-details{border-top:1px solid var(--c-line);margin-top:14px}.recognition-details>summary{min-height:44px;color:var(--c-moss);cursor:pointer;justify-content:space-between;align-items:center;gap:6px;font-size:14px;font-weight:500;list-style:none;display:flex}.recognition-details>summary::-webkit-details-marker{display:none}.recognition-details>summary:hover{color:var(--c-moss-deep)}.recognition-details>summary svg{transition:transform .15s}.recognition-details[open]>summary svg{transform:rotate(180deg)}.recognition-details>p{margin-top:4px}.recognition-alternatives{margin:10px 0 0;padding:0;list-style:none}.recognition-alternatives li{border-top:1px solid var(--c-line);grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:8px 0;font-size:15px;display:grid}.recognition-alternatives li [lang=ja]{font-size:24px}.recognition-alternatives strong{font-variant-numeric:tabular-nums;font-weight:600}.handwriting-empty-results h2{font-size:18px}.hw-steps{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.hw-steps li{grid-template-columns:26px 1fr;align-items:start;gap:10px;display:grid}.hw-steps li>span{background:var(--c-olive);color:#fffdf7;font-variant-numeric:tabular-nums;place-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:grid}.hw-results .hw-steps p{margin:0;font-size:15px;line-height:1.5}.hw-steps strong{color:var(--c-ink);font-weight:600}.handwriting-test-page .evaluation-card{background:var(--c-paper);margin:0;animation:none;overflow:visible}.handwriting-test-page .overall-score{color:#fffdf7;margin:0}.handwriting-test-page .guided-pill{vertical-align:2px;color:#d6e0cf;background:#ffffff1f;margin:0 0 0 10px;padding:1px 8px;font-size:12px;display:inline-block}.hw-results .handwriting-saved{flex-wrap:wrap;justify-content:space-between}.handwriting-saved>span{align-items:center;gap:6px;display:inline-flex}.handwriting-test-page .hw-info{min-height:32px;color:var(--c-moss);font-size:13px}.handwriting-test-page .hw-glyph .detail-character{letter-spacing:0;color:var(--c-ink);margin:0;line-height:1;display:inline}.handwriting-test-page .detail-romaji{font:inherit;line-height:inherit;color:inherit;margin:0}.hw-glyph.is-compound span{white-space:nowrap;letter-spacing:-.04em;font-size:32px}.is-recall .hw-glyph.is-compound span{font-size:18px}.hw-glyph .hw-glyph-hidden{color:var(--c-line-strong);font-family:inherit;font-weight:600}.handwriting-test-page .reference-badge{border:1px solid var(--c-line-strong);color:var(--c-ink-soft);flex-shrink:0;padding:1px 6px;font-size:12px;line-height:1.5;overflow:visible}.hw-mode-label{color:var(--c-ink-soft);align-items:center;gap:6px;font-size:13px;display:inline-flex}.handwriting-test-page .recall-mode-label{background:var(--c-moss-soft);min-height:40px;color:var(--c-ink);padding:8px 12px;font-size:14px}.handwriting-test-page .recall-rating{background:var(--c-paper);border:1px solid var(--c-moss);padding:18px}.hw-results .recall-rating h2{margin-top:6px;font-size:18px}.handwriting-test-page .recall-rating .button{margin-top:14px}.handwriting-test-page .recall-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.handwriting-test-page .recall-buttons>button{border:1px solid var(--c-line-strong);background:var(--c-paper);min-height:88px;padding:12px 8px}.handwriting-test-page .recall-buttons>button:hover:not(:disabled){background:var(--c-moss-soft);border-color:var(--c-moss)}.handwriting-test-page .recall-buttons strong{color:var(--c-ink);font-weight:600}.handwriting-test-page .recall-buttons span,.handwriting-test-page .recall-buttons small{text-align:center;font-size:13px;line-height:1.4}@media (width<=1000px){.hw-stage .writing-pad{max-width:max(280px,100svh - 290px)}.hw-actions{z-index:20;padding:6px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#f4f3eb00, var(--c-wash) 12px);margin-inline:-16px;position:sticky;bottom:0}.handwriting-test-page.has-result .hw-status,.hw-mode-label{display:none}.is-recall .hw-glyph{border:1px solid var(--c-line-strong);background:#fffdf7;flex-shrink:0;order:1;place-items:center;width:48px;height:48px;display:grid}.is-recall .hw-glyph span{font-size:30px;line-height:1}.is-recall .hw-meta{clip-path:none;white-space:normal;flex:1;order:1;align-items:baseline;gap:8px;width:auto;min-width:0;height:auto;display:flex;position:static;overflow:visible}.is-recall .hw-meta h1{color:var(--c-ink);margin:0;font-size:24px;line-height:1}.is-recall .hw-meta>span{color:var(--c-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.handwriting-test-page .hw-back>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.handwriting-test-page .hw-head .hw-back{padding:0}.handwriting-test-page.has-result .handwriting-compare-actions:has(>.secondary+.primary){grid-template-columns:52px minmax(0,1fr)}.handwriting-test-page.has-result .handwriting-compare-actions:has(>.secondary+.primary) .secondary{padding:0}.handwriting-test-page.has-result .handwriting-compare-actions:has(>.secondary+.primary) .secondary .hw-btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=651px) and (width<=1000px){.hw-layout{gap:14px;padding:20px 24px 32px}.hw-actions{margin-inline:-24px;padding-inline:24px}.hw-results{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-content:start;display:grid}}@media (width<=479px){.handwriting-test-page .hw-head .hw-back{display:none}}@media (width<=370px){.hw-layout{padding-inline:12px}.hw-actions{margin-inline:-12px;padding-inline:12px}.handwriting-test-page .pad-toggles>button{padding-inline:8px}.handwriting-test-page .pad-bottom{padding-left:10px;font-size:12px}}@media (width>=1001px){.app-shell--writing .topbar{height:56px;min-height:56px;padding:0 28px}.app-shell--writing .site-footer{display:none}.handwriting-test-page{--hw-px:24px;--hw-py:20px;--hw-gap:24px;--hw-rail-min:340px;--hw-rail-max:560px;height:calc(100svh - 56px);min-height:560px;max-height:1100px;container:hw-page/size}.hw-layout{height:100%;padding:var(--hw-py) var(--hw-px);gap:12px var(--hw-gap);--hw-sheet:min(100cqh - 2 * var(--hw-py) - 54px, min(100cqw, 1560px) - 2 * var(--hw-px) - var(--hw-gap) - var(--hw-rail-min));grid-template-columns:var(--hw-sheet) minmax(var(--hw-rail-min), var(--hw-rail-max));grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"stage head""stage tools""stage results""stage actions";justify-content:start;margin-inline:0}.handwriting-test-page.has-result .hw-layout{grid-template-areas:"stage head""stage tools""stage results""stage actions"}.hw-stage{align-items:flex-start;min-height:0;display:flex;container-type:size}.hw-stage .writing-pad{width:min(100cqw,100cqh - 54px);margin:0}.hw-head{background:var(--c-paper);border:1px solid var(--c-line);padding:10px 14px 14px;box-shadow:0 1px 2px #1e33290a;container:hw-head/inline-size}.hw-head-grid{grid-template-columns:84px minmax(0,1fr) 48px;grid-template-areas:"top top top""glyph meta meta""glyph select select""audio audio save";align-items:center;gap:10px 12px;display:grid}.hw-head-top{border-bottom:1px solid var(--c-line);grid-area:top;justify-content:space-between;align-items:center;gap:8px;margin:0 -6px 2px;padding-bottom:8px;display:flex}.hw-pager{align-items:center;gap:2px;display:flex}.hw-select{grid-area:select}.hw-head .handwriting-audio{grid-area:audio}.hw-head .handwriting-save{grid-area:save}.handwriting-test-page .hw-pager .icon-button{width:40px;height:40px}.hw-glyph{border:1px solid var(--c-line-strong);background:linear-gradient(#d9dfd1,#d9dfd1) 50%/1px 100% no-repeat,linear-gradient(#d9dfd1,#d9dfd1) 50%/100% 1px no-repeat,#fffdf7;grid-area:glyph;align-self:start;place-items:center;width:84px;height:84px;display:grid}.hw-glyph span{color:var(--c-ink);font-size:54px;line-height:1}.hw-meta{clip-path:none;white-space:normal;grid-area:meta;align-items:baseline;gap:10px;width:auto;min-width:0;height:auto;display:flex;position:static;overflow:visible}.hw-meta h1{letter-spacing:-.02em;color:var(--c-ink);margin:0;font-size:28px;font-weight:600;line-height:1}.hw-meta>span{color:var(--c-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.hw-select select{min-height:44px;font-size:17px}.hw-head .handwriting-audio .button{width:100%;padding:0 14px}.hw-head .handwriting-audio .audio-label{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.hw-head .handwriting-audio .field-error{left:0;right:auto}.hw-status{justify-content:flex-start}.handwriting-test-page.has-result .handwriting-compare-actions:has(>.secondary+.primary){grid-template-columns:52px minmax(0,1fr)}.handwriting-test-page.has-result .handwriting-compare-actions:has(>.secondary+.primary) .secondary{padding:0}.handwriting-test-page.has-result .handwriting-compare-actions:has(>.secondary+.primary) .secondary .hw-btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hw-results{overscroll-behavior:contain;scrollbar-width:thin;max-height:100%;padding-bottom:2px;overflow-y:auto;container:hw-results/inline-size}}@container hw-head (width>=400px){.hw-glyph.is-compound span{font-size:42px}.hw-head-grid{grid-template:"top top top top""glyph meta audio audio"48px"glyph select select save"48px/106px minmax(0,1fr) auto 48px;gap:10px}.hw-glyph{align-self:stretch;width:106px;height:106px}.hw-glyph span{font-size:68px}.hw-meta{align-self:center}.hw-head .handwriting-audio .button{min-width:150px}.hw-select select{min-height:48px}}@container hw-results (width>=420px){.handwriting-test-page .recall-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.handwriting-grade{flex-direction:column;display:flex}.handwriting-grade dl{order:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.handwriting-grade dl>div{grid-template-columns:minmax(0,1fr);align-content:start;gap:2px}.handwriting-grade dt{font-size:13px;line-height:1.3}.handwriting-grade dd{margin-bottom:6px;font-size:20px;line-height:1.2}.hw-results .handwriting-advice{order:2;margin-top:16px;margin-bottom:0}.hw-results .handwriting-saved{order:3}.handwriting-recognition.hw-card{padding:14px 18px 4px}.handwriting-recognition .recognition-summary{margin-top:10px}.handwriting-recognition .recognized-character{width:56px;height:56px}.handwriting-recognition .recognized-character strong{font-size:30px}.handwriting-recognition .recognition-details{margin-top:10px}}@media (width>=1001px) and (width<=1250px){.handwriting-test-page{--hw-px:16px;--hw-py:16px;--hw-gap:16px;--hw-rail-min:300px}.handwriting-test-page .pad-toggles>button{padding-inline:9px}@container hw-head (width<=399px){.hw-head-grid{grid-template-columns:64px minmax(0,1fr) 48px}.hw-glyph{width:64px;height:64px}.hw-glyph span{font-size:40px}.hw-meta h1{font-size:22px}}}@media (width>=1600px){.handwriting-test-page{--hw-px:36px;--hw-py:28px;--hw-gap:32px}}@media (width>=1001px) and (height<=760px){.handwriting-test-page{--hw-py:12px;--hw-gap:20px}.hw-layout{gap:8px var(--hw-gap)}.hw-head{padding:6px 12px 10px}.hw-head-top{padding-bottom:4px}.hw-head .button{width:44px;height:44px;min-height:44px}.hw-select select{min-height:40px}.handwriting-compare-actions .button{min-height:46px}.hw-status{min-height:18px;font-size:12px}@container hw-head (width<=399px){.hw-head-grid{grid-template-columns:56px minmax(0,1fr) 44px;gap:8px 10px}.hw-glyph{width:56px;height:56px}.hw-glyph span{font-size:36px}.hw-meta h1{font-size:20px}}@container hw-head (width>=400px){.hw-head-grid{grid-template-rows:auto 40px 44px;grid-template-columns:88px minmax(0,1fr) auto 44px;gap:8px 10px}.hw-glyph{width:88px;height:auto}.hw-glyph span{font-size:54px}.hw-head .button{height:40px;min-height:40px}.hw-head .handwriting-save{height:44px}}}@media (prefers-reduced-motion:reduce){.handwriting-test-page .pad-stroke-order path{stroke-dashoffset:0;animation:none}.handwriting-test-page .spin{animation:none}.handwriting-test-page *{transition:none!important}}.kj-readings{padding:14px 18px}.kj-meaning{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.kj-meaning strong{color:var(--c-ink);font-size:20px;font-weight:600}.kj-reading-rows{gap:0;margin:10px 0 0;display:grid}.kj-reading-rows>div{border-top:1px solid var(--c-line);grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:10px;padding:7px 0;display:grid}.kj-reading-rows dt{color:var(--c-ink);font-size:14px;font-weight:600}.kj-reading-rows dt small{color:var(--c-ink-soft);font-size:12px;font-weight:400;display:block}.kj-reading-rows dd{color:var(--c-ink);margin:0;font-size:20px}.hw-results .kj-example{border-top:1px solid var(--c-line);margin:8px 0 0;padding-top:8px;font-size:14px}.kj-example [lang=ja]{color:var(--c-ink);font-size:18px}.hw-results .kj-hidden{margin:8px 0 0;font-size:14px}.is-recall .hw-tools .expert-switch{margin-right:auto}@media (width<=1000px){.hw-layout{grid-template-areas:"head""stage""tools""actions""results"}.handwriting-test-page.has-result .hw-layout{grid-template-areas:"head""stage""tools""results""actions"}.hw-head{top:var(--topbar-h,58px);z-index:30;background:var(--glass-wash);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-line);margin:-16px -16px 0;padding:8px 16px;position:sticky}.hw-actions{padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--glass-wash);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-line);margin-inline:-16px}.handwriting-compare-actions{align-items:stretch}.handwriting-compare-actions .button,.handwriting-compare-actions .primary{height:52px;min-height:52px;margin:0;box-shadow:none!important;transform:none!important}.handwriting-test-page.has-result .handwriting-compare-actions:has(>.secondary+.primary) .secondary{width:52px}}@media (width>=651px) and (width<=1000px){.hw-head{margin-inline:-24px;margin-top:-20px;padding-inline:24px}}.kj-romaji{color:var(--c-olive);font-size:14px;font-weight:600}.kj-reading-rows dd{flex-wrap:wrap;gap:4px 14px;display:flex}.kj-reading{align-items:baseline;gap:5px;display:inline-flex}.kj-reading small{color:var(--c-ink-soft);font-size:13px;font-weight:500}@media (width<=1000px){.hw-results,.hw-stage{scroll-margin-top:calc(var(--topbar-h,58px) + 84px)}}.handwriting-recognition .recognition-pending{color:var(--c-ink-soft);align-items:center;gap:8px;margin:10px 0 0;font-size:15px;display:flex}@media (width<=650px){.handwriting-test-page .pad-toggles{width:100%;display:flex}.handwriting-test-page .pad-toggles>button{flex:auto;justify-content:center;padding-inline:6px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){@media (width<=1000px){.hw-head,.hw-actions{background:#f4f3ebf5}}}.kt-catalog{background:var(--c-wash);max-width:none;color:var(--c-ink);padding:0}.kt-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kt-catalog :is(a,button,input):focus-visible{outline:2px solid var(--c-moss);outline-offset:2px}.kt-card{background:var(--c-paper);border:1px solid var(--c-line);box-shadow:0 1px 2px #1e33290a}.kt-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-soft);margin:0;font-size:12px;font-weight:600;line-height:1.5}.kt-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""progress""filters""board""review""next";gap:12px;width:100%;max-width:1560px;padding:16px 16px 24px;display:grid}.kt-head{grid-area:head;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.kt-rail{display:contents}.kt-progress{grid-area:progress}.kt-next{grid-area:next}.kt-filters{grid-area:filters}.kt-review{grid-area:review}.kt-board{grid-area:board;min-width:0}.kt-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.kt-title-row h1{letter-spacing:-.02em;color:var(--c-ink);margin:0;font-size:26px;font-weight:600;line-height:1.15}.kt-alphabets{border:1px solid var(--c-line-strong);background:var(--c-paper);display:inline-flex}.kt-alphabets>button{min-height:40px;color:var(--c-ink-soft);align-items:center;gap:8px;padding:6px 14px;font-size:14px;font-weight:500;display:inline-flex}.kt-alphabets>button+button{border-left:1px solid var(--c-line-strong)}.kt-alphabets>button [lang=ja]{font-size:18px;line-height:1}.kt-alphabets>button:hover{background:var(--c-moss-soft);color:var(--c-ink)}.kt-alphabets>button[aria-selected=true]{background:var(--c-moss);color:#fffdf7}.kt-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kt-groups{scrollbar-width:none;gap:4px;margin-inline:-16px;padding-inline:16px;display:flex;overflow-x:auto}.kt-groups::-webkit-scrollbar{display:none}.kt-groups>button{min-height:40px;color:var(--c-ink-soft);white-space:nowrap;border:1px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;display:inline-flex}.kt-groups>button span{font-variant-numeric:tabular-nums;color:var(--c-olive);font-size:12px}.kt-groups>button:hover{color:var(--c-ink);background:var(--c-moss-soft)}.kt-groups>button[aria-pressed=true]{color:var(--c-ink);background:var(--c-paper);border-color:var(--c-line-strong);box-shadow:inset 0 -2px var(--c-moss)}.kt-search{border:1px solid var(--c-line-strong);background:var(--c-paper);min-width:0;min-height:44px;color:var(--c-ink-soft);cursor:text;flex:220px;align-items:center;gap:8px;padding:0 6px 0 12px;display:flex;position:relative}.kt-search:focus-within{border-color:var(--c-moss)}.kt-search input{min-width:0;height:42px;color:var(--c-ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.kt-search input::-webkit-search-cancel-button{display:none}.kt-search .icon-button{width:36px;height:36px}.kt-progress{padding:14px 16px}.kt-progress-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.kt-progress h2{color:var(--c-ink);margin:0;font-size:15px;font-weight:600}.kt-progress h2 span{color:var(--c-ink-soft);font-weight:400}.kt-progress-head strong{color:var(--c-ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:500}.kt-progress-head strong b{color:var(--c-ink);font-size:26px;font-weight:600}.kt-bar{background:#e7e4d8;height:8px;margin:10px 0 0;display:flex;overflow:hidden}.kt-bar i{height:100%;display:block}.kt-bar .is-learned,.kt-legend .is-learned{background:var(--c-moss)}.kt-bar .is-practiced,.kt-legend .is-practiced{background:var(--c-gold)}.kt-legend .is-new{background:var(--c-paper-hi);border:1px solid var(--c-line-strong)}.kt-legend{color:var(--c-ink-soft);flex-wrap:wrap;gap:4px 16px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.kt-legend li{align-items:center;gap:6px;display:inline-flex}.kt-legend i{width:10px;height:10px}.kt-legend b{color:var(--c-ink);font-variant-numeric:tabular-nums;font-weight:600}.kt-next{padding:14px 16px 16px}.kt-next-body{align-items:center;gap:14px;margin:10px 0 14px;display:flex}.kt-next-glyph{border:1px solid var(--c-line-strong);width:72px;height:72px;color:var(--c-ink);background:linear-gradient(var(--c-line),var(--c-line)) center/1px 100% no-repeat, linear-gradient(var(--c-line),var(--c-line)) center/100% 1px no-repeat, var(--c-paper-hi);flex-shrink:0;place-items:center;font-size:44px;line-height:1;display:grid}.kt-next-glyph.is-compound{letter-spacing:-.04em;font-size:28px}.kt-next-body strong{font-size:24px;font-weight:600;line-height:1.1;display:block}.kt-next-body>div>span{color:var(--c-ink-soft);font-size:13px;display:block}.kt-catalog .kt-next-cta{background:var(--c-moss);color:#fffdf7;gap:8px;width:100%;min-height:48px;font-size:16px;font-weight:600}.kt-catalog .kt-next-cta:hover{background:var(--c-moss-deep);transform:none}.kt-filters{box-shadow:none;background:0 0;border:0;padding:0}.kt-chips{scrollbar-width:none;gap:6px;margin-inline:-16px;padding:0 16px 2px;display:flex;overflow-x:auto}.kt-chips::-webkit-scrollbar{display:none}.kt-chips>button{border:1px solid var(--c-line-strong);background:var(--c-paper);min-height:40px;color:var(--c-ink-soft);white-space:nowrap;flex-shrink:0;padding:6px 12px;font-size:14px;font-weight:500}.kt-chips>button:hover{color:var(--c-ink);border-color:var(--c-moss)}.kt-chips>button[aria-pressed=true]{background:var(--c-moss-soft);border-color:var(--c-moss);color:var(--c-ink)}.kt-review{min-height:52px;color:var(--c-ink);align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex}.kt-review>span{flex:1}.kt-review b{font-weight:600}.kt-review>svg:first-child{color:var(--c-olive)}.kt-review:hover{border-color:var(--c-moss);background:var(--c-moss-soft)}.kt-group+.kt-group{margin-top:28px}.kt-group-title{border-bottom:1px solid var(--c-line);color:var(--c-ink);align-items:baseline;gap:8px;margin:0 0 10px;padding-bottom:6px;font-size:16px;font-weight:600;display:flex}.kt-group-title span{color:var(--c-olive);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.kt-board-meta{color:var(--c-ink-soft);justify-content:space-between;gap:12px;margin:0 0 8px;font-size:13px;display:flex}.kt-board-meta span:last-child{font-variant-numeric:tabular-nums;flex-shrink:0}.kt-table{grid-template-columns:22px repeat(5,minmax(0,1fr));gap:6px;display:grid}.kt-table.cols-3{grid-template-columns:28px repeat(3,minmax(0,1fr))}.kt-table.kt-flow{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.kt-row{display:contents}.kt-corner,.kt-col-label,.kt-row-label{letter-spacing:.04em;color:var(--c-olive);font-size:12px;font-weight:600}.kt-col-label{text-align:center;padding-bottom:2px}.kt-row-label{justify-content:flex-start;align-items:center;display:flex}.kt-slot{min-width:0;display:block}.kt-cell{flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:68px;display:flex;position:relative}.kt-cell-gap{border:1px dashed #e2e5da}.kt-cell-empty{background:#f7f6f0;border:1px solid #e9ebe2}.kt-tile{border:1px solid var(--c-line);background:var(--c-paper-hi);color:var(--c-ink);transition:border-color .15s,background-color .15s;overflow:hidden}.kt-tile:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(var(--c-line),var(--c-line)) center/1px 100% no-repeat, linear-gradient(var(--c-line),var(--c-line)) center/100% 1px no-repeat;transition:opacity .15s;position:absolute;inset:0}.kt-tile:hover,.kt-tile:focus-visible{border-color:var(--c-moss)}.kt-tile:hover:before,.kt-tile:focus-visible:before{opacity:1}.kt-glyph{font-size:30px;line-height:1;position:relative}.kt-tile.is-compound .kt-glyph{letter-spacing:-.04em;font-size:22px}.kt-romaji{color:var(--c-ink-soft);font-size:12px;line-height:1.2;position:relative}.kt-tile:hover .kt-romaji{color:var(--c-ink)}.kt-tile.is-practiced:after{content:"";height:3px;width:calc(var(--kt-score,.2) * 100%);background:var(--c-gold);position:absolute;bottom:0;left:0}.kt-tile.is-learned{background:var(--c-moss-soft);border-color:#c9d6c0}.kt-tile.is-learned:after{content:"";background:var(--c-moss);height:3px;position:absolute;bottom:0;left:0;right:0}.kt-check{color:var(--c-moss);position:absolute;top:5px;right:5px}@media (width<=370px){.kt-layout{padding-inline:12px}.kt-groups,.kt-chips{margin-inline:-12px;padding-inline:12px}.kt-table{grid-template-columns:16px repeat(5,minmax(0,1fr));gap:4px}.kt-glyph{font-size:26px}}@media (width<=1000px){.kt-board-meta,.kt-legend{display:none}.kt-progress{padding:10px 12px}.kt-progress h2{font-size:14px}.kt-progress-head strong b{font-size:20px}.kt-bar{height:6px;margin-top:6px}.kt-legend{white-space:nowrap;flex-wrap:nowrap;gap:12px;margin-top:6px;font-size:12px;overflow:hidden}.kt-title-row h1{font-size:22px}.kt-alphabets>button{min-height:36px;padding:4px 10px;font-size:13px}.kt-next{z-index:20;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--glass-line);box-shadow:none;background:var(--glass-paper);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-inline:-16px;display:grid;position:sticky;bottom:0}.kt-next .kt-eyebrow{display:none}.kt-next-body{gap:10px;margin:0}.kt-next-glyph{width:48px;height:48px;font-size:30px}.kt-next-glyph.is-compound{font-size:20px}.kt-next-body strong{font-size:18px}.kt-next-cta{min-height:48px}}@media (width>=651px) and (width<=1000px){.kt-layout{gap:14px;padding:20px 24px 0}.kt-groups,.kt-chips{margin-inline:0;padding-inline:0}.kt-next{margin-inline:-24px;padding-inline:24px}.kt-cell{height:76px}}@media (width>=1001px){.kt-layout{grid-template:"head rail""board rail"1fr/minmax(0,1fr) clamp(300px,26vw,380px);align-items:start;gap:14px 24px;padding:20px 24px 32px}.kt-rail{grid-area:rail;gap:12px;display:grid;position:sticky;top:16px}.kt-rail>*{grid-area:auto}.kt-groups{margin:0;padding:0}.kt-chips{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.kt-title-row h1{font-size:28px}.kt-tools{flex-wrap:nowrap}.kt-search{flex:0 260px;margin-left:auto}.kt-table{grid-template-columns:28px repeat(5,minmax(0,1fr));gap:6px}.kt-cell{flex-direction:row;justify-content:flex-start;gap:12px;height:50px;padding:0 14px}.kt-board-meta{display:none}.kt-col-label{padding-bottom:0;line-height:1.2}.kt-glyph{font-size:30px}.kt-romaji{font-size:14px}.kt-check{top:50%;right:12px;transform:translateY(-50%)}.kt-table.kt-flow{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (width>=1001px) and (width<=1399px){.kt-tools{flex-wrap:wrap}.kt-search{flex:100%;margin-left:0}}@media (width>=1600px){.kt-layout{gap:16px 32px;padding:28px 36px 40px}}@media (width>=1001px) and (height>=960px){.kt-cell{height:60px}}@media (prefers-reduced-motion:reduce){.kt-tile,.kt-tile:before{transition:none}}.kt-tile.is-kanji .kt-romaji{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 4px;font-family:inherit;overflow:hidden}.kt-table.kt-flow.is-kanji{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.kt-groups>button:disabled{opacity:.55;cursor:not-allowed}.kt-groups>button:disabled span{color:var(--c-ink-soft)}@media (width>=1001px){.kt-table.kt-flow.is-kanji{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.kt-tile.is-kanji .kt-glyph{font-size:32px}}.rv-page{background:var(--c-wash);max-width:none;color:var(--c-ink);padding:0}.rv-page :is(a,button):focus-visible{outline:2px solid var(--c-moss);outline-offset:2px}.rv-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""main""rail";gap:14px;width:100%;max-width:1560px;padding:16px 16px 32px;display:grid}.rv-main{grid-area:main;align-content:start;gap:14px;min-width:0;display:grid}.rv-head{flex-wrap:wrap;grid-area:head;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.rv-rail{grid-area:rail;align-content:start;gap:14px;display:grid}.rv-card{background:var(--c-paper);border:1px solid var(--c-line);padding:16px 18px;box-shadow:0 1px 2px #1e33290a}.rv-card h2{color:var(--c-ink);margin:0;font-size:16px;font-weight:600}.rv-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rv-card-head>span{color:var(--c-ink-soft);font-size:12px}.rv-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--c-olive);font-size:12px;font-weight:600;display:block}.rv-head h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600;line-height:1.15}.rv-head p{max-width:56ch;color:var(--c-ink-soft);margin:4px 0 0;font-size:15px;line-height:1.5}.rv-alphabets{border:1px solid var(--c-line-strong);background:var(--c-paper);display:inline-flex}.rv-alphabets>button{min-height:40px;color:var(--c-ink-soft);padding:6px 14px;font-size:14px;font-weight:500}.rv-alphabets>button+button{border-left:1px solid var(--c-line-strong)}.rv-alphabets>button:hover{background:var(--c-moss-soft);color:var(--c-ink)}.rv-alphabets>button[aria-pressed=true]{background:var(--c-moss);color:#fffdf7}.rv-today{background:var(--c-paper);border:1px solid var(--c-line);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 1px 2px #1e33290a}.rv-today-copy{flex-direction:column;order:2;align-items:flex-start;gap:10px;padding:20px 18px;display:flex}.rv-today h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:24px;font-weight:600;line-height:1.2}.rv-today h2 b{font-variant-numeric:tabular-nums;font-size:1.6em;font-weight:600}.rv-today-copy>p{color:var(--c-ink-soft);align-items:center;gap:6px;margin:0;font-size:15px;line-height:1.5;display:flex}.rv-due{flex-wrap:wrap;gap:6px;margin:2px 0 4px;padding:0;list-style:none;display:flex}.rv-due li{border:1px solid var(--c-line-strong);background:var(--c-paper-hi);text-align:center;min-width:40px;color:var(--c-ink);padding:6px 10px;font-size:15px;font-weight:600}.rv-due .rv-more{color:var(--c-ink-soft);font-weight:500}.rv-due small{color:var(--c-olive);margin-left:5px;font-size:12px;font-weight:400}.rv-page .rv-cta{background:var(--c-moss);color:#fffdf7;gap:10px;min-height:50px;padding:12px 22px;font-size:16px;font-weight:600}.rv-page .rv-cta:hover{background:var(--c-moss-deep);transform:none}.rv-cta-kana{background:#ffffff26;padding:1px 8px;font-size:14px;font-weight:500}.rv-done{color:var(--c-moss);align-items:center;gap:6px;font-weight:500;display:flex}.rv-art{background:#466c5c;order:1;height:150px;margin:0;position:relative;overflow:hidden}.rv-art .section-artwork,.rv-art img{width:100%;height:100%;display:block}.rv-art img{object-fit:cover;object-position:60% 55%}.rv-art figcaption{color:var(--c-ink);background:#faf7eeeb;align-items:baseline;gap:10px;padding:5px 10px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.rv-art figcaption [lang=ja]{font-family:var(--japanese);letter-spacing:1px}.rv-page .rv-timeline{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:12px;display:grid}.rv-page .rv-timeline>.rv-day{background:0 0;border:0;padding:0;display:block}.rv-day h3{letter-spacing:.02em;color:var(--c-olive);margin:0 0 6px;font-size:13px;font-weight:600}.rv-day h3:first-letter{text-transform:uppercase}.rv-day ul{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.rv-day li{border:1px solid var(--c-line);background:var(--c-paper-hi);align-items:center;gap:10px;min-height:48px;padding:6px 12px;display:flex}.rv-page .rv-kana{color:var(--c-ink);font-size:24px;line-height:1}.rv-romaji{color:var(--c-ink-soft);flex:1;font-size:14px;font-weight:500}.rv-day time{font-variant-numeric:tabular-nums;color:var(--c-ink-soft);font-size:13px}.rv-more-note,.rv-empty{color:var(--c-ink-soft);margin:12px 0 0;font-size:14px}.rv-new>p{color:var(--c-ink-soft);margin:6px 0 0;font-size:14px;line-height:1.5}.rv-new-list{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.rv-new-list a{border:1px dashed var(--c-line-strong);background:var(--c-paper-hi);height:64px;color:var(--c-ink);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.rv-new-list a:hover{border-style:solid;border-color:var(--c-moss);background:var(--c-moss-soft)}.rv-new-list .rv-romaji{flex:0;font-size:12px}.rv-memory .rv-card-head strong{color:var(--c-ink-soft);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.rv-memory .rv-card-head strong b{color:var(--c-ink);font-size:26px;font-weight:600}.rv-bar{background:#e7e4d8;height:8px;margin-top:10px;display:flex;overflow:hidden}.rv-bar i{height:100%;display:block}.rv-page .is-due{background:var(--c-gold)}.rv-page .is-scheduled{background:var(--c-moss)}.rv-page .is-new{background:var(--c-paper-hi);border:1px solid var(--c-line-strong)}.rv-stats{gap:6px;margin:12px 0 0;display:grid}.rv-stats>div{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.rv-stats dt{color:var(--c-ink-soft);align-items:center;gap:8px;display:flex}.rv-stats dt i{width:10px;height:10px}.rv-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.rv-steps{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.rv-steps li{grid-template-columns:24px 1fr;align-items:start;gap:10px;display:grid}.rv-steps li>span{background:var(--c-olive);color:#fffdf7;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.rv-steps p{color:var(--c-ink-soft);margin:0;font-size:14px;line-height:1.5}.rv-steps strong{color:var(--c-ink);font-weight:600}.rv-ratings{border-top:1px solid var(--c-line);gap:0;margin:14px 0 0;display:grid}.rv-ratings>div{border-bottom:1px solid var(--c-line);grid-template-columns:76px 1fr;gap:10px;padding:7px 0;font-size:13px;display:grid}.rv-ratings dt{color:var(--c-ink);font-weight:600}.rv-ratings dd{color:var(--c-ink-soft);margin:0}.rv-page .rv-note{color:var(--c-ink-soft);margin:10px 0 0;font-size:13px;line-height:1.5}.rv-guided{border-top:1px solid var(--c-line);min-height:48px;color:var(--c-moss);align-items:center;gap:10px;margin:12px -18px -16px;padding:10px 18px;font-size:14px;font-weight:500;display:flex}.rv-guided span{flex:1}.rv-guided:hover{background:var(--c-moss-soft)}@media (width>=651px){.rv-page .rv-timeline{gap:0}.rv-page .rv-timeline>.rv-day{border-top:1px solid var(--c-line);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;display:grid}.rv-page .rv-timeline>.rv-day:first-child{border-top:0;padding-top:0}.rv-day h3{margin:0}}@media (width>=651px) and (width<=1000px){.rv-layout{padding:20px 24px 40px}.rv-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-art{height:200px}}@media (width>=1001px){.rv-layout{grid-template-columns:minmax(0,1fr) clamp(300px,26vw,380px);grid-template-areas:"head head""main rail";align-items:start;gap:16px 24px;padding:24px 24px 40px}.rv-main{gap:16px}.rv-rail{position:sticky;top:84px}.rv-head h1{font-size:30px}.rv-today{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:260px}.rv-today-copy{order:1;justify-content:center;padding:28px}.rv-today h2{font-size:28px}.rv-art{order:2;height:auto;min-height:100%}.rv-art figcaption{bottom:14px;left:auto;right:14px}}@media (width>=1600px){.rv-layout{gap:18px 32px;padding:32px 36px 48px}}.wr-page{background:var(--c-wash);max-width:none;color:var(--c-ink);padding:0}.wr-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wr-page :is(a,summary):focus-visible{outline:2px solid var(--c-moss);outline-offset:2px}.wr-page [id]{scroll-margin-top:84px}.wr-hero{background:var(--c-paper);border-bottom:1px solid var(--c-line);grid-template-columns:minmax(0,1fr);display:grid}.wr-hero-copy{padding:24px var(--page-gutter,20px) 28px;max-width:760px}.wr-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--c-olive);font-size:12px;font-weight:600;display:block}.wr-hero h1{letter-spacing:-.02em;margin:10px 0 0;font-size:clamp(32px,5vw,48px);font-weight:600;line-height:1.08}.wr-dek{max-width:58ch;color:var(--c-ink-soft);margin:14px 0 0;font-size:18px;line-height:1.55}.wr-meta{color:var(--c-olive);font-variant-numeric:tabular-nums;margin:14px 0 0;font-size:13px;font-weight:500}.wr-hero-art{background:#466c5c;order:-1;height:180px;margin:0;position:relative;overflow:hidden}.wr-hero-art .section-artwork{display:block;position:absolute;inset:0}.wr-hero-art img{object-fit:cover;object-position:50% 45%;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.wr-layout{width:100%;max-width:var(--content-max,1380px);padding:20px var(--page-gutter,20px) 48px;grid-template-columns:minmax(0,1fr);gap:24px;margin:0 auto;display:grid}.wr-toc{display:none}.wr-toc-mobile{border:1px solid var(--c-line);background:var(--c-paper)}.wr-toc-mobile>summary{cursor:pointer;min-height:48px;padding:12px 16px;font-size:15px;font-weight:600}.wr-toc-mobile .wr-toc-list{padding:0 8px 10px}.wr-article{color:#24332c;min-width:0;max-width:70ch;font-size:18px;line-height:1.72}.wr-article p{text-wrap:pretty;margin:0 0 1.1em}.wr-intro p{color:var(--c-ink);font-size:20px;line-height:1.65}.wr-intro p:first-child:first-letter{float:left;color:var(--c-moss);margin:6px 10px 0 0;font-size:3.4em;font-weight:600;line-height:.8}.wr-chapter{border-top:1px solid var(--c-line);margin-top:28px;padding-top:36px}.wr-kicker{color:var(--c-ink-soft);flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex;margin:0 0 6px!important;font-size:13px!important;line-height:1.4!important}.wr-kicker span{letter-spacing:.06em;text-transform:uppercase;color:var(--c-olive);font-weight:600}.wr-chapter h2{letter-spacing:-.015em;color:var(--c-ink);text-wrap:balance;margin:0 0 18px;font-size:clamp(26px,3.2vw,34px);font-weight:600;line-height:1.15}.wr-article [lang=ja]{font-family:var(--japanese)}.wr-article em{font-style:italic}.wr-cite{font-variant-numeric:tabular-nums;margin-left:1px;font-size:max(12px,.68em);line-height:0}.wr-cite a{color:var(--c-moss);padding:0 1px;font-weight:600;text-decoration:none}.wr-cite a:before{content:"[";color:var(--c-ink-soft);font-weight:400}.wr-cite a:after{content:"]";color:var(--c-ink-soft);font-weight:400}.wr-cite a:hover{text-decoration:underline}.wr-quote{border-left:3px solid var(--c-moss);margin:28px 0;padding:4px 0 4px 22px}.wr-quote p{color:var(--c-ink);font-size:22px;font-style:italic;line-height:1.5;margin:0 0 8px!important}.wr-quote footer{color:var(--c-ink-soft);font-size:14px}.wr-figure{margin:24px 0 28px;overflow-x:auto}.wr-table{border-collapse:collapse;background:var(--c-paper-hi);border:1px solid var(--c-line);width:100%;font-size:15px;line-height:1.45}.wr-table caption{caption-side:bottom;text-align:left;color:var(--c-ink-soft);padding-top:8px;font-size:13px}.wr-table th,.wr-table td{border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top;padding:10px 12px}.wr-table thead th{background:var(--c-moss-soft);color:var(--c-ink);font-size:13px;font-weight:600}.wr-table tbody th{white-space:nowrap;font-weight:600}.wr-derivation td{text-align:center;vertical-align:middle}.wr-derivation td[lang=ja]{font-size:26px;line-height:1.2}.wr-derivation .wr-kana{color:var(--c-moss);background:linear-gradient(var(--c-line),var(--c-line)) center/1px 70% no-repeat, linear-gradient(var(--c-line),var(--c-line)) center/70% 1px no-repeat}.wr-references ol{margin:0;padding-left:1.6em;font-size:15px;line-height:1.55}.wr-references li{margin-bottom:10px;padding-left:4px}.wr-references li:target{background:var(--c-moss-soft);outline:6px solid var(--c-moss-soft)}.wr-references h3{margin:28px 0 8px;font-size:16px;font-weight:600}.wr-references a,.wr-note a{color:var(--c-moss);text-underline-offset:2px;text-decoration:underline}.wr-note{color:var(--c-ink-soft);font-size:15px!important;line-height:1.6!important}.wr-cta{background:var(--c-paper);border:1px solid var(--c-line);flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:40px;padding:22px 24px;display:flex}.wr-cta [lang=ja]{font-family:var(--japanese);color:var(--c-olive);font-size:22px}.wr-cta p{color:var(--c-ink);flex:1;font-size:20px;font-weight:600;margin:0!important}.wr-toc-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.wr-toc-list a{min-height:40px;color:var(--c-ink-soft);border-left:2px solid #0000;grid-template-columns:22px 1fr;align-items:center;gap:6px;padding:7px 10px;font-size:14px;line-height:1.35;text-decoration:none;display:grid}.wr-toc-list a:hover{color:var(--c-ink);background:var(--c-moss-soft)}.wr-toc-list a[aria-current]{border-left-color:var(--c-moss);background:var(--c-moss-soft);color:var(--c-ink);font-weight:600}.wr-toc-n{font-variant-numeric:tabular-nums;color:var(--c-olive)}@media (width>=1001px){.wr-hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);min-height:300px}.wr-hero-copy{padding:40px var(--page-gutter,44px);align-self:center}.wr-hero-art{order:0;height:auto;min-height:320px}.wr-layout{grid-template-columns:minmax(0,1fr) 280px;gap:56px;padding-top:40px}.wr-toc-mobile{display:none}.wr-toc{background:var(--c-paper);border:1px solid var(--c-line);align-self:start;max-height:calc(100vh - 100px);padding:16px 12px;display:block;position:sticky;top:84px;overflow:auto}.wr-toc-head{letter-spacing:.08em;text-transform:uppercase;color:var(--c-olive);justify-content:space-between;align-items:baseline;padding:0 10px;font-size:12px;font-weight:600;display:flex}.wr-toc-pct{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--c-ink-soft)}.wr-progress{background:var(--c-line);height:3px;margin:10px 10px 12px;overflow:hidden}.wr-progress i{background:var(--c-moss);transform-origin:0;height:100%;display:block}.wr-top{border-top:1px solid var(--c-line);color:var(--c-ink-soft);align-items:center;gap:6px;margin:12px 10px 0;padding-top:12px;font-size:13px;text-decoration:none;display:flex}.wr-top:hover{color:var(--c-moss)}}@media (width<=650px){.wr-article{font-size:17px}.wr-intro p{font-size:18px}.wr-quote p{font-size:19px}.wr-derivation td[lang=ja]{font-size:22px}.wr-table th,.wr-table td{padding:8px}}@media (prefers-reduced-motion:reduce){.wr-progress i{transition:none}}.ss-page{background:var(--c-wash);max-width:none;color:var(--c-ink);padding:0}.ss-page :is(a,button):focus-visible{outline:2px solid var(--c-moss);outline-offset:2px}.ss-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""main""rail";gap:14px;width:100%;max-width:1560px;padding:16px 16px 32px;display:grid}.ss-head{grid-area:head}.ss-main{grid-area:main;align-content:start;gap:14px;min-width:0;display:grid}.ss-rail{grid-area:rail;align-content:start;gap:14px;display:grid}.ss-date{letter-spacing:.04em;color:var(--c-olive);font-size:13px;font-weight:600;display:block}.ss-date:first-letter{text-transform:uppercase}.ss-head h1{letter-spacing:-.02em;margin:4px 0 0;font-size:28px;font-weight:600;line-height:1.15}.ss-head p{max-width:60ch;color:var(--c-ink-soft);margin:6px 0 0;font-size:15px;line-height:1.5}.ss-card{background:var(--c-paper);border:1px solid var(--c-line);padding:16px 18px;box-shadow:0 1px 2px #1e33290a}.ss-card h2{margin:0;font-size:16px;font-weight:600}.ss-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ss-card-head>span{color:var(--c-ink-soft);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.ss-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--c-olive);font-size:12px;font-weight:600;display:block}.ss-hero{background:var(--c-paper);border:1px solid var(--c-line);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 1px 2px #1e33290a}.ss-hero-copy{flex-direction:column;order:2;align-items:flex-start;gap:10px;padding:20px 18px;display:flex}.ss-hero h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:26px;font-weight:600;line-height:1.2}.ss-hero-copy>p{color:var(--c-ink-soft);margin:0;font-size:15px}.ss-score{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ss-score .stars svg{width:20px;height:20px}.ss-progress,.ss-goal-bar{background:#e7e4d8;width:100%;height:8px;overflow:hidden}.ss-progress i,.ss-goal-bar i{background:var(--c-moss);height:100%;display:block}.ss-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.ss-page .ss-cta{gap:10px;min-height:50px;padding:12px 22px;font-size:16px;font-weight:600}.ss-page .button.secondary{border-color:var(--c-line-strong);background:var(--c-paper);min-height:50px;color:var(--c-ink);gap:8px}.ss-art{background:#466c5c;order:1;height:150px;margin:0;position:relative;overflow:hidden}.ss-art .section-artwork{position:absolute;inset:0}.ss-art img{object-fit:cover;object-position:50% 50%;width:100%;max-width:none;height:100%;position:absolute;inset:0}.ss-steps{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.ss-steps li{border:1px solid var(--c-line);background:var(--c-paper-hi);grid-template-columns:26px 44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:6px 12px;display:grid}.ss-steps li.is-done{background:var(--c-moss-soft);border-color:#c9d6c0}.ss-steps li.is-current{border-color:var(--c-moss);box-shadow:inset 3px 0 var(--c-moss)}.ss-step-n{background:var(--c-olive);color:#fffdf7;font-variant-numeric:tabular-nums;place-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:grid}.is-done .ss-step-n{background:var(--c-moss)}.ss-step-glyph{border:1px solid var(--c-line);background:var(--c-paper);place-items:center;width:44px;height:44px;font-size:26px;line-height:1;display:grid}.ss-step-glyph.is-hidden{color:var(--c-line-strong);font-size:20px;font-weight:600}.ss-step-text{flex-direction:column;min-width:0;display:flex}.ss-step-text strong{font-size:15px}.ss-step-text small{color:var(--c-ink-soft);font-size:12px}.ss-step-next{color:var(--c-moss);font-size:12px;font-weight:600}.ss-steps .stars svg{width:13px;height:13px}.ss-goal{color:var(--c-ink-soft);align-items:flex-start;gap:8px;margin-top:12px;font-size:14px;display:flex}.ss-goal svg{color:var(--c-olive);flex-shrink:0;margin-top:2px}.ss-goal b{color:var(--c-ink);font-weight:600}.ss-goal-bar{margin-top:10px}.ss-page .ss-goal-text,.ss-page .ss-streak{color:var(--c-ink-soft);align-items:center;gap:6px;margin:8px 0 0;font-size:14px;display:flex}.ss-page .ss-streak svg{color:var(--c-gold)}.ss-free p{color:var(--c-ink-soft);margin:8px 0 0;font-size:14px;line-height:1.5}.ss-link{border-top:1px solid var(--c-line);min-height:44px;color:var(--c-moss);align-items:center;gap:8px;margin:10px -18px -16px;padding:10px 18px;font-size:14px;font-weight:500;display:flex}.ss-link>svg:last-child{margin-left:auto}.ss-link:hover{background:var(--c-moss-soft)}@media (width>=651px) and (width<=1000px){.ss-layout{padding:20px 24px 40px}.ss-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-art{height:200px}}@media (width>=1001px){.ss-layout{grid-template-columns:minmax(0,1fr) clamp(300px,26vw,380px);grid-template-areas:"head head""main rail";align-items:start;gap:16px 24px;padding:24px 24px 40px}.ss-rail{position:sticky;top:84px}.ss-head h1{font-size:32px}.ss-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:260px}.ss-hero-copy{order:1;justify-content:center;padding:28px}.ss-hero h2{font-size:30px}.ss-art{order:2;height:auto;min-height:100%}}.handwriting-test-page .hw-session{min-width:0;color:var(--c-ink-soft);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.hw-session-label{white-space:nowrap;font-weight:500}.hw-session-count{color:var(--c-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.hw-session-count i{color:var(--c-line-strong);font-style:normal}.hw-session-bar{background:#e7e4d8;width:70px;height:6px;display:block;overflow:hidden}.hw-session-bar i{background:var(--c-moss);height:100%;display:block}@media (width<=1000px){.handwriting-test-page .hw-session{flex:none;order:1;margin-left:0}.hw-session-label,.hw-session-bar{display:none}}.ss-scope{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:inline-flex}.ss-scope>span{color:var(--c-ink-soft);font-size:14px;font-weight:500}.ss-scope>button{border:1px solid var(--c-line-strong);background:var(--c-paper);min-height:40px;color:var(--c-ink-soft);padding:6px 14px;font-size:14px;font-weight:500}.ss-scope>button+button{margin-left:-9px}.ss-scope>button[aria-pressed=true]{background:var(--c-moss);border-color:var(--c-moss);color:#fffdf7}.ss-scope>button:disabled:not([aria-pressed=true]){opacity:.5}.ui-page{background:var(--c-wash);max-width:none;color:var(--c-ink);padding:0}.ui-page :is(a,button,summary):focus-visible{outline:2px solid var(--c-moss);outline-offset:2px}.ui-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""main""rail";gap:14px;width:100%;max-width:1560px;padding:16px 16px 32px;display:grid}.ui-head{flex-wrap:wrap;grid-area:head;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.ui-head h1{letter-spacing:-.02em;color:var(--c-ink);margin:0;font-size:28px;font-weight:600;line-height:1.15}.ui-head p{max-width:62ch;font-size:var(--t-body);color:var(--c-ink-soft);margin:6px 0 0;line-height:1.5}.ui-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ui-main{grid-area:main;align-content:start;gap:14px;min-width:0;display:grid}.ui-rail{grid-area:rail;align-content:start;gap:14px;min-width:0;display:grid}.ui-card{background:var(--c-paper);border:1px solid var(--c-line);box-shadow:var(--shadow-card);min-width:0;padding:16px 18px}.ui-card>h2,.ui-card-head h2{font-size:var(--t-title);color:var(--c-ink);margin:0;font-weight:600}.ui-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.ui-card-head>p,.ui-card-head>span{font-size:var(--t-small);color:var(--c-ink-soft);margin:0}.ui-card p{font-size:var(--t-body);color:var(--c-ink-soft);line-height:1.55}.ui-eyebrow{font-size:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--c-olive);align-items:center;gap:6px;font-weight:600;display:flex}.ui-link{border-top:1px solid var(--c-line);min-height:44px;color:var(--c-moss);align-items:center;gap:8px;margin:12px -18px -16px;padding:10px 18px;font-size:14px;font-weight:500;display:flex}.ui-link>svg:last-child{margin-left:auto}.ui-link:hover{background:var(--c-moss-soft)}.ui-bar{background:#e7e4d8;height:8px;display:block;overflow:hidden}.ui-bar>i{background:var(--c-moss);height:100%;display:block}.ui-rows{margin:10px 0 0;display:grid}.ui-rows>div{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:14px;display:flex}.ui-rows>div:last-child{border-bottom:0}.ui-rows dt{color:var(--c-ink-soft)}.ui-rows dd{color:var(--c-ink);font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.ui-select{color:var(--c-ink-soft);align-items:center;gap:8px;font-size:14px;display:inline-flex}.ui-select select{border:1px solid var(--c-line-strong);background-color:var(--c-paper);min-height:40px;color:var(--c-ink);padding:6px 40px 6px 12px;font-size:14px}.ui-page .button.secondary{border:1px solid var(--c-line-strong);background:var(--c-paper);min-height:44px;color:var(--c-ink);gap:8px;font-size:14px}.ui-page .button.secondary:hover:not(:disabled){background:var(--c-moss-soft);border-color:var(--c-moss)}.ui-page .button.secondary:disabled{opacity:.5}@media (width>=651px) and (width<=1000px){.ui-layout{padding:20px 24px 40px}.ui-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1001px){.ui-layout{grid-template-columns:minmax(0,1fr) clamp(300px,26vw,380px);grid-template-areas:"head head""main rail";align-items:start;gap:16px 24px;padding:24px 24px 40px}.ui-rail{position:sticky;top:84px}.ui-head h1{font-size:32px}}@media (width>=1600px){.ui-layout{gap:18px 32px;padding:32px 36px 48px}}.pg-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pg-stat{flex-direction:column;gap:8px;display:flex}.pg-stat p{margin:0;font-size:14px;line-height:1.45}.pg-stat .ui-link{margin-top:auto}.pg-stat-number{letter-spacing:-.02em;color:var(--c-ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:40px;font-weight:600;line-height:1;display:flex}.pg-stat-number small{letter-spacing:0;color:var(--c-ink-soft);font-size:15px;font-weight:500}.pg-stat-streak{background:var(--c-moss-soft);border-color:#c9d6c0}.pg-stat-streak .ui-eyebrow svg{color:var(--c-gold)}.pg-sub{font-size:var(--t-small)!important;margin:4px 0 0!important}.pg-sub strong{color:var(--c-ink)}.pg-activity-body{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:14px;display:grid}.pg-heat-scroll{scrollbar-width:thin;padding-bottom:4px;overflow-x:auto}.pg-heat{--cell:14px;--gap:3px;grid-template-rows:16px auto;grid-template-columns:18px auto;gap:4px 6px;width:max-content;display:grid}.pg-heat-months{grid-area:1/2;grid-template-columns:repeat(var(--weeks), var(--cell));gap:var(--gap);display:grid}.pg-heat-months span{white-space:nowrap;color:var(--c-ink-soft);text-transform:lowercase;font-size:12px;line-height:16px}.pg-heat-weekdays{grid-area:2/1;grid-template-rows:repeat(7, var(--cell));gap:var(--gap);display:grid}.pg-heat-weekdays span{font-size:11px;line-height:var(--cell);color:var(--c-ink-soft)}.pg-heat-cells{grid-area:2/2;grid-auto-flow:column;grid-template-rows:repeat(7, var(--cell));grid-auto-columns:var(--cell);gap:var(--gap);display:grid}.pg-day{width:var(--cell,14px);height:var(--cell,14px);cursor:pointer;border:1px solid #0000;padding:0;display:block}.pg-day.level-0{background:#ebe8dd}.pg-day.level-1{background:#d3dfcb}.pg-day.level-2{background:#aec4a3}.pg-day.level-3{background:#7fa07a}.pg-day.level-4{background:#4f7a62}.pg-day.level-5{background:var(--c-moss)}.pg-day:hover{border-color:var(--c-ink)}.pg-day.selected{outline:2px solid var(--c-ink);outline-offset:1px}.pg-heat-legend{color:var(--c-ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.pg-legend{align-items:center;gap:4px;display:inline-flex}.pg-legend i{cursor:default}.pg-detail{background:var(--c-paper-hi);border:1px solid var(--c-line);padding:14px 16px}.pg-detail h3{color:var(--c-ink);margin:6px 0 0;font-size:18px;font-weight:600}.pg-activity-foot{border-top:1px solid var(--c-line);flex-wrap:wrap;gap:6px 20px;padding-top:12px;display:flex;font-size:var(--t-small)!important;margin:14px 0 0!important}.pg-activity-foot strong{color:var(--c-ink)}.pg-activity-foot span:last-child{margin-left:auto}.pg-entries{margin:10px 0 0;padding:0;list-style:none}.pg-entries li+li{border-top:1px solid var(--c-line)}.pg-entry{min-height:60px;color:var(--c-ink);grid-template-columns:44px minmax(0,1fr) auto auto 16px;align-items:center;gap:12px;padding:6px 4px;display:grid}.pg-entry:hover{background:var(--c-moss-soft)}.pg-entry-glyph{border:1px solid var(--c-line);background:var(--c-paper-hi);place-items:center;width:44px;height:44px;font-size:24px;line-height:1;display:grid}.pg-entry-text{flex-direction:column;min-width:0;display:flex}.pg-entry-text strong{font-size:15px}.pg-entry-text small{color:var(--c-ink-soft);font-size:12px}.pg-entry-mode{border:1px solid var(--c-line-strong);white-space:nowrap;color:var(--c-ink-soft);padding:2px 8px;font-size:12px;font-weight:500}.pg-entry-mode.is-recall{border-color:var(--c-moss);color:var(--c-moss)}.pg-entry-mode.is-guided{background:var(--c-moss-soft);color:var(--c-ink);border-color:#c9d6c0}.pg-entry .stars svg{width:13px;height:13px}.pg-entry-arrow{color:var(--c-ink-soft)}.pg-totals-rows dt{align-items:center;gap:6px;display:flex}.pg-sync{flex-wrap:wrap;align-items:center;gap:6px;display:flex;font-size:var(--t-small)!important;margin:12px 0 0!important}.pg-export{width:100%;margin-top:12px}.pg-help p{margin:10px 0 0;font-size:14px;line-height:1.55}.pg-help strong{color:var(--c-ink);font-weight:600}@media (width<=650px){.pg-stat-number{font-size:34px}.pg-entry{grid-template-columns:44px minmax(0,1fr) auto}.pg-entry-mode,.pg-entry-arrow{display:none}.pg-activity-foot span:last-child{margin-left:0}}@media (width>=1001px){.pg-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.pg-activity-body{grid-template-columns:minmax(0,1fr) 230px;align-items:start}}.pg-notebook{scroll-margin-top:84px}.pf-account{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.pf-avatar{background:var(--c-moss);color:#fffdf7;place-items:center;width:64px;height:64px;font-size:28px;font-weight:600;display:grid}.pf-account-text h2{color:var(--c-ink);overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:600}.pf-account-text p{overflow-wrap:anywhere;margin:2px 0 0;font-size:14px}.pf-plan{background:var(--c-moss-soft);color:var(--c-ink);white-space:nowrap;border:1px solid #c9d6c0;padding:4px 10px;font-size:13px;font-weight:500}.pf-page .ui-card h2{align-items:center;gap:8px;display:flex}.pf-page .ui-card h2 svg{color:var(--c-olive)}.pf-note{margin:10px 0 0;font-size:14px!important}.pf-sync{align-items:center;gap:6px;margin:8px 0 0;display:flex;font-size:var(--t-small)!important}.pf-signout{width:100%;margin-top:14px}.pf-admin{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0;display:flex}.pf-admin h2{margin:4px 0 0;font-size:18px}.pf-admin p{margin:4px 0 0}.pf-page .study-goal-panel{background:var(--c-paper);border:1px solid var(--c-line);box-shadow:var(--shadow-card);margin:0;padding:18px}.pf-page .study-goal-heading{align-items:flex-start;gap:10px;display:flex}.pf-page .study-goal-heading svg{color:var(--c-olive);flex-shrink:0;margin-top:2px}.pf-page .study-goal-heading h2{color:var(--c-ink);margin:0;font-size:18px;font-weight:600}.pf-page .study-goal-heading p{color:var(--c-ink-soft);margin:4px 0 0;font-size:14px}.pf-page .study-goal-panel .button.primary:disabled{opacity:1;color:#6f695c;background:#e1ddd0}@media (width<=650px){.pf-account{grid-template-columns:56px minmax(0,1fr)}.pf-avatar{width:56px;height:56px;font-size:24px}.pf-plan{grid-column:1/-1;justify-self:start}}.rd-search{background:var(--c-paper-hi);flex:0 340px}.rd-group .ui-card-head{margin-bottom:12px}.rd-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.rd-card{border:1px solid var(--c-line);background:var(--c-paper-hi);height:100%;color:var(--c-ink);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 12px;padding:10px 12px;text-decoration:none;display:grid}a.rd-card:hover{border-color:var(--c-moss);background:var(--c-moss-soft)}.rd-card.is-empty{opacity:.6}.rd-glyph{min-width:44px;color:var(--c-ink);grid-row:1/3;align-items:baseline;gap:4px;font-size:30px;line-height:1.1;display:flex}.rd-glyph .rd-variant{color:var(--c-olive);font-size:18px}.rd-text{min-width:0;color:var(--c-ink-soft);flex-wrap:wrap;align-items:baseline;gap:0 8px;font-size:13px;display:flex}.rd-text strong{color:var(--c-ink);font-size:14px;font-weight:600}.rd-text [lang=ja]{color:var(--c-ink);font-size:14px}.rd-number{letter-spacing:.06em;text-transform:uppercase;color:var(--c-olive);flex-basis:100%;font-size:11px;font-weight:600}.rd-count{color:var(--c-ink-soft);font-variant-numeric:tabular-nums;font-size:12px}.rd-help h2{margin:0 0 6px}.rd-help p+p{margin-top:8px}.rd-positions{margin:10px 0 0;display:grid}.rd-positions>div{border-top:1px solid var(--c-line);grid-template-columns:96px minmax(0,1fr);gap:10px;padding:8px 0;font-size:14px;display:grid}.rd-positions dt [lang=ja]{color:var(--c-ink);font-weight:600}.rd-positions dt small{color:var(--c-ink-soft);font-size:12px;display:block}.rd-positions dd{color:var(--c-ink-soft);margin:0}.rd-positions dd [lang=ja]{color:var(--c-ink);margin-top:2px;display:block}.kt-radicals small{color:var(--c-ink-soft);margin-left:6px;font-size:13px}@media (width<=1000px){.kt-radicals{grid-area:radicals}.kt-catalog:has(.kt-radicals) .kt-layout{grid-template-areas:"head""progress""filters""radicals""board""review""next"}}.kt-radical-filter{border:1px solid var(--c-line-strong);background:var(--c-moss-soft);color:var(--c-ink-soft);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:10px 12px;font-size:14px;display:flex}.kt-radical-filter strong{color:var(--c-ink);font-weight:600}.kt-radical-glyph{color:var(--c-ink);font-size:30px;line-height:1}.kt-radical-clear{border:1px solid var(--c-line-strong);background:var(--c-paper-hi);min-height:36px;color:var(--c-ink);align-items:center;gap:6px;margin-left:auto;padding:0 10px;font-size:13px;display:inline-flex}.kt-radical-clear:hover{border-color:var(--c-moss)}.kj-radical-all{color:var(--c-moss);margin-top:8px;font-size:13px;font-weight:500;display:inline-block}.kj-radical-all [lang=ja]{font-size:15px}@media (width<=650px){.rd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-card{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);align-content:start;gap:4px}.rd-glyph{grid-row:auto;font-size:28px}.rd-search{flex-basis:100%}}@media (width>=1001px){.kt-catalog .kt-tools{flex-wrap:wrap}.kt-catalog .kt-tools .kt-groups{flex:0 auto;max-width:100%}.kt-catalog .kt-tools .kt-search{flex:170px;max-width:260px}}.app-shell .topbar{z-index:40;background:var(--glass-paper);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-line);position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-shell .topbar{background:#fbfaf5f5}}.app-shell select:not([multiple]){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2356665c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.app-shell .handwriting-select-control select{background-image:none}.app-shell select:focus,.app-shell select:focus-visible{outline:none}.app-shell select:focus-visible{border-color:#315c4b;box-shadow:0 0 0 3px #315c4b2e}.app-shell .site-footer{text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:6px 24px}.app-shell .site-footer>*{margin:0}@media (width<=650px){.app-shell .site-footer{flex-direction:column;align-items:flex-end}}:root :is(input,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):is(:focus,:focus-visible){outline:none}:root :is(input,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible{border-color:#315c4b;box-shadow:0 0 0 3px #315c4b2e}:root .kt-search input:not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible{box-shadow:none;border:0}:root .kt-search:focus-within{border-color:#315c4b;box-shadow:0 0 0 3px #315c4b2e}.app-shell .button.primary:not(:disabled){color:#fffdf7;background:#315c4b}.app-shell .button.primary:hover:not(:disabled){background:#193f36}.app-shell .section-header+.section-body{max-width:var(--content-max);padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.pager{border-top:1px solid #d9dfd1;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.pager-pages{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pager button{color:#56665c;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:4px;min-width:40px;min-height:40px;padding:6px 10px;font-size:14px;font-weight:500;display:inline-flex}.pager button:hover:not(:disabled){color:#193f36;background:#e8edde;border-color:#bbc8b3}.pager button[aria-current=page]{color:#fffdf7;background:#315c4b;border-color:#315c4b}.pager-step{color:#193f36!important;background:#fbfaf5!important;border-color:#bbc8b3!important}.pager-step:disabled{opacity:.4}.pager-gap{text-align:center;color:#56665c;min-width:20px;display:inline-block}@media (width<=480px){.pager-step span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pager button{min-width:36px;padding:6px 8px}}.app-shell .nav-label,.app-shell .main-nav .nav-count,.app-shell .site-footer,.app-shell .site-footer *,.app-shell .section-header .eyebrow{font-size:12px}.app-shell .site-footer a{color:var(--c-moss);text-underline-offset:2px;font-weight:600;text-decoration:underline}.app-shell{--topbar-h:58px}@media (width>=651px){.app-shell{--topbar-h:62px}}
