.access-page,.admin-page{min-height:100svh;color:var(--text);background:var(--bg,#f7f7f2);margin:auto;font-size:16px;line-height:1.5}.access-page{max-width:1180px;padding:24px clamp(20px,5vw,64px)}.access-header,.admin-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.access-brand{color:inherit;align-items:center;gap:10px;font-size:19px;font-weight:750;text-decoration:none;display:flex}.access-brand>span{background:var(--green);color:#fff;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:30px;display:grid}.language-choice{flex:none;gap:4px;display:flex}.language-choice button{border:1px solid #0000;border-radius:10px;min-width:52px;min-height:44px;padding:8px 10px;font-size:16px}.language-choice button[aria-pressed=true]{border-color:var(--line);background:#fff}.access-layout{grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(24px,7vw,96px);padding:32px 0;display:grid}.access-intro h1{letter-spacing:-.04em;margin:12px 0;font-size:clamp(32px,4vw,48px);line-height:1.2}.access-intro>p{max-width:32em;font-size:18px;line-height:1.6}.access-kana{color:var(--green);letter-spacing:16px;margin:32px 0;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:100px;line-height:1.2}.access-kana span{color:#a4b8ab}.access-form-area{min-width:0}.access-form-area .panel{margin:0}.access-page .account-panel{padding:24px}.access-page .account-panel p{font-size:16px;line-height:1.5}.access-page .account-form{gap:12px;margin-top:14px}.access-page .account-form>.primary{width:100%;min-width:0;min-height:48px;margin:0;padding:10px;font-size:17px}.access-page .account-form .field{gap:5px;font-size:16px}.access-page input:not([type=checkbox]){min-height:48px;padding:10px 12px;font-size:16px}.access-page .code-input{gap:6px}.access-page .code-input .text-button{min-height:44px;padding:8px 5px;font-size:16px}.access-page .account-modes{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.access-page .account-modes button{min-width:0;min-height:44px;padding:8px 4px;font-size:16px;line-height:1.3}.access-page .account-mode-note{margin:0}.access-page .account-sync-state{margin:8px 0 0;font-size:16px}.access-page .account-online-note{margin:10px 0 2px;font-size:16px}.account-help{margin-top:6px}.account-help>summary{min-height:44px;color:var(--green);cursor:pointer;padding:10px 0;font-size:16px;display:list-item}.account-help p{margin:0 0 12px;font-size:16px;line-height:1.6}.access-paused{background:#fff8e7;border:1px solid #bda56c;border-radius:14px;margin-bottom:14px;padding:16px}.access-paused p{margin:6px 0 12px;font-size:16px;line-height:1.5}.access-page .credential-box{overflow-wrap:anywhere;margin:14px 0;padding:18px}.access-page .credential-box .field{margin:14px 0 8px}.access-page .credential-box h3{outline-offset:4px}.admin-page{max-width:1240px;padding:24px clamp(16px,4vw,48px) 60px}.admin-header h1{overflow-wrap:anywhere;margin:4px 0;font-size:30px}.admin-header .button-row{flex-wrap:wrap;justify-content:end}.admin-page button,.admin-page input{min-height:44px;font-size:16px}.admin-tabs{flex-wrap:wrap;gap:8px;margin:20px 0 16px;display:flex}.admin-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:48px;padding:10px 16px;font-size:17px}.admin-tabs button[aria-current=page]{color:#fff;background:var(--green);border-color:var(--green)}.admin-reauth{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-reauth p{margin:6px 0 0;font-size:16px}.admin-reauth form{gap:8px;min-width:300px;max-width:480px;display:flex}.admin-reauth input{flex:1;min-width:0}.admin-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:start;gap:20px;display:grid}.admin-page .panel{min-width:0}.admin-create{align-items:end;gap:10px;margin:16px 0;display:flex}.admin-create .field{flex:1;min-width:0}.admin-user-list{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.admin-user-select{text-align:left;border:1px solid var(--line);background:#fcfdfb;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%;min-height:88px;padding:14px;display:grid}.admin-user-select strong{overflow-wrap:anywhere;font-size:18px}.admin-user-select span{color:#486052;overflow-wrap:anywhere;font-size:16px}.admin-user-select small{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;font-size:16px}.admin-user-select[aria-pressed=true]{border:2px solid var(--green);background:#edf4ef}.admin-progress,.admin-invitation{scroll-margin-top:16px}.admin-progress:focus,.admin-invitation:focus{outline:3px solid var(--focus);outline-offset:4px}.admin-back-list{display:none}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.admin-metrics>div{background:#edf3ee;border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:16px 10px;display:flex}.admin-metrics strong{color:var(--green);font-size:25px}.admin-metrics span{overflow-wrap:anywhere;font-size:16px}.admin-stats{gap:14px;margin:20px 0;display:grid}.admin-stats>div{border-bottom:1px solid #e5e9e1;justify-content:space-between;align-items:baseline;gap:15px;padding-bottom:12px;display:flex}.admin-stats dt,.admin-stats dd{font-size:16px}.admin-stats dd{text-align:right;margin:0}.admin-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:20px;display:flex}.admin-profile{max-width:760px}.admin-profile form{gap:16px;max-width:500px;display:grid}.admin-profile hr{border:0;border-top:1px solid var(--line);margin:32px 0}.admin-check{align-items:center;gap:12px;font-size:16px;display:flex}.admin-check input{flex:none;width:22px;height:22px;min-height:0}.admin-audit{gap:12px;padding:0;list-style:none;display:grid}.admin-audit li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:14px 0;display:grid}.admin-audit span{overflow-wrap:anywhere;grid-column:1/-1;font-size:16px}.admin-audit time{font-size:16px}.admin-vault{max-width:720px}.admin-vault .credential-box{gap:16px;display:grid}.admin-page .secret-code{overflow-wrap:anywhere;word-break:break-word}.admin-page input{max-width:100%}.admin-page button:focus-visible,.access-page button:focus-visible,.access-page a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.admin-page .modal{scroll-margin-top:0}@media (width<=760px){.access-page{padding:12px 16px max(16px, env(safe-area-inset-bottom))}.access-layout{flex-direction:column;align-items:stretch;gap:10px;padding:12px 0;display:flex}.access-intro h1{margin:0;font-size:27px;line-height:1.25}.access-description,.access-kana{display:none}.access-brand{font-size:17px}.access-brand>span{width:38px;height:40px;font-size:28px}.language-choice button{min-width:48px;padding:8px}.access-page .account-panel{padding:16px}.access-page .account-form{gap:10px;margin-top:12px}.access-page .account-panel .section-title{flex-wrap:wrap;margin-bottom:12px}.access-page .account-panel h2{font-size:22px}.admin-page{padding:16px 16px max(32px, env(safe-area-inset-bottom))}.admin-header{flex-wrap:wrap;align-items:start;gap:8px}.admin-header .button-row{justify-content:start;gap:6px;margin:0}.admin-header .button-row button{min-height:44px;padding:8px;font-size:16px}.admin-header h1{font-size:26px}.admin-reauth{padding:16px;display:block}.admin-reauth form{min-width:0;margin-top:12px}.admin-grid{grid-template-columns:minmax(0,1fr)}.admin-grid:not(.is-detail) .admin-progress,.admin-grid.is-detail .admin-users{display:none}.admin-back-list{margin-bottom:12px;display:inline-flex}.admin-tabs{gap:6px}.admin-tabs button{flex:90px;padding:9px 8px;font-size:16px;line-height:1.35}.admin-create{flex-direction:column;align-items:stretch}.admin-metrics{gap:6px}.admin-metrics>div{padding:14px 8px}.admin-metrics strong{font-size:23px}.admin-stats>div{display:block}.admin-stats dd{text-align:left;margin-top:6px}.admin-audit li{grid-template-columns:minmax(0,1fr)}.admin-audit span{grid-column:auto}.admin-page .per-kana-row{grid-template-columns:48px minmax(0,1fr)}.admin-page .per-kana-row>div:last-child{grid-column:2}}:root{font-synthesis:none;color:#192823;--text:#192823;--green:#245c48;--green-dark:#194936;--muted:#58635d;--line:#dadfd7;--paper:#fff;--soft:#edf2ec;--danger:#984733;--focus:#aa7028;--radius:16px;background:#f6f5f1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:18px;font-weight:400;line-height:1.65}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent;scroll-margin-top:100px}button{color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;min-height:48px;line-height:1.45}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a{color:var(--green);text-underline-offset:5px}p{margin:0 0 18px}h1,h2,h3{color:var(--text);margin:0;font-weight:650;line-height:1.4}h1{letter-spacing:-.7px;font-size:36px}h2{letter-spacing:-.35px;font-size:26px}h3{font-size:21px}strong{font-weight:650}small,.small{font-size:16px}ul{padding-left:25px}input[type=checkbox]{accent-color:var(--green);flex-shrink:0;width:21px;height:21px;margin:0}select,input:not([type=checkbox]):not([type=file]){width:100%;min-width:0;min-height:56px;color:var(--text);background:#fff;border:1px solid #b9c3ba;border-radius:10px;max-width:100%;padding:12px 14px}[lang=ja],.table-glyph,.learning-glyph,.answer-glyph,.glyph-choice,.confusion-glyphs,.word-glyph{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,Noto Sans CJK JP,sans-serif}::selection{background:#d6e4da}.icon{vertical-align:middle;flex-shrink:0;display:inline-block}.kana-reference{vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}.kana-reference>svg{width:100%;max-width:100%;height:100%;display:block}.kana-reference.learning-glyph{justify-content:center;align-items:center;display:flex}.kana-reference.learning-glyph>svg{width:160px;height:180px}.kana-reference.answer-glyph{flex-shrink:0;width:86px;height:96px}.comparison-item>.kana-reference{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;display:flex}.comparison-item>.kana-reference>svg{width:88%;height:88%}.kana-preview .kana-reference{width:100%;height:100%}.kana-preview .kana-reference>svg{max-width:80px;max-height:92px}.app-shell{width:min(100%,1328px);margin:0 auto;padding:0 40px}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:30px;min-height:92px;display:flex}.brand{text-align:left;white-space:nowrap;align-items:center;gap:13px;padding:0;font-size:25px;font-weight:650;display:flex}.brand-mark{width:42px;height:46px;color:var(--text);flex-shrink:0;place-items:center;display:grid}.brand-mark svg{width:40px;height:40px;display:block}.brand small{display:none}.desktop-nav{align-self:stretch;gap:30px;margin-left:25px;display:flex}.desktop-nav button{white-space:nowrap;color:var(--muted);padding:0 5px;font-size:18px;position:relative}.desktop-nav button.active{color:var(--green);font-weight:650}.desktop-nav button.active:after{content:"";background:var(--green);height:3px;position:absolute;bottom:0;left:0;right:0}.connection-badge{white-space:nowrap;color:var(--muted);align-items:center;gap:9px;margin-left:auto;font-size:16px;display:inline-flex}.connection-badge>span{background:var(--green);border-radius:50%;width:7px;height:7px;display:inline-block}.connection-badge.is-offline>span{background:#946528}.mobile-nav{display:none}main{outline:none;min-height:calc(100svh - 220px);padding:32px 0 0}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;margin-top:34px;padding:26px 0 30px;font-size:16px;display:flex}.focus-mode .site-header,.focus-mode .site-footer{display:none}.focus-mode main{min-height:100svh;padding-top:12px;padding-bottom:28px}.learning-region{border:0;min-width:0;margin:0;padding:0;display:contents}.learning-region:disabled button{cursor:not-allowed}.eyebrow{color:var(--muted);margin-bottom:10px;font-size:16px;font-weight:500;display:block}.muted{color:var(--muted)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.primary,.secondary,.danger-button{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:12px;min-height:56px;padding:13px 23px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark)}.secondary{background:#fff;border-color:#bdc7be}.secondary:hover:not(:disabled){background:var(--soft);border-color:#9bab9e}.danger-button{color:var(--danger);background:#fff8f5;border-color:#d6b9ad}.text-button{min-height:48px;color:var(--green);text-underline-offset:5px;align-items:center;gap:8px;padding:8px 0;font-size:17px;font-weight:600;text-decoration:underline;display:inline-flex}.full-width{width:100%}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button-stack{flex-direction:column;gap:12px;display:flex}.home-heading{flex-wrap:wrap;align-items:baseline;gap:20px;margin-bottom:24px;display:flex}.home-heading h1{font-size:36px}.home-heading time,.home-heading .home-date{color:var(--muted);font-size:21px}.home-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch;gap:20px;display:grid}.home-layout>*{min-width:0}.today-task{flex-direction:column;display:flex}.today-task h2{margin-bottom:10px;font-size:30px}.today-task>p{color:var(--muted)}.today-task .start-button{width:100%;min-height:64px;margin-top:6px;font-size:22px}.today-task .starting-alternative{align-self:center;margin:10px 0 12px}.study-route{text-align:center;grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0 28px;padding:0;list-style:none;display:grid}.study-route li{min-width:0;color:var(--muted);flex-direction:column;align-items:center;gap:5px;font-size:16px;display:flex;position:relative}.study-route li:before{content:"";background:#c6cec4;height:1px;position:absolute;top:21px;left:0;right:0}.study-route li:first-child:before{left:50%}.study-route li:last-child:before{right:50%}.study-route .route-number,.study-route li>b,.study-route li>strong:first-child{z-index:1;background:#fff;border:1px solid #b6c0b6;border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;font-weight:500;display:grid;position:relative}.study-route li[aria-current=step],.study-route .current,.study-route .active{color:var(--green);font-weight:600}.study-route li[aria-current=step] .route-number,.study-route .current .route-number,.study-route .active .route-number{background:var(--green);color:#fff;border-color:var(--green)}.study-route small{max-width:110px;font-size:16px;font-weight:400;line-height:1.4;display:block}.home-stats{border-top:1px solid var(--line);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:auto;padding-top:22px;display:grid}.home-stats article,.home-stats>div{border-right:1px solid var(--line);padding:0 12px}.home-stats article:last-child,.home-stats>div:last-child{border-right:0}.home-stats article>span,.home-stats>div>span{color:var(--muted);font-size:16px}.home-stats strong{font-variant-numeric:tabular-nums;font-size:38px;line-height:1.5;display:block}.home-stats strong small{margin-left:5px;font-size:16px;font-weight:400}.home-stats p{color:var(--muted);margin:4px 0 0;font-size:16px}.home-reference h2{margin-bottom:20px;font-size:24px}.kana-preview{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:25px;display:grid}.kana-preview>span,.kana-preview>button{border:1px solid var(--line);background:#fafaf8;border-radius:10px;justify-content:center;align-items:center;min-width:0;min-height:98px;font-size:clamp(42px,4.3vw,66px);line-height:1.4;display:flex}.upcoming-word{border-top:1px solid var(--line);padding-top:22px}.upcoming-word h3{margin-bottom:15px}.upcoming-word .word-glyph{text-align:center;border:1px solid var(--line);letter-spacing:.1em;background:#f8f8f5;border-radius:12px;margin-bottom:12px;padding:5px 10px;font-size:82px;line-height:1.5;display:block}.upcoming-word p{color:var(--muted);margin-bottom:0;font-size:17px}.home-secondary{min-width:0}.quick-actions{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:1fr;padding:0 24px;display:grid}.quick-actions button{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:22px 0;display:flex}.quick-actions button:last-child{border-bottom:0}.quick-actions strong{font-size:22px;display:block}.quick-actions small{color:var(--muted);margin-top:3px;font-size:16px;display:block}.quick-actions button>span:last-child,.quick-actions button>.icon:last-child{margin-left:auto}.quick-icon{width:40px;height:40px;color:var(--green);flex-shrink:0;place-items:center;display:grid}.recent-card h2{margin-bottom:17px;font-size:24px}.recent-card>p{color:var(--muted);background:#f7f7f4;border-radius:10px;margin:16px 0 0;padding:13px 15px;font-size:16px}.recent-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin-top:15px;display:grid}.recent-days>div,.recent-days>article{border-right:1px solid var(--line);color:var(--muted);flex-direction:column;gap:4px;font-size:16px;display:flex}.recent-days>:last-child{border-right:0}.recent-days strong{color:var(--text);font-size:20px}.home-bottom{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.home-bottom h2{margin-bottom:12px}.home-bottom p{color:var(--muted)}.quiet-card{background:#f1f3ec}.hero{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:24px;padding:32px;display:flex}.hero-copy{flex:1;min-width:0}.hero h1{margin-bottom:12px}.hero p{color:var(--muted);margin-bottom:22px}.hero-art{display:none}.hero-subline,.sync-status{color:var(--muted);margin-top:10px;font-size:16px}.start-button{min-width:245px}.starting-alternative{margin-left:20px}.onboarding{margin:22px 0}.onboarding h2{margin-bottom:12px}.onboarding p{color:var(--muted)}.onboarding-actions{flex-wrap:wrap;gap:12px;display:flex}.starting-picker{margin-top:18px}.starting-picker>.field{max-width:340px;margin-bottom:18px}.character-picker{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.character-picker button{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:62px;padding:3px;font-size:38px}.character-picker .selected{border-color:var(--green);background:var(--soft);box-shadow:inset 0 0 0 1px var(--green)}.page-heading{padding:3px 0 26px}.page-heading h1{margin-bottom:9px}.page-heading p{color:var(--muted);margin:0}.table-controls{justify-content:space-between;align-items:center;gap:20px;max-width:880px;margin:0 auto 20px;display:flex}.segmented{border:1px solid var(--line);background:#eeefe9;border-radius:12px;padding:4px;display:flex}.segmented button{min-height:48px;color:var(--muted);border-radius:8px;padding:10px 21px;font-size:17px}.segmented .current,.segmented .selected{color:var(--green);background:#fff;font-weight:650;box-shadow:0 1px 3px #1928230a}.switch-label{cursor:pointer;align-items:center;gap:10px;min-height:48px;font-size:16px;display:inline-flex}.kana-chart{max-width:880px;margin:0 auto;padding:24px}.chart-header,.chart-row{grid-template-columns:42px repeat(5,minmax(0,1fr));gap:9px;display:grid}.chart-header{text-align:center;color:var(--muted);padding-bottom:12px;font-size:16px}.chart-row{padding-bottom:9px}.chart-row-label{color:var(--muted);justify-content:center;align-items:center;font-size:16px;display:flex}.kana-cell{border:1px solid var(--line);background:#fcfcfa;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:94px;padding:10px 3px;display:flex;position:relative}.kana-cell:hover{background:#f0f4ee;border-color:#7f9c89}.table-glyph{font-size:46px;font-weight:400;line-height:1.4}.table-glyph.counterpart{color:var(--green)}.table-romaji{color:var(--muted);margin-top:3px;font-size:16px;line-height:1.45}.empty-cell{color:#88968b;cursor:default;background:#f5f6f1;border-style:dashed}.cell-dot,.legend-dot{background:var(--green);border-radius:50%;width:6px;height:6px;display:inline-block}.cell-dot{position:absolute;top:8px;right:8px}.legend-dot{vertical-align:middle;margin-right:7px}.chart-note{max-width:880px;color:var(--muted);margin:16px auto 25px;font-size:16px}.n-row{border-top:1px solid var(--line);margin-top:5px;padding-top:14px}.n-row p{color:var(--muted);grid-column:3/7;align-items:center;margin:0 0 0 12px;font-size:16px;display:flex}.reference-stack{flex-direction:column;gap:18px;display:flex}.reference-panel{width:100%;max-width:880px;margin:0 auto}.reference-panel summary,.rules-panel summary,.per-kana-panel summary,.practice-setup summary,.more-summary summary,.account-details>summary{cursor:pointer;min-height:48px;font-size:19px;font-weight:600;line-height:1.7}.reference-panel summary span{color:var(--muted);margin-left:12px;font-size:16px;font-weight:400}.reference-panel[open] summary,.rules-panel[open] summary,.per-kana-panel[open] summary,.practice-setup[open] summary,.more-summary[open] summary,.account-details[open]>summary{margin-bottom:20px}.confusion-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.confusion-card{border-top:1px solid var(--line);padding:18px 0}.confusion-glyphs{justify-content:space-evenly;align-items:center;gap:16px;margin-bottom:12px;font-size:62px;line-height:1.5;display:flex}.confusion-card p{color:var(--muted);margin:0;font-size:18px}.reference-list{margin:0}.reference-list>div{border-top:1px solid var(--line);margin-bottom:22px;padding-top:18px}.reference-list dt{margin-bottom:8px;font-size:20px;font-weight:650}.reference-list dd{color:var(--muted);margin:0;line-height:1.85}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 26px;display:grid}.mode-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:8px;min-height:150px;padding:20px;display:flex}.mode-card>span{color:var(--green);font-size:28px}.mode-card strong{font-size:18px}.mode-card small{color:var(--muted);font-size:16px}.mode-card.selected{background:var(--soft);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.field{flex-direction:column;gap:9px;min-width:0;font-size:17px;font-weight:550;display:flex}.field-caption{margin:23px 0 12px;font-size:17px;font-weight:600}.row-picker{flex-wrap:wrap;gap:9px;display:flex}.row-check{border:1px solid var(--line);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:10px 14px;font-size:17px;display:inline-flex}.row-check.checked{background:var(--soft);color:var(--green);border-color:#789383}.row-check input{width:19px;height:19px}.setup-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;margin-top:26px;padding-top:24px;display:flex}.setup-footer p{color:var(--muted);max-width:520px;margin:0;font-size:16px}.setup-footer .primary{flex-shrink:0}.practice-setup{margin-bottom:20px}.recommended-practice{justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}.recommended-practice p{color:var(--muted);margin:10px 0 0;font-size:17px}.recommended-practice .primary{flex-shrink:0}.study-container{max-width:680px;margin:0 auto}.study-top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:10px;display:grid}.study-top .eyebrow{color:var(--text);margin:0;font-size:20px;font-weight:600}.study-top .text-button{text-decoration:none}.study-pause{background:#fff;border:1px solid #bdc7be;border-radius:10px;justify-content:center;align-items:center;gap:4px;min-height:48px;padding:8px 12px;font-size:18px;display:inline-flex}.study-title{text-align:center;justify-self:center;font-size:22px;line-height:1.4}.study-counter{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:20px}.study-container:has(.writing-card) .study-meta{display:none}.study-progress{background:#dce3d9;border-radius:3px;height:4px;margin-bottom:12px;overflow:hidden}.study-progress>span{background:var(--green);height:100%;display:block}.study-meta{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;font-size:16px;display:flex}.study-meta>:last-child{font-variant-numeric:tabular-nums}.study-card{text-align:center;padding:28px 32px}.question-label{color:var(--muted);margin-bottom:15px;font-size:18px}.learning-glyph{min-height:194px;font-size:152px;font-weight:400;line-height:1.3}.pill{color:var(--green);background:var(--soft);border-radius:20px;padding:5px 13px;font-size:16px;display:inline-block}.answer-reading{letter-spacing:1px;font-size:38px;font-weight:550;line-height:1.5}.counterpart-line{color:var(--muted);margin:13px 0;font-size:17px}.counterpart-line [lang=ja]{color:var(--green);vertical-align:middle;margin-left:8px;font-size:38px}.hint-box{background:var(--soft);text-align:left;color:var(--muted);border-radius:10px;margin:18px 0;padding:15px 17px;font-size:17px;line-height:1.8}.hint-box p:last-child{margin-bottom:0}.sound-button{min-height:48px;color:var(--text);background:#fff;border:1px solid #bdc7be;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin:8px auto 18px;padding:10px 17px;font-size:17px;display:inline-flex}.study-card>.small{margin:10px 0 0}.study-container>.full-width{margin-top:18px}.speech-status{color:var(--muted);text-align:center;margin:18px 0 24px;font-size:16px;line-height:1.7}.listening-toolbar{grid-template-columns:1fr 72px;gap:8px;max-width:420px;margin:18px auto 0;display:grid}.listening-speed{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.listening-toolbar button{min-height:44px;margin:0;padding:8px 12px;font-size:16px}.listening-speed button[aria-pressed=true]{background:var(--soft);border-color:var(--green);color:var(--green);box-shadow:inset 0 0 0 1px var(--green);font-weight:600}.writing-toolbar>.sound-button{flex-direction:column;gap:1px}.audio-speed-hint{white-space:nowrap;font-size:16px;line-height:1.2}.romaji-prompt{letter-spacing:2px;margin-bottom:20px;font-size:68px;font-weight:500;line-height:1.4}.choices{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.choice{background:#fff;border:1px solid #bdc7be;border-radius:12px;justify-content:center;align-items:center;min-width:0;min-height:88px;padding:18px;font-size:30px;display:flex;position:relative}.choice:hover:not(:disabled){background:var(--soft);border-color:var(--green)}.choice.glyph-choice{font-size:48px}.choice-index{color:var(--muted);font-size:16px;position:absolute;top:8px;left:12px}.choice-result{font-family:inherit;font-size:16px;position:absolute;bottom:6px;right:10px}.choice.correct-choice{opacity:1;color:#245c48;background:#edf5ed;border:2px solid #3e7657}.choice.wrong-choice{opacity:1;color:#8e4232;background:#fff1eb;border:2px solid #b46a52}.reveal-button{width:100%;margin-top:22px}.revealed-answer{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.result-heading{margin:0 0 16px;font-size:19px;font-weight:650}.good{color:var(--green)}.needs-work{color:var(--danger)}.answer-pair{justify-content:center;align-items:center;gap:30px;display:flex}.answer-divider{background:var(--line);width:1px;height:48px}.answer-other{flex-direction:column;gap:4px;display:flex}.answer-other [lang=ja]{color:var(--green);font-size:40px;line-height:1.4}.answer-other small{color:var(--muted);font-size:16px}.answer-glyph{font-size:76px;line-height:1.4}.answer-small-reading{color:var(--muted);margin:14px 0;font-size:18px}.self-note{color:var(--muted);margin:8px 0 17px;font-size:16px;line-height:1.75}.self-grade{grid-template-columns:1fr 1fr;gap:14px;display:grid}.study-adjust{border-top:1px solid var(--line);margin-top:24px;padding:16px 0}.study-adjust summary{cursor:pointer;min-height:48px;color:var(--muted);font-size:16px}.study-adjust .text-button{margin-top:5px}.writing-card{background:0 0;border:0;border-radius:0;padding:8px 0 0}.writing-card .question-label{color:var(--text);margin:15px 0 8px;font-size:21px}.writing-card .romaji-prompt{margin:0 0 14px;font-size:54px;line-height:1.35}.writing-steps{gap:24px;margin:0 0 13px;padding:0;list-style:none;display:flex}.writing-steps li{min-width:0;color:var(--muted);border-bottom:2px solid var(--line);flex:1;padding:9px 0;font-size:18px;line-height:1.5}.writing-steps li[aria-current=step]{color:var(--green);border-color:var(--green);font-weight:650}.writing-steps span{margin-top:4px;font-size:16px;font-weight:400;display:block}.writing-toolbar{justify-content:space-between;align-items:center;gap:12px;max-width:420px;margin:0 auto 12px;display:flex}.writing-toolbar .small{font-size:16px}.writing-toolbar .sound-button{margin:0}.writing-toolbar>.muted{text-align:left;flex:1;min-width:0}.writing-toolbar>.sound-button{flex:0 0 48px;width:48px;height:52px;min-height:52px;padding:4px}.stroke-guide{text-align:center;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.stroke-guide>button{flex:0 0 44px;min-width:44px;min-height:44px;margin:0;padding:4px}.stroke-guide>.secondary{font-size:29px;line-height:1}.stroke-guide-status{flex:1;min-width:80px;line-height:1.45}.stroke-guide-status strong,.stroke-guide-status small{white-space:nowrap;font-size:16px;display:block}.stroke-guide-status small{color:var(--muted);font-weight:400}.stroke-guide-full{font-size:16px}.optional-stroke-guide{max-width:420px;margin:0 auto 10px}.copybook-label{text-align:left;flex:1;min-width:0;line-height:1.5}.copybook-label strong{font-size:17px;font-weight:500;display:block}.copybook-label small{color:var(--muted);font-size:16px;display:block}.stroke-reference{max-width:420px;color:var(--muted);text-align:left;margin:10px auto 0;font-size:16px}.stroke-reference>summary{cursor:pointer;min-height:44px;padding:10px 0}.stroke-reference p{margin:8px 0;font-size:16px;line-height:1.7}.stroke-reference>svg{border:1px solid var(--line);background:#fff;border-radius:10px;width:180px;max-width:100%;margin:12px auto;display:block}.writing-canvas{aspect-ratio:1;touch-action:none;background:#fff;border:1px solid #b8c1b8;border-radius:14px;width:100%;height:auto;margin:0 auto;display:block;max-width:420px!important}.canvas-actions{gap:14px;max-width:420px;margin:14px auto 0;display:flex}.canvas-actions button{flex:1;min-height:56px;padding:12px 10px;font-size:18px}.writing-card .reveal-button{max-width:420px;margin:16px auto 0;display:flex}.writing-note{text-align:center;max-width:530px;color:var(--muted);margin:15px auto 0;font-size:16px;line-height:1.7}.writing-note summary{cursor:pointer;min-height:48px;padding:10px 0}.writing-note[open] p{text-align:left;margin-top:12px}.writing-card .revealed-answer{border-top:0;margin-top:20px;padding-top:0}.writing-comparison{text-align:center;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0;display:grid}.comparison-item{min-width:0}.comparison-item h3,.comparison-item>p:first-child{color:var(--muted);margin-bottom:10px;font-size:17px;font-weight:500}.comparison-item>svg,.comparison-item>canvas,.comparison-item .writing-canvas{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;margin:0;display:block;max-width:100%!important}.comparison-item .model-glyph{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:12px;place-items:center;width:100%;font-size:clamp(80px,15vw,180px);line-height:1;display:grid}.writing-result-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;margin-top:18px;padding:22px}.writing-result-card h3{margin-bottom:10px;font-size:21px}.writing-result-card p{color:var(--muted);font-size:17px}.writing-result-card p:last-child{margin-bottom:0}.shape-feedback{text-align:left;background:#f1f5ee;border:1px solid #b9c8bc;border-radius:12px;margin:14px 0 18px;padding:17px 18px}.shape-feedback strong{margin-bottom:5px;font-size:20px;display:block}.shape-feedback p{color:var(--muted);margin:5px 0 0;font-size:17px}.shape-feedback.match,.shape-feedback[data-status=match]{background:#edf4ec;border-color:#7d9a84}.shape-feedback.different,.shape-feedback[data-status=different]{background:#fff4ed;border-color:#d0ad9d}.shape-feedback.uncertain,.shape-feedback[data-status=uncertain]{background:#faf7ea;border-color:#ccc4a9}.shape-feedback .shape-candidates{color:var(--text);font-size:26px}.word-lesson{text-align:center;max-width:680px;margin:0 auto}.word-lesson h1,.word-lesson h2{margin-bottom:12px}.word-lesson .question-label{margin-bottom:16px}.word-glyph{letter-spacing:.1em;margin:14px 0;font-size:112px;line-height:1.4}.word-art{width:100%;color:var(--green);justify-content:center;align-items:center;margin:15px auto;display:flex}.word-art svg{max-width:170px;height:120px}.word-segments{flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0;display:flex}.word-segments>span,.word-segments>button{background:#f2f4ed;border-radius:9px;flex-direction:column;align-items:center;min-width:70px;padding:8px 14px;display:flex}.word-segments [lang=ja],.word-segments>span>strong{font-size:40px;line-height:1.5}.word-segments small{color:var(--muted);font-size:17px}.word-meaning{color:var(--text);margin:10px 0 18px;font-size:24px}.word-stage-actions{flex-direction:column;gap:12px;margin-top:24px;display:flex}.word-stage-actions .text-button{justify-content:center}.words-panel{margin-top:22px}.word-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px;display:grid}.word-grid article{flex-direction:column;align-items:center;min-width:0;display:flex}.word-grid strong{letter-spacing:3px;font-size:38px}.word-grid article>span,.word-grid details{color:var(--muted);font-size:16px}.word-grid summary{cursor:pointer;min-height:48px;padding:9px 0}.summary-container{text-align:center;max-width:620px;margin:12px auto}.summary-icon{width:60px;height:60px;color:var(--green);background:var(--soft);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:30px;display:grid}.summary-container>p{color:var(--muted);margin-top:13px}.summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0;padding:23px 10px;display:grid}.summary-stats>div{border-right:1px solid var(--line);flex-direction:column;gap:7px;display:flex}.summary-stats>div:last-child{border:0}.summary-stats strong{font-size:40px}.summary-stats span{color:var(--muted);font-size:16px}.summary-mistakes{text-align:left;margin-bottom:22px}.summary-mistakes h2{margin-bottom:17px;font-size:23px}.wrong-chips{flex-wrap:wrap;gap:12px;display:flex}.wrong-chips button{border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:center;min-width:70px;padding:7px 14px;display:flex}.wrong-chips [lang=ja]{font-size:40px}.wrong-chips small{color:var(--muted);font-size:16px}.summary-actions{flex-direction:column;gap:12px;display:flex}.summary-actions .text-button{justify-content:center}.more-summary{text-align:left;margin-top:22px;padding:20px 24px}.progress-grid{grid-template-columns:1fr 1fr;gap:20px;margin:22px 0;display:grid}.progress-card-heading{align-items:center;gap:13px;margin-bottom:22px;display:flex}.progress-card-heading h2{font-size:24px}.progress-card-heading>span:last-child{color:var(--muted);margin-left:auto;font-size:16px}.progress-kind{background:var(--soft);width:50px;height:50px;color:var(--green);border-radius:10px;place-items:center;font-size:34px;display:grid}.progress-line{justify-content:space-between;align-items:center;gap:15px;margin:13px 0;font-size:18px;display:flex}.progress-line strong{font-variant-numeric:tabular-nums;font-size:24px}.progress-line small{color:var(--muted);font-size:16px;font-weight:400}.meter{background:#e8ede4;border-radius:4px;height:6px;margin-bottom:21px;overflow:hidden}.meter span{background:#648a70;border-radius:4px;height:100%;display:block}.progress-card>.small{margin:19px 0 0}.activity-panel{margin-bottom:22px}.section-title{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.activity-chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:24px;height:210px;margin-bottom:22px;padding:20px 10px 0;display:grid}.activity-day{color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:16px;display:flex}.activity-day>strong{color:var(--text);font-size:18px;font-weight:550}.bar-track{border-bottom:1px solid var(--line);align-items:flex-end;width:100%;max-width:46px;height:115px;display:flex;position:relative}.bar-track>span{background:#93af96;border-radius:5px 5px 0 0;width:100%;display:block}.attempt-types{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:12px 25px;padding-top:19px;font-size:16px;display:flex}.attempt-types strong{color:var(--green);margin-left:5px;font-size:19px}.activity-panel>.small{margin:15px 0 0}.rules-panel,.per-kana-panel,.settings-panel,.backup-panel,.offline-panel{margin-bottom:22px}.rules-panel ul{color:var(--muted);margin-bottom:0;font-size:17px;line-height:1.9}.rules-panel li{margin-bottom:12px}.settings-panel h2,.backup-panel h2,.offline-panel h2{margin-bottom:20px;font-size:25px}.settings-panel>.small{margin:20px 0 0}.backup-panel>p,.offline-panel>p{color:var(--muted);line-height:1.85}.danger-zone{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:26px;padding-top:23px;display:flex}.danger-zone strong{color:var(--danger);font-size:18px}.danger-zone p{margin:6px 0 0}.danger-zone .danger-button{flex-shrink:0}.per-kana-list{max-height:560px;overflow-y:auto}.per-kana-row{border-bottom:1px solid var(--line);grid-template-columns:60px 1fr 1fr;align-items:center;gap:18px;padding:15px 0;display:grid}.per-kana-row:last-child{border:0}.per-kana-row>button{border:1px solid var(--line);border-radius:9px;min-height:60px;font-size:38px}.per-kana-row>div{flex-direction:column;gap:4px;font-size:16px;display:flex}.per-kana-row strong{font-size:17px}.per-kana-row span{color:var(--muted);font-size:16px}.account-panel{margin-bottom:22px}.account-panel h2{font-size:24px}.account-panel .section-title{margin-bottom:15px}.account-panel p{font-size:17px}.account-panel .sync-status{margin-top:0;font-size:16px}.account-panel .button-row{margin:18px 0}.account-details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:22px;padding:20px 26px}.account-details>summary{font-size:18px}.account-details .account-panel{border:0;border-radius:0;margin-bottom:0;padding:0}.account-status-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin-bottom:18px;font-size:17px;display:flex}.account-status-bar strong{color:var(--text)}.account-form{gap:17px;max-width:650px;margin-top:22px;display:grid}.account-form>.primary{justify-self:start;min-width:210px}.account-panel .field{margin-bottom:0}.code-input{align-items:center;gap:12px;display:flex}.code-input .text-button{flex-shrink:0;justify-content:center;min-width:48px}.credential-box{background:#f1f5ec;border:1px solid #b7c6b8;border-radius:12px;margin:22px 0;padding:22px}.credential-box h3{margin-bottom:13px}.credential-box .field{margin:20px 0 12px}.credential-box>.primary{margin-top:12px}.secret-code,.account-panel code,.account-panel pre{letter-spacing:.6px;overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid var(--line);-webkit-user-select:all;user-select:all;background:#fff;border-radius:9px;padding:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:17px;font-weight:400;display:block}.account-warning{color:#752;background:#faf3df;border-radius:10px;padding:15px}.account-actions{flex-wrap:wrap;gap:12px;display:flex}.empty-state{text-align:center;color:var(--muted);border:1px dashed #aebeac;border-radius:14px;margin:24px 0;padding:34px 22px}.empty-state h3{margin:13px 0 16px}.empty-state p:last-child{margin-bottom:0}.empty-symbol{font-size:38px}.modal-backdrop{z-index:50;background:#19282380;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;max-width:560px;max-height:calc(100dvh - 48px);padding:34px;position:relative;overflow:auto;box-shadow:0 22px 70px #19282324}.modal h2{margin-bottom:20px;font-size:27px}.modal p{color:var(--muted);font-size:17px;line-height:1.85}.close-button{width:48px;height:48px;color:var(--muted);font-size:30px;position:absolute;top:10px;right:10px}.kana-detail{text-align:center;max-width:480px}.kana-detail .eyebrow{padding-right:24px}.kana-detail .learning-glyph{min-height:182px}.kana-detail .hint-box{text-align:left}.modal .button-stack{margin-top:24px}.modal .button-stack .text-button{justify-content:center}.storage-alert{color:#6d511d;background:#fff7e5;border:1px solid #d7c599;border-radius:12px;margin-bottom:24px;padding:20px 22px;font-size:17px}.storage-alert strong{font-size:19px}.storage-alert p{margin:8px 0}.storage-alert .button-row{margin-top:15px}.notice{color:var(--green);background:#edf3e9;border:1px solid #bdcfb5;border-radius:11px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:13px 18px;font-size:17px;display:flex}.notice button{flex-shrink:0;min-width:48px;min-height:48px;font-size:28px}.error-text{color:var(--danger)!important}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border:2px solid var(--focus);color:var(--green);background:#fff;padding:12px 18px;position:fixed;top:-120px;left:20px}.skip-link:focus{top:15px}.fatal{max-width:660px;margin:50px auto;padding:30px}@media (width<=1100px){.app-shell{padding:0 28px}.site-header{gap:20px}.brand{font-size:23px}.desktop-nav{gap:20px;margin-left:5px}.connection-badge{font-size:16px}.home-layout{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.today-task h2{font-size:27px}.panel{padding:24px}}@media (width<=820px){.home-layout{grid-template-columns:1fr}.home-reference{order:3}.home-secondary{order:2}.home-layout>.recent-card{order:4}.home-reference .kana-preview>span,.home-reference .kana-preview>button{font-size:64px}.home-secondary .quick-actions{grid-template-columns:1fr 1fr;gap:22px;display:grid}.home-secondary .quick-actions button{border-bottom:0}.home-secondary .quick-actions button:first-child{border-right:1px solid var(--line);padding-right:18px}.desktop-nav{gap:13px}.desktop-nav button{font-size:17px}.connection-badge{display:none}.form-grid{grid-template-columns:1fr}.progress-grid{gap:16px}.progress-card{padding:20px}.progress-card-heading h2{font-size:22px}}@media (width<=700px){.app-shell{padding:0 16px}.site-header{gap:10px;min-height:76px}.brand{gap:9px;font-size:22px}.brand-mark{width:34px;height:40px}.brand-mark svg{width:34px;height:34px}.desktop-nav{display:none}.connection-badge{gap:6px;font-size:16px;display:inline-flex}.mobile-nav{z-index:30;border-top:1px solid var(--line);padding:8px 6px max(8px, env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-height:61px;color:var(--muted);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 2px;font-size:16px;display:flex}.mobile-nav button>span{font-size:24px;line-height:1}.mobile-nav button .icon{width:23px;height:23px}.mobile-nav .active{color:var(--green);background:var(--soft);font-weight:600}main{padding-top:24px}.site-footer{padding:22px 0 calc(108px + env(safe-area-inset-bottom));flex-direction:column;gap:7px;margin-top:26px}.panel{border-radius:14px;padding:22px}h1{letter-spacing:-.5px;font-size:30px}h2{font-size:24px}.home-heading{gap:10px 16px;margin-bottom:20px}.home-heading h1{font-size:30px}.home-heading time,.home-heading .home-date{font-size:18px}.home-layout{gap:16px}.today-task h2{font-size:25px;line-height:1.5}.today-task>p{font-size:18px}.today-task .start-button{min-height:60px;font-size:21px}.today-task .starting-alternative{margin:8px 0 15px}.study-route{margin:15px -8px 22px}.study-route li{font-size:16px}.study-route .route-number{width:38px;height:38px}.study-route li:before{top:19px}.study-route small{max-width:70px;font-size:16px}.home-stats{padding-top:18px}.home-stats article,.home-stats>div{padding:0 7px}.home-stats strong{font-size:34px}.home-stats p{font-size:16px}.home-secondary .quick-actions{grid-template-columns:1fr;gap:0;padding:0 22px}.home-secondary .quick-actions button:first-child{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.quick-actions strong{font-size:21px}.quick-actions small{font-size:16px}.quick-actions .quick-icon{display:none}.quick-actions button{padding:19px 0}.home-reference h2,.recent-card h2{margin-bottom:17px;font-size:24px}.home-reference .kana-preview>span,.home-reference .kana-preview>button{min-height:78px;font-size:48px}.kana-preview{gap:5px}.upcoming-word .word-glyph{font-size:72px}.recent-days{margin-inline:-9px}.recent-days>div,.recent-days>article{font-size:16px}.recent-card>p{padding:13px}.home-bottom{grid-template-columns:1fr;gap:16px}.hero{padding:24px}.hero h1{font-size:30px}.hero .start-button{width:100%;min-width:0}.starting-alternative{justify-content:center;margin:10px 0 0;display:flex}.onboarding-actions{flex-direction:column;align-items:stretch}.character-picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.character-picker button{min-height:58px;font-size:36px}.page-heading{padding:0 0 23px}.page-heading h1{font-size:30px}.page-heading .eyebrow{margin-bottom:8px}.table-controls{flex-direction:column;align-items:stretch;gap:11px;margin-bottom:16px}.segmented{width:100%}.segmented button{flex:1;padding:9px 10px;font-size:17px}.kana-chart{padding:14px 7px}.chart-header,.chart-row{grid-template-columns:23px repeat(5,minmax(0,1fr));gap:4px}.chart-header{padding-bottom:9px;font-size:16px}.chart-row{padding-bottom:5px}.chart-row-label{writing-mode:vertical-rl;letter-spacing:1px;font-size:16px}.kana-cell{border-radius:8px;min-height:74px;padding:8px 0}.table-glyph{font-size:38px;line-height:1.35}.table-glyph.counterpart{font-size:38px}.table-romaji{margin-top:4px;font-size:16px;line-height:1.4}.cell-dot{width:5px;height:5px;top:5px;right:5px}.n-row p{margin-left:8px;font-size:16px;line-height:1.5}.chart-note{font-size:16px;line-height:1.8}.reference-panel{padding:20px}.reference-panel summary span{margin:6px 0 0 18px;font-size:16px;display:block}.confusion-grid{grid-template-columns:1fr;gap:10px}.confusion-glyphs{font-size:64px}.reference-list dt{font-size:20px}.reference-list dd{font-size:18px}.mode-grid{grid-template-columns:1fr 1fr;gap:11px;margin:18px 0 24px}.mode-card{min-height:148px;padding:16px 13px}.mode-card strong{font-size:18px}.mode-card small{font-size:16px}.form-grid{gap:17px}.setup-footer{flex-direction:column;align-items:stretch;gap:18px}.recommended-practice{flex-direction:column;align-items:stretch;gap:19px}.recommended-practice h2{font-size:24px}.study-top{gap:10px}.study-top .eyebrow{font-size:19px}.study-top .text-button{font-size:17px}.study-meta{gap:8px;margin-bottom:15px;font-size:16px}.study-card{padding:24px 20px}.learning-glyph{min-height:168px;font-size:128px;line-height:1.3}.kana-reference.learning-glyph>svg{width:136px;height:154px}.question-label{margin-bottom:14px;font-size:18px}.romaji-prompt{font-size:56px}.choices{gap:12px}.choice{min-height:86px;padding:20px 10px;font-size:28px}.choice.glyph-choice{font-size:44px}.choice-index{top:6px;left:10px}.choice-result{font-size:16px;bottom:4px}.answer-reading{font-size:36px}.answer-glyph{font-size:68px}.answer-other [lang=ja]{font-size:38px}.answer-pair{gap:23px}.hint-box{padding:14px;font-size:17px}.self-grade{gap:12px}.self-grade button{padding-inline:12px}.speech-status{margin:17px 0 22px;font-size:16px}.writing-card{background:0 0;border:0;padding:0}.writing-card .question-label{margin:14px 0 8px;font-size:20px}.writing-card .romaji-prompt{margin:0 0 12px;font-size:46px}.writing-steps{gap:17px;margin-bottom:14px}.writing-steps li{padding:8px 0;font-size:18px}.writing-steps span{font-size:16px}.writing-toolbar{gap:10px;margin-bottom:12px}.writing-toolbar .switch-label{font-size:16px}.writing-canvas{border-radius:12px;max-width:100%!important}.canvas-actions{gap:12px;max-width:100%;margin-top:14px}.canvas-actions button{min-height:56px;font-size:18px}.writing-card .reveal-button{max-width:100%;margin-top:16px}.writing-note{margin-top:14px;font-size:16px}.writing-comparison{gap:12px}.comparison-item h3{font-size:16px}.writing-result-card{padding:18px}.word-glyph{letter-spacing:.06em;font-size:80px}.word-art svg{max-width:155px;height:105px}.word-segments{gap:8px}.word-segments>span,.word-segments>button{min-width:62px;padding-inline:12px}.word-meaning{font-size:23px}.summary-container{margin-top:4px}.summary-container h1{font-size:30px}.summary-stats{padding:21px 5px}.summary-stats strong{font-size:36px}.summary-mistakes h2{font-size:22px}.wrong-chips{gap:10px}.wrong-chips button{min-width:64px;padding:7px 10px}.progress-grid{grid-template-columns:1fr;gap:17px}.progress-card{padding:23px}.progress-card-heading h2{font-size:24px}.progress-card-heading>span:last-child{font-size:16px}.progress-line{font-size:18px}.section-title{flex-wrap:wrap;align-items:flex-start;gap:8px}.section-title h2{font-size:24px}.section-title .small{font-size:16px}.activity-chart{gap:10px;height:200px;padding:19px 0 0}.activity-day{gap:8px;font-size:16px}.attempt-types{grid-template-columns:1fr 1fr;gap:12px 14px;font-size:16px;display:grid}.rules-panel,.per-kana-panel,.settings-panel,.backup-panel,.offline-panel{margin-bottom:18px}.rules-panel ul{padding-left:20px;font-size:17px}.per-kana-row{grid-template-columns:52px 1fr;gap:6px 13px;padding:15px 0}.per-kana-row>button{grid-row:1/3;min-height:58px;font-size:36px}.per-kana-row strong{font-size:17px}.per-kana-row span{font-size:16px}.backup-panel .button-row{flex-direction:column;align-items:stretch}.danger-zone{flex-direction:column;align-items:stretch;gap:18px}.word-grid{grid-template-columns:1fr 1fr;gap:24px 15px}.account-details{padding:18px 20px}.account-panel h2{font-size:24px}.account-form>.primary{width:100%}.credential-box{padding:18px}.secret-code{letter-spacing:.3px;font-size:17px}.account-actions{flex-direction:column;align-items:stretch}.modal-backdrop{padding:16px}.modal{border-radius:15px;max-height:calc(100dvh - 32px);padding:30px 23px}.modal h2{font-size:25px}.kana-detail .learning-glyph{min-height:168px;font-size:128px}.storage-alert{padding:18px;font-size:17px}.storage-alert strong{font-size:19px}.notice{gap:8px;padding:13px 15px;font-size:17px}.app-shell.focus-mode{padding:0 22px}.focus-mode .site-header,.focus-mode .mobile-nav,.focus-mode .site-footer{display:none}.focus-mode main{padding-top:max(12px, env(safe-area-inset-top));min-height:100svh;padding-bottom:max(22px, env(safe-area-inset-bottom))}.focus-mode .study-container{max-width:500px}.focus-mode .study-top{min-height:48px;margin-bottom:8px}.focus-mode .study-top .text-button{min-height:48px}.focus-mode .study-pause{padding:8px 10px;font-size:18px}.focus-mode .study-title{font-size:21px}.focus-mode .study-counter{font-size:20px}.focus-mode .study-meta{margin-bottom:12px}.focus-mode .study-card:not(.writing-card){padding:24px 20px}}@media (width<=360px){.app-shell{padding:0 12px}.brand{font-size:20px}.brand-mark{width:30px}.connection-badge{font-size:16px}.connection-badge>span{display:none}.panel{padding:19px}.home-reference .kana-preview>span,.home-reference .kana-preview>button{font-size:42px}.table-glyph,.table-glyph.counterpart{font-size:36px}.chart-header,.chart-row{grid-template-columns:21px repeat(5,minmax(0,1fr));gap:3px}.segmented button{padding-inline:7px}.app-shell.focus-mode{padding-inline:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.intensive-entry{background:#f0f4ee;border-color:#bdcfc0;gap:16px;margin-block:18px;display:grid}.intensive-entry h2{margin:4px 0 8px}.intensive-entry p{margin:0;font-size:17px;line-height:1.6}.intensive-entry-actions{flex-wrap:wrap;gap:12px;display:flex}.intensive-entry-actions>button{flex:180px;min-height:48px}.intensive-entry details{font-size:16px}.intensive-entry summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.intensive-entry details p{margin-top:10px;font-size:16px}.intensive-status{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;font-size:16px;line-height:1.45;display:flex}.intensive-status strong{color:var(--green);font-weight:600}.intensive-status span{white-space:nowrap}.study-container:has(.intensive-status) .writing-steps{display:none}.intensive-summary .summary-stats strong small{font-size:20px;font-weight:400}.intensive-results{text-align:left;margin-top:24px}.intensive-results>p{font-size:16px}.intensive-result-row{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding-block:14px;display:grid}.intensive-result-row:last-child{border-bottom:0}.intensive-result-row>.kana-reference{width:44px;height:48px}.intensive-result-row>div{gap:4px;font-size:16px;display:grid}.intensive-result-row>strong{max-width:110px;font-size:16px}@media (width<=700px){.intensive-entry-actions{gap:10px}.intensive-entry-actions>button{flex-basis:130px;padding-inline:10px;font-size:17px}.intensive-summary .summary-stats{gap:8px;padding-inline:10px}.intensive-summary .summary-stats strong{font-size:30px}.intensive-summary .summary-stats strong small{font-size:18px}.intensive-result-row{grid-template-columns:42px 1fr;gap:10px}.intensive-result-row>strong{max-width:none;color:var(--green);grid-column:2}}.focus-mode .study-container{--study-actions-height:90px;padding-bottom:calc(var(--study-actions-height) + 18px);scroll-padding-bottom:calc(var(--study-actions-height) + 18px)}.focus-mode .study-top{z-index:5;background:#f6f5f1;padding-block:6px;position:sticky;top:0}.study-actions{z-index:10;width:min(680px,100% - 44px);padding:12px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f6f5f1;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 6px #19282308}.study-actions:before{content:"";z-index:-1;background:#f6f5f1;position:absolute;inset:0 calc(50% - 50vw)}.study-actions>.primary,.study-actions .reveal-button,.study-actions .next-button{width:100%;margin:0}.study-actions .canvas-actions{gap:10px;max-width:none;margin:0 0 10px}.study-actions .canvas-actions button{min-height:44px;padding:8px 10px;font-size:16px}.study-actions .self-grade{gap:12px;margin:0}.study-actions .choices{gap:10px;margin:0}.study-actions .choice{min-height:68px;padding:12px 24px}.study-actions .choice-index{top:4px}.objective-card:has(.revealed-answer) .learning-glyph{min-height:112px}.objective-card:has(.revealed-answer) .learning-glyph>svg{width:96px;height:108px}.objective-card .revealed-answer{margin-top:16px;padding-top:16px}.objective-card:has(.revealed-answer) .choices{gap:10px;margin-top:16px}.objective-card:has(.revealed-answer) .choice{min-height:64px;padding-block:12px}.study-actions .word-stage-actions{gap:4px;margin:0}.study-actions .word-stage-actions>.text-button{min-height:44px;padding-block:8px;font-size:16px}.writing-heading{justify-content:space-between;align-items:center;gap:16px;max-width:420px;margin:0 auto 10px;display:flex}.writing-card .writing-heading .question-label{text-align:left;margin:0;font-size:18px}.writing-card .writing-heading .romaji-prompt{flex:none;margin:0;font-size:46px;line-height:1.2}.focus-mode .writing-card{padding-top:0}.focus-mode .writing-steps{margin-bottom:10px}.focus-mode .writing-steps li{padding-block:6px}.focus-mode .writing-toolbar{margin-bottom:10px}.focus-mode .writing-card>.writing-canvas{max-width:min(420px, max(180px, calc(100svh - var(--study-canvas-top,270px) - var(--study-actions-height) - 16px)))!important;max-width:min(420px, max(180px, calc(100dvh - var(--study-canvas-top,270px) - var(--study-actions-height) - 16px)))!important}.focus-mode .writing-comparison{max-width:530px;margin-inline:auto}.focus-mode .writing-note{margin-top:10px}@media (width<=700px){.study-actions{width:min(500px,100% - 44px)}.focus-mode main{padding-bottom:0}.focus-mode .study-top{margin-bottom:6px}.focus-mode .study-card:not(.writing-card){padding:20px 18px}.focus-mode .writing-steps{gap:12px}.focus-mode .writing-steps li{padding-block:5px;font-size:17px}.focus-mode .writing-heading{gap:12px;margin-bottom:8px}.focus-mode .writing-heading .question-label{font-size:17px}.focus-mode .writing-heading .romaji-prompt{font-size:42px}.focus-mode .writing-card>.writing-canvas{max-width:min(100%, max(180px, calc(100svh - var(--study-canvas-top,270px) - var(--study-actions-height) - 16px)))!important;max-width:min(100%, max(180px, calc(100dvh - var(--study-canvas-top,270px) - var(--study-actions-height) - 16px)))!important}.study-actions .choice{min-height:66px;font-size:28px}.study-actions .choice.glyph-choice{font-size:40px}}@media (width<=360px){.study-actions{width:calc(100% - 32px)}}.audio-settings,.pronunciation-practice{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;margin:14px 0;padding:14px 16px;font-size:16px}.audio-settings summary,.pronunciation-practice summary,.audio-credits summary{cursor:pointer;min-height:44px;font-size:17px;font-weight:550}.audio-settings[open] summary,.pronunciation-practice[open] summary{margin-bottom:12px}.audio-settings p,.pronunciation-practice p{color:var(--muted);margin-top:12px;font-size:16px}.audio-credits{margin-top:20px}.audio-credits li{overflow-wrap:anywhere;margin-bottom:16px}.audio-credits li p{font-size:16px}.pronunciation-practice .button-row{gap:10px}.pronunciation-practice audio{width:100%;margin-block:14px;display:block}.pronunciation-practice label{align-items:flex-start;gap:10px;padding-block:10px;font-size:16px;display:flex}.pronunciation-practice input[type=checkbox]{margin-top:4px}.pronunciation-practice [role=status]{overflow-wrap:anywhere}.voice-practice-actions{flex-wrap:wrap;gap:10px;margin-block:12px;display:flex}.voice-recognition-options{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.voice-consent{min-height:44px}.voice-transcript{border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:12px 14px}.language-toggle{border:1px solid var(--line);min-width:62px;min-height:44px;color:var(--green);border-radius:10px;flex-shrink:0;margin-left:auto;padding:8px 10px;font-size:16px}.language-toggle+.connection-badge{margin-left:0}html[lang=en] .site-header{gap:18px}html[lang=en] .desktop-nav{gap:20px;margin-left:0}html[lang=en] .brand{font-size:22px}html[lang=en] .mobile-nav button{font-size:16px;line-height:1.15}html[lang=en] .primary,html[lang=en] .secondary{overflow-wrap:anywhere}html[lang=en] .study-title{font-size:19px;line-height:1.2}html[lang=en] .writing-toolbar .switch-label{text-align:left}@media (width<=820px){html[lang=en] .site-header{flex-wrap:wrap;gap:10px}html[lang=en] .connection-badge{display:none}}@media (width<=700px){html[lang=en] .brand{gap:7px;font-size:20px}.site-header .language-toggle{margin-left:auto}html[lang=en] .study-top{gap:8px}html[lang=en] .study-title{flex:1;min-width:0;font-size:18px}html[lang=en] .study-counter{flex-shrink:0;font-size:18px}html[lang=en] .study-pause{padding-inline:5px;font-size:16px}html[lang=en] .study-actions>.primary{padding-inline:10px}html[lang=en] .home-stats article{padding-inline:5px}html[lang=en] .home-stats strong small{margin-left:0;display:block}html[lang=en] .writing-card .writing-heading .question-label{font-size:17px;line-height:1.45}html[lang=en] .writing-steps{justify-content:space-between;gap:8px}html[lang=en] .writing-steps li{font-size:16px}html[lang=en] .copybook-label{min-width:0}html[lang=en] .copybook-label strong{font-size:16px}}.writing-card.is-revealed .writing-heading{margin-bottom:8px}.writing-card.is-revealed .writing-comparison{gap:12px;max-width:420px;margin:8px auto 12px}.writing-card.is-revealed .comparison-item h3{margin-bottom:6px;font-size:18px;line-height:1.3}.writing-card.is-revealed .shape-feedback{margin:8px 0 10px;padding:10px 12px}.writing-card.is-revealed .shape-feedback>strong{margin:0;font-size:18px;line-height:1.35}.writing-card.is-revealed .shape-feedback .shape-candidates{align-items:center;gap:10px;margin:5px 0 0;font-size:16px;line-height:1.35;display:flex}.writing-card.is-revealed .shape-candidates>.kana-reference{flex:0 0 42px;width:42px;height:46px}.writing-card.is-revealed .shape-feedback details{margin-top:2px;font-size:16px}.writing-card.is-revealed .shape-feedback summary{cursor:pointer;align-items:center;min-height:44px;font-size:16px;line-height:1.35;display:flex}.writing-card.is-revealed .shape-feedback summary:before{content:"▸";margin-right:7px}.writing-card.is-revealed .shape-feedback details[open] summary:before{content:"▾"}.writing-card.is-revealed .shape-feedback details p{margin-top:8px;font-size:16px;line-height:1.5}@media (width<=700px){.writing-card.is-revealed .comparison-item h3{font-size:18px}.writing-card.is-revealed .writing-comparison{max-width:min(100%,340px)}.writing-card.is-revealed .romaji-prompt{font-size:38px}.writing-card.is-revealed .writing-steps{margin-bottom:6px}}@media (width<=700px) and (height<=620px){.writing-card.is-revealed .writing-comparison{max-width:min(100%,280px);margin-block:6px 8px}.writing-card.is-revealed .writing-heading{margin-bottom:4px}.writing-card.is-revealed .comparison-item h3{margin-bottom:4px;font-size:18px}.writing-card.is-revealed .shape-feedback{margin-top:6px;padding-block:8px}.writing-card.is-revealed .shape-candidates>.kana-reference{flex-basis:38px;width:38px;height:42px}}.compact-home,.compact-practice,.practice-options,.compact-table{width:100%;min-width:0;margin-inline:auto}.compact-home,.compact-practice,.practice-options{max-width:700px}.compact-table{max-width:880px}.compact-home .home-heading,.compact-practice .page-heading,.compact-table .page-heading,.progress-heading{margin-bottom:16px;padding:0}.compact-home .home-heading h1,.compact-practice .page-heading h1,.compact-table .page-heading h1,.progress-heading h1{margin:0;font-size:30px}.compact-home .home-heading time{font-size:16px}.home-task-card{padding:26px}.home-task-card h2{margin-bottom:6px;font-size:25px}.home-task-card>p:not(.sync-status){color:var(--muted);margin:0 0 16px;font-size:17px;line-height:1.5}.compact-home-metrics{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;padding-block:14px;display:grid}.compact-home-metrics>div{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.compact-home-metrics>div+div{border-left:1px solid var(--line)}.compact-home-metrics span{color:var(--muted);font-size:16px;line-height:1.4}.compact-home-metrics strong{font-variant-numeric:tabular-nums;font-size:32px;line-height:1.25}.home-task-card>.primary{min-height:52px}.home-intensive-actions,.home-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.home-intensive-actions{margin-top:12px}.home-intensive-actions button{min-height:48px;padding:9px 10px;font-size:17px}.home-quick-links{margin-top:4px}.home-quick-links .text-button{justify-content:center;min-height:44px;padding:6px;font-size:16px}.home-task-card>.sync-status{text-align:center;margin:4px 0 8px;font-size:16px;line-height:1.4}.compact-home-more{border-top:1px solid var(--line)}.compact-home-more summary,.compact-reference>summary{min-height:44px;color:var(--green);cursor:pointer;padding-block:10px;font-size:16px;line-height:1.4}.compact-home-more p,.compact-reference>p{margin-block:12px;font-size:16px;line-height:1.6}.compact-home-more[open]{padding-bottom:4px}.compact-home-more .secondary{font-size:16px}.compact-practice .recommended-practice{gap:16px;margin-bottom:14px;padding:20px}.compact-practice .recommended-practice h2{font-size:23px}.compact-practice .recommended-practice p{margin:5px 0 0;font-size:16px;line-height:1.45}.compact-practice .recommended-practice .primary{min-height:48px;padding:10px 16px;font-size:17px}.compact-practice .intensive-entry{gap:12px;margin:0 0 14px;padding:20px}.compact-practice .intensive-entry h2{margin:0 0 6px;font-size:24px}.compact-practice .intensive-entry p{font-size:16px;line-height:1.5}.compact-practice .intensive-entry .eyebrow{display:none}.compact-practice .intensive-entry-actions{gap:10px}.compact-practice .intensive-entry-actions>button{flex:130px;min-height:48px;padding:9px 10px;font-size:17px}.compact-practice>.secondary{min-height:48px;padding:10px;font-size:17px}.practice-options>.text-button{min-height:44px;margin-bottom:10px}.practice-options .practice-setup{padding:22px}.progress-tabs{border:1px solid var(--line);background:#eeefe9;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-width:880px;margin:0 auto 16px;padding:4px;display:grid}.progress-tabs button{min-height:44px;color:var(--muted);border-radius:8px;padding:8px 6px;font-size:17px;line-height:1.3}.progress-tabs .current{background:var(--paper);color:var(--green);font-weight:650;box-shadow:0 1px 3px #1928230a}.progress-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:880px;margin:0 auto;display:grid}.progress-summary-card{min-width:0;padding:22px}.progress-summary-card h2{margin-bottom:14px;font-size:24px}.compact-stat{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:36px;margin-top:6px;font-size:17px;line-height:1.4;display:grid}.compact-stat span{min-width:0;color:var(--muted)}.compact-stat strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:25px;line-height:1.2}.progress-overview-actions{max-width:880px;margin:16px auto 0}.progress-overview-actions .primary{min-height:48px}.progress-overview-actions .sync-status{margin:10px 0 6px;font-size:16px;line-height:1.4}.progress-overview-actions>p{margin-bottom:0;font-size:16px}.compact-table .table-controls{gap:12px;margin-bottom:12px}.compact-table .kana-chart{padding:18px}.compact-table .chart-row{padding-bottom:6px}.compact-table .chart-row:last-child{padding-bottom:0}.compact-table .kana-cell{min-height:68px;padding-block:4px}.compact-table .table-glyph{font-size:40px;line-height:1.2}.compact-table .table-romaji{margin-top:2px;font-size:16px;line-height:1.2}.chart-pagination{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;max-width:880px;margin:12px auto 0;display:grid}.chart-pagination button{min-height:44px;padding:9px 12px;font-size:17px}.chart-pagination>span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}.compact-reference{max-width:880px;margin:8px auto 0}.compact-reference[open]>summary{margin-bottom:8px}.intensive-summary{margin:4px auto 20px}.intensive-summary>.eyebrow{margin-bottom:6px;font-size:16px;line-height:1.4}.intensive-summary h1{font-size:30px}.intensive-summary>p{margin:8px 0 14px;font-size:16px;line-height:1.5}.intensive-summary .summary-actions{gap:6px;margin:12px 0}.intensive-summary .summary-actions>.primary{min-height:48px;padding:10px 16px}.intensive-summary .summary-actions>.text-button{min-height:44px;padding-block:6px}.intensive-summary .summary-stats{margin:14px 0;padding:16px 8px}.intensive-summary .summary-stats>div{gap:4px;min-width:0;padding-inline:5px}.intensive-summary .summary-stats strong{font-size:32px;line-height:1.3}.intensive-summary .summary-stats strong small{font-size:18px}.intensive-summary .summary-stats span{font-size:16px;line-height:1.4}.intensive-summary>details.panel{text-align:left;margin-top:12px;padding:12px 16px}.intensive-summary>details.panel>summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:16px;line-height:1.4}.intensive-summary>details.panel p{margin-top:10px;font-size:16px;line-height:1.6}.intensive-summary .intensive-results{margin-top:12px}@media (width<=700px){.app-shell:has(.compact-home,.compact-practice,.compact-table,.practice-options,.progress-tabs) .site-header{min-height:64px}.app-shell:has(.compact-home,.compact-practice,.compact-table,.practice-options,.progress-tabs) main{padding-top:16px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.app-shell:has(.compact-home,.compact-practice,.compact-table,.practice-options,.progress-tabs) .mobile-nav{padding-block:6px max(6px, env(safe-area-inset-bottom))}.app-shell:has(.compact-home,.compact-practice,.compact-table,.practice-options,.progress-tabs) .mobile-nav button{gap:2px;min-height:52px;padding-block:4px}.app-shell:has(.compact-home,.compact-practice,.compact-table,.practice-options,.progress-tabs) .mobile-nav .icon{width:21px;height:21px}.compact-home .home-heading,.compact-practice .page-heading,.compact-table .page-heading,.progress-heading{margin-bottom:12px}.compact-home .home-heading h1,.compact-practice .page-heading h1,.compact-table .page-heading h1,.progress-heading h1{font-size:27px}.compact-home .home-heading{gap:8px 12px}.home-task-card{padding:18px}.home-task-card h2{font-size:23px}.home-task-card>p:not(.sync-status){margin-bottom:12px;font-size:16px;line-height:1.4}.compact-home-metrics{gap:4px;margin-bottom:12px;padding-block:10px}.compact-home-metrics strong{font-size:28px}.home-task-card>.primary{min-height:48px;padding:10px 12px;font-size:18px}.home-intensive-actions{gap:8px;margin-top:10px}.home-intensive-actions button{min-height:44px;padding:8px 6px;font-size:16px}.home-quick-links{gap:6px;margin-top:2px}.home-task-card>.sync-status{margin:2px 0 6px}.compact-practice .recommended-practice{flex-direction:row;align-items:center;gap:10px;margin-bottom:12px;padding:16px}.compact-practice .recommended-practice>div{flex:1;min-width:0}.compact-practice .recommended-practice h2{font-size:22px;line-height:1.3}.compact-practice .recommended-practice .primary{max-width:142px;min-height:44px;padding:8px 10px;font-size:16px}.compact-practice .intensive-entry{gap:8px;margin-bottom:12px;padding:16px}.compact-practice .intensive-entry h2{margin-bottom:4px;font-size:23px}.compact-practice .intensive-entry p{line-height:1.4}.compact-practice .intensive-entry-actions>button{min-height:44px;padding:8px 6px;font-size:16px}.compact-practice .intensive-entry details{border-top:1px solid #d4dfd0}.compact-practice .intensive-entry summary{line-height:1.4}.compact-practice>.secondary{min-height:44px;padding:8px 10px;font-size:16px}.progress-tabs{gap:2px;margin-bottom:12px;padding:3px}.progress-tabs button{font-size:16px}.progress-overview{gap:10px}.progress-summary-card{padding:14px 12px}.progress-summary-card h2{margin-bottom:10px;font-size:22px}.compact-stat{gap:6px;min-height:32px;margin-top:7px;font-size:16px;line-height:1.35}.compact-stat strong{font-size:23px}.progress-overview-actions{margin-top:12px}.progress-overview-actions .primary{min-height:44px;padding-block:9px;font-size:17px}.compact-table .table-controls{flex-direction:row;align-items:center;gap:8px;margin-bottom:10px}.compact-table .segmented{flex:auto;min-width:0;padding:3px}.compact-table .segmented button{min-width:0;min-height:44px;padding:6px 3px;font-size:16px;line-height:1.2}.compact-table .switch-label{flex:none;gap:6px;max-width:110px;min-height:44px;font-size:16px;line-height:1.25}.compact-table .kana-chart{padding:10px 7px}.compact-table .chart-header{padding-bottom:6px;line-height:1.2}.compact-table .chart-header,.compact-table .chart-row{grid-template-columns:22px repeat(5,minmax(0,1fr));gap:4px}.compact-table .chart-row{padding-bottom:4px}.compact-table .chart-row-label{letter-spacing:0;font-size:16px}.compact-table .kana-cell{border-radius:8px;min-height:60px;padding:3px 0}.compact-table .table-glyph{font-size:38px;line-height:1.12}.compact-table .table-glyph.counterpart{font-size:36px}.compact-table .table-romaji{margin-top:2px;font-size:16px;line-height:1.1}.compact-table .n-row{margin-top:0;padding-top:6px}.chart-pagination{gap:12px;margin-top:10px}.chart-pagination button{min-height:44px;padding:8px 6px;font-size:16px}.compact-reference{margin-top:4px}.app-shell:has(.intensive-summary):not(.focus-mode) .site-header{min-height:64px}.app-shell:has(.intensive-summary):not(.focus-mode) main{padding-top:16px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.app-shell:has(.intensive-summary):not(.focus-mode) .mobile-nav{padding-block:6px max(6px, env(safe-area-inset-bottom))}.app-shell:has(.intensive-summary):not(.focus-mode) .mobile-nav button{gap:2px;min-height:52px;padding-block:4px}.intensive-summary h1{font-size:27px}.intensive-summary>p{margin-bottom:10px;line-height:1.4}.intensive-summary .summary-stats{margin-block:12px;padding:12px 4px}.intensive-summary .summary-stats strong{font-size:28px}.intensive-summary .summary-stats strong small{font-size:16px}.intensive-summary>details.panel{padding:8px 12px}html[lang=en] .compact-table .switch-label{max-width:88px}html[lang=en] .compact-home-metrics span{line-height:1.25}html[lang=en] .compact-stat strong{font-size:21px}}@media (width<=700px) and (height<=650px){.app-shell:has(.compact-home,.compact-practice,.compact-table,.practice-options,.progress-tabs) main{padding-top:12px}.compact-home .home-heading,.compact-practice .page-heading,.compact-table .page-heading,.progress-heading{margin-bottom:10px}.home-task-card{padding:14px}.home-task-card h2{font-size:22px}.home-task-card>p:not(.sync-status){margin-bottom:9px}.compact-home-metrics{margin-bottom:10px;padding-block:7px}.compact-home-metrics strong{font-size:26px}.home-intensive-actions{margin-top:8px}.compact-practice .recommended-practice{margin-bottom:10px;padding:14px}.compact-practice .intensive-entry{gap:6px;margin-bottom:10px;padding:14px}.compact-practice .intensive-entry h2{font-size:22px}.progress-summary-card{padding:12px 10px}.compact-stat{margin-top:5px}.compact-table .kana-chart{padding-block:8px}.app-shell:has(.intensive-summary):not(.focus-mode) main{padding-top:12px}}.practice-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.practice-heading>.secondary{max-width:60%;min-height:44px;padding:8px 12px;font-size:16px;line-height:1.3}.audio-trial-list{gap:10px;display:grid}.audio-trial-row{grid-template-columns:46px 1fr 1fr;align-items:center;gap:8px;display:grid}.audio-trial-row>strong{text-align:center;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:36px}.audio-trial-row button{min-height:44px;padding:8px;font-size:16px}.audio-trial>p{font-size:16px}.intensive-scope-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.intensive-scope-buttons button{flex-direction:column;gap:2px;min-height:52px;padding:7px 5px;font-size:16px;line-height:1.2;display:flex}.intensive-scope-buttons button strong{font-size:17px;font-weight:600}.intensive-scope-buttons button span{font-size:16px}.home-intensive-actions{display:block}.intensive-home-label{color:var(--green);margin-bottom:6px;font-size:16px;line-height:1.3;display:block}.intensive-entry .intensive-scope-buttons{margin-top:0}@media (width<=700px) and (height<=650px){.home-task-card .home-quick-links,.home-task-card .compact-home-more{margin-top:0}.home-task-card .home-location{margin-bottom:6px}.home-task-card .compact-home-metrics{margin-bottom:8px;padding-block:5px}}.app-shell.focus-mode:has(.study-layout) main{height:100dvh;min-height:0;padding-block:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}:is(.app-shell.focus-mode:has(.study-layout) main>.storage-alert,.app-shell.focus-mode:has(.study-layout) main>.notice){flex:0 auto;max-height:40dvh;margin:0;overflow:auto}.study-layout.study-container{flex:1 1 0;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;width:100%;max-width:680px;min-height:0;margin:0 auto;padding:0;display:grid}.study-layout .study-layout-header{min-width:0}.study-layout .study-top{min-height:44px;margin:0 0 8px;padding:0;position:static}.study-layout .study-title{margin:0;font-size:21px}.study-layout .study-title:focus{outline:none}.study-layout .study-progress{margin:0 0 8px}.study-layout .study-meta{margin:0}.study-layout .intensive-status{margin-bottom:8px}.study-layout .study-content{overscroll-behavior:contain;min-width:0;min-height:0;padding:0 3px 12px;scroll-padding-block:12px;position:relative;overflow:auto}.study-content:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.study-content :is(button,a,input,select,summary,[tabindex]){scroll-margin-block:12px}.study-layout .study-actions{background:var(--paper,#fff);border-top:1px solid var(--line);width:100%;max-width:none;box-shadow:none;background:#f6f5f1;margin:0;padding:10px 3px 0;position:static;inset:auto;transform:none}.study-layout .study-actions:before{content:none}.study-layout .study-actions>.primary{min-height:48px;padding-block:10px}.study-layout .study-actions .choices{gap:8px;margin-bottom:8px}.study-layout .study-actions .choice{gap:4px;min-height:56px;padding:8px 20px;font-size:24px;line-height:1.3}.study-layout .study-actions .choice.glyph-choice{font-size:36px;line-height:1.2}.study-layout .choice-result{font-size:16px;line-height:1.2;position:static}.study-layout .study-card{margin:0}.study-layout .study-card:not(.writing-card){padding:18px 20px}.study-layout .learning-glyph{min-height:126px}.study-layout .kana-reference.learning-glyph>svg{width:112px;height:126px}.study-layout .answer-reading{font-size:32px;line-height:1.35}.study-layout .revealed-answer{border-top:0;margin-top:0;padding-top:0}.study-layout .result-heading{margin-bottom:8px;font-size:17px}.study-layout .kana-reference.answer-glyph{width:64px;height:72px}.study-layout .study-card:not(.objective-card) .kana-reference.answer-glyph{width:80px;height:90px}.study-layout .objective-card .revealed-answer{margin:0;padding:0}.study-layout .word-glyph{margin:8px 0;font-size:52px;line-height:1.25}.study-layout .word-meaning{margin:8px 0;font-size:18px;line-height:1.4}.study-layout .self-note{margin:8px 0 0;font-size:16px;line-height:1.4}.study-layout .writing-card>.writing-canvas{max-width:min(100%, var(--study-canvas-size,300px))!important}.study-layout .writing-card .writing-toolbar,.study-layout .writing-steps{margin-bottom:8px}.study-layout .study-adjust{margin:12px 0 0}.study-layout .summary-container{max-width:none;margin:0}.study-layout .summary-container h1{font-size:27px}.study-layout .summary-container>h2{margin-bottom:8px;font-size:25px}.study-layout .summary-stats span{font-size:16px}.study-layout .summary-mistakes>summary,.study-layout .more-summary>summary{cursor:pointer;min-height:44px;font-size:16px}.study-layout .summary-stats{margin:12px 0;padding:14px 8px}.study-layout .summary-stats strong{font-size:30px}.study-layout .summary-icon{display:none}.study-layout .summary-actions{margin:0}.study-layout .summary-actions>.primary{min-height:48px}.study-layout .summary-actions>.text-button{min-height:44px}.study-layout .teaching-card .lesson-intro{margin:6px 0 10px;font-size:16px;line-height:1.4}.study-layout .teaching-card .answer-reading{margin:2px 0 8px}.lesson-more{text-align:left;border-top:1px solid var(--line);margin-top:8px}.lesson-more>summary{min-height:44px;color:var(--green);cursor:pointer;align-items:center;font-size:16px;display:flex}.lesson-more p{font-size:16px;line-height:1.6}.lesson-more .hint-box{margin:8px 0}.audio-controls{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) auto;gap:8px;max-width:420px;margin:0 auto;display:grid}.audio-controls button{gap:6px;min-width:44px;min-height:44px;margin:0;padding:8px 10px;font-size:16px;line-height:1.3}.audio-controls .audio-rate{white-space:nowrap;font-size:16px}.audio-slow[aria-pressed=true]{background:var(--soft);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);font-weight:650}.audio-source-type{color:var(--muted);text-align:center;margin:6px 0 0;font-size:16px;line-height:1.4}.audio-info{margin-top:10px}.audio-info .audio-status,.study-layout .audio-status{text-align:center;margin:6px 0;font-size:16px;line-height:1.4}.audio-settings{background:0 0;border:0;margin:8px 0 0;padding:0}.audio-settings summary{min-height:44px;font-size:16px}.audio-settings p{overflow-wrap:anywhere}.compact-audio-controls{grid-template-columns:auto auto auto;gap:4px;max-width:none;margin:0}.compact-audio-controls button{padding-inline:6px}.study-layout .writing-toolbar>.audio-controls{flex-shrink:0}.study-layout .writing-toolbar .switch-label{min-height:44px;font-size:16px}.modal.modal-frame{flex-direction:column;padding:0;display:flex;overflow:hidden}.modal-frame .modal-header{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;padding:12px 18px;display:flex}.modal-header h2{text-align:left;flex:1;margin:0;font-size:20px;line-height:1.4}.modal-frame .close-button{flex-shrink:0;min-width:44px;height:44px;font-size:28px;position:static}.modal-content{min-height:0;padding:20px;scroll-padding-block:12px;overflow:auto}.modal-content :is(button,a,input,select,summary){scroll-margin-block:12px}.modal-frame .learning-glyph{min-height:126px}.modal-frame .kana-reference.learning-glyph>svg{width:112px;height:126px}.modal-frame .answer-reading{font-size:32px;line-height:1.35}.modal-frame .eyebrow{margin-bottom:6px}.modal-frame .audio-info{margin-bottom:10px}.practice-options .mode-grid{gap:8px}.practice-options .mode-card{min-height:48px;padding:8px 10px}.practice-options .mode-card strong{font-size:16px}.mode-summary{color:var(--muted);margin:8px 0 12px;font-size:16px;line-height:1.5}@media (width<=700px){.study-layout.study-container{gap:6px;max-width:500px}.study-layout .study-title{font-size:18px}.study-layout .study-pause{min-height:44px;padding:6px 8px;font-size:16px}.study-layout .study-counter{font-size:18px}.study-layout .study-card:not(.writing-card){padding:12px 14px}.study-layout .study-meta{font-size:16px}.study-layout .intensive-status{gap:8px}.modal-content{padding:16px}.per-kana-list{max-height:none;overflow:visible}.study-layout:has(.intensive-summary) .study-counter{display:none}}
