:root{color:#34483b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;background:#f7f8f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #d49a42}::selection{color:#263c32;background:#d8e9d9}.new-words-notification{z-index:20;color:#365b41;opacity:1;pointer-events:auto;background:#f1f6ef;border:1px solid #dce8dc;border-radius:15px;align-items:flex-start;gap:11px;width:min(450px,100vw - 36px);margin:0;padding:13px 14px;transition:opacity .22s,transform .22s;display:flex;position:fixed;top:96px;right:max(18px,50vw - 560px);transform:translateY(0);box-shadow:0 8px 22px #2d403512}.new-words-notification.notification-hidden{opacity:0;pointer-events:none;transform:translateY(-5px)}.notification-sparkle{flex:none;padding-top:1px;font-size:17px;line-height:1.3}.notification-copy{gap:3px;min-width:0;display:grid}.notification-copy strong{color:#31583d;font-size:13px;font-weight:750;line-height:1.4}.notification-copy span{color:#6f7f71;font-size:11px;line-height:1.45}.notification-close{color:#718174;width:28px;height:28px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin:-5px -5px 0 auto;font-size:21px;line-height:1;display:grid}.notification-close:hover{background:#e4eee2}.notification-close:focus-visible{outline-offset:2px;outline:3px solid #d49a42}@media (width<=600px){.new-words-notification{top:max(8px, env(safe-area-inset-top));border-radius:13px;width:auto;padding:11px 12px;left:12px;right:12px}.notification-copy span{font-size:12px}.notification-close{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.new-words-notification{transition:none}}.word-practice-back{margin-bottom:22px}.word-practice-card{gap:15px;min-height:380px}.word-practice-card .character-instruction{margin-bottom:0}.word-practice-kana{color:#397653;align-items:center;gap:.025em;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(64px,11vw,96px);line-height:1.2;display:flex}.word-kana-hint-trigger{color:inherit;font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-block;position:relative}.word-kana-hint-trigger:focus-visible{outline-offset:3px;border-radius:8px;outline:2px solid #d49a42}.word-kana-hint-trigger:focus-visible .kana-hint{opacity:1;visibility:visible;transform:translate(-50%)}.word-practice-card .romaji-form{width:100%;max-width:390px;margin:0}.word-practice-meaning{text-align:center;border-top:1px solid #e8ede6;width:min(100%,350px);margin-top:2px;padding-top:15px}.word-practice-meaning-label{color:#89958b;letter-spacing:1.3px;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.4}.word-practice-meaning p{color:#718176;margin:4px 0 0;font-size:18px;font-weight:600;line-height:1.4}.word-practice-card .answer-feedback{min-height:1.5em;margin:0}.word-empty-state{text-align:center;background:#fff;border:1px solid #e4e9e0;border-radius:24px;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;display:flex;box-shadow:0 14px 38px #2d40350d}.word-empty-state h1{color:#293e33;letter-spacing:-.8px;margin:0;font-size:clamp(26px,4vw,34px)}.word-empty-state>p:not(.lesson-eyebrow){color:#718176;margin:0 0 9px;font-size:14px;line-height:1.6}.word-empty-state .secondary-button{margin-top:5px}@media (width<=600px){.word-practice-back{margin-bottom:18px}.word-practice-card{gap:13px;min-height:320px;padding:20px 16px}.word-practice-kana{flex-wrap:wrap;justify-content:center;gap:6px .025em;max-width:100%;font-size:clamp(40px,11vw,64px)}.word-practice-kana:has(>:nth-child(6)){max-width:min(100%,3*max(44px,1em) + .1em)}.word-kana-hint-trigger{min-width:44px;min-height:44px}.word-practice-meaning p{overflow-wrap:anywhere;font-size:17px}.word-empty-state{border-radius:20px;padding:42px 20px}}.lesson-page{background:#f7f8f4;min-height:100vh;padding-bottom:48px}.lesson-header{border-bottom:1px solid #e8e9e2;justify-content:space-between;align-items:center;gap:20px;width:min(1120px,100% - 64px);min-height:84px;margin:0 auto;display:flex}.lesson-header-actions{align-items:center;gap:10px;display:flex}.lesson-brand{color:#233d34;letter-spacing:-.5px;align-items:center;gap:10px;font-size:19px;font-weight:750;text-decoration:none;display:inline-flex}.lesson-brand .brand-mark{color:#27624a;background:#dcebe0;border-radius:12px;place-items:center;width:36px;height:36px;font-size:22px;display:grid}.home-button,.about-button{color:#53685a;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e7df;border-radius:12px;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:650;display:inline-flex}.about-button{color:#365b41;background:#e8f0e8;border-color:#0000}.lesson-main{width:min(680px,100% - 48px);margin:0 auto;padding-top:49px}.introduction-main{max-width:640px}.practice-progression-action{justify-content:center;margin-top:18px;display:flex}.introduction-main>h1{color:#293e33;letter-spacing:-1.2px;margin:10px 0 8px;font-size:clamp(30px,5vw,40px);font-weight:740;line-height:1.2}.introduction-lead{color:#718176;margin:0;font-size:15px;line-height:1.65}.introduction-card{color:#68766c;background:#fff;border:1px solid #e4e9e0;border-radius:20px;margin-top:24px;padding:25px 28px;font-size:14px;line-height:1.75}.introduction-card p{margin:0}.introduction-card p+p{margin-top:13px}.introduction-card strong{color:#365b41}.introduction-section-label{color:#748276;background:#edf4ed;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:16px 18px;font-size:11px;display:flex}.introduction-section-label strong{color:#397653;white-space:nowrap;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:24px;font-weight:600}.about-continue{margin-top:20px}.lesson-heading{text-align:center;margin-bottom:27px}.lesson-eyebrow{color:#718477;letter-spacing:1.3px;margin:0;font-size:11px;font-weight:750}.lesson-heading h1{color:#293e33;letter-spacing:-1px;margin:10px 0 8px;font-size:clamp(27px,4vw,36px);font-weight:740;line-height:1.2}.lesson-heading>p:last-child{color:#7a887e;margin:0;font-size:14px}.character-card{background:#fff;border:1px solid #e4e9e0;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;margin-top:22px;padding:25px;display:flex;box-shadow:0 14px 38px #2d40350d}.character-instruction{color:#78867c;margin:0 0 10px;font-size:13px}.lesson-character{color:#397653;background:0 0;border:0;padding:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(116px,23vw,176px);line-height:1.1;display:block;position:relative}.hint-trigger{cursor:pointer}.kana-hint{color:#456e50;opacity:0;pointer-events:none;visibility:hidden;background:#edf4ed;border:1px solid #dce8dc;border-radius:10px;padding:4px 11px;font-family:inherit;font-size:17px;font-weight:650;line-height:1.4;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,-3px)}.hint-trigger:hover .kana-hint,.hint-trigger.hint-visible .kana-hint{opacity:1;visibility:visible;transform:translate(-50%)}.character-romaji{color:#455b4c;letter-spacing:.3px;margin:7px 0 0;font-size:22px;font-weight:700}.review-progress{color:#718176;text-align:center;margin-top:10px;font-size:13px;font-weight:650}.lesson-controls{justify-content:space-between;gap:12px;margin-top:19px;display:flex}.answer-feedback{text-align:center;margin:14px 0 0;font-size:13px;font-weight:650;line-height:1.5}.practice-card .answer-feedback{min-height:1.5em}.feedback-correct{color:#397653}.feedback-incorrect{color:#a45146}.romaji-form{width:min(100%,390px);margin-top:15px}.romaji-form label{color:#65776a;margin-bottom:7px;font-size:12px;font-weight:650;display:block}.romaji-input-row{gap:9px;display:flex}.romaji-input-row input{color:#34483b;min-width:0;min-height:48px;font:inherit;background:#fbfcfa;border:1px solid #dfe7dd;border-radius:12px;flex:1;padding:0 13px;font-size:16px}.romaji-input-row input:focus-visible{outline-offset:2px;outline:3px solid #d49a42}.romaji-input-row input:disabled{background:#f2f5f0}.primary-button,.secondary-button{min-height:48px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#397653}.primary-button:disabled{cursor:not-allowed;background:#93ae98}.secondary-button{color:#53685a;background:#fff;border-color:#e2e7df}.secondary-button:disabled{color:#a7b0a8;cursor:not-allowed}.lesson-controls .secondary-button:disabled{opacity:.65}.primary-button:focus-visible,.secondary-button:focus-visible,.home-button:focus-visible,.about-button:focus-visible,.lesson-brand:focus-visible{outline-offset:3px;outline:3px solid #d49a42}@media (width<=600px){.practice-progression-action>button{width:100%}.lesson-header{flex-wrap:wrap;gap:10px;width:calc(100% - 36px);min-height:72px;padding:12px 0}.lesson-brand{font-size:17px}.lesson-brand .brand-mark{white-space:nowrap;width:auto;min-width:36px;padding-inline:5px}.lesson-header-actions{flex-wrap:wrap;flex:100%;justify-content:flex-start;gap:6px}.home-button,.about-button{min-height:44px;padding:0 9px;font-size:12px}.lesson-main{width:calc(100% - 36px);padding-top:22px}.lesson-heading{margin-bottom:16px}.lesson-heading h1{letter-spacing:-.7px}.character-card{border-radius:20px;min-height:280px;margin-top:14px;padding:20px 16px}.lesson-character{max-width:100%;font-size:clamp(96px,24vw,140px)}.lesson-heading p,.lesson-eyebrow{overflow-wrap:anywhere;line-height:1.5}.lesson-controls{flex-wrap:wrap}.lesson-controls>button{flex:120px}.lesson-controls .primary-button,.lesson-controls .secondary-button{gap:6px;min-height:50px;padding:0 10px}.romaji-input-row{flex-direction:column}.romaji-input-row .primary-button{min-height:48px}.introduction-card{padding:20px}.introduction-section-label{text-align:center;flex-wrap:wrap;justify-content:center}}.contextual-word-navigation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.contextual-word-navigation a{margin-left:auto;text-decoration:none}@media (width<=600px){.contextual-word-navigation{margin-bottom:18px}.contextual-word-navigation>*{flex:180px;justify-content:center}}@media (width<=700px) and (height<=550px){.lesson-main{padding-top:14px}.lesson-heading{margin-bottom:12px}.character-card{min-height:0;padding:16px}.lesson-character{font-size:88px}}.header-account{flex-shrink:0;align-items:center;gap:12px;display:flex}.account-link,.account-primary,.account-secondary{color:#356447;min-height:44px;font:inherit;cursor:pointer;background:#eef4ed;border:1px solid #d9e4d9;border-radius:12px;justify-content:center;align-items:center;padding:10px 15px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.account-link:hover,.account-secondary:hover{background:#e4eee3}.account-main{max-width:660px}.account-card{background:#fff;border:1px solid #e2e8df;border-radius:22px;padding:clamp(24px,5vw,38px)}.account-card h1{color:#263c32;letter-spacing:-1px;margin:10px 0 16px;font-size:32px}.account-card p{color:#637369;font-size:14px;line-height:1.65}.account-email{overflow-wrap:anywhere}.account-form{gap:10px;margin:22px 0;display:grid}.account-form label{font-size:14px;font-weight:650}.account-form input{color:#34483b;width:100%;min-width:0;min-height:48px;font:inherit;background:#fafbf8;border:1px solid #d7e1d5;border-radius:12px;padding:12px 14px;font-size:16px}.account-form input:focus{border-color:#6a9174;outline:none;box-shadow:0 0 0 3px #e0ecdf}.account-primary{color:#fff;background:#397653;border-color:#397653}.account-primary:hover{background:#306546}.account-primary:disabled,.account-secondary:disabled{cursor:wait;opacity:.65}.account-card .account-notice{margin-top:24px;font-size:13px}.account-card .account-message{color:#356447;overflow-wrap:anywhere;background:#edf4ed;border-radius:12px;padding:12px}.account-card .account-error{color:#85523a;background:#faf0e9}.account-learning-link{color:#397653;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}@media (width<=960px){.header-account .level-label{display:none}.topbar{gap:16px}}@media (width<=700px){.header-account{margin-left:auto}.topbar{gap:8px 12px}.account-card h1{font-size:28px}}.product-home>.eyebrow,.product-progress>.eyebrow{margin-bottom:12px}.home-primary-card{background:#edf4ed;border:1px solid #dce8dc;border-radius:26px;justify-content:space-between;align-items:center;gap:28px;min-height:310px;padding:clamp(28px,6vw,58px);display:flex;position:relative;overflow:hidden}.home-primary-card>div{max-width:560px}.home-primary-card h1,.product-progress>h1{color:#263c32;letter-spacing:-1.8px;margin:10px 0;font-size:clamp(34px,5vw,48px)}.home-primary-card h2{color:#45805e;margin:0;font-size:22px}.home-primary-card p:not(.eyebrow),.product-availability{color:#637369;max-width:510px;font-size:14px;line-height:1.65}.home-primary-card .product-availability,.product-availability{color:#718477;font-size:12px}.home-primary-card .start-button{text-decoration:none}.home-card-mark,.product-page-mark{color:#3f7654;background:#e4efe4;border:1px solid #d3e2d4;border-radius:50%;flex:none;place-items:center;width:132px;height:132px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:62px;display:grid}.dashboard-support{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.dashboard-support-card,.progress-overview-card{background:#fff;border:1px solid #e7eae3;border-radius:17px;padding:20px}.dashboard-support-card h2{color:#2d4035;margin:5px 0 9px;font-size:20px}.dashboard-support-card>p:not(.eyebrow){color:#758077;min-height:42px;font-size:12px;line-height:1.6}.dashboard-support-card a,.product-unavailable a{color:#397653;gap:8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.product-unavailable{background:#fff;border:1px solid #e4e9e2;border-radius:22px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:280px;padding:clamp(24px,5vw,44px);display:flex}.product-unavailable h1,.product-unavailable h2{color:#2d4035;letter-spacing:-1px;margin:15px 0 5px;font-size:32px}.product-unavailable p:not(.eyebrow){color:#758077;max-width:560px;margin:5px 0 18px;font-size:14px;line-height:1.7}.product-unavailable .product-page-mark{width:72px;height:72px;font-size:34px}.kana-placeholder-main .kana-area-navigation{margin-bottom:18px}.katakana-unavailable{text-align:center;align-items:center;min-height:240px}.katakana-unavailable p{margin-bottom:0!important}.product-progress>h1{margin-top:4px}.product-page-intro{color:#758077;margin:-3px 0 22px;font-size:14px}.progress-overview-card{margin-bottom:12px}.progress-overview-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.progress-overview-heading h2{color:#2d4035;margin:3px 0 0;font-size:18px}.progress-overview-heading strong{color:#397653;white-space:nowrap;font-size:13px}.progress-overview-card>p{color:#758077;margin:10px 0 0;font-size:12px}@media (width<=700px){.home-primary-card{align-items:flex-start;min-height:0}.home-card-mark{width:60px;height:60px;font-size:30px}.dashboard-support{grid-template-columns:1fr}.dashboard-support-card>p:not(.eyebrow){min-height:0}}@media (width<=440px){.home-card-mark{display:none}.progress-overview-heading{flex-direction:column;align-items:flex-start}}@media (width<=700px){.home-primary-card h1{letter-spacing:-1px;font-size:clamp(30px,7vw,40px)}.dashboard-support-card>p:not(.eyebrow){font-size:14px}.dashboard-support-card a,.product-unavailable a{align-items:center;min-height:44px}.home-primary-card>div,.product-unavailable{overflow-wrap:anywhere;min-width:0}}.kana-area-navigation{justify-content:space-between;align-items:center;gap:14px;margin:20px 0 24px;display:flex}.kana-area-navigation .kana-script-selector{background:#fff;border:1px solid #e5e9e2;border-radius:14px;flex-wrap:wrap;gap:4px;margin:0;padding:5px;display:inline-flex}.kana-area-navigation .kana-script-tab{color:#637369;white-space:nowrap;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.kana-area-navigation .kana-script-tab-active{color:#285940;background:#e8f0e8}.kana-area-navigation .kana-script-tab>span{color:#818980;font-size:10px;font-weight:500}.kana-words-link{color:#397653;white-space:nowrap;background:#fff;border:1px solid #dce7dc;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:0 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.kana-words-link:hover,.kana-words-link-active{background:#f1f7f0;border-color:#bcd3bf}.kana-words-link span{font-size:17px}@media (width<=600px){.kana-area-navigation{flex-direction:column;align-items:stretch}.kana-area-navigation .kana-script-selector{width:100%;max-width:100%}.kana-area-navigation .kana-script-tab{flex:auto;justify-content:center;min-height:44px;padding:0 10px;font-size:13px}.kana-words-link{align-self:flex-start}}@media (width<=370px){.kana-area-navigation .kana-script-tab>span{display:none}}#root{min-height:100vh}.app-shell{background:#f7f8f4;min-height:100vh}.topbar{border-bottom:1px solid #e8e9e2;justify-content:space-between;align-items:center;gap:32px;width:min(1120px,100% - 64px);min-height:84px;margin:0 auto;display:flex}.brand{color:#233d34;letter-spacing:-.5px;white-space:nowrap;align-items:center;gap:10px;font-size:19px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{color:#27624a;background:#dcebe0;border-radius:12px;place-items:center;width:36px;height:36px;font-size:22px;display:grid}.main-nav{align-items:center;gap:10px;display:flex}.nav-item{color:#67736b;min-height:40px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.nav-item-active{color:#285940;background:#e8f0e8}.nav-item-unavailable:disabled{cursor:not-allowed;opacity:.72}.coming-soon{color:#818980;background:#eef0eb;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600}.level-label{color:#69766c;white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.level-label span{color:#d49a42;font-size:16px}.main-content{width:min(1000px,100% - 64px);margin:0 auto;padding:54px 0 32px}.welcome-card{background:#edf4ed;border:1px solid #e3e9df;border-radius:26px;align-items:center;min-height:342px;padding:55px 62px;display:flex;position:relative;overflow:hidden}.welcome-copy{z-index:1;width:60%;max-width:540px;position:relative}.eyebrow{color:#718477;letter-spacing:1.35px;margin:0;font-size:11px;font-weight:750;line-height:1.5}.welcome-copy .eyebrow span{color:#397455;letter-spacing:0;margin-right:8px;font-size:13px}.welcome-copy h1{color:#263c32;letter-spacing:-2.4px;margin:17px 0 13px;font-size:clamp(38px,5vw,56px);font-weight:750;line-height:1.07}.welcome-copy h1 span{color:#45805e}.welcome-description{color:#637369;max-width:455px;font-size:15px;line-height:1.7}.recommended-practice-description,.recommended-practice-scope{color:#637369;max-width:450px;margin:8px 0 0;font-size:12px;line-height:1.55}.recommended-practice-scope{color:#397653;overflow-wrap:anywhere}.recommended-practice-scope strong{color:#53685a}.start-button{color:#fff;min-height:49px;font:inherit;background:#397653;border:0;border-radius:13px;align-items:center;gap:20px;margin-top:23px;padding:0 19px;font-size:14px;font-weight:700;display:inline-flex}.start-button:disabled{cursor:not-allowed;opacity:.7}.start-button span{font-size:18px}.button-note{color:#819087;margin-top:9px;font-size:11px}.welcome-art{background:#e4efe3;place-items:center;width:39%;height:100%;display:grid;position:absolute;top:0;right:0;overflow:hidden}.sun{opacity:.8;background:#f3dfae;border-radius:50%;width:175px;height:175px;position:absolute;top:54px;right:70px}.large-kana{z-index:1;color:#397653;margin-top:-16px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:150px;line-height:1;position:relative;transform:rotate(-7deg)}.small-kana{z-index:2;color:#72927a;background:#fbfcf7;border:1px solid #dfe8d8;border-radius:16px;place-items:center;width:48px;height:48px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:27px;display:grid;position:absolute;box-shadow:0 8px 25px #32533914}.kana-one{top:75px;left:25px;transform:rotate(-10deg)}.kana-two{bottom:61px;right:34px;transform:rotate(9deg)}.art-caption{color:#839386;letter-spacing:.7px;font-size:11px;position:absolute;bottom:27px}.progress-section{margin-top:47px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.section-heading h2{color:#2d4035;letter-spacing:-.55px;margin:5px 0 0;font-size:23px;font-weight:700}.progress-note{color:#8a938b;padding-bottom:3px;font-size:12px}.progress-card{background:#fff;border:1px solid #e9ebe5;border-radius:19px;align-items:center;gap:19px;padding:23px 25px;display:flex}.progress-icon{color:#50805a;background:#eef4ea;border-radius:17px;flex:none;place-items:center;width:55px;height:55px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:30px;display:grid}.progress-details{flex:1;min-width:0}.progress-title-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:11px;display:flex}.progress-title-row h3{color:#34483b;margin:0;font-size:15px;font-weight:700}.progress-count{color:#456e50;white-space:nowrap;font-size:14px;font-weight:700}.progress-count span{color:#89928b;font-size:12px;font-weight:500}.progress-track{background:#edf0eb;border-radius:99px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:#55906b;width:0;height:100%;display:block}.progress-caption{color:#909990;margin-top:9px;font-size:11px}.hiragana-category-switcher{flex-wrap:wrap;gap:9px;margin:38px 0 0;display:flex}.hiragana-category-tab{color:#53685a;min-height:46px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e3e9e1;border-radius:12px;flex:170px;padding:9px 14px;font-size:13px;font-weight:650;line-height:1.35}.hiragana-category-tab:hover{background:#f8fbf7;border-color:#c9ddcb}.hiragana-category-tab.category-tab-active{color:#fff;background:#397653;border-color:#397653;box-shadow:0 4px 12px #39765324}.hiragana-category-tab:focus-visible{outline-offset:2px;outline:3px solid #d49a42}.hiragana-category-title-row{align-items:center;gap:7px;display:flex}.hiragana-course{background:#fff;border:1px solid #e9ebe5;border-radius:19px;margin-top:14px;padding:23px 25px}.hiragana-course .section-heading{flex-wrap:wrap;margin-bottom:18px}.hiragana-selector-description{color:#758077;margin:-7px 0 17px;font-size:12px;line-height:1.6}.hiragana-selector-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hiragana-selector-actions button{color:#53685a;font:inherit;cursor:pointer;background:#fff;border:1px solid #e3e9e1;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:650}.hiragana-selector-actions button:disabled{color:#a0aaa1;cursor:not-allowed}.hiragana-selector-actions button:focus-visible{outline-offset:2px;outline:2px solid #d49a42}.hiragana-section-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.hiragana-section-item{background:#fbfcfa;border:1px solid #edf0eb;border-radius:13px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:13px 14px;display:grid;position:relative}.hiragana-section-item.section-recommended{background:#f8fbf7;border-color:#dce9dd}.hiragana-section-item.section-selected{background:#f1f7f0;border-color:#a9caae}.hiragana-section-number{color:#7a887e;background:#edf0eb;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.section-recommended .hiragana-section-number{color:#397653;background:#e4efe4}.section-complete .hiragana-section-number{color:#fff;background:#397653}.hiragana-section-details{min-width:0}.hiragana-section-title-row{align-items:baseline;gap:10px;display:flex}.hiragana-section-title-row h3{color:#34483b;margin:0;font-size:14px;font-weight:700}.hiragana-section-name{align-items:baseline;gap:6px;min-width:0;display:flex}.hiragana-section-japanese-name{color:#7e8c80;font-size:12px;font-weight:500}.hiragana-section-status{color:#7e8c80;font-size:10px;font-weight:650}.section-recommended .hiragana-section-status{color:#397653}.hiragana-recommendation{color:#397653;font-size:10px;font-weight:700}.hiragana-in-learning{color:#7e8c80;font-size:10px;font-weight:650}.hiragana-section-kana{color:#397653;letter-spacing:1px;margin:4px 0 0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:18px;line-height:1.45}.hiragana-section-count{color:#8a938b;margin:2px 0 0;font-size:10px}.hiragana-section-vocabulary-progress{color:#758579;margin:2px 0 0;font-size:10px;line-height:1.4}.hiragana-section-action{color:#397653;min-height:38px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dce7dc;border-radius:10px;padding:0 12px;font-size:11px;font-weight:700}.hiragana-section-action:hover{background:#f4f8f3;border-color:#c9ddcb}.hiragana-section-action:after{content:"";border-radius:13px;position:absolute;inset:0}.hiragana-section-action:hover:after{box-shadow:inset 0 0 0 1px #a9caae}.hiragana-section-action:focus-visible:after{outline-offset:2px;outline:3px solid #d49a42}.section-selected .hiragana-section-action{color:#fff;background:#397653;border-color:#397653}.section-selected .hiragana-section-action:hover{background:#2f6847;border-color:#2f6847}.hiragana-section-action:focus-visible{outline-offset:2px;outline:3px solid #d49a42}.hiragana-course-complete{color:#397653;text-align:center;background:#edf4ed;border-radius:12px;margin:16px 0 0;padding:13px 15px;font-size:13px;font-weight:650;line-height:1.5}.choose-sections-button{margin-top:18px}.manual-practice-note{color:#819087;margin:8px 0 0;font-size:11px}.hiragana-help-control{flex:none;justify-content:flex-end;margin:0;display:flex;position:relative}.hiragana-help-button{color:#397653;width:24px;height:24px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd8cb;border-radius:50%;place-items:center;font-size:13px;font-weight:700;line-height:1;display:grid}.hiragana-help-button:hover,.hiragana-help-button[aria-expanded=true]{background:#eaf2e9;border-color:#397653}.hiragana-help-button:focus-visible,.hiragana-help-close:focus-visible{outline-offset:2px;outline:3px solid #d49a42}.hiragana-help-popover{z-index:5;color:#526258;background:#fff;border:1px solid #dfe8df;border-radius:14px;width:min(350px,100vw - 56px);padding:17px 18px 15px;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 12px 32px #243a2b29}.hiragana-help-popover[hidden]{display:none}.hiragana-help-popover h3{color:#2d4035;margin:0 28px 9px 0;font-size:14px;line-height:1.4}.hiragana-help-popover p{margin:8px 0 0;font-size:12px;line-height:1.55}.hiragana-help-popover .hiragana-help-examples{color:#397653;background:#f5f8f3;border-radius:9px;padding:8px 10px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:15px;line-height:1.65}.hiragana-help-close{color:#718077;width:28px;height:28px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;font-size:20px;line-height:1;display:grid;position:absolute;top:8px;right:8px}.hiragana-help-close:hover{color:#34483b;background:#f1f4ef}.page-footer{color:#9aa198;justify-content:center;align-items:center;gap:10px;margin-top:44px;font-size:11px;display:flex}.footer-dot{color:#c3c9c0}@media (width<=700px){.topbar{flex-wrap:wrap;gap:8px 12px;width:calc(100% - 36px);min-height:72px}.brand{font-size:17px}.brand-mark{width:33px;height:33px}.level-label{margin-left:auto;font-size:12px}.main-nav{flex-wrap:wrap;order:1;justify-content:space-between;gap:4px;width:100%;padding-bottom:10px}.nav-item{flex:1;min-height:44px;padding:0 4px;font-size:12px}.main-content{width:calc(100% - 36px);padding-top:26px}.welcome-card{border-radius:21px;flex-direction:column;align-items:stretch;min-height:0;padding:26px 25px 24px;display:flex}.welcome-copy{width:100%;max-width:100%}.welcome-copy .eyebrow{font-size:11px}.welcome-copy h1{letter-spacing:-1.8px;margin-top:14px;font-size:clamp(32px,8vw,44px)}.welcome-description{max-width:360px;font-size:13px}.welcome-art{opacity:1;border-radius:0 0 21px 21px;width:calc(100% + 50px);height:130px;margin:20px -25px -24px;position:relative;inset:auto}.sun{width:120px;height:120px;top:8px;right:calc(50% - 65px)}.large-kana{margin-top:0;font-size:100px}.small-kana{border-radius:12px;width:38px;height:38px;font-size:23px}.kana-one{top:16px;left:18px}.kana-two{bottom:16px;right:18px}.art-caption{display:none}.progress-section{margin-top:34px}.section-heading{align-items:start}.section-heading h2{font-size:20px}.progress-note{text-align:right;max-width:112px;font-size:10px}.progress-card{border-radius:16px;gap:13px;padding:17px 15px}.hiragana-course{margin-top:28px;padding:17px 15px}.hiragana-category-switcher{gap:7px;margin-top:28px}.hiragana-category-tab{flex-basis:145px;min-height:48px;padding:8px 10px;font-size:13px}.hiragana-selector-actions{justify-content:space-between;gap:6px;width:100%}.hiragana-selector-actions .progress-note{text-align:left;flex-basis:100%;max-width:none;margin-right:auto;font-size:12px}.hiragana-selector-actions button{min-height:44px;padding:8px 10px;font-size:12px}.hiragana-section-item{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px 10px}.hiragana-section-number{width:30px;height:30px}.hiragana-section-title-row{flex-wrap:wrap;gap:2px 8px}.hiragana-section-action{grid-column:2;justify-self:start;min-height:44px;font-size:12px}.hiragana-section-name{flex-wrap:wrap}.hiragana-section-kana{overflow-wrap:anywhere;letter-spacing:0;font-size:20px}.hiragana-category-title-row{gap:17px;min-height:44px;position:relative}.hiragana-help-control{position:static}.hiragana-help-button{position:relative}.hiragana-help-button:after{content:"";border-radius:50%;position:absolute;inset:-10px}.hiragana-help-popover{width:min(350px,100vw - 100px)}.hiragana-help-close{width:44px;height:44px}.hiragana-help-popover h3{margin-right:38px}.hiragana-help-popover p{font-size:14px}.progress-icon{border-radius:14px;width:46px;height:46px;font-size:25px}.progress-count{font-size:12px}.progress-count span{font-size:10px}.page-footer{flex-wrap:wrap;gap:6px;margin-top:32px;font-size:10px}}@media (width<=380px){.coming-soon{display:none}.progress-card{align-items:flex-start}.progress-title-row{flex-wrap:wrap;gap:4px}}.kana-page-heading{margin-bottom:20px}.kana-page-heading h1{color:#2d4035;letter-spacing:-1.2px;margin:7px 0 5px;font-size:34px}.kana-page-heading>p:last-child{color:#758077;margin:0;font-size:14px}.words-main{padding-top:48px}.words-back-link{margin-bottom:20px;text-decoration:none;display:inline-flex}.words-heading,.words-actions{justify-content:space-between;align-items:end;gap:20px;display:flex}.words-filters{flex-wrap:wrap;gap:8px;margin:20px 0 14px;display:flex}.words-filters button[aria-pressed=true]{background:#f1f7f0;border-color:#a9caae}.words-search{margin-bottom:18px}.words-search label{color:#526258;margin-bottom:7px;font-size:12px;font-weight:650;display:block}.words-search-field{background:#fff;border:1px solid #dce7dc;border-radius:11px;align-items:center;gap:4px;padding:0 8px 0 12px;display:flex}.words-search-field input{color:#2d4035;width:100%;min-width:0;min-height:44px;font:inherit;background:0 0;border:0;font-size:16px}.words-search-field input::-webkit-search-cancel-button{-webkit-appearance:none}.words-search-field button{color:#397653;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;width:44px;height:44px;font-size:24px}.words-search-field:focus-within{border-color:#397653;box-shadow:0 0 0 2px #3976531f}.words-search-field input:focus{outline:none}.words-search-field button:focus-visible{outline-offset:-2px;outline:2px solid #397653}.words-search-field button:hover{background:#f4f8f3}.words-heading h1{color:#2d4035;letter-spacing:-1px;margin:7px 0 0;font-size:32px}.words-subtitle{color:#758077;margin:7px 0 0;font-size:13px}.words-count{color:#397653;white-space:nowrap;background:#e8f0e8;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.words-actions{align-items:center;margin:26px 0 14px}.words-actions p{color:#758077;margin:0;font-size:12px}.words-practice-button{color:#397653;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce7dc;border-radius:11px;padding:0 13px;font-size:12px;font-weight:700}.words-practice-button:hover{background:#f4f8f3}.words-practice-button:focus-visible,.words-list-item:focus-visible{outline-offset:2px;outline:3px solid #d49a42}.words-browser{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start;gap:15px;display:grid}.words-list{gap:8px;display:grid}.words-list-item{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e9ebe5;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:12px 14px;display:grid}.words-list-item:hover{background:#f8fbf7;border-color:#c9ddcb}.words-list-item.word-selected{background:#f1f7f0;border-color:#a9caae}.words-list-kana{color:#345c43;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:21px;font-weight:600}.words-list-meaning{color:#758077;text-align:right;font-size:11px}.word-detail{background:#fff;border:1px solid #e9ebe5;border-radius:17px;min-width:0;padding:22px 24px}.word-detail h2{color:#345c43;margin:12px 0 0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:58px;font-weight:500;line-height:1.2}.word-detail-kanji{color:#758077;margin:4px 0 0;font-size:16px}.word-detail-romaji{color:#758077;margin:5px 0 0;font-size:14px}.word-detail-meaning{color:#2d4035;margin:13px 0 0;font-size:20px;font-weight:650}.word-detail-meta{flex-wrap:wrap;gap:12px 25px;margin:18px 0 0;display:flex}.word-detail-meta div{gap:4px;display:grid}.word-detail-meta dt,.word-detail-meta dd{margin:0;font-size:11px}.word-detail-meta dt{color:#8a938b}.word-detail-meta dd{color:#526258;font-weight:650}.word-required-kana,.word-example{border-top:1px solid #edf0eb;margin-top:21px;padding-top:16px}.word-required-kana h3,.word-example h3{color:#526258;margin:0;font-size:12px}.word-required-kana ul{flex-wrap:wrap;gap:7px;margin:10px 0 0;padding:0;list-style:none;display:flex}.word-required-kana li{color:#397653;background:#f3f7f1;border-radius:9px;justify-items:center;gap:1px;min-width:48px;padding:6px 8px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:18px;display:grid}.word-required-kana small{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:9px}.word-example p{color:#526258;margin:8px 0 0;font-size:12px;line-height:1.55}.word-example p[lang=ja]{color:#397653;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:18px}.words-empty-state{text-align:center;background:#fff;border:1px solid #e9ebe5;border-radius:18px;justify-items:center;margin-top:30px;padding:38px 20px;display:grid}.words-empty-kana{color:#397653;background:#e4efe3;border-radius:18px;place-items:center;width:58px;height:58px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:34px;display:grid}.words-empty-state h2{color:#2d4035;margin:17px 0 0;font-size:20px}.words-empty-state p{color:#758077;margin:8px 0 0;font-size:13px}.words-empty-state .start-button{text-decoration:none}@media (width<=700px){.words-filters>button{flex:auto;min-height:44px;font-size:13px}.word-detail h2{overflow-wrap:anywhere;font-size:clamp(32px,9vw,48px)}.word-detail-romaji,.word-detail-meaning,.words-list-meaning{overflow-wrap:anywhere}.words-actions p,.words-subtitle,.words-list-meaning{font-size:13px;line-height:1.5}.words-main{padding-top:32px}.words-browser{grid-template-columns:1fr}.words-list{grid-template-columns:repeat(2,minmax(0,1fr))}.words-list-item{grid-template-columns:1fr;gap:3px}.words-list-meaning{text-align:left}}@media (width<=480px){.words-heading{flex-direction:column;align-items:start;gap:12px}.words-actions{flex-direction:column;align-items:start}.words-list{grid-template-columns:1fr}.word-detail{padding:19px 17px}}
