:root{color:#172b2d;background:#f3ecde;font-family:Arita-buri,Nanum Myeongjo,Apple SD Gothic Neo,serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #172b2d;--ink-soft: #556364;--paper: #f8f2e7;--paper-deep: #e9dec9;--vermilion: #c8422f;--gold: #e1ad46;--indigo: #315b65;--line: rgba(23, 43, 45, .16);--shadow: 0 26px 70px rgba(58, 47, 31, .14)}*{box-sizing:border-box}html{min-width:320px;background:#f3ecde;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 12% 7%,rgba(225,173,70,.12),transparent 26rem),radial-gradient(circle at 87% 36%,rgba(49,91,101,.09),transparent 34rem),#f3ecde}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:multiply}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:default;opacity:.56}.app-shell{min-height:100dvh}.home-page{width:min(1480px,100%);margin:0 auto;padding:0 clamp(20px,4.6vw,72px)}.home-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}.topbar-spacer{flex:1 1 auto;align-self:stretch;min-width:28px;min-height:48px;cursor:default;-webkit-user-select:none;user-select:none;touch-action:manipulation}[data-common-feedback-widget]{display:none!important}html[lang=ko] body.is-feedback-unlocked [data-common-feedback-widget]{display:block!important}html:not([lang=ko]) [data-common-feedback-widget],[lang=en] [data-common-feedback-widget]{display:none!important}html.study-lock [data-common-feedback-widget]{touch-action:manipulation}.app-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(16px);background:#18211ff0;color:#fffdfa;padding:10px 20px;border-radius:999px;font-size:.88rem;font-weight:700;box-shadow:0 8px 24px #00000047;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:2147483002;white-space:nowrap}.app-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:700px){.app-toast{white-space:normal;width:min(92vw,420px);text-align:center}}.brand{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none}.brand-mark{width:40px;height:40px;flex-shrink:0;display:block;line-height:0}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-text strong{display:block;font-size:17px;font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}.brand-text small{display:block;font:700 9px/1.2 Georgia,serif;letter-spacing:.16em;color:#8a7d6a}.home-progress{display:flex;align-items:baseline;gap:6px;font-size:13px;color:#756b5e}.script-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(780px,100%);margin:0 auto 26px}.script-selector-button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 12px;padding:13px 16px;border:1px solid var(--line);border-radius:16px;background:#fffbf2b8;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.script-selector-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--vermilion) 42%,var(--line))}.script-selector-button.is-active{border-color:var(--vermilion);background:#fff8ea;box-shadow:0 10px 24px #502e1d14}.script-selector-button>strong{grid-row:1 / span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--vermilion) 12%,transparent);color:var(--vermilion);font:700 27px/1 Yu Mincho,Hiragino Mincho ProN,serif}.script-selector-button>span{font-weight:800;font-size:14px}.script-selector-button>small{color:#766b5c;font-size:11px}.integrated-course-card{position:relative;isolation:isolate;width:min(1120px,100%);margin:0 auto 34px;padding:clamp(20px,3vw,34px);display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(260px,.85fr) auto;align-items:center;gap:clamp(18px,3vw,42px);overflow:hidden;border:1px solid color-mix(in srgb,var(--row-accent) 38%,var(--line));border-radius:28px;background:linear-gradient(112deg,#fffaeff5,#f2e8d3e6),var(--paper);box-shadow:0 24px 60px #372b1c1a}.integrated-course-card:before{content:"あ ア";position:absolute;z-index:-1;right:11%;bottom:-38px;color:color-mix(in srgb,var(--row-accent) 7%,transparent);font:700 132px/1 Yu Mincho,Hiragino Mincho ProN,serif;letter-spacing:-.12em;transform:rotate(-4deg)}.integrated-course-copy .integrated-course-title{margin:8px 0 9px;font:700 clamp(24px,3vw,37px)/1.15 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:-.045em}.integrated-course-copy .integrated-course-title em{color:var(--row-accent);font-style:normal}.integrated-course-copy>p:last-child{max-width:560px;margin:0;color:#6f6558;font-size:13px;line-height:1.65}.integrated-course-progress{display:flex;align-items:center;gap:15px;min-width:0;padding-left:clamp(0px,2vw,28px);border-left:1px solid var(--line)}.integrated-course-kana{position:relative;width:66px;height:66px;flex:0 0 66px}.integrated-course-kana strong{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(23,43,45,.12);border-radius:14px;background:#fffaf0;color:var(--vermilion);font:700 27px/1 Yu Mincho,Hiragino Mincho ProN,serif;box-shadow:0 8px 18px #372b1c14}.integrated-course-kana strong:first-child{left:0;top:0;transform:rotate(-5deg)}.integrated-course-kana strong:last-child{right:0;bottom:0;color:var(--indigo);transform:rotate(5deg)}.integrated-course-progress small{color:#776c5e;font-size:10px;font-weight:900}.integrated-course-progress div>strong{display:block;margin-top:3px;color:var(--row-accent);font:italic 700 25px/1 Georgia,serif}.integrated-course-progress div>strong span{color:#776c5e;font-size:11px;font-style:normal}.integrated-course-progress p{margin:7px 0 0;color:#776c5e;font-size:10px;font-weight:800;white-space:nowrap}.integrated-course-button{min-height:48px;padding-inline:18px;white-space:nowrap}.integrated-page{--row-accent: var(--vermilion);width:100%;min-height:100dvh;padding:max(10px,env(safe-area-inset-top)) clamp(14px,3.5vw,52px) max(22px,env(safe-area-inset-bottom));background:radial-gradient(circle at 12% 2%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 30rem),radial-gradient(circle at 90% 46%,color-mix(in srgb,var(--indigo) 9%,transparent),transparent 34rem),var(--paper)}.integrated-header{width:min(1280px,100%);min-height:64px;margin:0 auto;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.integrated-header-title{display:flex;align-items:baseline;gap:10px;min-width:0}.integrated-header-title small{color:var(--row-accent);font-weight:900}.integrated-header-title strong{color:#766b5b;font-size:11px}.integrated-script-status{display:flex;align-items:center;gap:6px}.integrated-script-status span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffff6b;color:#6c6255;font-size:10px;font-weight:900}.integrated-script-status span:first-child{color:var(--vermilion)}.integrated-script-status span:last-child{color:var(--indigo)}.integrated-row-tabs{width:min(1280px,100%);margin:12px auto 0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.integrated-row-tabs button{min-width:0;min-height:58px;padding:5px 2px;border:1px solid var(--line);border-radius:13px;background:#ffffff57;color:var(--ink);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.integrated-row-tabs button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--row-accent) 45%,var(--line))}.integrated-row-tabs button.is-active{border-color:var(--row-accent);background:color-mix(in srgb,var(--row-accent) 10%,white);box-shadow:inset 0 -3px color-mix(in srgb,var(--row-accent) 48%,transparent)}.integrated-row-tabs button.is-done:not(.is-active){background:#eaf2e8;border-color:#3578584d}.integrated-row-tabs strong{display:block;font:700 18px/1 Yu Mincho,Hiragino Mincho ProN,serif}.integrated-row-tabs strong span{margin-left:2px;color:var(--indigo)}.integrated-row-tabs small{display:block;margin-top:5px;color:#827665;font-size:8px;font-weight:900}.integrated-stage-rail{width:min(920px,100%);margin:14px auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none}.integrated-stage-rail li{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;color:#918575}.integrated-stage-rail li:after{content:"";position:absolute;z-index:0;left:calc(50% + 55px);right:calc(-50% + 55px);top:15px;height:1px;background:var(--line)}.integrated-stage-rail li:last-child:after{display:none}.integrated-stage-rail li>span{position:relative;z-index:1;width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);font:700 12px/1 Georgia,serif}.integrated-stage-rail li div{position:relative;z-index:1;min-width:0;background:var(--paper)}.integrated-stage-rail strong,.integrated-stage-rail small{display:block}.integrated-stage-rail strong{font-size:11px}.integrated-stage-rail small{margin-top:2px;font-size:8px;white-space:nowrap}.integrated-stage-rail .is-current{color:var(--row-accent)}.integrated-stage-rail .is-current>span{border-color:var(--row-accent);background:var(--row-accent);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--row-accent) 12%,transparent)}.integrated-stage-rail .is-done{color:#357858}.integrated-stage-rail .is-done>span{border-color:#6a9e7e;background:#e6f2e6}.integrated-workspace{width:min(1100px,100%);min-height:540px;margin:0 auto;padding:clamp(20px,3.2vw,42px);border:1px solid rgba(23,43,45,.14);border-radius:30px;background:#fffcf5c7;box-shadow:0 26px 70px #3a2f1f1f}.integrated-stage-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.integrated-stage-heading h1{margin:8px 0 0;font:700 clamp(25px,3.6vw,42px)/1.12 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:-.05em}.integrated-stage-heading h1 em{color:var(--row-accent);font-style:normal}.integrated-pair-position{flex:0 0 auto;display:flex;align-items:baseline;gap:4px}.integrated-pair-position strong{color:var(--row-accent);font:italic 700 34px/1 Georgia,serif}.integrated-pair-position span{color:#7c7061;font-size:11px;font-weight:800}.integrated-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.integrated-glyph-card{min-width:0;padding:clamp(12px,2vw,20px);display:grid;grid-template-columns:minmax(100px,.7fr) minmax(150px,1fr);align-items:center;gap:clamp(10px,2vw,22px);border:1px solid var(--line);border-radius:22px;background:#fffaf0}.integrated-glyph-card--hiragana{border-top:4px solid var(--vermilion)}.integrated-glyph-card--katakana{border-top:4px solid var(--indigo)}.integrated-glyph-copy{text-align:center}.integrated-glyph-copy small,.integrated-glyph-copy span{display:block;color:#766b5c;font-size:10px;font-weight:800}.integrated-glyph-copy strong{display:block;margin:8px 0;color:var(--vermilion);font:700 clamp(66px,9vw,112px)/.85 "Yu Mincho","Hiragino Mincho ProN",serif}.integrated-glyph-card--katakana .integrated-glyph-copy strong{color:var(--indigo)}.integrated-write-cell{width:min(100%,240px);justify-self:center}.integrated-write-cell .ink-surface{width:100%;max-width:240px;max-height:none}.integrated-write-cell .ink-guide{font-size:min(31vw,170px)}.integrated-toolbar{display:flex;align-items:center;gap:9px;margin-top:18px}.integrated-toolbar .sound-button{min-height:44px;padding-inline:14px}.integrated-toolbar .primary-button,.integrated-toolbar .secondary-button,.integrated-complete-actions .primary-button,.integrated-complete-actions .secondary-button{min-height:44px;padding:0 15px}.integrated-clear-button{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:11px;font-weight:800}.integrated-clear-button svg{width:17px;height:17px}.integrated-toolbar-end{margin-left:auto;display:flex;gap:8px}.integrated-stage-heading--center{width:min(760px,100%);margin-left:auto;margin-right:auto}.integrated-quiz-card{width:min(680px,100%);margin:0 auto;padding:clamp(18px,3vw,34px);border:1px solid var(--line);border-radius:24px;background:#fffaf1}.integrated-quiz-prompt{width:100%;padding:6px;border:0;background:transparent;color:var(--ink);cursor:pointer}.integrated-quiz-prompt span{display:block;color:var(--row-accent);font:700 clamp(76px,12vw,124px)/.85 "Yu Mincho","Hiragino Mincho ProN",serif}.integrated-quiz-prompt small{display:block;margin-top:12px;color:#776c5e;font-size:10px;font-weight:900}.integrated-quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin-top:20px}.integrated-quiz-options button{min-height:92px;padding:10px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);cursor:pointer}.integrated-quiz-options button:hover{border-color:var(--row-accent);transform:translateY(-1px)}.integrated-quiz-options strong{display:block;font:700 38px/1 Yu Mincho,Hiragino Mincho ProN,serif}.integrated-quiz-options small{display:block;margin-top:5px;color:#857968;font-size:9px;text-transform:uppercase}.integrated-quiz-options .is-correct{border-color:#4b8c6f;background:#eaf5e9;color:#2d684d}.integrated-quiz-options .is-answer{border-color:var(--row-accent);background:#fff0de}.integrated-feedback{min-height:20px;margin:14px 0 0;color:#776c5e;text-align:center;font-size:11px;font-weight:800}.integrated-feedback.is-correct{color:#357858}.integrated-feedback.is-wrong{color:var(--vermilion)}.integrated-wide-button{width:100%;margin-top:8px}.integrated-mixed-grid{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(280px,1fr);align-items:center;gap:clamp(20px,5vw,64px);width:min(820px,100%);margin:0 auto}.integrated-mixed-prompt{position:relative;min-height:320px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden;border-radius:24px;background:var(--ink);color:#fff}.integrated-script-stamp{position:absolute;right:-12px;top:-22px;color:#ffffff14;font:700 130px/1 Yu Mincho,Hiragino Mincho ProN,serif}.integrated-mixed-prompt>p{margin:0;color:#d9cfbe;font-size:12px;font-weight:800}.integrated-mixed-prompt>strong{margin:8px 0 22px;color:var(--gold);font:italic 700 48px/1 Georgia,serif}.integrated-mixed-prompt .sound-button{min-height:42px;background:#ffffff1a;border-color:#ffffff2e;color:#fff}.integrated-answer{margin-top:16px;display:flex;align-items:baseline;gap:8px;animation:integratedAnswerIn .25s ease both}.integrated-answer small{color:#cfc5b5;font-size:9px}.integrated-answer strong{color:#fff;font:700 42px/1 Yu Mincho,Hiragino Mincho ProN,serif}.integrated-answer span{color:#d9cfbe;font-size:10px}.integrated-mixed-canvas{width:min(100%,360px);justify-self:center}.integrated-mixed-canvas .ink-surface{width:100%;max-width:360px;max-height:none}.integrated-mixed-canvas p{margin:9px 0 0;display:flex;align-items:center;gap:7px;color:#776c5e;font-size:10px}.integrated-mixed-canvas p svg{width:16px;color:var(--row-accent)}.integrated-toolbar--mixed{width:min(820px,100%);margin-left:auto;margin-right:auto;justify-content:flex-end}.integrated-complete-stage{min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.integrated-complete-seal{width:68px;height:68px;margin-bottom:15px;display:grid;place-items:center;border:3px double var(--vermilion);border-radius:16px;color:var(--vermilion);font:700 38px/1 Yu Mincho,serif;transform:rotate(-4deg)}.integrated-complete-stage h1{margin:10px 0 22px;font:700 clamp(30px,4.5vw,50px)/1.1 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:-.05em}.integrated-complete-stage h1 em{color:var(--row-accent);font-style:normal}.integrated-complete-rows{display:grid;gap:7px;padding:15px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.integrated-complete-rows p{margin:0;display:flex;align-items:center;justify-content:center;gap:12px}.integrated-complete-rows small{width:55px;color:#807464;text-align:right;font-size:9px;font-weight:900}.integrated-complete-rows strong{min-width:30px;font:700 28px/1 Yu Mincho,Hiragino Mincho ProN,serif}.integrated-complete-rows p:last-child strong{color:var(--indigo)}.integrated-complete-actions{display:flex;gap:9px;margin-top:24px}@keyframes integratedAnswerIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:900px){.integrated-course-card{grid-template-columns:minmax(0,1fr) auto}.integrated-course-progress{border-left:0;padding-left:0}.integrated-course-button{grid-column:1 / -1;width:100%}.integrated-glyph-card{grid-template-columns:100px minmax(130px,1fr)}.integrated-stage-rail small{display:none}}@media(max-width:700px){.integrated-course-card{grid-template-columns:1fr;margin-bottom:24px;padding:18px;border-radius:22px}.integrated-course-card:before{right:-16px;font-size:100px}.integrated-course-copy .integrated-course-title{font-size:25px}.integrated-course-progress{padding-top:14px;border-top:1px solid var(--line)}.integrated-course-button{grid-column:auto}.integrated-page{padding:max(6px,env(safe-area-inset-top)) 8px max(14px,env(safe-area-inset-bottom))}.integrated-header{min-height:54px;grid-template-columns:44px minmax(0,1fr) auto;gap:7px}.integrated-header-title{align-items:flex-start;flex-direction:column;gap:2px}.integrated-header-title small{font-size:11px}.integrated-header-title strong{font-size:9px}.integrated-script-status{flex-direction:column;gap:2px}.integrated-script-status span{padding:3px 6px;border:0;background:transparent;font-size:8px}.integrated-row-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-top:7px}.integrated-row-tabs button{min-height:43px;border-radius:9px}.integrated-row-tabs strong{font-size:15px}.integrated-row-tabs small{margin-top:3px;font-size:7px}.integrated-stage-rail{margin:9px auto}.integrated-stage-rail li{gap:4px}.integrated-stage-rail li:after{left:calc(50% + 30px);right:calc(-50% + 30px);top:12px}.integrated-stage-rail li>span{width:24px;height:24px;flex-basis:24px;font-size:9px}.integrated-stage-rail strong{font-size:8px;white-space:nowrap}.integrated-workspace{min-height:0;padding:16px 12px;border-radius:20px}.integrated-stage-heading{align-items:flex-start;margin-bottom:15px}.integrated-stage-heading h1{font-size:24px}.integrated-pair-position strong{font-size:25px}.integrated-compare-grid{grid-template-columns:1fr;gap:8px}.integrated-glyph-card{grid-template-columns:minmax(78px,.55fr) minmax(120px,1fr);padding:9px;border-radius:15px}.integrated-glyph-copy strong{font-size:58px}.integrated-write-cell,.integrated-write-cell .ink-surface{max-width:150px}.integrated-write-cell .ink-guide{font-size:94px}.integrated-toolbar{flex-wrap:wrap;gap:6px}.integrated-toolbar .sound-button{width:100%;justify-content:center}.integrated-toolbar-end{width:100%;margin-left:0}.integrated-toolbar-end button{flex:1 1 0}.integrated-clear-button{flex:1 1 auto;justify-content:center}.integrated-stage-heading--center{align-items:end}.integrated-quiz-card{padding:16px 11px;border-radius:17px}.integrated-quiz-prompt span{font-size:74px}.integrated-quiz-options{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:5px;margin-top:14px}.integrated-quiz-options button{min-height:72px;border-radius:12px}.integrated-quiz-options strong{font-size:30px}.integrated-mixed-grid{grid-template-columns:1fr;gap:12px}.integrated-mixed-prompt{min-height:142px;padding:18px;display:grid;grid-template-columns:1fr auto;align-items:center}.integrated-mixed-prompt>p,.integrated-mixed-prompt>strong{grid-column:1}.integrated-mixed-prompt>strong{margin:4px 0 10px;font-size:35px}.integrated-mixed-prompt .sound-button{grid-column:2;grid-row:1 / 3}.integrated-answer{grid-column:1 / -1;margin-top:4px}.integrated-mixed-canvas{max-width:min(52dvh,300px)}.integrated-mixed-canvas .ink-surface{max-width:300px}.integrated-toolbar--mixed{flex-wrap:nowrap}.integrated-toolbar--mixed .primary-button{flex:1}.integrated-complete-stage{min-height:420px}.integrated-complete-rows{padding-inline:8px}.integrated-complete-rows p{gap:7px}.integrated-complete-rows strong{min-width:24px;font-size:23px}.integrated-complete-actions{width:100%}.integrated-complete-actions button{flex:1 1 0;padding-inline:9px}}.pair-study-page{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at 80% 20%,rgba(217,121,48,.12),transparent 34%),var(--paper)}.pair-study-header{border-bottom:1px solid var(--line)}.pair-study-score{color:#766b5c;font-size:12px;font-weight:800}.pair-study-workspace{width:min(1120px,calc(100% - 36px));margin:auto;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(360px,1fr);gap:clamp(30px,7vw,100px);align-items:center;padding:clamp(28px,6vh,76px) 0}.pair-study-copy h1{margin:12px 0 18px;color:var(--ink);font:700 clamp(38px,5vw,72px)/.98 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:-.05em}.pair-study-copy h1 em{color:var(--vermilion);font-style:normal}.pair-study-copy>p:not(.eyebrow){max-width:360px;color:#6c6357;line-height:1.8;font-size:14px}.pair-study-modes{display:flex;gap:8px;margin-top:28px}.pair-study-modes button{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff80;color:#766b5c;font-weight:800;cursor:pointer}.pair-study-modes button.is-active{border-color:var(--vermilion);background:#fff2df;color:var(--vermilion)}.pair-study-card{position:relative;padding:clamp(24px,4vw,48px);border:1px solid rgba(23,43,45,.14);border-radius:28px;background:#fffcf5d1;box-shadow:0 25px 70px #3a29181f}.pair-study-prompt{display:grid;justify-items:center;gap:9px;padding:8px 0 20px}.pair-study-kana{color:var(--vermilion);font:700 clamp(84px,13vw,156px)/.9 "Yu Mincho","Hiragino Mincho ProN",serif;text-shadow:0 10px 0 rgba(200,66,47,.08)}.pair-study-romaji{color:#766b5c;font-size:13px;font-weight:800;letter-spacing:.08em}.pair-study-sound{min-height:34px;padding:0 12px;font-size:11px}.pair-study-question{margin:0;color:#51483d;text-align:center;font-weight:800}.pair-study-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.pair-study-option{display:grid;align-content:center;justify-items:center;gap:4px;min-height:104px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fffaf1;color:var(--ink);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.pair-study-option:hover{transform:translateY(-2px);border-color:var(--vermilion)}.pair-study-option strong{font:700 42px/1 Yu Mincho,Hiragino Mincho ProN,serif}.pair-study-option span{color:#8b7e6b;font-size:11px;text-transform:uppercase}.pair-study-option.is-correct{border-color:#4b8c6f;background:#eaf5e9;color:#2d684d}.pair-study-option.is-answer{border-color:var(--vermilion);background:#fff0de}.pair-study-feedback{min-height:22px;margin:15px 0 0;color:#766b5c;text-align:center;font-size:12px;font-weight:800}.pair-study-feedback.is-correct{color:#357858}.pair-study-feedback.is-wrong{color:var(--vermilion)}.pair-study-next{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:4px}.pair-study-next svg{width:16px}.pair-study-complete{padding:clamp(30px,5vw,70px);border:1px solid rgba(23,43,45,.14);border-radius:28px;background:#fffcf5d1;text-align:center;box-shadow:0 25px 70px #3a29181a}.pair-study-complete-mark{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 22px;border-radius:50%;background:#e5f2e5;color:#357858;font-size:34px;font-weight:900}.pair-study-complete h2{margin:10px 0;font:700 clamp(26px,4vw,44px)/1.1 "Yu Mincho","Hiragino Mincho ProN",serif}.pair-study-complete p:not(.eyebrow){color:#766b5c;line-height:1.7}.progress-number{font:italic 700 31px/1 Georgia,serif;color:var(--vermilion)}.home-header-actions,.focus-header-actions,.pronunciation-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px}.help-button{min-width:42px;height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fff6;color:var(--ink);cursor:pointer;font-size:11px;font-weight:800;transition:background .2s ease,transform .2s ease,border-color .2s ease}.help-button:hover{background:#fffaf0;border-color:#c8422f59;transform:translateY(-1px)}.help-button svg{width:19px;height:19px;color:var(--vermilion)}.header-jump-button{min-height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid color-mix(in srgb,var(--row-accent, var(--vermilion)) 40%,transparent);border-radius:999px;background:color-mix(in srgb,var(--row-accent, var(--vermilion)) 10%,white);color:var(--ink);cursor:pointer;font-size:11px;font-weight:800;white-space:nowrap;transition:background .2s ease,transform .2s ease,border-color .2s ease}.header-jump-button:hover{background:color-mix(in srgb,var(--row-accent, var(--vermilion)) 16%,white);border-color:color-mix(in srgb,var(--row-accent, var(--vermilion)) 55%,transparent);transform:translateY(-1px)}.header-jump-button svg{width:18px;height:18px;color:var(--row-accent, var(--vermilion));flex-shrink:0}.hero{min-height:min(720px,calc(100dvh - 92px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:center;gap:clamp(30px,5vw,90px);position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:64px 0}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 17px;color:var(--vermilion);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow span{width:34px;height:2px;background:currentColor}.hero h1{margin:0;font-size:clamp(50px,6.2vw,92px);line-height:.99;letter-spacing:-.075em;font-weight:700}.hero h1 em{color:var(--vermilion);font-style:normal;position:relative}.hero h1 em:after{content:"";position:absolute;left:1%;right:-3%;bottom:-10px;height:8px;background:var(--vermilion);border-radius:50%;transform:rotate(-1deg) scaleY(.35);opacity:.72}.hero-description{margin:35px 0 30px;color:var(--ink-soft);font-size:clamp(16px,1.45vw,20px);line-height:1.85;letter-spacing:-.025em}.primary-button,.secondary-button{border:0;border-radius:14px;min-height:56px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-weight:800;letter-spacing:-.02em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary-button{background:var(--vermilion);color:#fff;box-shadow:0 10px 28px #a432233b}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 34px #a432234d}.primary-button svg,.secondary-button svg{width:21px;height:21px}.hero-button{min-height:51px;padding:0 21px;font-size:.9em;gap:8px;border-radius:11px}.hero-button svg{width:17px;height:17px}.hero-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));align-items:stretch;gap:10px}.hero-actions .hero-button{width:100%;min-width:0;justify-content:center}.hero-features{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:#766b5c;font-size:12px;font-weight:700}.hero-features span{display:flex;align-items:center;gap:6px}.hero-features svg{width:17px;height:17px;color:var(--indigo)}.hero-composition{position:relative;min-height:540px;align-self:stretch}.sun-disc{position:absolute;width:min(34vw,490px);aspect-ratio:1;border-radius:50%;background:#e6b047;top:50%;left:48%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #5b380914}.sun-disc:before{content:"";position:absolute;inset:7%;border-radius:inherit;border:1px solid rgba(121,77,13,.17)}.hero-kana{position:absolute;font-family:Yu Mincho,Hiragino Mincho ProN,serif;color:var(--ink);z-index:2;text-shadow:0 13px 30px rgba(23,43,45,.09)}.hero-kana--one{font-size:clamp(210px,28vw,420px);line-height:1;left:46%;top:50%;transform:translate(-50%,-50%) rotate(-4deg)}.hero-kana--two{font-size:clamp(70px,10vw,146px);color:var(--paper);right:2%;bottom:11%;transform:rotate(9deg);opacity:.88}.brush-line{position:absolute;left:8%;right:-5%;bottom:16%;height:16px;border-radius:50%;background:var(--ink);transform:rotate(-7deg) scaleY(.32);opacity:.86}.vertical-note{position:absolute;top:12%;right:1%;writing-mode:vertical-rl;color:#172b2d8a;font-size:12px;letter-spacing:.34em;line-height:2.2}.row-section{padding:88px 0 112px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-heading h2{margin:0;font-size:clamp(34px,4vw,58px);letter-spacing:-.065em}.section-heading>p{margin:0 0 6px;color:var(--ink-soft);font-size:15px}.row-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.row-group{margin-bottom:28px}.row-group-title{margin:0 0 12px;color:var(--vermilion);font-size:13px;font-weight:800;letter-spacing:.08em}.row-card{--row-accent: var(--vermilion);padding:12px 12px 14px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;gap:12px;background:#f9f5ecb8;color:var(--ink);box-shadow:0 3px #ffffff8c inset;transition:transform .22s ease,background .22s ease,border-color .22s ease}.row-card:hover{transform:translateY(-2px);background:#fbf7ef;border-color:color-mix(in srgb,var(--row-accent) 48%,transparent)}.row-card-launch{display:grid;grid-template-columns:28px minmax(0,1fr) 38px;align-items:center;gap:12px;width:100%;padding:6px 6px 2px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer}.row-card-launch:hover .row-arrow,.row-card-launch:focus-visible .row-arrow{background:color-mix(in srgb,var(--row-accent) 12%,white);border-color:color-mix(in srgb,var(--row-accent) 40%,transparent)}.row-card-launch:focus-visible{outline:2px solid color-mix(in srgb,var(--row-accent) 55%,transparent);outline-offset:2px}.row-number{align-self:start;color:var(--row-accent);font:italic 700 13px Georgia,serif;padding-top:2px}.row-meta{min-width:0;display:flex;flex-direction:column;gap:4px}.row-meta strong{font-size:16px}.row-meta small{color:#7c7162;font-size:11px;font-family:Apple SD Gothic Neo,sans-serif;line-height:1.35}.row-arrow{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);color:var(--row-accent);transition:background .2s ease,border-color .2s ease}.row-arrow svg{width:18px}.row-char-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;padding:6px 2px 4px}.row-card:has(.row-char-tile:nth-child(3):last-child) .row-char-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:72%}.row-char-tile{position:relative;aspect-ratio:3 / 5;padding:0;border:0;border-radius:10px;overflow:hidden;background:transparent;cursor:pointer;color:var(--ink);transform-origin:center bottom;transition:transform .2s ease,box-shadow .2s ease,opacity .18s ease,filter .18s ease}.row-char-tile img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top}.row-char-check{position:absolute;top:5px;right:5px;z-index:1;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#427b6e;color:#fff;font-size:11px;font-weight:800;line-height:1;box-shadow:0 1px 4px #172b2d2e}.row-char-tile.is-done{opacity:.72}.row-char-tile.is-done img{filter:saturate(.85)}.row-char-tile.is-next{z-index:1;transform:scale(1.12);box-shadow:0 10px 22px #3a2f1f24;filter:saturate(1.05)}.row-char-tile:hover{transform:translateY(-2px)}.row-char-tile.is-next:hover{transform:scale(1.14) translateY(-2px)}.row-char-tile:focus-visible{outline:2px solid color-mix(in srgb,var(--row-accent) 50%,transparent);outline-offset:3px}.row-char-tile.is-next:focus-visible{outline-offset:4px}.row-char-tile{position:relative}.row-char-glyph{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-54%);color:var(--ink);font:700 clamp(30px,5vw,58px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;text-shadow:0 2px 0 rgba(255,250,241,.75);pointer-events:none}.row-char-tile--glyph{aspect-ratio:1;background:#fff8ea;border:1px solid var(--line)}.row-char-tile--glyph .row-char-glyph{font-size:clamp(22px,4vw,42px)}.home-footer{min-height:110px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#796e5e;font-size:12px}.home-footer-brand span{font-weight:800;color:var(--ink)}.home-footer-brand p{margin:6px 0 0}.home-footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 18px}.home-footer-nav a{min-height:44px;display:inline-flex;align-items:center;color:var(--ink);font-weight:800;text-decoration:none}.home-footer-nav a:hover{color:var(--vermilion)}html.study-lock,html.study-lock body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}html.study-lock body.practice-mode,html.study-lock body.pronunciation-mode,html.study-lock body.row-review-mode,html.study-lock body.cheatsheet-mode,html.study-lock body.word-study-mode,html.study-lock body.sentence-study-mode,html.study-lock body.similar-chars-mode{position:fixed;inset:0;width:100%;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.practice-mode *,body.pronunciation-mode *,body.row-review-mode *,body.cheatsheet-mode *,body.word-study-mode *,body.sentence-study-mode *,body.similar-chars-mode *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none;-webkit-touch-action:none;touch-action:none}.practice-page{--row-accent: var(--vermilion);height:100dvh;max-height:100dvh;width:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:max(10px,env(safe-area-inset-top)) clamp(12px,3.5vw,48px) max(10px,env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:none;touch-action:none}.focus-header,.pronunciation-header{min-height:64px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:#ffffff57;color:var(--ink);cursor:pointer}.icon-button svg{width:21px}.focus-title,.pronunciation-title{display:flex;align-items:baseline;gap:10px}.focus-title small,.pronunciation-title small{color:var(--row-accent);font-weight:800}.focus-title strong,.pronunciation-title strong{font-size:12px;color:#766b5b}.focus-next-button{min-height:30px;padding:0 9px;border:1px solid color-mix(in srgb,var(--row-accent) 42%,transparent);border-radius:999px;background:color-mix(in srgb,var(--row-accent) 9%,white);color:var(--ink);display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.focus-next-button:hover:not(:disabled){background:color-mix(in srgb,var(--row-accent) 16%,white);border-color:color-mix(in srgb,var(--row-accent) 60%,transparent);transform:translateY(-1px)}.focus-next-button:disabled{opacity:.38;cursor:default}.focus-next-button svg{width:13px;height:13px;color:var(--row-accent)}.step-dots{display:flex;gap:7px}.step-dots span{width:24px;height:5px;border-radius:999px;background:#172b2d1f}.step-dots .is-active{background:var(--row-accent)}.practice-workspace{width:min(1160px,100%);margin:0 auto;min-height:0;height:100%;display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);align-items:center;gap:clamp(16px,4vw,64px);padding:8px 0;overflow:hidden}.practice-copy{align-self:center;min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:0}.character-heading{display:flex;align-items:center;gap:16px;min-width:0}.character-heading h1{margin:0;color:var(--row-accent);font:700 clamp(64px,10vw,140px)/.9 "Yu Mincho","Hiragino Mincho ProN",serif}.character-heading div{border-left:1px solid var(--line);padding-left:16px}.character-heading strong,.character-heading span{display:block}.character-heading strong{font:italic 700 clamp(20px,2.5vw,28px)/1 Georgia,serif}.character-heading span{margin-top:6px;color:#786d5e;font-size:12px}.practice-note{margin:12px 0;color:var(--ink-soft);line-height:1.55;font-size:14px}.practice-copy>.sound-button{margin:0 0 8px;align-self:flex-start}.sound-block{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:6px;overflow:visible}.sound-button{flex-shrink:0;min-height:52px;padding:0 20px;border:1px solid var(--line);border-radius:999px;background:#fff6;color:var(--ink);display:inline-flex;align-items:center;gap:9px;font-weight:800;cursor:pointer}.sound-button svg{width:21px;height:21px;color:var(--row-accent);flex-shrink:0}.sound-button.is-playing{border-color:var(--row-accent)}.sound-caption-wrap{position:relative;max-width:100%}.sound-caption-toggle{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:40px;padding:6px 2px;margin:0;border:0;background:transparent;color:#7a6f60;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.sound-caption-toggle:hover .sound-caption-label,.sound-caption-toggle:focus-visible .sound-caption-label{color:var(--row-accent)}.sound-caption-label{border-bottom:1px dashed color-mix(in srgb,var(--row-accent) 55%,#7a6f60);padding-bottom:1px;font-weight:800}.sound-caption-hint{color:#9a8f7e;font-size:11px;font-weight:600}.sound-caption-panel{position:fixed;z-index:200;margin:0;min-width:12rem;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fffaf1;box-shadow:0 14px 36px #3a2f1f33;color:var(--ink);font-size:14px;line-height:1.45;white-space:normal;word-break:keep-all;pointer-events:none;animation:captionPop .18s ease-out}.sound-caption-panel-kicker{display:block;margin-bottom:4px;color:#8a7f6e;font-size:11px;font-weight:700}.sound-caption-panel strong{display:block;font-weight:800;font-family:Yu Mincho,Hiragino Mincho ProN,Apple SD Gothic Neo,serif;letter-spacing:.02em}.sound-caption-panel--recall strong{color:var(--row-accent)}@keyframes captionPop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.text-button{border:0;border-bottom:1px solid currentColor;padding:4px 0;background:transparent;color:#786d5e;cursor:pointer;font-size:12px;font-weight:700}.practice-canvas-links{flex-shrink:0;width:min(56vmin,520px,100%);max-width:100%;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;margin:0 0 6px}.practice-mnemonic-link{flex-shrink:0;margin:0}.practice-ink-stage{position:relative;width:min(56vmin,520px,100%);max-width:100%;max-height:min(56vmin,calc(100dvh - 220px));aspect-ratio:1;flex-shrink:1;min-height:0}.practice-ink-stage .ink-surface{width:100%;height:100%;max-width:none;max-height:none}.ink-stroke-button{position:absolute;top:4px;right:4px;top:clamp(4px,3cqmin,12px);right:clamp(4px,3cqmin,12px);z-index:3;width:26px;height:26px;width:clamp(20px,15cqmin,36px);height:clamp(20px,15cqmin,36px);padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--row-accent, var(--vermilion)) 32%,transparent);border-radius:50%;background:#fffcf5d1;color:var(--row-accent, var(--vermilion));cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,transform .15s ease}.ink-stroke-button:hover{background:#fffaf0;transform:translateY(-1px)}.ink-stroke-button svg{width:64%;height:64%}.stroke-demo{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 30% 20%,rgba(255,250,240,.98),transparent 55%),#fffcf5f5;box-shadow:inset 0 0 0 1px #172b2d1f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.stroke-demo-badge{position:absolute;top:10px;left:12px;z-index:2;min-height:28px;padding:0 10px;display:inline-flex;align-items:center;border-radius:999px;background:color-mix(in srgb,var(--row-accent, var(--vermilion)) 14%,white);border:1px solid color-mix(in srgb,var(--row-accent, var(--vermilion)) 35%,transparent);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:-.02em;pointer-events:none}.stroke-demo-svg{flex:1;min-height:0;width:100%;height:100%;padding:6% 8% 14%;box-sizing:border-box}.stroke-demo-ghost{fill:color-mix(in srgb,var(--row-accent, var(--vermilion)) 12%,#e8e0d2)}.stroke-demo-stroke{fill:none;stroke:var(--row-accent, var(--vermilion));stroke-width:118;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation-name:strokeDemoDraw;animation-timing-function:linear;animation-fill-mode:forwards}.stroke-demo-fill{fill:color-mix(in srgb,var(--row-accent, var(--vermilion)) 78%,#172b2d);opacity:0;animation-name:strokeDemoFillIn;animation-duration:.18s;animation-timing-function:ease-out;animation-fill-mode:forwards}.stroke-demo-toolbar{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:8px;justify-content:stretch;z-index:2}.stroke-demo-btn{flex:1 1 0;min-height:40px;min-width:0;padding:0 12px;font-size:13px;border-radius:12px}@container (max-width: 170px) or (max-height: 170px){.stroke-demo-badge{top:5px;left:6px;min-height:20px;padding:0 7px;font-size:9px}.stroke-demo-svg{padding:8% 8% 24%}.stroke-demo-toolbar{left:5px;right:5px;bottom:5px;gap:5px}.stroke-demo-btn{min-height:26px;padding:0 6px;font-size:10px;border-radius:9px}}@container (max-width: 125px) or (max-height: 125px){.stroke-demo-badge,.stroke-demo-btn--replay{display:none}.stroke-demo-svg{padding:6%}.stroke-demo-toolbar{inset:4px 4px auto auto}.stroke-demo-btn--close{flex:0 0 auto;width:22px;height:22px;min-height:0;padding:0;border-radius:50%;font-size:0}.stroke-demo-btn--close:after{content:"✕";font-size:11px;font-weight:800;line-height:1}}.stroke-demo-empty{flex:1;display:grid;place-content:center;gap:14px;padding:24px;text-align:center;color:var(--ink-soft);font-size:14px}.stroke-demo-empty .primary-button{justify-self:center;min-height:44px}@keyframes strokeDemoDraw{to{stroke-dashoffset:0}}@keyframes strokeDemoFillIn{to{opacity:1}}.practice-erase-bar{flex-shrink:0;width:min(56vmin,520px,100%);max-width:100%;display:flex;justify-content:flex-end;align-items:center;margin:0 0 6px}.practice-erase-button{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#ffffff8c;color:#5f5649;font-size:12px;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.practice-erase-button:hover{background:#fffaf0;border-color:color-mix(in srgb,var(--row-accent) 40%,transparent);transform:translateY(-1px)}.practice-erase-button:active{transform:translateY(0)}.practice-erase-button svg{width:17px;height:17px;color:var(--row-accent);flex-shrink:0}.practice-canvas-wrap{min-width:0;min-height:0;height:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.association-panel{min-width:0;min-height:0;height:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden}.association-card{position:relative;margin:0;width:min(52vmin,420px);max-width:100%;max-height:min(52vmin,70%);border:1px solid rgba(23,43,45,.19);border-radius:22px;overflow:hidden;background:#fffcf5e6;box-shadow:var(--shadow),inset 0 0 0 8px #ffffff3d;display:flex;flex-direction:column}.association-card img{display:block;width:100%;flex:1;min-height:0;aspect-ratio:1;object-fit:contain;background:#fffaf1}.association-card--katakana img{opacity:.62}.association-card--full{width:min(48vmin,320px);max-height:min(76vmin,78%)}.association-card--katakana.association-card--full img{aspect-ratio:2 / 3;opacity:1;background:transparent}.association-card-glyph{position:absolute;inset:34% auto auto 50%;transform:translate(-50%,-50%);color:var(--ink);font:700 clamp(58px,12vw,120px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;text-shadow:0 3px 0 rgba(255,250,241,.78);pointer-events:none}.association-card--glyph{width:min(48vmin,320px);max-height:min(70vmin,78%);aspect-ratio:1;display:grid;grid-template-rows:1fr auto}.association-card--glyph .association-card-glyph{position:static;transform:none;display:grid;place-items:center;min-height:0;font-size:clamp(64px,16vmin,140px)}.mnemonic-glyph{margin:0;display:grid;place-items:center;min-height:180px;font:700 clamp(72px,18vw,160px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink)}.derivation-panel{width:min(52vmin,420px);max-width:100%;padding:22px 20px 18px;border:1px solid rgba(23,43,45,.19);border-radius:22px;background:#fffcf5eb;box-shadow:var(--shadow);display:grid;gap:10px;justify-items:center;text-align:center}.derivation-formula-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;font:700 clamp(36px,8vw,64px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink)}.derivation-op{color:var(--vermilion);font-size:.55em;font-weight:800}.derivation-result{color:var(--row-accent, var(--vermilion))}.derivation-formula{margin:0;color:#766b5c;font-size:13px;font-weight:700}.derivation-rule{margin:0;max-width:28em;color:var(--ink);font-size:15px;line-height:1.55}.derivation-word{margin:4px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;color:#766b5c;font-size:13px}.derivation-word strong{font:700 20px/1 Yu Mincho,Hiragino Mincho ProN,serif;color:var(--ink)}.practice-rule-chip{margin:0 0 8px;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--row-accent) 12%,#fff8ea);color:var(--ink);font-size:13px;font-weight:700;line-height:1.45}.association-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px 14px;border-top:1px solid var(--line);background:#fffcf5eb}.association-card figcaption strong{font:700 28px/1 Yu Mincho,Hiragino Mincho ProN,serif;color:var(--row-accent)}.association-card figcaption span{color:#766b5c;font-size:13px;font-weight:700}.association-hint{margin:0;width:min(52vmin,420px);max-width:100%;color:#6c6357;font-size:11px;text-align:center;flex-shrink:0}.ink-surface{position:relative;width:min(56vmin,520px,100%);max-width:100%;max-height:min(56vmin,calc(100dvh - 220px));aspect-ratio:1;border:1px solid rgba(23,43,45,.19);border-radius:22px;overflow:hidden;background:#fffcf5bd;box-shadow:var(--shadow),inset 0 0 0 8px #ffffff3d;isolation:isolate;flex-shrink:1;container-type:size}.ink-grid{position:absolute;inset:0;pointer-events:none;z-index:0}.ink-grid:before,.ink-grid:after{content:"";position:absolute;background:#ac4a3329}.ink-grid:before{top:50%;left:7%;right:7%;height:1px;background-image:linear-gradient(90deg,rgba(172,74,51,.25) 40%,transparent 40%);background-size:9px 1px}.ink-grid:after{left:50%;top:7%;bottom:7%;width:1px;background-image:linear-gradient(rgba(172,74,51,.25) 40%,transparent 40%);background-size:1px 9px}.ink-guide{position:absolute;inset:0;display:grid;place-items:center;z-index:1;pointer-events:none;color:var(--row-accent, var(--ink));font:700 min(45vw,420px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;transform:translateY(-2%)}.ink-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.ink-surface--highlighted{border-color:#c8422f;box-shadow:0 0 0 4px #c8422f21,var(--shadow)}.canvas-caption{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;width:min(56vmin,520px,100%);max-width:100%;margin-top:8px;color:#6c6357;font-size:11px;flex-shrink:0}.canvas-caption svg{width:16px;color:var(--row-accent);grid-row:1/3}.canvas-caption small{color:#938776}.practice-actions{width:min(1160px,100%);min-height:64px;margin:0 auto;display:flex;justify-content:stretch;align-items:center;gap:10px;flex-shrink:0;overflow:hidden}.practice-actions-end{display:contents}.practice-actions .primary-button{min-height:52px;min-width:0;padding:0 18px;flex:1 1 0}.secondary-button{color:var(--ink);background:#ffffff61;border:1px solid var(--line);box-shadow:none}@media(min-width:701px){.practice-page{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"header actions" "workspace workspace";column-gap:10px;align-items:stretch}.practice-page>.focus-header{grid-area:header;min-width:0;align-self:center;padding-right:2px}.practice-page>.practice-workspace{grid-area:workspace;width:100%}.practice-page>.practice-actions{grid-area:actions;width:auto;max-width:min(420px,48vw);min-height:0;height:auto;margin:0;align-self:center;justify-self:end;gap:6px;overflow:visible}.practice-page>.practice-actions .primary-button{flex:0 1 auto;min-height:36px;min-width:0;padding:0 12px;font-size:12px;gap:4px;white-space:nowrap}.practice-page>.practice-actions .primary-button svg{width:14px;height:14px}.practice-page .ink-surface{max-height:min(56vmin,calc(100dvh - 150px))}}@media(min-width:701px)and (max-width:960px){.practice-page{column-gap:8px}.practice-page .focus-header-actions{gap:8px}.practice-page .header-jump-button{min-height:34px;padding:0 10px;font-size:10px}.practice-page .header-jump-button svg{width:16px;height:16px}.practice-page>.practice-actions{max-width:min(360px,46vw);gap:5px}.practice-page>.practice-actions .primary-button{min-height:34px;padding:0 9px;font-size:11px}}.mnemonic-sheet{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px}.mnemonic-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#172324ad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.mnemonic-panel{position:relative;width:min(1050px,94vw);max-height:92dvh;overflow:auto;padding:clamp(18px,3vw,34px);border-radius:24px;background:var(--paper);box-shadow:0 35px 90px #0a14145c}.mnemonic-panel--character{width:min(440px,94vw)}.mnemonic-panel h2{margin:0 0 8px}.mnemonic-meta{margin:0 0 16px;color:#766b5c;font-size:13px}.mnemonic-panel img{display:block;width:100%;border-radius:14px;border:1px solid var(--line);background:#fffaf1}.mnemonic-panel--character img{aspect-ratio:1;object-fit:contain}.mnemonic-panel--character img.mnemonic-image--card{aspect-ratio:2 / 3;max-height:68dvh;background:transparent}.mnemonic-panel .primary-button{margin-top:18px;float:right}body.pronunciation-mode,body.row-review-mode,body.cheatsheet-mode,body.word-study-mode,body.sentence-study-mode,body.similar-chars-mode{overflow:hidden;overscroll-behavior:none}.cheatsheet-page{position:relative;width:100%;height:100svh;height:100dvh;max-height:100svh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;background:radial-gradient(circle at 18% 12%,rgba(225,173,70,.1),transparent 28rem),radial-gradient(circle at 88% 70%,rgba(49,91,101,.07),transparent 32rem),#f3ecde}.cheatsheet-stage{position:absolute;inset:0;overflow:hidden}.cheatsheet-bg{position:absolute;inset:0;z-index:0;display:grid;box-sizing:border-box;margin:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow:hidden;opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.cheatsheet-bg img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;pointer-events:none;-webkit-user-drag:none;background:#fffcf559}.cheatsheet-cell{position:relative;min-width:0;min-height:0;display:block}.cheatsheet-cell--glyph{display:grid;place-items:center;background:#fff8eae6}.cheatsheet-cell--glyph .cheatsheet-kana-glyph{position:static;transform:none;font-size:clamp(14px,2.6vw,36px)}.cheatsheet-cell--katakana img{opacity:.5}.cheatsheet-cell--katakana.cheatsheet-cell--full-card img{opacity:1}.cheatsheet-kana-glyph{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:var(--ink);font:700 clamp(16px,3.3vw,52px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;text-shadow:0 2px 0 rgba(255,250,241,.8)}.cheatsheet-hole{display:block;min-width:0;min-height:0;background:#fffcf559}.cheatsheet-ink{position:absolute;inset:0;z-index:1}.cheatsheet-ink .ink-surface{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;border:0;border-radius:0;background:transparent;box-shadow:none}.cheatsheet-ink .ink-grid,.cheatsheet-ink .ink-guide{display:none}.cheatsheet-ink .ink-canvas{touch-action:none;cursor:crosshair}.cheatsheet-overlay-btn{position:absolute;z-index:5;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(23,43,45,.16);border-radius:50%;background:#fffcf5e0;color:var(--ink);box-shadow:0 8px 22px #3a2f1f24;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .15s ease,background .15s ease,opacity .15s ease}.cheatsheet-overlay-btn:hover:not(:disabled){transform:translateY(-1px);background:#fffaf0}.cheatsheet-overlay-btn:disabled{opacity:.38;cursor:default}.cheatsheet-overlay-btn svg{width:22px;height:22px}.cheatsheet-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.cheatsheet-close svg{color:var(--vermilion)}.cheatsheet-erase{bottom:max(16px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right))}.cheatsheet-erase svg{color:#726758}.cheatsheet-count{position:absolute;z-index:4;left:max(14px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));padding:6px 10px;border-radius:999px;background:#fffcf5b8;border:1px solid rgba(23,43,45,.1);color:#8a7d6a;font-size:11px;font-weight:800;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:700px){.pair-study-workspace{width:min(100% - 24px,560px);grid-template-columns:1fr;gap:24px;padding:24px 0 36px}.pair-study-copy{text-align:center}.pair-study-copy h1{font-size:19px}.pair-study-copy h1 br{display:none}.pair-study-copy h1 em:before{content:" "}.pair-study-copy>p:not(.eyebrow){display:none}.pair-study-modes{justify-content:center;margin-top:18px}.pair-study-card{padding:22px 16px;border-radius:22px}.pair-study-kana{font-size:104px}.pair-study-option{min-height:88px}.pair-study-option strong{font-size:34px}.cheatsheet-overlay-btn{width:44px;height:44px}.cheatsheet-overlay-btn svg{width:20px;height:20px}.cheatsheet-bg{opacity:.58}.cheatsheet-count{font-size:10px;padding:5px 9px}}.row-review-page{--row-accent: var(--vermilion);width:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:8px;padding:max(8px,env(safe-area-inset-top)) clamp(10px,2.4vw,36px) max(8px,env(safe-area-inset-bottom))}.row-review-header{min-height:52px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;flex-shrink:0}.row-review-title{display:flex;align-items:baseline;gap:10px;min-width:0}.row-review-title small{color:var(--row-accent);font-weight:800;white-space:nowrap}.row-review-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#766b5b;font-weight:700}.row-review-header-actions{display:flex;align-items:center;justify-content:flex-end}.row-review-next-button{min-height:34px;min-width:0;padding:0 11px;border-radius:999px;gap:5px;font-size:12px;white-space:nowrap;box-shadow:0 6px 16px #a4322333}.row-review-next-button svg{width:14px;height:14px}.row-review-tabs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;min-height:40px;flex-shrink:0}.row-review-tab{min-width:0;min-height:40px;padding:0 2px;border:1px solid var(--line);border-radius:12px;background:#ffffff57;color:#5f5649;font:700 clamp(15px,2.4vw,20px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.row-review-tab:hover{background:#fffaf0;border-color:color-mix(in srgb,var(--row-accent) 35%,transparent)}.row-review-tab.is-active{background:color-mix(in srgb,var(--row-accent) 12%,white);border-color:color-mix(in srgb,var(--row-accent) 55%,transparent);color:var(--row-accent);box-shadow:0 2px color-mix(in srgb,var(--row-accent) 18%,transparent)}.row-review-toolbar{width:min(1100px,100%);margin:0 auto;display:flex;align-items:end;justify-content:space-between;gap:12px;min-height:56px;flex-shrink:0}.row-review-toolbar-copy{min-width:0}.row-review-toolbar-copy .eyebrow{margin-bottom:2px;font-size:10px}.row-review-toolbar-copy h1{display:inline;margin:0;font:700 clamp(26px,3.6vw,44px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.06em}.row-review-toolbar-copy>p:last-child{display:inline;margin:0 0 0 12px;color:#766b5c;font-size:13px}.row-review-toolbar-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.row-review-workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;width:min(1180px,100%);margin:0 auto}.row-review-grid{min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,1.4vw,16px);align-content:center;align-items:start;justify-content:center;container-type:size}.row-review-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:min(720px,100%);justify-self:center;width:100%}.row-review-cell{--cell-gap: 8px;width:min(100%,calc((100cqh - var(--cell-gap)) / 2.5));max-width:100%;justify-self:center;display:flex;flex-direction:column;align-items:stretch;gap:var(--cell-gap);height:auto;min-width:0}.row-review-thumb{display:block;margin:0;width:100%;max-width:100%;flex:0 0 auto;min-width:0;line-height:0}.row-review-thumb--glyph{display:grid;place-items:center;aspect-ratio:1;background:#fff8ea;border:1px solid var(--line);border-radius:12px;line-height:1;font:700 clamp(28px,6vw,52px)/1 "Yu Mincho","Hiragino Mincho ProN",serif}.row-review-thumb img{display:block;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:contain;object-position:center;border:0;border-radius:0;background:transparent}.row-review-write{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;width:100%}.row-review-ink-stage{position:relative;width:100%;aspect-ratio:1;min-width:0;flex:0 0 auto}.row-review-cell .ink-surface{display:block;width:100%;max-width:100%;height:100%;max-height:none;aspect-ratio:auto;flex:none;min-width:0;min-height:0;border-radius:16px;box-shadow:0 10px 28px #3a2f1f14,inset 0 0 0 5px #fff3;container-type:size}.row-review-cell .ink-guide{font-size:clamp(72px,11.25vw,168px);font-size:70cqmin}.row-review-cell .ink-grid:before{left:6%;right:6%}.row-review-cell .ink-grid:after{top:6%;bottom:6%}.row-review-ink-stage .stroke-demo{border-radius:16px}.row-review-ink-stage .stroke-demo-badge{top:6px;left:6px;min-height:22px;padding:0 7px;font-size:9px}.row-review-ink-stage .stroke-demo-svg{padding:4% 5% 18%}.row-review-ink-stage .stroke-demo-toolbar{left:6px;right:6px;bottom:6px;gap:5px}.row-review-ink-stage .stroke-demo-btn{min-height:30px;padding:0 6px;font-size:10px;border-radius:9px}.row-review-footer{width:min(1100px,100%);margin:0 auto;min-height:0;display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-shrink:0}.row-review-footer>p{display:flex;align-items:center;gap:6px;margin:0;color:#827666;font-size:11px}.row-review-footer>p svg{width:16px;color:var(--row-accent);flex-shrink:0}@media(min-width:701px){.row-review-page{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"header" "tabs" "toolbar" "workspace"}.row-review-page>.row-review-header{grid-area:header}.row-review-page>.row-review-tabs{grid-area:tabs}.row-review-page>.row-review-toolbar{grid-area:toolbar}.row-review-page>.row-review-workspace{grid-area:workspace;width:min(1100px,100%)}.row-review-page>.row-review-footer{display:none}}.pronunciation-page{--row-accent: var(--vermilion);width:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto minmax(0,1fr);grid-template-areas:none;grid-auto-flow:row;gap:8px;padding:max(8px,env(safe-area-inset-top)) clamp(12px,3vw,42px) max(8px,env(safe-area-inset-bottom));align-content:stretch;justify-items:stretch}.pronunciation-page>*{grid-area:auto;grid-column:1;width:100%;max-width:min(1100px,100%);margin-inline:auto;min-width:0;box-sizing:border-box}.pronunciation-header{min-height:52px;width:100%;max-width:min(1100px,100%)}.pronunciation-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.pronunciation-next-button{min-height:40px;min-width:0;padding:0 14px;font-size:13px;gap:6px;white-space:nowrap}.pronunciation-next-button svg{width:16px;height:16px}.pronunciation-row-tabs{width:100%;max-width:min(1100px,100%);margin-inline:auto;flex-shrink:0;grid-area:auto!important;grid-column:1!important;grid-row:auto!important}.quiet-button,.listen-chip,.clear-chip{border:0;background:transparent;color:#726758;font-size:12px;font-weight:800;cursor:pointer}.pronunciation-prompt{width:100%;max-width:min(1100px,100%);margin-inline:auto;display:flex;align-items:end;justify-content:space-between;gap:16px;min-height:64px;flex-shrink:0}.prompt-copy{min-width:0}.prompt-copy .eyebrow{margin-bottom:4px;font-size:10px}.prompt-copy h1{display:inline;margin:0;font:700 clamp(28px,3.6vw,48px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.04em}.prompt-copy>p:last-child{display:inline;margin:0 0 0 14px;color:#766b5c;font-size:13px}.prompt-tools{display:flex;align-items:center;gap:9px;flex-shrink:0}.listen-chip,.clear-chip{min-height:42px;padding:0 15px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#ffffff57;white-space:nowrap}.listen-chip svg,.clear-chip svg{width:18px;height:18px;flex-shrink:0}.listen-chip svg{color:var(--row-accent)}.clear-chip svg{color:#726758}.listen-chip.is-active{border-color:var(--row-accent);color:var(--row-accent)}.pronunciation-grid{width:100%;max-width:min(1000px,100%);min-height:0;height:100%;margin-inline:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-content:center;align-content:center;gap:clamp(8px,1.4vw,16px)}.pronunciation-grid--2{grid-template-columns:repeat(2,minmax(0,200px))}.pronunciation-grid--3{grid-template-columns:repeat(3,minmax(0,180px))}.pronunciation-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.pronunciation-grid--6,.pronunciation-grid--7,.pronunciation-grid--8,.pronunciation-grid--9,.pronunciation-grid--10,.pronunciation-grid--11,.pronunciation-grid--12{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));max-width:min(1000px,100%)}.pronunciation-grid .ink-surface{width:100%;max-width:100%;max-height:min(100%,220px);aspect-ratio:1;border-radius:18px;box-shadow:0 11px 30px #3a2f1f17,inset 0 0 0 5px #fff3}.pronunciation-grid .ink-guide{font-size:clamp(56px,10vw,140px)}.pronunciation-grid .ink-grid:before{left:5%;right:5%}.pronunciation-grid .ink-grid:after{top:5%;bottom:5%}.word-study-page{--row-accent: var(--vermilion);width:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:8px;padding:max(8px,env(safe-area-inset-top)) clamp(10px,2.4vw,36px) max(8px,env(safe-area-inset-bottom))}.word-study-header{min-height:52px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px}.word-study-title{display:flex;align-items:baseline;gap:10px;min-width:0}.word-study-title small{color:var(--row-accent);font-weight:800;white-space:nowrap}.word-study-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#766b5b;font-weight:700}.word-study-header-actions{min-width:8px}.word-study-row-tabs{width:min(1100px,100%);margin:0 auto;grid-area:auto!important;grid-column:auto!important;grid-row:auto!important}.word-study-char-tabs{width:min(1100px,100%);margin:0 auto;display:flex;flex-wrap:wrap;gap:6px;min-height:40px;align-items:center}.word-study-char-tab{min-width:44px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff57;color:#5f5649;font:700 clamp(16px,2.4vw,22px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.word-study-char-tab:hover{background:#fffaf0;border-color:color-mix(in srgb,var(--row-accent) 35%,transparent)}.word-study-char-tab.is-active{background:color-mix(in srgb,var(--row-accent) 12%,white);border-color:color-mix(in srgb,var(--row-accent) 55%,transparent);color:var(--row-accent);box-shadow:0 2px color-mix(in srgb,var(--row-accent) 18%,transparent)}.word-study-cards{width:min(1100px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;flex-shrink:0}.word-card{min-height:96px;padding:12px 10px;border:1px solid var(--line);border-radius:16px;background:#fffcf5e0;box-shadow:0 8px 22px #3a2f1f0f;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left;cursor:pointer;color:var(--ink);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.word-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--row-accent) 40%,transparent);background:#fffaf1}.word-card.is-active{border-color:color-mix(in srgb,var(--row-accent) 60%,transparent);background:color-mix(in srgb,var(--row-accent) 8%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--row-accent) 14%,transparent),0 10px 24px #3a2f1f14}.word-card-jp{font:700 clamp(18px,2.2vw,26px)/1.15 "Yu Mincho","Hiragino Mincho ProN",serif;color:var(--row-accent);letter-spacing:.04em}.word-card-romaji{font-size:11px;font-weight:700;color:#8a7f6e;letter-spacing:.04em}.word-card-meaning{font-size:12px;font-weight:700;color:#5f5649;line-height:1.35}.word-study-practice{width:min(1100px,100%);margin:0 auto;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.word-study-practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.word-study-practice-label{margin:0;font-size:10px}.word-study-practice-tools{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.word-study-ink-grid{min-height:0;flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:clamp(8px,1.4vw,14px);align-content:center;justify-content:center;place-items:center}.word-study-ink-grid--1{grid-template-columns:minmax(0,220px);justify-content:center}.word-study-ink-grid--2{grid-template-columns:repeat(2,minmax(0,200px));justify-content:center}.word-study-ink-grid--3{grid-template-columns:repeat(3,minmax(0,170px));justify-content:center}.word-study-ink-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.word-study-ink-grid--5,.word-study-ink-grid--6,.word-study-ink-grid--7,.word-study-ink-grid--8{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.word-study-ink-grid .ink-surface{width:100%;max-width:100%;max-height:min(42dvh,220px);aspect-ratio:1;border-radius:16px;box-shadow:0 10px 28px #3a2f1f14,inset 0 0 0 5px #fff3}.word-study-ink-grid .ink-guide{font-size:clamp(48px,9vw,120px);font-size:78cqmin}.word-study-empty{flex:1;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8a7f6e;border:1px dashed var(--line);border-radius:18px;background:#fffcf580;text-align:center;padding:20px}.word-study-empty svg{width:28px;height:28px;color:var(--row-accent)}.word-study-empty p{margin:0;font-size:13px;font-weight:700;line-height:1.5}.sentence-study-page{--row-accent: var(--vermilion);width:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:max(8px,env(safe-area-inset-top)) clamp(10px,2vw,28px) max(8px,env(safe-area-inset-bottom))}.sentence-study-header{min-height:52px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px}.sentence-study-title{display:flex;align-items:baseline;gap:10px;min-width:0}.sentence-study-title small{color:var(--row-accent);font-weight:800;white-space:nowrap}.sentence-study-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#766b5b;font-weight:700}.sentence-study-title-detail{display:none}.sentence-study-header-actions{min-width:8px}.sentence-study-body{min-height:0;display:grid;grid-template-columns:minmax(220px,.3fr) minmax(0,.7fr);gap:14px;align-items:stretch}.sentence-study-list{min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.sentence-study-list-hint{margin:0;flex-shrink:0;color:#8a7f6e;font-size:11px;font-weight:700}.sentence-study-list-hint--mobile{display:none}.sentence-study-cards{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding-right:4px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.sentence-card{flex-shrink:0;width:100%;padding:12px 12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffcf5e0;box-shadow:0 6px 18px #3a2f1f0f;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;cursor:pointer;color:var(--ink);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.sentence-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--row-accent) 40%,transparent);background:#fffaf1}.sentence-card.is-active{border-color:color-mix(in srgb,var(--row-accent) 60%,transparent);background:color-mix(in srgb,var(--row-accent) 8%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--row-accent) 14%,transparent),0 8px 20px #3a2f1f14}.sentence-card-index{font:italic 700 11px/1 Georgia,serif;color:var(--row-accent);letter-spacing:.04em}.sentence-card-jp{font:700 clamp(14px,1.4vw,17px)/1.45 "Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);letter-spacing:.02em;word-break:keep-all}.sentence-card-romaji{font-size:11px;font-weight:700;color:#8a7f6e;letter-spacing:.03em;line-height:1.35}.sentence-card-meaning{font-size:12px;font-weight:700;color:#5f5649;line-height:1.4}.sentence-study-practice{min-height:0;min-width:0;display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:4px 2px 0}.sentence-study-practice-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-shrink:0}.sentence-study-practice-copy{min-width:0}.sentence-study-practice-copy .eyebrow{margin-bottom:4px;font-size:10px}.sentence-study-practice-copy h1{margin:0;font:700 clamp(18px,2.2vw,28px)/1.35 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.04em;color:var(--ink);word-break:keep-all}.sentence-study-practice-copy>p{margin:6px 0 0;color:#766b5c;font-size:13px;font-weight:700}.sentence-study-practice-meaning{color:#5f5649!important;font-size:12px!important}.sentence-study-practice-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.sentence-study-ink-grid{--sentence-ink-count: 12;--sentence-ink-cols: 5;--sentence-ink-cell: 72px;min-height:0;min-width:0;flex:1;display:grid;grid-template-columns:repeat(var(--sentence-ink-cols),var(--sentence-ink-cell));gap:6px;align-content:center;justify-content:center;place-items:center;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:none}.sentence-study-ink-grid .ink-surface{width:var(--sentence-ink-cell);height:var(--sentence-ink-cell);max-width:100%;max-height:100%;aspect-ratio:1;border-radius:14px;box-shadow:0 8px 22px #3a2f1f12,inset 0 0 0 4px #fff3}.sentence-study-ink-grid .ink-guide{font-size:clamp(36px,6.5vw,88px);font-size:82cqmin}.sentence-study-ink-meta{flex-shrink:0;margin:0;display:flex;align-items:center;gap:6px;color:#8a7f6e;font-size:11px;font-weight:700}.sentence-study-ink-meta svg{width:15px;height:15px;color:var(--row-accent);flex-shrink:0}.sentence-study-empty{flex:1;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8a7f6e;border:1px dashed var(--line);border-radius:18px;background:#fffcf580;text-align:center;padding:20px}.sentence-study-empty svg{width:28px;height:28px;color:var(--row-accent)}.sentence-study-empty p{margin:0;font-size:13px;font-weight:700;line-height:1.5}body.sentence-study-mode .sentence-study-cards{touch-action:pan-y!important}body.sentence-study-mode .sentence-card,body.sentence-study-mode .listen-chip,body.sentence-study-mode .clear-chip,body.sentence-study-mode .icon-button{touch-action:manipulation!important}.similar-chars-page{--row-accent: #2f6b66;width:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:max(8px,env(safe-area-inset-top)) clamp(10px,2vw,28px) max(8px,env(safe-area-inset-bottom))}.similar-chars-header{min-height:52px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px}.similar-chars-title{display:flex;align-items:baseline;gap:10px;min-width:0}.similar-chars-title small{color:var(--row-accent);font-weight:800;white-space:nowrap}.similar-chars-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#766b5b;font-weight:700}.similar-chars-title-detail{display:none}.similar-chars-header-actions{min-width:8px}.similar-chars-body{min-height:0;display:grid;grid-template-columns:minmax(220px,.28fr) minmax(0,.72fr);gap:14px;align-items:stretch}.similar-chars-list{min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.similar-chars-list-hint{margin:0;flex-shrink:0;color:#8a7f6e;font-size:11px;font-weight:700}.similar-chars-list-hint--mobile{display:none}.similar-chars-cards{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding-right:4px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.similar-group-card{flex-shrink:0;width:100%;padding:12px 12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffcf5e0;box-shadow:0 6px 18px #3a2f1f0f;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;cursor:pointer;color:var(--ink);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.similar-group-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--row-accent) 40%,transparent);background:#fffaf1}.similar-group-card.is-active{border-color:color-mix(in srgb,var(--row-accent) 60%,transparent);background:color-mix(in srgb,var(--row-accent) 8%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--row-accent) 14%,transparent),0 8px 20px #3a2f1f14}.similar-group-card-index{font:italic 700 11px/1 Georgia,serif;color:var(--row-accent);letter-spacing:.04em}.similar-group-card-jp{font:700 clamp(16px,1.6vw,20px)/1.35 "Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);letter-spacing:.04em}.similar-group-card-meaning{font-size:12px;font-weight:700;color:#5f5649;line-height:1.4}.similar-chars-practice{min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px;overflow:auto;overscroll-behavior:contain;padding:4px 2px 2px;-webkit-overflow-scrolling:touch}.similar-chars-compare{flex-shrink:0;display:flex;flex-direction:column;gap:6px;min-width:0}.similar-chars-compare .eyebrow{margin-bottom:0;font-size:10px}.similar-chars-compare-subtitle{margin:0;color:#766b5b;font-size:12px;font-weight:700}.similar-chars-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.similar-compare-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px 12px;border:1px solid var(--line);border-radius:14px;background:#fffcf5b8;text-align:left;cursor:pointer;color:var(--ink);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.similar-compare-card:hover{border-color:color-mix(in srgb,var(--row-accent) 35%,transparent);background:#fffaf1}.similar-compare-card.is-active{border-color:color-mix(in srgb,var(--row-accent) 55%,transparent);background:color-mix(in srgb,var(--row-accent) 9%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--row-accent) 12%,transparent)}.similar-compare-kana{font:700 clamp(28px,3.4vw,40px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;color:var(--row-accent)}.similar-compare-meta{font-size:11px;font-weight:800;color:#8a7f6e;letter-spacing:.02em}.similar-compare-tip{font-size:11px;font-weight:700;color:#5f5649;line-height:1.45}.similar-chars-write-row{min-height:0;flex:1;display:grid;grid-template-columns:minmax(140px,.38fr) minmax(0,.62fr);gap:12px;align-items:stretch}.similar-chars-mnemonic{margin:0;min-height:0;min-width:0;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 20% 15%,rgba(47,107,102,.08),transparent 40%),#fffcf5c7;overflow:hidden}.similar-chars-mnemonic--glyph{display:grid;grid-template-rows:1fr auto}.similar-chars-glyph{display:grid;place-items:center;min-height:120px;font:700 clamp(48px,10vw,88px)/1 "Yu Mincho","Hiragino Mincho ProN",serif}.similar-chars-mnemonic img{width:100%;min-height:0;flex:1;object-fit:contain;border-radius:12px;background:#ffffff73}.similar-chars-mnemonic figcaption{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.similar-chars-mnemonic figcaption strong{font:700 28px/1 Yu Mincho,Hiragino Mincho ProN,serif;color:var(--row-accent)}.similar-chars-mnemonic figcaption span{font-size:12px;font-weight:800;color:#766b5b}.similar-chars-write-panel{min-height:0;min-width:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.similar-chars-write-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.similar-chars-write-toolbar .eyebrow{margin:0;font-size:10px}.similar-chars-write-tools{display:flex;align-items:center;gap:8px}.similar-chars-ink-stage{min-height:0;flex:1;display:grid;place-items:center;overflow:hidden;container-type:size}.similar-chars-ink-stage .ink-surface{width:min(100%,100cqh,360px);max-width:100%;aspect-ratio:1;height:auto;max-height:100%;border-radius:18px;container-type:size}.similar-chars-ink-stage .ink-guide{font-size:92cqmin}.similar-chars-tip-line{margin:0;flex-shrink:0;color:#5f5649;font-size:12px;font-weight:700;line-height:1.45}.similar-chars-words{flex-shrink:0;display:flex;flex-direction:column;gap:6px;min-width:0}.similar-chars-words .eyebrow{margin:0;font-size:10px}.similar-chars-word-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.similar-chars-word-list li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fffcf5b3;min-width:0}.similar-chars-word-list strong{font:700 15px/1.3 Yu Mincho,Hiragino Mincho ProN,serif;color:var(--ink)}.similar-chars-word-list span{font-size:10px;font-weight:700;color:#8a7f6e}.similar-chars-word-list em{font-style:normal;font-size:11px;font-weight:700;color:#5f5649}.similar-chars-empty{min-height:160px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed color-mix(in srgb,var(--row-accent) 28%,transparent);border-radius:18px;background:#fffcf58c;color:#766b5b;text-align:center;padding:24px}.similar-chars-empty svg{width:28px;height:28px;color:var(--row-accent)}.similar-chars-empty p{margin:0;font-size:13px;font-weight:700;line-height:1.5}body.similar-chars-mode .similar-chars-cards,body.similar-chars-mode .similar-chars-practice{touch-action:pan-y!important}body.similar-chars-mode .similar-group-card,body.similar-chars-mode .similar-compare-card,body.similar-chars-mode .listen-chip,body.similar-chars-mode .clear-chip,body.similar-chars-mode .icon-button{touch-action:manipulation!important}@media(max-height:720px){.similar-compare-tip{display:none}}@media(max-height:640px){.similar-chars-words,.similar-chars-compare-subtitle{display:none}}.pronunciation-speak-bar{width:100%;max-width:min(1100px,100%);margin-inline:auto;display:flex;align-items:center;justify-content:flex-start;min-height:44px;flex-shrink:0}.pronunciation-speak-bar .primary-button,.pronunciation-speak-bar .mic-button{min-width:0;width:min(200px,100%);min-height:44px;padding:0 16px;font-size:14px;gap:8px}.pronunciation-speak-bar .primary-button svg,.pronunciation-speak-bar .mic-button svg{width:18px;height:18px}.pronunciation-speak-hint{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;color:#6f6557;font-size:13px;font-weight:700}.pronunciation-speak-hint svg{width:18px;height:18px;color:var(--row-accent);flex-shrink:0}.speech-status{width:100%;max-width:min(1100px,100%);height:auto;min-height:64px;margin-inline:auto;padding:10px 14px;display:grid;grid-template-columns:40px minmax(0,1fr) minmax(100px,.32fr);align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;background:#fffcf5b8;flex-shrink:0}.status-orb{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#315b651a;color:var(--indigo)}.status-orb svg{width:20px}.speech-status--recognizing .status-orb{background:var(--vermilion);color:#fff;animation:listeningPulse 1.4s ease-in-out infinite}.speech-status--success .status-orb{background:#427b6e;color:#fff}.speech-status strong{display:block;margin-bottom:3px;font-size:13px}.speech-status p{margin:0;color:#6f6557;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transcript-box{min-width:0;padding-left:14px;border-left:1px solid var(--line)}.transcript-box small,.transcript-box span{display:block}.transcript-box small{color:#938777;font-size:9px;margin-bottom:3px}.transcript-box span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:Yu Mincho,serif;font-weight:700}.mic-button{background:var(--indigo);box-shadow:0 10px 28px #315b6538}body.guide-open{overflow:hidden}.typing-lab-launch{background:var(--ink);box-shadow:0 10px 28px #172b2d38}.typing-lab-launch:hover:not(:disabled){box-shadow:0 14px 34px #172b2d47}.typing-launch-icon{font-size:19px;line-height:1}.typing-lab-page{--typing-accent: var(--vermilion);position:relative;min-height:100dvh;padding:0 clamp(18px,4vw,64px) 88px;overflow:hidden;background:linear-gradient(rgba(23,43,45,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,43,45,.035) 1px,transparent 1px),radial-gradient(circle at 86% 7%,color-mix(in srgb,var(--typing-accent) 15%,transparent),transparent 24rem),#f3ecde;background-size:32px 32px,32px 32px,auto,auto;color:var(--ink);isolation:isolate}.typing-lab-page:before{content:"ろ";position:absolute;z-index:-1;top:82px;right:-18px;color:color-mix(in srgb,var(--typing-accent) 8%,transparent);font:700 clamp(180px,27vw,390px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;transform:rotate(7deg);pointer-events:none}.typing-lab-header{width:min(1420px,100%);min-height:82px;margin:0 auto;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.typing-back{width:42px;height:42px}.typing-brand{display:flex;align-items:center;gap:10px}.typing-brand>span{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:var(--ink);color:#fff9ec;box-shadow:4px 4px color-mix(in srgb,var(--typing-accent) 70%,white)}.typing-brand svg{width:24px}.typing-brand div{display:grid;gap:2px}.typing-brand strong{font-size:16px;letter-spacing:-.03em}.typing-brand small{color:#8a7d6a;font:700 8px/1 Georgia,serif;letter-spacing:.18em}.typing-progress{display:grid;grid-template-columns:auto 110px auto;align-items:center;gap:9px;color:#827564}.typing-progress>span{color:var(--typing-accent);font:italic 700 24px/1 Georgia,serif}.typing-progress>small{font:700 11px/1 Georgia,serif}.typing-progress>i{height:3px;overflow:hidden;border-radius:4px;background:#172b2d1f}.typing-progress>i b{display:block;height:100%;border-radius:inherit;background:var(--typing-accent);transition:width .4s ease}.typing-intro{width:min(1420px,100%);margin:0 auto;padding:clamp(46px,7vw,92px) 0 clamp(34px,5vw,68px);display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,.75fr);align-items:end;gap:clamp(38px,8vw,130px)}.typing-intro h1{margin:0;font:700 clamp(44px,5.7vw,82px)/1.02 "Arita-buri","Nanum Myeongjo",serif;letter-spacing:-.075em}.typing-intro h1 em{color:var(--typing-accent);font-style:normal}.typing-intro-copy{padding-bottom:5px}.typing-intro-copy>p{max-width:620px;margin:0 0 25px;color:#5d5a51;font-size:clamp(14px,1.3vw,18px);line-height:1.8;word-break:keep-all}.typing-intro-copy strong{color:var(--ink)}.typing-flow{display:flex;align-items:center;gap:11px}.typing-flow>span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.typing-flow b{width:25px;height:25px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;color:var(--typing-accent);font:italic 700 11px/1 Georgia,serif}.typing-flow>i{color:#a89a86;font-style:normal}.typing-workbench{width:min(1420px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);border:1px solid rgba(23,43,45,.2);border-radius:26px;overflow:hidden;background:#fffcf5d6;box-shadow:0 28px 75px #3a2f1f21;animation:typingWorkbenchIn .65s cubic-bezier(.22,.8,.28,1) both}@keyframes typingWorkbenchIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.typing-lesson-nav{padding:27px 16px 18px;background:#183033;color:#f8f2e7}.typing-nav-heading{margin:0 9px 18px;display:grid;gap:6px}.typing-nav-heading small,.typing-shortcut-note>small{color:#9cb0ae;font:700 8px/1 Georgia,serif;letter-spacing:.18em}.typing-nav-heading strong{font-size:16px}.typing-lesson-nav>button{width:100%;min-height:57px;padding:8px 9px;display:grid;grid-template-columns:28px 1fr 18px;align-items:center;gap:7px;border:0;border-bottom:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffffa1;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.typing-lesson-nav>button:first-of-type{border-top:1px solid rgba(255,255,255,.1)}.typing-lesson-nav>button:hover{color:#fff;transform:translate(2px)}.typing-lesson-nav>button.is-active{border-radius:11px;border-color:transparent;background:color-mix(in srgb,var(--typing-accent) 83%,white 3%);color:#fff;box-shadow:0 8px 24px #0000002e}.typing-lesson-nav>button>span{font:italic 700 12px/1 Georgia,serif;opacity:.7}.typing-lesson-nav>button>div{min-width:0;display:grid;gap:2px}.typing-lesson-nav>button strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.typing-lesson-nav>button small{font-family:Yu Mincho,Hiragino Mincho ProN,serif;opacity:.68}.typing-lesson-nav>button>i{color:#fff;font-style:normal;text-align:center}.typing-lesson-nav>button.is-complete:not(.is-active)>i{color:#e8b44c}.typing-shortcut-note{margin:24px 8px 0;padding:16px 4px 4px;border-top:1px solid rgba(255,255,255,.16)}.typing-shortcut-note p{margin:10px 0;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:4px;font-size:10px}.typing-shortcut-note p span{margin-left:4px;color:#9cb0ae}.typing-shortcut-note kbd{padding:3px 5px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:#ffffff14;color:#fff;box-shadow:0 2px #0000004d;font:700 9px/1 Georgia,serif}.typing-practice-card{min-width:0;padding:clamp(24px,3.4vw,52px);background:radial-gradient(circle at 93% 8%,color-mix(in srgb,var(--typing-accent) 10%,transparent),transparent 18rem)}.typing-card-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.typing-card-topline>span{color:var(--typing-accent);font-size:11px;font-weight:900;letter-spacing:.08em}.typing-card-topline button{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fffaf0;color:var(--ink);cursor:pointer;font-size:10px;font-weight:800}.typing-card-topline svg{width:15px;color:var(--typing-accent)}.typing-prompt{min-height:190px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:28px;padding:25px 0 20px}.typing-prompt p{margin:0 0 8px;color:#766b5c;font-size:13px;font-weight:700}.typing-prompt h2{margin:0;color:var(--ink);font:700 clamp(55px,7vw,92px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:-.04em}.typing-prompt>div:first-child>small{color:var(--typing-accent);font-size:11px;font-weight:800}.typing-formula{display:flex;align-items:stretch;justify-content:flex-end;gap:8px}.typing-formula>span{min-width:66px;padding:10px 7px;display:grid;grid-template-rows:auto 12px auto;justify-items:center;gap:3px;border:1px solid var(--line);border-radius:12px;background:#fffaf1c7;box-shadow:0 4px #172b2d0a}.typing-formula kbd{color:var(--typing-accent);font:800 14px/1.2 Georgia,serif}.typing-formula i{color:#b6a993;font-size:10px;font-style:normal}.typing-formula strong{font:700 28px/1 Yu Mincho,Hiragino Mincho ProN,serif}.typing-input-wrap{position:relative;display:block;padding:14px 16px 12px;border:2px solid var(--typing-accent);border-radius:15px;background:#ffffffb3;box-shadow:0 6px color-mix(in srgb,var(--typing-accent) 15%,transparent);transition:border-color .2s,background .2s,transform .2s}.typing-input-wrap.has-error{border-color:#bd3d2b;background:#fff4ee;animation:typingShake .24s ease both}.typing-input-wrap.is-done{border-color:#39795e;background:#f1f8ec;box-shadow:0 6px #39795e26}@keyframes typingShake{35%{transform:translate(-4px)}70%{transform:translate(4px)}}.typing-input-label{display:flex;justify-content:space-between;color:var(--typing-accent);font:800 9px/1 Georgia,serif;letter-spacing:.16em}.typing-input-label small{color:#978b79;font:700 9px/1.2 Apple SD Gothic Neo,sans-serif;letter-spacing:0}.typing-input-row{min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.typing-input-row input{position:absolute;left:16px;bottom:30px;width:calc(100% - 32px);height:52px;border:0;opacity:0;color:transparent;caret-color:transparent;ime-mode:disabled}.typing-ghost{align-self:center;color:#c2b6a5;font:700 clamp(23px,3vw,38px)/1 Georgia,serif;letter-spacing:.05em;white-space:nowrap}.typing-ghost b{color:var(--ink)}.typing-live-kana{min-width:118px;padding-left:15px;border-left:1px solid var(--line);color:var(--typing-accent);font:700 clamp(24px,3.2vw,42px)/1 "Yu Mincho","Hiragino Mincho ProN",serif;text-align:right;white-space:nowrap}.typing-live-kana i{display:inline-block;width:2px;height:.8em;margin-left:3px;background:currentColor;animation:typingBlink .8s steps(1) infinite}@keyframes typingBlink{50%{opacity:0}}.typing-feedback{min-height:16px;display:block;color:#817563;font-size:10px;font-weight:700}.typing-feedback strong{color:var(--typing-accent)}.typing-feedback kbd{padding:2px 6px;border-radius:4px;background:var(--ink);color:#fff;font:700 10px/1 Georgia,serif}.typing-caret{display:none}.typing-keyboard{width:min(760px,100%);margin:25px auto 22px;padding:13px 14px 12px;border:1px solid rgba(23,43,45,.18);border-radius:18px;background:#ded4c2;box-shadow:inset 0 2px 4px #3a2f1f1f,0 8px #c7baa4,0 14px 28px #3a2f1f1f}.typing-key-row{display:flex;justify-content:center;gap:6px;margin-bottom:6px}.typing-key-row.row-2{padding-inline:4.5%}.typing-key-row.row-3{padding-inline:9%}.typing-key-row button{flex:1 1 0;min-width:0;height:38px;padding:0;border:1px solid rgba(23,43,45,.18);border-radius:7px;background:#f8f2e7;color:#51483d;box-shadow:0 3px #b7aa95;cursor:pointer;font:700 13px/1 Georgia,serif;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,color .12s ease}.typing-key-row button:hover{transform:translateY(-1px)}.typing-key-row button:active{transform:translateY(2px);box-shadow:0 1px #b7aa95}.typing-key-row button.is-next{border-color:var(--typing-accent);background:var(--typing-accent);color:#fff;box-shadow:0 3px color-mix(in srgb,var(--typing-accent) 65%,black),0 0 0 4px color-mix(in srgb,var(--typing-accent) 15%,transparent);animation:typingKeyPulse 1.2s ease-in-out infinite}@keyframes typingKeyPulse{50%{transform:translateY(-2px);box-shadow:0 5px color-mix(in srgb,var(--typing-accent) 65%,black),0 0 0 7px color-mix(in srgb,var(--typing-accent) 10%,transparent)}}.typing-key-row.row-space{margin:1px 9% 0}.typing-key-row.row-space .key-space{flex:5 1 0;display:flex;justify-content:center;align-items:center;gap:12px}.typing-key-row.row-space .key-backspace{flex:1.6 1 0}.typing-key-row button small{color:#968875;font:700 8px/1 Apple SD Gothic Neo,sans-serif}.typing-key-row button.is-next small{color:#ffffffc2}.typing-rule{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;padding-top:19px;border-top:1px solid var(--line)}.typing-rule>svg{width:30px;color:var(--typing-accent)}.typing-rule>div{min-width:0}.typing-rule small{color:var(--typing-accent);font-size:9px;font-weight:900}.typing-rule p{margin:4px 0 0;color:#625a4f;font-size:12px;line-height:1.55;word-break:keep-all}.typing-rule .primary-button{min-height:45px;padding-inline:17px;background:var(--typing-accent);font-size:11px;box-shadow:none}.typing-rule .primary-button svg{width:15px}.typing-pocket-guide{width:min(1420px,100%);margin:72px auto 0;display:grid;grid-template-columns:minmax(230px,1.1fr) repeat(3,minmax(210px,1fr));gap:16px}.typing-pocket-guide>div{padding:18px 24px 18px 0}.typing-pocket-guide h2{margin:0;font-size:clamp(27px,2.8vw,42px);letter-spacing:-.06em}.typing-pocket-guide article{min-height:150px;padding:20px;display:grid;grid-template-columns:52px 1fr;gap:13px;border-top:3px solid var(--ink);background:#fffaf19e}.typing-pocket-guide article>b{font:700 40px/1 Yu Mincho,Hiragino Mincho ProN,serif;color:var(--typing-accent)}.typing-pocket-guide article strong{font-size:13px}.typing-pocket-guide article p{margin:9px 0 0;color:#766b5c;font-size:11px;line-height:1.65;word-break:keep-all}.typing-pocket-guide article kbd{padding:2px 4px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:700 9px/1 Georgia,serif;box-shadow:0 2px #172b2d21}@media(max-width:1020px){.typing-intro{grid-template-columns:1fr 1fr;gap:38px}.typing-workbench{grid-template-columns:220px minmax(0,1fr)}.typing-practice-card{padding:28px}.typing-prompt{grid-template-columns:1fr;gap:18px}.typing-formula{justify-content:flex-start}.typing-pocket-guide{grid-template-columns:repeat(3,1fr)}.typing-pocket-guide>div{grid-column:1 / -1}}@media(max-width:760px){.typing-lab-page{padding:0 12px 60px}.typing-lab-header{grid-template-columns:42px 1fr auto;min-height:70px}.typing-brand>span{display:none}.typing-progress{grid-template-columns:auto 52px auto;gap:5px}.typing-progress>span{font-size:18px}.typing-intro{grid-template-columns:1fr;gap:22px;padding:42px 7px 32px}.typing-intro h1{font-size:clamp(40px,13vw,60px)}.typing-intro-copy>p{margin-bottom:18px}.typing-flow{gap:6px;overflow-x:auto;padding-bottom:4px}.typing-flow>span{font-size:10px;white-space:nowrap}.typing-workbench{display:flex;flex-direction:column;border-radius:20px;overflow:visible;background:transparent;box-shadow:none;border:0}.typing-lesson-nav{position:relative;z-index:2;margin-bottom:10px;padding:12px;border-radius:17px;overflow-x:auto;display:flex;gap:6px;scrollbar-width:none}.typing-lesson-nav::-webkit-scrollbar{display:none}.typing-nav-heading,.typing-shortcut-note{display:none}.typing-lesson-nav>button{flex:0 0 53px;min-height:51px;padding:6px;display:grid;grid-template-columns:1fr;justify-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px}.typing-lesson-nav>button>div strong,.typing-lesson-nav>button>i{display:none}.typing-lesson-nav>button>div small{font-size:12px}.typing-practice-card{padding:20px 15px 24px;border:1px solid var(--line);border-radius:20px;background-color:#fffcf5e0;box-shadow:0 18px 42px #3a2f1f1a}.typing-card-topline{padding-bottom:13px}.typing-prompt{min-height:0;padding:20px 0}.typing-prompt h2{font-size:58px}.typing-formula{gap:5px;overflow-x:auto;padding-bottom:3px}.typing-formula>span{min-width:57px;padding:8px 5px}.typing-formula strong{font-size:24px}.typing-input-wrap{padding:12px 12px 10px}.typing-input-label small{display:none}.typing-input-row{min-height:67px;grid-template-columns:minmax(0,1fr)}.typing-input-row input{left:12px;width:calc(100% - 24px)}.typing-ghost{font-size:clamp(21px,7vw,30px)}.typing-live-kana{position:absolute;right:12px;top:8px;min-width:0;padding-left:0;border-left:0;font-size:24px}.typing-keyboard{margin:20px auto;padding:8px;border-radius:13px}.typing-key-row{gap:3px;margin-bottom:4px}.typing-key-row button{height:34px;border-radius:5px;font-size:11px}.typing-key-row.row-space{margin-inline:7%}.typing-key-row.row-space .key-space{gap:5px}.typing-rule{grid-template-columns:28px 1fr;gap:9px}.typing-rule>svg{width:23px}.typing-rule .primary-button{grid-column:1 / -1;width:100%}.typing-pocket-guide{margin-top:52px;grid-template-columns:1fr}.typing-pocket-guide>div{grid-column:auto;padding-inline:7px}.typing-pocket-guide article{min-height:126px}}@media(prefers-reduced-motion:reduce){.typing-workbench,.typing-key-row button.is-next,.typing-live-kana i{animation:none}}.guide-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--ink);background:#f3ecde;overflow:hidden}.guide-dialog::backdrop{background:#0f1c1db8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.guide-scroll{width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(circle at 86% 9%,rgba(225,173,70,.14),transparent 30rem),radial-gradient(circle at 8% 40%,rgba(49,91,101,.08),transparent 35rem),#f3ecde}.guide-topbar{position:sticky;top:0;z-index:10;height:76px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,43,45,.13);background:#f3ecdee6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.guide-brand{display:flex;align-items:center;gap:12px}.guide-brand>span{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--vermilion);color:#fff;font:700 22px/1 Georgia,serif}.guide-brand strong,.guide-brand small{display:block}.guide-brand strong{font-size:15px}.guide-brand small{margin-top:2px;color:#7d715f;font-size:9px;letter-spacing:.08em}.guide-close{height:42px;padding:0 14px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#ffffff6b;color:var(--ink);cursor:pointer;font-size:11px;font-weight:800}.guide-close svg{width:18px}.guide-content{width:min(1480px,100%);margin:0 auto;padding:0 clamp(18px,4.6vw,72px) 40px}.guide-cover{position:relative;min-height:calc(100dvh - 76px);margin:0 calc(clamp(18px,4.6vw,72px)*-1);padding:clamp(22px,3vw,42px) clamp(28px,7vw,110px);display:grid;grid-template-columns:minmax(340px,.78fr) minmax(270px,.52fr);align-items:center;justify-content:center;gap:clamp(38px,7vw,110px);color:#f8f2e7;background:#12292c;overflow:hidden}.guide-cover-backdrop{position:absolute;inset:-8%;background:linear-gradient(90deg,#12292c29,#12292cdb),url(/marketing/kana-atelier-marketing-poster-v2.webp) center/cover;filter:blur(25px) saturate(.7);opacity:.24;transform:scale(1.08)}.guide-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 24% 50%,rgba(226,174,69,.18),transparent 35%),linear-gradient(115deg,transparent 60%,rgba(255,255,255,.035))}.guide-cover-poster{position:relative;z-index:1;height:min(calc(100dvh - 124px),900px);display:grid;place-items:center}.guide-cover-poster img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;border-radius:4px;box-shadow:0 32px 80px #0000006b,0 0 0 1px #ffffff1f}.guide-cover-meta{position:relative;z-index:1;align-self:center}.guide-cover-meta>span{color:#e9b64c;font:italic 700 11px/1 Georgia,serif;letter-spacing:.14em}.guide-cover-meta .guide-cover-title{margin:18px 0;font-size:clamp(42px,5vw,72px);line-height:1.05;letter-spacing:-.065em}.guide-cover-meta p{margin:0 0 30px;color:#f8f2e7ab;font-size:14px;line-height:1.8}.guide-cover-meta button{min-height:50px;padding:0 18px;display:flex;align-items:center;gap:18px;border:1px solid rgba(248,242,231,.25);border-radius:999px;background:#ffffff0f;color:#fff;cursor:pointer;font-size:11px;font-weight:900}.guide-cover-meta button:hover{background:#ffffff1f}.guide-cover-meta button i{color:#e9b64c;font: 700 18px/1 Georgia,serif}.guide-hero{min-height:650px;scroll-margin-top:76px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(30px,6vw,100px);border-bottom:1px solid var(--line);overflow:hidden}.guide-kicker{margin:0 0 17px;color:var(--vermilion);font-size:12px;font-weight:900;letter-spacing:.18em}.guide-hero h1{margin:0;font-size:clamp(48px,5.6vw,82px);line-height:1.02;letter-spacing:-.075em}.guide-hero h1 em{color:var(--vermilion);font-style:normal}.guide-hero-copy>p:not(.guide-kicker){margin:28px 0;color:var(--ink-soft);font-size:clamp(15px,1.5vw,19px);line-height:1.8}.guide-hero-pills{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.guide-hero-pills span{min-height:42px;padding:0 13px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fff6;font-size:11px;font-weight:800}.guide-hero-pills svg{width:17px;color:var(--vermilion)}.guide-hero-pills b{color:#9c8e7a;font-weight:400}.learning-wheel{position:relative;width:min(43vw,520px);aspect-ratio:1;justify-self:center}.learning-wheel>svg{width:100%;height:100%;filter:drop-shadow(0 24px 38px rgba(61,46,20,.15))}.wheel-badge{position:absolute;min-height:43px;padding:0 14px;display:flex;align-items:center;gap:7px;border:1px solid rgba(23,43,45,.18);border-radius:999px;background:#fbf6ed;box-shadow:0 10px 30px #2a23181f;font-size:11px;font-weight:900}.wheel-badge svg{width:17px;color:var(--vermilion)}.wheel-badge--sound{top:11%;left:-2%}.wheel-badge--write{right:-3%;top:38%}.wheel-badge--speak{left:9%;bottom:7%}.guide-section{padding:clamp(78px,9vw,128px) 0}.guide-section-heading{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(240px,.7fr);align-items:end;gap:18px;margin-bottom:42px}.guide-section-number{align-self:start;color:var(--vermilion);font:italic 700 14px/1 Georgia,serif}.guide-section-heading p{margin:0 0 6px;color:var(--vermilion);font-size:10px;font-weight:900;letter-spacing:.15em}.guide-section-heading h2{margin:0;font-size:clamp(34px,4vw,57px);line-height:1.07;letter-spacing:-.065em}.guide-section-heading>small{color:#756b5c;font-size:13px;line-height:1.8}.guide-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guide-step-card{min-height:485px;padding:clamp(20px,2.5vw,34px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;background:#faf6edb8;box-shadow:inset 0 2px #ffffff75;overflow:hidden}.guide-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--vermilion);font:italic 700 11px/1 Georgia,serif}.guide-card-top svg{width:22px}.guide-step-card h3{margin:25px 0 10px;font-size:clamp(22px,2vw,29px);letter-spacing:-.045em}.guide-step-card>p{margin:0;color:#6e6457;font-size:13px;line-height:1.75}.guide-step-card>p strong{color:var(--ink)}.sound-demo,.write-demo,.speak-demo{flex:1;min-height:260px;position:relative;display:grid;place-items:center}.sound-kana{font:700 148px/1 Yu Mincho,serif;color:var(--ink)}.sound-waves{position:absolute;left:calc(50% + 63px);top:40%;display:flex;align-items:center;gap:7px}.sound-waves i{width:5px;border-radius:999px;background:var(--vermilion);animation:soundWave 1.4s ease-in-out infinite}.sound-waves i:nth-child(1){height:24px}.sound-waves i:nth-child(2){height:44px;animation-delay:-.2s}.sound-waves i:nth-child(3){height:31px;animation-delay:-.4s}.sound-caption{position:absolute;bottom:28px;padding:7px 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:800}.write-demo>span{position:absolute;font:700 190px/1 Yu Mincho,serif;color:#c8422f21}.write-demo svg{width:min(80%,210px);color:var(--ink);z-index:1;transform:rotate(-3deg)}.speak-demo{align-content:center;gap:22px}.mini-kana-grid{width:min(100%,310px);display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mini-kana-grid span{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:#ffffff80;color:#c8422f80;font:700 clamp(38px,4vw,58px)/1 "Yu Mincho",serif}.mini-mic{display:flex;align-items:center;gap:6px;color:var(--indigo)}.mini-mic svg{width:32px}.mini-mic i{height:3px;width:28px;border-radius:999px;background:currentColor;opacity:.3}.mini-mic i:last-child{width:16px}.guide-route{margin:0 calc(clamp(18px,4.6vw,72px)*-1);padding-left:clamp(18px,4.6vw,72px);padding-right:clamp(18px,4.6vw,72px);border-radius:32px;color:#f7f0e3;background:var(--ink);overflow:hidden}.guide-section-heading--light{grid-template-columns:58px 1fr}.guide-section-heading--light p,.guide-section-heading--light .guide-section-number{color:#efb94b}.row-route-visual{position:relative;min-height:300px;display:grid;grid-template-columns:repeat(5,minmax(80px,1fr)) minmax(150px,1.2fr);align-items:center;gap:clamp(8px,2vw,24px)}.row-route-visual>svg{position:absolute;inset:70px 0 auto;width:100%;height:160px;opacity:.45}.route-kana,.route-result{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.route-kana small{margin-bottom:8px;color:#e9bb5a;font:italic 700 9px Georgia,serif}.route-kana>span{width:clamp(76px,9vw,125px);aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(247,240,227,.24);border-radius:50%;background:#203b3e;font:700 clamp(48px,6vw,82px)/1 "Yu Mincho",serif;box-shadow:0 15px 35px #0000002e}.route-kana b{margin-top:11px;color:#f7f0e39e;font-size:9px}.route-result{min-height:150px;justify-content:center;border-left:1px solid rgba(247,240,227,.14)}.route-result svg{width:30px;color:#efb94b}.route-result strong{margin-top:12px;font:700 clamp(28px,3vw,43px)/1 "Yu Mincho",serif;letter-spacing:.08em}.route-result span{margin-top:9px;color:#f7f0e3a6;font-size:10px}.route-note{max-width:720px;margin:25px auto 0;padding:16px 21px;display:flex;align-items:center;gap:13px;border:1px solid rgba(247,240,227,.14);border-radius:16px;background:#ffffff0a}.route-note svg{flex:0 0 auto;width:23px;color:#efb94b}.route-note p{margin:0;color:#f7f0e3b8;font-size:12px;line-height:1.65}.route-note strong{color:#fff}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mode-grid article{min-height:132px;padding:clamp(18px,2.2vw,26px);display:flex;align-items:flex-start;gap:16px;border:1px solid var(--line);border-radius:21px;background:#faf6ed99}.mode-card--wide{grid-column:1 / -1}.mode-icon{flex:0 0 auto;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#c8422f17;color:var(--vermilion)}.mode-icon svg{width:21px}.mode-grid h3{margin:2px 0 8px;font-size:18px;letter-spacing:-.03em}.mode-grid p{margin:0;color:#716758;font-size:12px;line-height:1.7}.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.benefit-grid article{min-height:180px;padding:clamp(20px,2.8vw,34px);display:flex;align-items:center;gap:23px;border:1px solid var(--line);border-radius:21px;background:#faf6ed99}.benefit-icon{flex:0 0 auto;width:82px;height:82px;display:grid;place-items:center;border-radius:50%;background:var(--paper-deep);color:var(--vermilion);font:700 36px/1 Yu Mincho,serif}.benefit-grid h3{margin:0 0 9px;font-size:20px}.benefit-grid p{margin:0;color:#716758;font-size:12px;line-height:1.7}.guide-facts{display:grid;gap:12px}.guide-facts article{padding:clamp(20px,2.8vw,32px);border:1px solid var(--line);border-radius:21px;background:#faf6ed99}.guide-facts h3{margin:0 0 10px;font-size:20px}.guide-facts p{margin:0 0 12px;color:#716758;font-size:14px;line-height:1.75}.guide-facts p:last-child{margin-bottom:0}.guide-facts a{color:var(--vermilion);font-weight:800}.guide-screen-map{border-top:1px solid var(--line)}.screen-map{display:grid;grid-template-columns:minmax(360px,.9fr) 1.1fr;align-items:center;gap:clamp(36px,7vw,100px)}.map-device{aspect-ratio:4/3;padding:18px;display:grid;grid-template-rows:34px 1fr 44px;border:8px solid var(--ink);border-radius:26px;background:#f8f2e7;box-shadow:0 30px 70px #2a22162b;transform:rotate(-1.5deg)}.map-top{display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);color:var(--vermilion);font-size:10px;font-weight:800}.map-top i{margin-left:auto;width:18px;height:4px;border-radius:99px;background:#172b2d21}.map-top i+i{margin-left:0}.map-canvas{justify-self:center;align-self:center;width:min(82%,330px);aspect-ratio:1;position:relative;display:grid;place-items:center;border:1px solid var(--line);border-radius:17px;background:#ffffff7a;overflow:hidden}.map-canvas>span{position:absolute;color:#c8422f24;font:700 min(20vw,220px)/1 "Yu Mincho",serif}.map-canvas>svg{width:64%;color:var(--ink);z-index:1}.map-stroke-badge{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#c8422f1f;color:var(--vermilion);box-shadow:inset 0 0 0 1px #c8422f2e}.map-stroke-badge svg{width:16px}.map-actions{display:flex;justify-content:flex-end;gap:7px;align-items:end;font-size:8px;font-weight:800}.map-actions span,.map-actions b{padding:8px 11px;border-radius:7px;border:1px solid var(--line)}.map-actions b{color:#fff;background:var(--vermilion);border-color:transparent}.map-legend{list-style:none;margin:0;padding:0;display:grid;gap:10px}.map-legend li{min-height:72px;padding:12px 18px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.map-legend li>span{flex:0 0 auto;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#c8422f17;color:var(--vermilion)}.map-legend svg{width:21px}.map-legend strong{font-size:15px}.map-legend p{margin:5px 0 0;color:#776d5e;font-size:11px}.legend-question{font:700 21px Georgia,serif}.guide-finish{min-height:260px;padding:clamp(28px,4vw,55px);display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:28px;border-radius:28px;background:#e4b34c;color:var(--ink)}.finish-seal{width:82px;height:82px;display:grid;place-items:center;border:3px solid var(--vermilion);border-radius:16px;color:var(--vermilion);font:700 48px/1 Yu Mincho,serif;transform:rotate(-4deg)}.guide-finish p{margin:0 0 7px;color:#704d14;font-size:11px;font-weight:900;letter-spacing:.14em}.guide-finish h2{margin:0;font-size:clamp(25px,3vw,43px);line-height:1.25;letter-spacing:-.05em}.guide-finish .primary-button{background:var(--ink);box-shadow:0 12px 28px #172b2d38}@keyframes soundWave{0%,to{transform:scaleY(.55);opacity:.45}50%{transform:scaleY(1);opacity:1}}@keyframes listeningPulse{0%,to{transform:scale(1);box-shadow:0 0 #c8422f42}50%{transform:scale(.92);box-shadow:0 0 0 9px #c8422f00}}@media(max-width:900px){.hero{grid-template-columns:1fr minmax(290px,.7fr);min-height:650px}.hero h1{font-size:clamp(50px,8vw,76px)}.row-card:has(.row-char-tile:nth-child(3):last-child) .row-char-grid{max-width:100%}.practice-workspace{grid-template-columns:minmax(190px,.5fr) minmax(360px,1fr);gap:28px}.guide-hero{min-height:580px;grid-template-columns:1fr .8fr}.guide-step-card{min-height:440px}.guide-section-heading{grid-template-columns:44px minmax(0,1fr)}.guide-section-heading>small{grid-column:2}.row-route-visual{grid-template-columns:repeat(5,minmax(70px,1fr))}.route-result{grid-column:1/-1;min-height:110px;border-left:0;border-top:1px solid rgba(247,240,227,.14)}.screen-map{grid-template-columns:minmax(330px,.9fr) 1.1fr;gap:30px}}@media(max-width:700px){.home-page{padding:0 17px}.home-header{min-height:74px}.brand{gap:5px}.brand-mark{width:36px;height:36px}.brand-text strong{font-size:15px}.brand-text small{letter-spacing:.12em}.home-progress{font-size:10px}.progress-number{font-size:25px}.home-header-actions{gap:9px}.help-button{min-width:39px;width:39px;height:39px;padding:0}.help-button span{display:none}.hero{min-height:690px;grid-template-columns:1fr;align-items:start}.script-selector{grid-template-columns:1fr;width:100%}.script-selector-button>small{font-size:10px}.hero-copy{padding:54px 0 230px}.hero h1{font-size:clamp(47px,14vw,66px)}.hero-description{margin:28px 0 24px;font-size:15px;line-height:1.7}.hero-actions{grid-template-columns:1fr 1fr;gap:8px}.hero-actions .hero-button{width:100%;min-width:0;flex:none;justify-content:center;min-height:46px;padding:0 10px;font-size:.82em;gap:6px;text-align:center}.hero-actions .hero-button svg{width:15px;height:15px;flex-shrink:0}.desktop-only{display:none}.hero-composition{position:absolute;right:-55px;bottom:-25px;width:340px;min-height:330px;opacity:.88}.sun-disc{width:295px}.hero-kana--one{font-size:260px}.hero-kana--two{font-size:80px;right:5%}.vertical-note{display:none}.row-section{padding:64px 0 80px}.section-heading{display:block}.section-heading h2{font-size:38px}.section-heading>p{margin-top:14px}.row-grid{grid-template-columns:1fr}.row-card{padding:10px 10px 12px;gap:10px}.row-card-launch{grid-template-columns:22px minmax(0,1fr) 34px;gap:8px;padding:4px 2px 0}.row-char-grid{gap:6px}.row-char-check{width:16px;height:16px;font-size:10px;top:4px;right:4px}.row-meta strong{font-size:15px}.row-card:has(.row-char-tile:nth-child(3):last-child) .row-char-grid{max-width:100%}.home-footer{display:block;padding:22px 0 28px;min-height:90px}.home-footer-brand p{margin:8px 0 0}.home-footer-nav{justify-content:flex-start;margin-top:8px}.practice-page{overflow:hidden;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:none;column-gap:0;align-items:stretch;padding:max(6px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom))}.practice-page>.focus-header,.practice-page>.practice-workspace,.practice-page>.practice-actions{grid-area:auto}.practice-page>.practice-actions{width:min(1160px,100%);max-width:none;min-height:56px;margin:0 auto;justify-self:stretch}.practice-page>.practice-actions .primary-button{flex:1 1 0;min-height:48px;padding-inline:10px;font-size:13px}.practice-page>.practice-actions .primary-button svg{width:18px;height:18px}.focus-header{min-height:48px;gap:8px}.focus-header-actions{gap:8px}.header-jump-button{min-height:36px;padding:0 10px;font-size:10px;gap:4px}.header-jump-button svg{width:16px;height:16px}.practice-workspace{display:flex;flex-direction:column;gap:6px;padding:4px 0;align-items:stretch;justify-content:flex-start;overflow:hidden}.practice-copy{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:4px;flex-shrink:0}.practice-copy .eyebrow{grid-column:1 / -1;margin-bottom:0;font-size:10px}.character-heading{grid-column:1;grid-row:2;gap:10px}.character-heading h1{font-size:clamp(42px,12vw,64px)}.character-heading strong{font-size:18px}.character-heading span{font-size:11px;margin-top:2px}.practice-note{grid-column:1 / -1;grid-row:3;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.practice-copy>.sound-button{grid-column:2;grid-row:2;justify-self:end;align-self:center;margin:0;min-width:42px;width:42px;min-height:42px;padding:0;justify-content:center;gap:0}.practice-copy>.sound-button svg{width:22px;height:22px}.practice-copy>.sound-button .sound-button-label{display:none}.sound-block{grid-column:1 / -1;grid-row:4;gap:2px}.sound-caption-toggle{min-height:32px;font-size:11px}.sound-caption-hint{font-size:10px}.sound-caption-panel{font-size:13px;max-width:min(88vw,18rem)}.practice-canvas-links{width:min(42dvh,calc(100vw - 28px));margin:0 0 4px}.practice-mnemonic-link{align-self:auto;margin:0;font-size:11px}.practice-erase-bar{width:min(42dvh,calc(100vw - 28px));margin-bottom:4px}.practice-erase-button{min-height:34px;padding:0 10px;font-size:11px}.practice-erase-button svg{width:16px;height:16px}.practice-canvas-wrap,.association-panel{flex:1;min-height:0;width:100%}.association-card{width:min(42dvh,calc(100vw - 28px));max-height:min(42dvh,100%);border-radius:16px}.association-card figcaption{padding:8px 10px 10px}.association-card figcaption strong{font-size:18px}.association-hint{width:min(42dvh,calc(100vw - 28px));font-size:10px}.practice-ink-stage{width:min(42dvh,calc(100vw - 28px));max-height:min(42dvh,calc(100dvh - 210px))}.practice-ink-stage .ink-surface,.stroke-demo{border-radius:16px}.ink-surface{width:min(42dvh,calc(100vw - 28px));max-height:min(42dvh,calc(100dvh - 210px));border-radius:16px}.ink-guide{font-size:min(32dvh,58vw)}.canvas-caption{width:min(42dvh,calc(100vw - 28px));margin-top:4px;font-size:10px}.practice-page>.practice-actions{position:relative;padding-top:4px;gap:8px;background:transparent}.row-review-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:none;gap:5px;padding-left:8px;padding-right:8px}.row-review-header,.row-review-tabs,.row-review-toolbar,.row-review-workspace,.row-review-footer{grid-area:auto}.row-review-header{min-height:44px;gap:8px;grid-template-columns:40px 1fr auto}.row-review-title,.row-review-title small,.row-review-title strong{display:block}.row-review-title strong{margin-top:2px;font-size:10px}.row-review-tabs{min-height:36px;gap:3px}.row-review-tab{min-height:36px;border-radius:10px;font-size:clamp(13px,3.8vw,16px)}.row-review-toolbar{min-height:40px;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding-right:0}.row-review-toolbar-copy{flex:1 1 auto;min-width:0}.row-review-toolbar-copy .eyebrow{display:none}.row-review-toolbar-copy h1{font-size:clamp(20px,6.2vw,28px)}.row-review-toolbar-copy>p:last-child{display:inline;margin:0 0 0 8px;font-size:11px;white-space:nowrap}.row-review-toolbar-tools{flex:0 0 auto;justify-content:flex-end;gap:6px}.row-review-toolbar-tools .listen-chip,.row-review-toolbar-tools .clear-chip{min-width:38px;width:38px;min-height:38px;padding:0;justify-content:center;gap:0}.row-review-toolbar-tools .listen-chip svg,.row-review-toolbar-tools .clear-chip svg{width:20px;height:20px}.row-review-toolbar-tools .chip-label{display:none}.row-review-workspace{grid-template-columns:minmax(0,1fr);gap:0;align-items:center;width:min(1180px,100%)}.row-review-grid--5{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px;align-content:center}.row-review-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%;gap:8px 6px}.row-review-grid--5 .row-review-cell{--cell-gap: 5px;width:min(100%,calc((50cqh - 10px - var(--cell-gap)) / 2.5))}.row-review-grid--3 .row-review-cell{--cell-gap: 5px}.row-review-cell .ink-surface{border-radius:12px}.row-review-cell .ink-guide{font-size:70cqmin}.row-review-ink-stage .stroke-demo{border-radius:12px}.row-review-footer{display:none}.pronunciation-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:5px;padding-left:10px;padding-right:10px}.pronunciation-header{min-height:44px;gap:8px}.pronunciation-title{display:block;min-width:0}.pronunciation-title small,.pronunciation-title strong{display:block}.pronunciation-title strong{margin-top:2px;font-size:10px}.pronunciation-next-button{min-height:36px;padding:0 10px;font-size:11px}.pronunciation-next-button svg{width:14px;height:14px}.pronunciation-row-tabs{min-height:34px;gap:3px}.pronunciation-row-tabs .row-review-tab{min-height:34px;border-radius:10px;font-size:clamp(13px,3.8vw,16px)}.pronunciation-prompt{min-height:52px;align-items:center;flex-wrap:wrap;gap:8px}.prompt-copy .eyebrow{display:none}.prompt-copy h1{font-size:clamp(24px,7vw,31px)}.prompt-copy>p:last-child{display:block;margin:4px 0 0;font-size:11px}.prompt-tools{gap:5px}.listen-chip,.clear-chip{min-height:38px;padding:0 10px;font-size:10px}.pronunciation-speak-bar{min-height:44px}.pronunciation-speak-bar .primary-button,.pronunciation-speak-bar .mic-button{width:100%;min-width:0;min-height:44px;font-size:14px;padding:0 16px}.pronunciation-speak-bar .primary-button svg,.pronunciation-speak-bar .mic-button svg{width:20px;height:20px}.pronunciation-speak-hint{font-size:12px}.speech-status{min-height:56px;height:auto;padding:8px 10px;grid-template-columns:34px minmax(0,1fr);gap:9px}.status-orb{width:32px;height:32px}.speech-status p{white-space:normal;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.transcript-box{display:none}.pronunciation-grid,.pronunciation-grid--2,.pronunciation-grid--3,.pronunciation-grid--4,.pronunciation-grid--5,.pronunciation-grid--6{--pron-cell-max: 168px;width:100%;max-width:min(100%,346px);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:10px;align-self:stretch;align-content:center}.pronunciation-grid--7,.pronunciation-grid--8,.pronunciation-grid--9,.pronunciation-grid--10,.pronunciation-grid--11,.pronunciation-grid--12{--pron-cell-max: 112px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pronunciation-grid .ink-surface{width:auto;height:100%;max-width:100%;max-height:var(--pron-cell-max, 112px);min-width:0;justify-self:center;border-radius:16px;container-type:size}.pronunciation-grid .ink-guide{font-size:clamp(48px,18vw,118px);font-size:70cqmin}.word-study-page{gap:5px;padding-left:8px;padding-right:8px;grid-template-rows:auto auto auto auto minmax(0,1fr)}.word-study-header{min-height:44px;gap:8px;grid-template-columns:40px 1fr auto}.word-study-title,.word-study-title small,.word-study-title strong{display:block}.word-study-title strong{margin-top:2px;font-size:10px}.word-study-row-tabs{min-height:34px;gap:3px}.word-study-row-tabs .row-review-tab{min-height:34px;border-radius:10px;font-size:clamp(13px,3.8vw,16px)}.word-study-char-tabs{min-height:36px;gap:4px}.word-study-char-tab{min-width:40px;min-height:36px;padding:0 10px;border-radius:10px;font-size:clamp(15px,4.2vw,18px)}.word-study-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.word-card{min-height:64px;padding:7px 6px;border-radius:12px;gap:2px}.word-card-jp{font-size:clamp(14px,3.8vw,17px)}.word-card-romaji{font-size:9px}.word-card-meaning{font-size:10px}.word-study-practice-toolbar{flex-direction:row;align-items:center;gap:8px}.word-study-practice-tools .chip-label{display:none}.word-study-practice-tools .listen-chip,.word-study-practice-tools .clear-chip{min-width:38px;width:38px;min-height:38px;padding:0;justify-content:center}.word-study-ink-grid{gap:6px;height:100%;container-type:size;align-content:center;justify-content:center;place-items:center}.word-study-ink-grid--1{grid-template-columns:minmax(0,1fr);justify-items:center}.word-study-ink-grid--2,.word-study-ink-grid--3,.word-study-ink-grid--4,.word-study-ink-grid--5,.word-study-ink-grid--6,.word-study-ink-grid--7,.word-study-ink-grid--8{grid-template-columns:repeat(2,minmax(0,1fr))}.word-study-ink-grid .ink-surface{width:min(100%,100cqh);height:auto;max-width:100%;max-height:none;aspect-ratio:1;border-radius:12px;justify-self:center}.word-study-ink-grid--1 .ink-surface{width:min(100%,100cqh,72vw)}.word-study-ink-grid--3 .ink-surface,.word-study-ink-grid--4 .ink-surface{width:min(100%,calc((100cqh - 6px)/2))}.word-study-ink-grid--5 .ink-surface,.word-study-ink-grid--6 .ink-surface{width:min(100%,calc((100cqh - 12px) / 3))}.word-study-ink-grid--7 .ink-surface,.word-study-ink-grid--8 .ink-surface{width:min(100%,calc((100cqh - 18px)/4))}.word-study-ink-grid .ink-guide{font-size:clamp(48px,18vw,160px);font-size:82cqmin}.word-study-empty{min-height:80px;padding:14px}.word-study-empty p{font-size:12px}.sentence-study-page{gap:5px;padding-left:8px;padding-right:8px}.sentence-study-header{min-height:44px;gap:8px;grid-template-columns:40px 1fr auto}.sentence-study-title,.sentence-study-title small,.sentence-study-title strong{display:block}.sentence-study-title strong{margin-top:2px;font-size:10px}.sentence-study-list-hint--desktop{display:none}.sentence-study-list-hint--mobile{display:block;font-size:10px}.sentence-study-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:0}.sentence-study-page[data-pane=list] .sentence-study-practice,.sentence-study-page[data-pane=practice] .sentence-study-list,.sentence-study-page[data-pane=practice] .sentence-study-title-summary{display:none}.sentence-study-page[data-pane=practice] .sentence-study-title-detail{display:block;margin-top:2px;font-size:11px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;color:var(--ink);letter-spacing:.02em}.sentence-study-page[data-pane=list] .sentence-study-title-detail{display:none}.sentence-study-list,.sentence-study-practice{min-height:0;height:100%;overflow:hidden}.sentence-study-cards{gap:6px}.sentence-card{padding:10px 10px 12px;border-radius:12px}.sentence-card-jp{font-size:14px}.sentence-card-romaji{font-size:10px}.sentence-card-meaning{font-size:11px}.sentence-study-practice{padding:0}.sentence-study-practice-toolbar{flex-direction:row;align-items:center;gap:8px}.sentence-study-practice-copy .eyebrow{margin-bottom:0}.sentence-study-practice-copy h1,.sentence-study-practice-copy>p{display:none}.sentence-study-practice-tools{margin-left:auto}.sentence-study-practice-tools .chip-label{display:none}.sentence-study-practice-tools .listen-chip,.sentence-study-practice-tools .clear-chip{min-width:38px;width:38px;min-height:38px;padding:0;justify-content:center}.sentence-study-ink-grid{gap:6px}.sentence-study-ink-grid .ink-surface{border-radius:12px}.sentence-study-ink-meta{font-size:10px}.similar-chars-page{gap:5px;padding-left:8px;padding-right:8px}.similar-chars-header{min-height:44px;gap:8px;grid-template-columns:40px 1fr auto}.similar-chars-title,.similar-chars-title small,.similar-chars-title strong{display:block}.similar-chars-title strong{margin-top:2px;font-size:10px}.similar-chars-list-hint--desktop{display:none}.similar-chars-list-hint--mobile{display:block;font-size:10px}.similar-chars-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:0}.similar-chars-page[data-pane=list] .similar-chars-practice,.similar-chars-page[data-pane=practice] .similar-chars-list,.similar-chars-page[data-pane=practice] .similar-chars-title-summary{display:none}.similar-chars-page[data-pane=practice] .similar-chars-title-detail{display:block;margin-top:2px;font-size:11px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;color:var(--ink);letter-spacing:.04em}.similar-chars-page[data-pane=list] .similar-chars-title-detail{display:none}.similar-chars-list,.similar-chars-practice{min-height:0;height:100%;overflow:hidden}.similar-chars-practice{padding:0;gap:8px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.similar-chars-cards{gap:6px}.similar-group-card{padding:10px 10px 12px;border-radius:12px}.similar-group-card-jp{font-size:16px}.similar-group-card-meaning{font-size:11px}.similar-chars-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.similar-compare-kana{font-size:28px}.similar-compare-tip{font-size:10px}.similar-chars-write-row{grid-template-columns:minmax(110px,.42fr) minmax(0,.58fr);gap:8px}.similar-chars-mnemonic{padding:8px;border-radius:14px}.similar-chars-mnemonic figcaption strong{font-size:22px}.similar-chars-mnemonic figcaption span{font-size:11px}.similar-chars-write-tools .chip-label{display:none}.similar-chars-write-tools .listen-chip,.similar-chars-write-tools .clear-chip{min-width:38px;width:38px;min-height:38px;padding:0;justify-content:center}.similar-chars-ink-stage .ink-surface{border-radius:14px}.similar-chars-tip-line{font-size:11px}.similar-chars-word-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.similar-chars-word-list li{padding:7px 8px;border-radius:10px}.similar-chars-word-list strong{font-size:13px}.similar-chars-word-list span{font-size:9px}.similar-chars-word-list em{font-size:10px}.guide-topbar{height:60px;padding:0 14px}.guide-brand>span{width:32px;height:32px;font-size:18px}.guide-brand strong{font-size:13px}.guide-close{width:38px;height:38px;padding:0;justify-content:center}.guide-close span{display:none}.guide-content{padding:0 16px 18px}.guide-cover{min-height:calc(100dvh - 60px);margin:0 -16px;padding:18px 16px;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:10px}.guide-cover-poster{height:min(68dvh,650px);min-height:0}.guide-cover-poster img{max-width:calc(100vw - 32px)}.guide-cover-meta{justify-self:center}.guide-cover-meta>span,.guide-cover-meta .guide-cover-title,.guide-cover-meta p{display:none}.guide-cover-meta button{min-height:43px;padding:0 15px;background:#ffffff17}.guide-hero{min-height:720px;grid-template-columns:1fr;align-content:center;gap:10px;padding:48px 0 28px}.guide-hero h1{font-size:clamp(40px,12vw,53px)}.guide-hero-copy>p:not(.guide-kicker){font-size:14px;margin:21px 0}.guide-hero-pills{gap:6px}.guide-hero-pills span{min-height:36px;padding:0 9px;font-size:9px}.guide-hero-pills b{display:none}.learning-wheel{width:min(78vw,320px)}.wheel-badge{min-height:36px;padding:0 10px;font-size:9px}.wheel-badge--sound{left:-1%}.wheel-badge--write{right:-3%}.guide-section{padding:72px 0}.guide-section-heading,.guide-section-heading--light{grid-template-columns:34px 1fr;gap:10px;margin-bottom:28px}.guide-section-heading h2{font-size:35px}.guide-section-heading>small{grid-column:2;font-size:11px}.guide-step-grid{grid-template-columns:1fr}.guide-step-card{min-height:430px;padding:22px}.sound-demo,.write-demo,.speak-demo{min-height:235px}.sound-kana{font-size:130px}.write-demo>span{font-size:165px}.mini-kana-grid{width:280px}.mini-kana-grid span{font-size:49px}.guide-route{margin:0 -16px;padding:70px 16px;border-radius:0}.row-route-visual{min-height:330px;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;align-content:center}.row-route-visual>svg{display:none}.route-kana>span{width:min(16vw,62px);font-size:min(11vw,45px)}.route-kana b{font-size:7px}.route-result{min-height:105px}.route-result strong{font-size:31px}.route-note{padding:13px}.mode-grid{grid-template-columns:1fr}.mode-card--wide{grid-column:auto}.mode-grid article{min-height:118px;padding:18px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:150px;padding:21px;gap:17px}.benefit-icon{width:64px;height:64px;font-size:29px}.benefit-grid h3{font-size:18px}.screen-map{grid-template-columns:1fr;gap:42px}.map-device{width:min(100%,420px);justify-self:center}.map-legend li{min-height:80px;padding:12px 8px}.guide-finish{min-height:390px;padding:30px 23px;grid-template-columns:1fr;justify-items:start;gap:20px;border-radius:21px}.finish-seal{width:65px;height:65px;font-size:38px}.guide-finish .primary-button{width:100%}}@media(orientation:landscape)and (max-height:560px){.row-review-page{grid-template-rows:40px 34px 40px minmax(0,1fr);gap:4px;padding-top:4px;padding-bottom:4px}.row-review-header{min-height:40px}.row-review-tabs{min-height:32px}.row-review-tab{min-height:32px;font-size:14px}.row-review-toolbar{min-height:40px;flex-direction:row;align-items:center}.row-review-toolbar-copy h1{font-size:24px}.row-review-toolbar-copy>p:last-child{display:inline;margin-left:10px}.row-review-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.row-review-grid--5 .row-review-cell,.row-review-grid--3 .row-review-cell{width:min(100%,calc((100cqh - var(--cell-gap)) / 2.5))}.row-review-cell{gap:4px}.row-review-cell .ink-guide{font-size:70cqmin}.pronunciation-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:4px;padding-top:4px;padding-bottom:4px}.pronunciation-header{min-height:40px}.pronunciation-next-button{min-height:34px;padding:0 10px;font-size:11px}.pronunciation-row-tabs{min-height:30px}.pronunciation-prompt{min-height:44px}.prompt-copy h1{font-size:26px}.pronunciation-speak-bar,.pronunciation-speak-bar .primary-button,.pronunciation-speak-bar .mic-button{min-height:40px}.speech-status{min-height:48px;padding:6px 10px}.pronunciation-grid,.pronunciation-grid--3,.pronunciation-grid--5{width:min(760px,100%);max-width:min(760px,100%);grid-template-columns:repeat(5,minmax(0,120px));grid-template-rows:1fr;gap:7px}.pronunciation-grid--3{grid-template-columns:repeat(3,minmax(0,130px))}.pronunciation-grid .ink-surface{width:auto;height:100%;max-width:100%;max-height:min(28dvh,140px)}.pronunciation-grid .ink-guide{font-size:min(22dvh,96px)}.word-study-page{grid-template-rows:40px 32px 34px 72px minmax(0,1fr);gap:4px;padding-top:4px;padding-bottom:4px}.word-study-header{min-height:40px}.word-study-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.word-card{min-height:64px;padding:6px 8px}.word-study-ink-grid{height:auto;container-type:normal;align-content:center}.word-study-ink-grid--1{grid-template-columns:minmax(0,160px)}.word-study-ink-grid--2{grid-template-columns:repeat(2,minmax(0,140px))}.word-study-ink-grid--3,.word-study-ink-grid--4,.word-study-ink-grid--5,.word-study-ink-grid--6,.word-study-ink-grid--7,.word-study-ink-grid--8{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.word-study-ink-grid .ink-surface,.word-study-ink-grid--1 .ink-surface,.word-study-ink-grid--3 .ink-surface,.word-study-ink-grid--4 .ink-surface,.word-study-ink-grid--5 .ink-surface,.word-study-ink-grid--6 .ink-surface,.word-study-ink-grid--7 .ink-surface,.word-study-ink-grid--8 .ink-surface{width:100%;height:auto;max-height:min(28dvh,120px)}}@media(max-width:700px)and (orientation:portrait){.row-review-grid--5{grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:auto repeat(3,minmax(0,1fr))}.row-review-grid--3{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto repeat(2,minmax(0,1fr));max-width:100%}.row-review-grid--5,.row-review-grid--3{gap:1px;align-content:stretch;align-items:stretch}.row-review-cell{display:contents}.row-review-thumb{grid-row:1;grid-column:span 2;display:flex;align-items:flex-end;justify-content:center;margin-bottom:5px}.row-review-thumb img{width:auto;height:clamp(52px,11dvh,96px);max-width:100%}.row-review-write{display:flex;align-items:center;height:100%;min-height:0;gap:0;container-type:size}.row-review-grid--5 .row-review-write{grid-column:span 5}.row-review-grid--3 .row-review-write{grid-column:span 3}.row-review-grid--5 .row-review-cell:nth-child(-n+2) .row-review-write{grid-row:2}.row-review-grid--5 .row-review-cell:nth-child(n+3):nth-child(-n+4) .row-review-write{grid-row:3}.row-review-grid--5 .row-review-cell:nth-child(5) .row-review-write{grid-row:4}.row-review-grid--3 .row-review-cell:nth-child(-n+2) .row-review-write{grid-row:2}.row-review-grid--3 .row-review-cell:nth-child(3) .row-review-write{grid-row:3}.row-review-ink-stage{width:min(100cqw,100cqh);height:auto;max-width:100%;aspect-ratio:1;margin-inline:auto}.row-review-cell:nth-child(odd) .row-review-ink-stage{margin-inline:auto 0}.row-review-cell:nth-child(2n) .row-review-ink-stage{margin-inline:0 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
