:root{--bg:#f3f0e8;--surface:#fffdf8;--ink:#171512;--muted:#746e64;--line:#d9d2c4;--soft:#ebe5da;--accent:#d94b32;--accent-dark:#b63a25;--green:#2f7a59;--red:#c43d32;--radius:18px;--container:1040px;--shadow:0 18px 50px #10101012}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:min(calc(100% - 36px), var(--container));margin-inline:auto}.site-shell{min-height:100vh}.topbar{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f3f0e8eb;border-bottom:1px solid #11111112;position:sticky;top:0}.topbar__inner{width:min(calc(100% - 36px), var(--container));grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:66px;margin-inline:auto;display:grid}.brand{align-items:center;gap:10px;width:fit-content;display:inline-flex}.brand__mark{background:var(--accent);color:#fffaf0;border-radius:3px;place-items:center;width:34px;height:34px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:18px;font-weight:700;display:grid}.brand__name{letter-spacing:-.035em;font-size:16px;font-weight:830}.desktop-nav{gap:4px;display:flex}.desktop-nav a{color:var(--muted);border-radius:10px;padding:9px 13px;font-size:13px;font-weight:700;transition:background .16s,color .16s}.desktop-nav a:hover,.desktop-nav a.is-active{background:var(--surface);color:var(--ink)}.level-pill{border:1px solid var(--line);color:var(--muted);background:#ffffff8c;border-radius:999px;justify-self:end;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:inline-flex}.level-pill strong{color:var(--ink);font-size:13px}.topbar__tools{justify-self:end;align-items:center;gap:10px;display:flex}.locale-switch{color:var(--muted);letter-spacing:.08em;align-items:center;gap:5px;font-size:10px;font-weight:850;display:inline-flex}.locale-switch a{opacity:.48;transition:opacity .14s}.locale-switch a:hover,.locale-switch a.is-active{opacity:1;color:var(--ink)}.locale-switch span{opacity:.35}.kicker{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.progress-track{background:var(--soft);border-radius:999px;width:100%;height:5px;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--ink);width:0;height:100%;transition:width .3s;display:block}body[data-page=home]{color:#f2eee4;background:#12110f}body[data-page=home] .topbar{background:#12110fe6;border-bottom-color:#f2eee41f}body[data-page=home] .brand__name,body[data-page=home] .desktop-nav a.is-active,body[data-page=home] .desktop-nav a:hover,body[data-page=home] .locale-switch a.is-active,body[data-page=home] .locale-switch a:hover,body[data-page=home] .level-pill strong{color:#f2eee4}body[data-page=home] .desktop-nav a{color:#f2eee480}body[data-page=home] .desktop-nav a:hover,body[data-page=home] .desktop-nav a.is-active{background:#ffffff12}body[data-page=home] .locale-switch{color:#f2eee49e}body[data-page=home] .level-pill{color:#f2eee48c;background:#ffffff09;border-color:#f2eee42e}.home-poster{background:radial-gradient(circle at 78% 14%,#d8492f1f,#0000 24%),#12110f;min-height:calc(100vh - 66px);position:relative;overflow:hidden}.home-poster__texture{pointer-events:none;opacity:.55;background-image:repeating-linear-gradient(0deg,#0000 0 43px,#ffffff07 43px 44px),repeating-linear-gradient(90deg,#0000 0 43px,#ffffff06 43px 44px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.home-poster__ghost{z-index:0;pointer-events:none;color:#f2eee409;-webkit-user-select:none;user-select:none;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:700;line-height:.72;position:absolute}.home-poster__ghost--one{font-size:min(48vw,700px);top:4vh;left:-4vw;transform:rotate(-8deg)}.home-poster__ghost--two{color:#d8492f0e;font-size:min(44vw,650px);bottom:-14vh;right:-5vw;transform:rotate(7deg)}.home-poster__inner{z-index:1;padding-block:28px 58px;position:relative}.home-poster__topline{color:#f2eee485;letter-spacing:.14em;border-bottom:1px solid #f2eee429;justify-content:space-between;align-items:center;gap:20px;min-height:42px;font-size:10px;font-weight:850;display:flex}.home-poster__topline span:last-child{letter-spacing:.08em;font-family:Yu Gothic,Meiryo,sans-serif}.home-poster__grid{grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);align-items:center;gap:clamp(30px,6vw,84px);padding-block:clamp(44px,7vw,86px) 46px;display:grid}.home-poster__copy{position:relative}.home-poster__seal{background:var(--accent);color:#fff7ea;border:1px solid #ffffff42;place-items:center;width:46px;height:46px;margin-bottom:28px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:25px;font-weight:800;display:grid;transform:rotate(-3deg);box-shadow:inset 0 0 0 3px #ffffff14}.home-poster__copy h1{letter-spacing:-.07em;width:fit-content;margin:0;font-size:clamp(56px,7.2vw,102px);font-weight:880;line-height:.84;display:grid}.home-poster__copy h1>span{display:block}.home-poster__copy h1>span:nth-child(2){margin-left:clamp(24px,4vw,60px)}.home-poster__copy h1 em{color:#dc563e;letter-spacing:-.035em;margin-top:18px;font-family:Yu Mincho,Hiragino Mincho ProN,Georgia,serif;font-size:.48em;font-style:normal;font-weight:600}.home-poster__copy>p{color:#f2eee4a3;max-width:49ch;margin:28px 0 0;font-size:14px;line-height:1.75}.home-poster__cta{flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px;display:flex}.poster-button{letter-spacing:.01em;justify-content:center;align-items:center;gap:28px;min-height:48px;font-size:12px;font-weight:850;transition:transform .15s,background .15s,color .15s;display:inline-flex}.poster-button--primary{color:#12110f;background:#f2eee4;min-width:188px;padding:0 16px 0 18px}.poster-button--primary:hover{background:#fffaf0;transform:translate(-2px,-2px)}.poster-button--primary span{margin-left:auto;font-size:18px}.poster-button--plain{color:#f2eee4c7;border-bottom:1px solid #f2eee44d;min-height:38px}.poster-button--plain:hover{color:#fff;border-color:#fff}.kana-poster{color:#151310;background:#eee8db;border:1px solid #fff3;min-height:500px;position:relative;overflow:hidden;transform:rotate(1.1deg);box-shadow:18px 18px #d8492f3d}.kana-poster:before{content:"";pointer-events:none;z-index:3;border:1px solid #1513101c;position:absolute;inset:11px}.kana-poster__head,.kana-poster__footer{z-index:2;letter-spacing:.14em;justify-content:space-between;align-items:center;font-size:9px;font-weight:900;display:flex;position:relative}.kana-poster__head{border-bottom:1px solid #15131038;height:50px;padding:0 20px}.kana-poster__preview{background:linear-gradient(#1513100f 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#1513100d 1px,#0000 1px) 0 0/44px 44px,#f5efe3;min-height:392px;padding:18px 22px 22px;position:relative;overflow:hidden}.kana-poster__preview-top{z-index:2;color:#1513109e;letter-spacing:.13em;justify-content:space-between;align-items:center;font-size:8px;font-weight:900;display:flex;position:relative}.kana-poster__preview-ghost{color:#d94b3217;-webkit-user-select:none;user-select:none;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:220px;font-weight:800;line-height:1;position:absolute;top:30px;right:-20px;transform:rotate(8deg)}.kana-poster__focus{z-index:2;background:#fffdf8b8;border:1px solid #1513102e;place-items:center;width:170px;height:170px;margin:38px auto 30px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:118px;font-weight:700;line-height:1;display:grid;position:relative;box-shadow:8px 8px #15131014}.kana-poster__focus:after{content:"";background:var(--accent);width:18px;height:18px;position:absolute;top:-8px;right:-8px}.kana-poster__choices{z-index:2;grid-template-columns:repeat(4,1fr);gap:7px;display:grid;position:relative}.kana-poster__choices span{background:#fffdf8c2;border:1px solid #15131033;place-items:center;min-height:46px;font-size:15px;font-weight:850;display:grid}.kana-poster__choices span.is-active{color:#f5efe3;box-shadow:inset 4px 0 0 var(--accent);background:#151310;border-color:#151310}.kana-poster__footer{border-top:1px solid #15131038;min-height:58px;padding:0 20px}.kana-poster__footer span:nth-child(2){color:var(--accent-dark)}.home-mode-list{border-top:1px solid #f2eee429}.home-mode-list__item{border-bottom:1px solid #f2eee429;grid-template-columns:48px 100px minmax(0,1fr) 34px;align-items:center;gap:20px;min-height:104px;transition:background .16s,padding .16s;display:grid}.home-mode-list__item:hover{background:#ffffff06;padding-inline:10px}.home-mode-list__number{color:#f2eee461;font-size:10px;font-weight:850}.home-mode-list__jp{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:35px;font-weight:700;transition:color .16s}.home-mode-list__item:hover .home-mode-list__jp{color:#e25a40}.home-mode-list__copy{grid-template-columns:minmax(130px,.35fr) 1fr;align-items:center;gap:20px;display:grid}.home-mode-list__copy strong{letter-spacing:-.03em;font-size:18px}.home-mode-list__copy small{color:#f2eee47a;max-width:420px;font-size:11px;line-height:1.55}.home-mode-list__arrow{color:#f2eee48c;justify-self:end;font-size:19px}.trainer{flex-direction:column;min-height:calc(100vh - 66px);padding-block:24px 44px;display:flex}.trainer__toolbar{justify-content:space-between;align-items:center;gap:18px;display:flex}.trainer__modes,.script-switch,.study-view-switch{border:1px solid var(--line);background:#ffffff8c;border-radius:12px;align-items:center;gap:3px;padding:4px;display:flex}.trainer__modes button,.script-switch button,.study-view-switch button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:12px;font-weight:750;transition:background .15s,color .15s}.trainer__modes button{min-height:34px;padding:0 13px}.script-switch button,.study-view-switch button{min-height:30px;padding:0 10px}.trainer__modes button.is-active,.script-switch button.is-active,.study-view-switch button.is-active{background:var(--ink);color:#fff}.trainer__filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.compact-select select{border:1px solid var(--line);background:var(--surface);max-width:250px;min-height:40px;color:var(--ink);border-radius:12px;outline:0;padding:0 34px 0 12px;font-size:12px;font-weight:700}.trainer__meta{min-height:48px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;font-size:10px;display:grid}.trainer__meta>button{color:var(--muted);cursor:pointer;letter-spacing:normal;text-transform:none;background:0 0;border:0;font-size:10px}.trainer__session{letter-spacing:normal;text-transform:none;justify-self:end;align-items:center;gap:10px;display:flex}.trainer__score{letter-spacing:normal;text-transform:none}.trainer__score strong{color:var(--ink)}.streak-badge{border:1px solid var(--line);min-height:28px;color:var(--muted);white-space:nowrap;background:#ffffffb8;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:750;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.streak-badge strong{color:var(--ink);font-size:12px}.streak-badge__dot{background:#bbb6ac;border-radius:50%;width:6px;height:6px;transition:background .18s,box-shadow .18s}.streak-badge.is-hot .streak-badge__dot{background:var(--accent);box-shadow:0 0 0 4px #ff5b451a}.streak-badge.is-pulse{animation:.28s streak-pop}@keyframes streak-pop{0%{transform:scale(1)}45%{transform:scale(1.09)}to{transform:scale(1)}}.exercise-card{border:1px solid var(--line);background:var(--surface);border-radius:24px;flex-direction:column;flex:1;justify-content:center;align-items:stretch;min-height:540px;padding:30px clamp(24px,6vw,68px) 34px;transition:border-color .15s,background .15s,transform .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #10101009}.exercise-card.is-correct{background:#fbfffc;border-color:#2f7a5980}.exercise-card.is-wrong{background:snow;border-color:#c43d3280}.exercise-card.is-wrong .exercise-card__kana{animation:.28s nudge}@keyframes nudge{0%,to{transform:translate(0)}35%{transform:translate(-7px)}70%{transform:translate(7px)}}.exercise-card__kana{text-align:center;letter-spacing:-.04em;margin:auto 0 24px;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:clamp(150px,24vw,260px);font-weight:650;line-height:.95}.choice-grid{grid-template-columns:repeat(2,1fr);gap:10px;width:min(100%,680px);margin:0 auto auto;display:grid}.choice-grid button{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:14px;min-height:64px;font-size:20px;font-weight:800;transition:transform .12s,background .12s,border-color .12s}.choice-grid button:hover:not(:disabled){background:#fff;border-color:#b4afa6;transform:translateY(-1px)}.choice-grid button:disabled{cursor:default}.choice-grid button.is-correct{border-color:var(--green);color:var(--green);background:#eaf6ef}.choice-grid button.is-wrong{border-color:var(--red);color:var(--red);background:#faeae8}.study-view-switch{flex:none}.study-answer{border-top:1px solid var(--line);justify-content:center;align-items:baseline;gap:12px;width:min(100%,520px);margin:0 auto auto;padding:18px 22px;display:flex}.study-answer span{color:var(--muted);font-size:12px}.study-answer strong{letter-spacing:-.04em;font-size:36px}.exercise-card.is-table{justify-content:flex-start;padding-top:22px;overflow:auto}.kana-table{gap:26px;width:100%;margin:0 auto;display:grid}.kana-table__group{gap:10px;display:grid}.kana-table__heading{border-bottom:1px solid var(--line);align-items:baseline;gap:9px;padding-bottom:8px;display:flex}.kana-table__heading span{color:var(--muted);font-size:9px;font-weight:800}.kana-table__heading strong{letter-spacing:-.015em;font-size:12px}.kana-table__grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px;display:grid}.kana-table__cell{border:1px solid var(--line);background:var(--bg);text-align:center;border-radius:12px;place-content:center;gap:4px;min-height:78px;padding:9px 8px;display:grid}.kana-table__cell>span{font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:30px;font-style:normal;line-height:1}.kana-table__cell>span i{color:var(--muted);font-size:.78em;font-style:normal}.kana-table__cell strong{color:var(--muted);font-size:10px;font-weight:800}.typing-form{width:min(100%,620px);margin:0 auto auto}.typing-form>label,.test-card form>label{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:750;display:block}.typing-form__row,.test-card form>div{display:block}.typing-form input,.test-card input{width:100%;min-height:62px;color:var(--ink);letter-spacing:.01em;background:#fff;border:1.5px solid #bdb8af;border-radius:14px;outline:0;padding:0 18px;font-size:23px;font-weight:800;transition:border-color .14s,box-shadow .14s}.typing-form input:disabled,.test-card input:disabled{opacity:1;color:var(--ink);-webkit-text-fill-color:var(--ink);background:#fff}.typing-form button,.test-card form button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:14px;min-width:106px;font-weight:800}.answer-feedback{text-align:center;width:min(100%,680px);min-height:28px;margin:18px auto 0;font-size:13px;font-weight:750}.answer-feedback.is-correct{color:var(--green)}.answer-feedback.is-wrong{color:var(--red)}.next-button{cursor:pointer;background:0 0;border:0;align-self:center;margin-top:4px;padding:9px 12px;font-size:12px;font-weight:800}.keyboard-hint{text-align:center;color:var(--muted);margin:12px 0 0;font-size:10px}.test-page{min-height:calc(100vh - 66px);padding-block:56px 74px}.test-start{text-align:center;max-width:560px;margin-inline:auto}.page-symbol{background:var(--ink);color:#fff;border-radius:15px;place-items:center;width:52px;height:52px;margin:0 auto 20px;font-family:Yu Gothic,Meiryo,sans-serif;font-size:25px;display:grid}.test-start__rule{color:var(--muted);margin:16px 0 28px;font-size:12px}.big-select{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:12px 14px;display:grid}.big-select>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.big-select select{background:0 0;border:0;outline:0;width:100%;font-weight:750}.test-start__stack{gap:10px;margin-top:24px;display:grid}.test-config{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:12px 14px;display:grid}.test-config>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.test-script-switch{justify-self:stretch}.test-script-switch button{flex:1;min-height:34px}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:50px;padding:0 20px;font-size:13px;font-weight:800;display:inline-flex}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff;margin-top:12px}.primary-button:disabled{opacity:.35;cursor:not-allowed}.secondary-button{border:1px solid var(--line);background:var(--surface)}.locked-note{color:var(--red);margin:10px 0 0;font-size:11px}.test-runner{max-width:760px;margin-inline:auto}.test-runner__top{color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:12px;font-size:11px;display:grid}.test-runner__top strong{color:var(--ink);font-size:15px}.test-runner__top button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:11px}.test-runner__actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.test-card{border:1px solid var(--line);background:var(--surface);border-radius:24px;flex-direction:column;justify-content:center;min-height:590px;padding:26px clamp(24px,6vw,58px) 34px;transition:border-color .15s,background .15s;display:flex}.test-card.is-correct{background:#fbfffc;border-color:#2f7a5980}.test-card.is-wrong{background:snow;border-color:#c43d3280}.test-card.is-wrong .test-card__kana{animation:.28s nudge}.test-card__script{color:var(--muted);letter-spacing:.12em;align-self:center;font-size:10px;font-weight:800}.test-card__kana{text-align:center;margin:auto 0 28px;font-family:Yu Gothic,Meiryo,sans-serif;font-size:clamp(150px,24vw,250px);font-weight:650;line-height:.95}.test-card form{width:min(100%,610px);margin-inline:auto}.test-result{text-align:center;max-width:620px;margin:30px auto 0}.result-score{background:var(--ink);color:#fff;border-radius:50%;place-content:center;width:128px;height:128px;margin:0 auto 24px;display:grid}.result-score strong{letter-spacing:-.05em;font-size:36px}.result-score span{color:#ffffff8c;margin-top:2px;font-size:10px}.test-result>p{color:var(--muted);margin:12px auto 0;font-size:13px;line-height:1.6}.result-actions{justify-content:center;gap:8px;margin-top:22px;display:flex}.result-actions .primary-button{margin-top:0}.mistakes{border-top:1px solid var(--line);text-align:left;margin-top:42px;padding-top:22px}.mistakes h2{margin:0 0 13px;font-size:15px}.mistakes__grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;display:grid}.mistake-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:40px 1fr;align-items:center;gap:10px;min-height:65px;padding:10px 12px;display:grid}.mistake-card__kana{font-family:Yu Gothic,Meiryo,sans-serif;font-size:27px}.mistake-card small{color:var(--muted);font-size:9px;display:block}.mistake-card strong{font-size:12px}.journey{padding-block:52px 72px}.journey__head{justify-content:space-between;align-items:end;gap:24px;display:flex}.journey__score{justify-items:end;gap:2px;display:grid}.journey__score strong{letter-spacing:-.04em;font-size:24px}.journey__score span{color:var(--muted);font-size:10px}.journey__progress{margin:24px 0 18px}.level-list{border-top:1px solid var(--line)}.level-row{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:18px;min-height:86px;transition:opacity .15s;display:grid}.level-row__number{color:var(--muted);font-size:11px;font-weight:800}.level-row__main{justify-content:space-between;align-items:center;gap:20px;display:flex}.level-row__main>div{align-items:center;gap:18px;min-width:0;display:flex}.level-row h2{letter-spacing:-.025em;min-width:150px;margin:0;font-size:17px}.kana-preview{color:var(--muted);gap:8px;font-family:Yu Gothic,Meiryo,sans-serif;font-size:18px;display:flex}.status-chip{background:var(--soft);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.level-row.is-current .status-chip{background:var(--ink);color:#fff}.level-row.is-passed .status-chip{color:var(--green);background:#e8f3ec}.level-row.is-locked{opacity:.42}.level-row__actions{gap:6px;display:flex}.level-row__actions a{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800}.level-row__actions a:last-child{background:var(--ink);border-color:var(--ink);color:#fff}.level-row.is-locked .level-row__actions{pointer-events:none;opacity:0}.reset-link{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:28px;padding:0;font-size:10px;text-decoration:underline}body[data-page=practice],body[data-page=test],body[data-page=learn]{color:#f2eee4;background:radial-gradient(circle at 84% 10%,#d94b3224,#0000 22%),#12110f}body[data-page=practice] .topbar,body[data-page=test] .topbar,body[data-page=learn] .topbar{background:#12110fe8;border-bottom-color:#f2eee41f}body[data-page=practice] .brand__name,body[data-page=test] .brand__name,body[data-page=learn] .brand__name,body[data-page=practice] .desktop-nav a.is-active,body[data-page=test] .desktop-nav a.is-active,body[data-page=learn] .desktop-nav a.is-active,body[data-page=practice] .desktop-nav a:hover,body[data-page=test] .desktop-nav a:hover,body[data-page=learn] .desktop-nav a:hover,body[data-page=practice] .locale-switch a.is-active,body[data-page=test] .locale-switch a.is-active,body[data-page=learn] .locale-switch a.is-active,body[data-page=practice] .level-pill strong,body[data-page=test] .level-pill strong,body[data-page=learn] .level-pill strong{color:#f2eee4}body[data-page=practice] .desktop-nav a,body[data-page=test] .desktop-nav a,body[data-page=learn] .desktop-nav a{color:#f2eee480}body[data-page=practice] .desktop-nav a:hover,body[data-page=practice] .desktop-nav a.is-active,body[data-page=test] .desktop-nav a:hover,body[data-page=test] .desktop-nav a.is-active,body[data-page=learn] .desktop-nav a:hover,body[data-page=learn] .desktop-nav a.is-active{background:#ffffff12}body[data-page=practice] .locale-switch,body[data-page=test] .locale-switch,body[data-page=learn] .locale-switch{color:#f2eee49e}body[data-page=practice] .level-pill,body[data-page=test] .level-pill,body[data-page=learn] .level-pill{color:#f2eee48c;background:#ffffff09;border-color:#f2eee42e}body[data-page=practice] main,body[data-page=test] main,body[data-page=learn] main{isolation:isolate;background-image:repeating-linear-gradient(0deg,#0000 0 51px,#ffffff06 51px 52px),repeating-linear-gradient(90deg,#0000 0 51px,#ffffff05 51px 52px);min-height:calc(100vh - 66px);position:relative;overflow:hidden}body[data-page=practice] main:before,body[data-page=test] main:before,body[data-page=learn] main:before,body[data-page=practice] main:after,body[data-page=test] main:after,body[data-page=learn] main:after{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:800;line-height:.75;position:absolute}body[data-page=practice] main:before{content:"あ";color:#f2eee409;font-size:min(44vw,620px);top:9vh;left:-7vw;transform:rotate(-8deg)}body[data-page=practice] main:after{content:"カ";color:#d94b3211;font-size:min(39vw,560px);bottom:-7vh;right:-5vw;transform:rotate(8deg)}body[data-page=test] main:before{content:"さ";color:#f2eee409;font-size:min(42vw,600px);top:11vh;left:-8vw;transform:rotate(-5deg)}body[data-page=test] main:after{content:"テ";color:#d94b3211;font-size:min(38vw,540px);bottom:-7vh;right:-5vw;transform:rotate(6deg)}body[data-page=learn] main:before{content:"ひ";color:#f2eee409;font-size:min(40vw,580px);top:8vh;left:-6vw;transform:rotate(-7deg)}body[data-page=learn] main:after{content:"ナ";color:#d94b3210;font-size:min(38vw,540px);bottom:-7vh;right:-4vw;transform:rotate(5deg)}body[data-page=practice] .trainer,body[data-page=test] .test-page,body[data-page=learn] .journey{z-index:1;position:relative}body[data-page=practice] .trainer__meta,body[data-page=practice] .trainer__meta>button,body[data-page=practice] .keyboard-hint{color:#f2eee494}body[data-page=practice] .trainer__score strong{color:#f2eee4}.trainer__modes,.script-switch,.study-view-switch{box-shadow:none;background:#f2eee414;border-color:#f2eee42e;border-radius:4px}.trainer__modes button,.script-switch button,.study-view-switch button{color:#f2eee4a3;border-radius:2px}.trainer__modes button.is-active,.script-switch button.is-active,.study-view-switch button.is-active{color:#171512;background:#f2eee4}.compact-select select{color:#171512;box-shadow:none;background:#eee8db;border-color:#f2eee42e;border-radius:4px}.streak-badge{color:#f2eee499;background:#f2eee414;border-color:#f2eee42e;border-radius:3px}.streak-badge strong{color:#f2eee4}.streak-badge.is-hot{color:#ff8a72;background:#d94b3221;border-color:#d94b3280}.exercise-card,.test-card{border:1px solid #f2eee438;border-top:5px solid var(--accent);color:#171512;background:linear-gradient(#17151206 1px,#0000 1px) 0 0/38px 38px,linear-gradient(90deg,#17151205 1px,#0000 1px) 0 0/38px 38px,#f3eddf;border-radius:5px;position:relative;box-shadow:12px 12px #d94b321c,0 24px 70px #00000029}.exercise-card:before,.test-card:before{content:"かな";color:#17151221;letter-spacing:.18em;pointer-events:none;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:12px;font-weight:900;position:absolute;top:14px;left:18px}.exercise-card:after,.test-card:after{content:"";background:var(--accent);pointer-events:none;width:11px;height:11px;position:absolute;top:14px;right:14px;box-shadow:-17px 0 #17151226}.exercise-card.is-correct,.test-card.is-correct{background-color:#f1f3e8}.exercise-card.is-wrong,.test-card.is-wrong{background-color:#f8e9e3}.choice-grid button,.kana-table__cell,.typing-form input,.test-card input{border-radius:3px}.choice-grid button,.kana-table__cell{background:#fffcf5b8;border-color:#17151233}.choice-grid button:hover:not(:disabled){background:#fffaf0}.typing-form input,.test-card input{background:#fffdf8eb;border-color:#17151257}.typing-form input:focus,.test-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d94b321a}.test-start,.test-result{color:#171512;border:1px solid #f2eee433;border-top:5px solid var(--accent);background:#f3eddf;box-shadow:12px 12px #d94b321c,0 24px 70px #00000029}.test-start{max-width:620px;padding:34px 38px 38px}.test-result{padding:36px 34px 38px}.page-symbol{background:var(--accent);color:#fff7ea;border-radius:2px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;transform:rotate(-2deg);box-shadow:inset 0 0 0 3px #ffffff14,5px 5px #17151214}.big-select,.test-config{box-shadow:none;background:#fffdf8b8;border-color:#17151233;border-radius:3px}.test-start .script-switch{background:#1715120b;border-color:#17151229}.test-start .script-switch button{color:#746e64}.test-start .script-switch button.is-active{color:#fff;background:#211f1b}.primary-button,.secondary-button{border-radius:3px}.primary-button{background:#211f1b;border-color:#211f1b}.test-runner__top{color:#f2eee499}.test-runner__top strong{color:#f2eee4}.test-runner__top button{color:#f2eee494}.test-runner__top .progress-track{background:#f2eee41f}.test-runner__top .progress-track>span{background:var(--accent)}.result-score{background:var(--accent);box-shadow:8px 8px #17151214}.mistake-card{background:#fffdf8bd;border-color:#1715122e;border-radius:3px}body[data-page=learn] .journey{color:#171512;border:1px solid #f2eee433;border-top:5px solid var(--accent);background:#f3eddf;margin-block:30px 58px;padding:38px 42px 32px;box-shadow:12px 12px #d94b321c,0 24px 70px #00000029}.journey__head{padding-left:18px;position:relative}.journey__head:before{content:"";background:var(--accent);width:4px;position:absolute;top:2px;bottom:2px;left:0}.journey__progress{background:#17151217;border-radius:0;height:7px}.journey__progress>span{background:var(--accent);border-radius:0}.level-list{border-color:#17151238}.level-row{border-color:#17151229;transition:opacity .15s,background .15s,box-shadow .15s}.level-row:not(.is-locked):hover{background:#fffdf880}.level-row.is-current{box-shadow:inset 4px 0 0 var(--accent);background:#fffdf8b8}.level-row__number{padding-left:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.kana-preview{color:#5f594f;font-family:Yu Mincho,Hiragino Mincho ProN,serif}.status-chip{border-radius:2px}.level-row.is-current .status-chip{background:var(--accent)}.level-row__actions a{background:#fffdf88c;border-radius:3px}.level-row__actions a:last-child{background:#211f1b;border-color:#211f1b}@media (width>=841px){.exercise-card.is-table{padding-inline:clamp(28px,4vw,46px)}.kana-table{width:min(100%,900px)}.kana-table__grid{grid-template-columns:repeat(auto-fit,minmax(98px,1fr));gap:9px}.kana-table__cell{min-height:88px;padding:11px 9px}.kana-table__cell>span{font-size:34px}.kana-table__cell strong{font-size:11px}}body[data-page=learn] .level-list{padding-right:0}body[data-page=learn] .level-row{padding-right:16px}body[data-page=learn] .level-row__actions{padding-right:0}.journey__footer-actions{justify-content:space-between;align-items:center;gap:18px;margin-top:28px;display:flex}.journey__footer-actions .reset-link{margin-top:0}.unlock-link{color:#171512;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:10px;font-weight:800;text-decoration:underline}.unlock-link:hover{color:var(--accent)}.site-footer{width:min(calc(100% - 36px), var(--container));color:#f2eee447;text-align:center;letter-spacing:.045em;margin-inline:auto;padding:10px 0 18px;font-size:9px;font-weight:650}.mobile-nav{display:none}.toast{z-index:100;background:var(--ink);color:#fff;max-width:320px;box-shadow:var(--shadow);border-radius:10px;padding:11px 14px;font-size:11px;font-weight:700;position:fixed;bottom:18px;right:18px}@media (width<=840px){.desktop-nav{display:none}.topbar__inner{grid-template-columns:1fr auto}.home-poster__grid{grid-template-columns:1fr;align-items:start;gap:46px}.home-poster__copy{max-width:720px}.kana-poster{width:min(100%,640px);min-height:470px;transform:rotate(.5deg)}.home-mode-list__copy{grid-template-columns:minmax(120px,.4fr) 1fr}.trainer__toolbar{flex-direction:column;align-items:stretch}.trainer__filters{justify-content:space-between}.compact-select{flex:1}.compact-select select{width:100%;max-width:none}.level-row{grid-template-columns:38px 1fr;padding-block:15px}.level-row__actions{grid-column:2}}@media (width<=620px){body{padding-bottom:64px}.container{width:min(calc(100% - 24px), var(--container))}.topbar__inner{width:min(calc(100% - 24px), var(--container));height:58px}.brand__mark{border-radius:3px;width:31px;height:31px;font-size:16px}.brand__name{font-size:14px}.level-pill span{display:none}.topbar__tools{gap:7px}.locale-switch{font-size:9px}.home-poster{min-height:calc(100vh - 122px)}.home-poster__inner{padding-block:18px 30px}.home-poster__topline{letter-spacing:.1em;min-height:34px;font-size:8px}.home-poster__topline span:first-child{max-width:56%}.home-poster__grid{gap:36px;padding-block:34px 36px}.home-poster__seal{width:38px;height:38px;margin-bottom:22px;font-size:21px}.home-poster__copy h1{font-size:clamp(48px,15vw,66px)}.home-poster__copy h1>span:nth-child(2){margin-left:18px}.home-poster__copy h1 em{margin-top:14px;font-size:.43em}.home-poster__copy>p{margin-top:22px;font-size:13px;line-height:1.65}.home-poster__cta{gap:14px;margin-top:24px}.poster-button--primary{min-width:170px}.kana-poster{min-height:390px;box-shadow:10px 10px #d8492f3d}.kana-poster__head{height:42px;padding-inline:14px;font-size:8px}.kana-poster__preview{background-size:36px 36px,36px 36px,auto;min-height:300px;padding:14px 16px 18px}.kana-poster__preview-top{font-size:7px}.kana-poster__preview-ghost{font-size:160px;top:34px;right:-8px}.kana-poster__focus{width:126px;height:126px;margin:34px auto 24px;font-size:88px;box-shadow:6px 6px #15131014}.kana-poster__choices{gap:5px}.kana-poster__choices span{min-height:40px;font-size:13px}.kana-poster__footer{min-height:48px;padding-inline:14px;font-size:7px}.home-mode-list__item{grid-template-columns:32px 58px 1fr 22px;gap:10px;min-height:92px}.home-mode-list__jp{font-size:26px}.home-mode-list__copy{grid-template-columns:1fr;gap:3px;display:grid}.home-mode-list__copy strong{font-size:15px}.home-mode-list__copy small{font-size:9px}.home-poster__ghost--one{font-size:90vw;top:12vh}.home-poster__ghost--two{font-size:80vw;bottom:8vh}body[data-page=home] .mobile-nav,body[data-page=practice] .mobile-nav,body[data-page=test] .mobile-nav,body[data-page=learn] .mobile-nav{background:#12110ff5;border-top-color:#f2eee41f}body[data-page=home] .mobile-nav a,body[data-page=practice] .mobile-nav a,body[data-page=test] .mobile-nav a,body[data-page=learn] .mobile-nav a{color:#f2eee46b}body[data-page=home] .mobile-nav a.is-active,body[data-page=practice] .mobile-nav a.is-active,body[data-page=test] .mobile-nav a.is-active,body[data-page=learn] .mobile-nav a.is-active{color:#f2eee4}.trainer{min-height:calc(100vh - 122px);padding-block:12px 20px}.trainer__modes{width:100%}.trainer__modes button{flex:1;padding-inline:8px}.trainer__filters{gap:6px}.compact-select select{min-height:38px;font-size:11px}.script-switch button,.study-view-switch button{padding-inline:8px;font-size:10px}.trainer__meta{min-height:40px}.trainer__meta>button{display:none}.trainer__meta{grid-template-columns:1fr auto}.trainer__session{grid-column:2;gap:7px}.trainer__score{display:none}.streak-badge{min-height:26px;padding-inline:8px}.exercise-card{border-radius:18px;flex:1;min-height:0;padding:22px 14px 24px}.exercise-card__kana{margin-bottom:22px;font-size:min(45vw,190px)}.choice-grid{gap:8px}.choice-grid button{min-height:58px;font-size:18px}.typing-form__row,.test-card form>div{display:block}.typing-form input,.test-card input{text-align:center;min-height:58px;font-size:22px}.kana-table{gap:20px}.kana-table__grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px}.kana-table__cell{border-radius:10px;min-height:68px;padding:7px 5px}.kana-table__cell>span{font-size:26px}.test-runner__top{grid-template-columns:auto 1fr}.test-runner__top .progress-track{grid-area:2/1/auto/-1}.test-runner__actions{grid-area:1/2}.answer-feedback{margin-top:12px}.keyboard-hint{margin-top:8px}.test-page{min-height:calc(100vh - 122px);padding-block:24px 32px}.test-start,.test-result{padding:26px 18px 28px;box-shadow:7px 7px #d94b321c,0 20px 50px #00000029}.page-symbol{margin-bottom:15px}.test-start__rule{margin-block:13px 22px;line-height:1.5}.test-config{grid-template-columns:1fr;gap:10px}.test-script-switch,.primary-button,.secondary-button{width:100%}.test-card{border-radius:18px;min-height:calc(100vh - 190px);padding:22px 14px 24px}.test-card__kana{font-size:min(48vw,190px)}.result-actions{flex-direction:column}.result-actions .primary-button{width:100%}.journey{padding-block:34px 36px}body[data-page=learn] .journey{margin-block:20px 34px;padding:26px 18px 24px;box-shadow:7px 7px #d94b321c,0 20px 50px #00000029}.journey__head{align-items:start}.journey__score strong{font-size:19px}.level-row{grid-template-columns:38px 1fr;gap:10px}.level-row__number{padding-left:10px}.level-row__main{align-items:start}.level-row__main>div{gap:7px;display:grid}.level-row h2{min-width:0;font-size:15px}.kana-preview{gap:6px;font-size:16px}.level-row__actions{width:100%}.level-row__actions a{text-align:center;flex:1}body[data-page=learn] .level-list{padding-right:0}body[data-page=learn] .level-row{padding-right:10px}body[data-page=learn] .level-row__actions{padding-right:0}.journey__footer-actions{gap:12px;margin-top:24px}.unlock-link,.journey__footer-actions .reset-link{font-size:9px}.site-footer{width:min(calc(100% - 24px), var(--container));padding:8px 0 14px;font-size:8px}.mobile-nav{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);background:#fffffff5;grid-template-columns:repeat(4,1fr);height:64px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.mobile-nav a>span{font-family:Yu Gothic,Meiryo,sans-serif;font-size:17px;line-height:1}.mobile-nav a small{font-size:8px;font-weight:750}.mobile-nav a.is-active{color:var(--ink)}body[data-page=practice] main:before,body[data-page=test] main:before,body[data-page=learn] main:before{font-size:86vw;top:14vh;left:-18vw}body[data-page=practice] main:after,body[data-page=test] main:after,body[data-page=learn] main:after{font-size:78vw;bottom:5vh;right:-18vw}.exercise-card,.test-card{border-radius:4px;box-shadow:7px 7px #d94b321a,0 18px 44px #00000024}.toast{max-width:none;bottom:76px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
