:root{color-scheme:light;--bg:#faf7f1;--surface:#fff;--surface-2:#f2ede2;--ink:#1b2130;--ink-2:#4b5366;--ink-3:#6f7789;--line:#e5ded0;--brand:#27447f;--brand-ink:#fff;--brand-soft:#e4eaf7;--accent:#cf4326;--accent-soft:#fbe8e2;--ok:#1c7c50;--ok-soft:#e0f2e8;--bad:#bf3528;--bad-soft:#fbe5e2;--radius:14px;--shadow:0 1px 2px #1b21300d, 0 12px 30px -14px #1b21302e;--font:"Pretendard Variable", Pretendard, "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif;--font-ja:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, var(--font);--font-kyo:"Klee One", "UD Digi Kyokasho N-R", "YuKyokasho", var(--font-ja)}:root[data-theme=dark]{color-scheme:dark;--bg:#11141b;--surface:#191e29;--surface-2:#222938;--ink:#e9ecf3;--ink-2:#b5bccb;--ink-3:#8b94a6;--line:#2c3445;--brand:#a9c0ff;--brand-ink:#0f1626;--brand-soft:#1f2a45;--accent:#ff8a6e;--accent-soft:#38211c;--ok:#62d19c;--ok-soft:#163325;--bad:#ff8f85;--bad-soft:#3a1e1c;--shadow:0 1px 2px #0000004d, 0 12px 30px -14px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#11141b;--surface:#191e29;--surface-2:#222938;--ink:#e9ecf3;--ink-2:#b5bccb;--ink-3:#8b94a6;--line:#2c3445;--brand:#a9c0ff;--brand-ink:#0f1626;--brand-soft:#1f2a45;--accent:#ff8a6e;--accent-soft:#38211c;--ok:#62d19c;--ok-soft:#163325;--bad:#ff8f85;--bad-soft:#3a1e1c;--shadow:0 1px 2px #0000004d, 0 12px 30px -14px #0009}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.75}:lang(ja){font-family:var(--font-ja);word-break:normal;line-break:strict}span:lang(ja){white-space:nowrap}.quiz span:lang(ja){white-space:normal}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance}h1{letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(1.75rem,1.25rem + 2.2vw,2.5rem);font-weight:800;line-height:1.3}h2{margin:2.75rem 0 .75rem;font-size:1.375rem;font-weight:800;line-height:1.4}h3{margin:1.5rem 0 .4rem;font-size:1.0625rem;font-weight:700}p{margin:0 0 1rem}a{color:var(--brand);text-underline-offset:.2em}ruby{ruby-align:center}rt{color:var(--ink-3);letter-spacing:0;user-select:none;font-size:.55em;font-weight:400}.no-furi rt{visibility:hidden}.no-furi ruby:hover rt{visibility:visible}.ro{color:var(--ink-3);font-family:var(--font);letter-spacing:.01em;margin:.1rem 0 .15rem;font-size:.875rem}.word-ro{margin:0;display:block}.no-ro .ro{display:none}@media (width<=40rem){.word-list span.word-w,.word-list span.word-r,.word-list span.word-ro{white-space:normal}.word-list td:last-child{min-width:8rem}}:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 60%, transparent);outline-offset:2px}.skip{z-index:50;background:var(--brand);color:var(--brand-ink);border-radius:10px;padding:.5rem .9rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:.75rem}.wrap{width:min(100% - 2rem,68rem);margin-inline:auto}.page{padding-block:2rem 4rem}.narrow{max-width:44rem}.lead{color:var(--ink-2);max-width:40rem;font-size:1.125rem}.eyebrow{color:var(--accent);margin:0 0 .5rem;font-size:.875rem;font-weight:800}.muted{color:var(--ink-3)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.done-only{display:none}.is-done>a .done-only{display:block}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{align-items:center;gap:.75rem;min-height:3.5rem;display:flex}.logo{letter-spacing:-.02em;color:var(--ink);white-space:nowrap;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:800;text-decoration:none;display:inline-flex}.site-nav{scrollbar-width:none;gap:.15rem;margin-left:auto;display:flex;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:.35rem .7rem;font-size:.9375rem;font-weight:600;text-decoration:none}.site-nav a:hover{background:var(--surface-2);color:var(--ink)}.site-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.icon-btn{border:1px solid var(--line);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--ink-2);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn:hover{color:var(--ink);border-color:var(--ink-3)}@media (width<=52rem){.site-header .wrap{flex-wrap:wrap;row-gap:0;padding-top:.4rem}.site-header .icon-btn{margin-left:auto}.site-nav{order:3;width:calc(100% + 2rem);margin:0 -1rem;padding:.3rem 1rem .5rem}}.site-footer{border-top:1px solid var(--line);color:var(--ink-2);margin-top:4rem;padding:2.5rem 0 3rem;font-size:.9375rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem 2.5rem;display:flex}.site-footer p{max-width:28rem;margin:.25rem 0 0}.site-footer nav{flex-wrap:wrap;align-content:flex-start;gap:.25rem 1.25rem;display:flex}.site-footer a{color:var(--ink-2)}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-weight:700;line-height:1.4;text-decoration:none;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--brand);color:var(--brand-ink)}.btn--primary:hover{background:color-mix(in srgb, var(--brand) 88%, var(--ink))}.btn--ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn--ghost:hover{border-color:var(--ink-3)}.link-btn{color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.875rem;text-decoration:underline}.seg{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-wrap:wrap;gap:.25rem;padding:.25rem;display:inline-flex}.seg button{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.35rem .75rem;font-size:.9375rem;font-weight:600}.seg button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand)}.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(2rem,5vw,3.5rem)}.hero-grid{align-items:center;gap:2.5rem;display:grid}@media (width>=60rem){.hero-grid{grid-template-columns:1.15fr .85fr}}.hero h1{font-size:clamp(2rem,1.3rem + 3.2vw,3.25rem);line-height:1.22}.hero-cta{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.steps{grid-template-columns:repeat(4,1fr);align-items:end;gap:.6rem;width:min(100%,26rem);margin-inline:auto;display:grid}.step{margin-bottom:calc(var(--i) * 1.5rem);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);text-align:center;border-radius:16px;padding:.9rem .3rem .7rem}.step b{font-family:var(--font-kyo);color:var(--brand);font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.25;display:block}.step:last-child b{color:var(--accent)}.step span{color:var(--ink-2);font-size:.8125rem;font-weight:700}.features{gap:1rem;display:grid}@media (width>=40rem){.features{grid-template-columns:repeat(2,minmax(0,1fr))}}.feature{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.25rem}.feature h3{margin:0 0 .35rem}.feature p{color:var(--ink-2);margin:0;font-size:1rem}.stage{margin:3rem 0}.stage-no{color:var(--accent);margin:0;font-size:.875rem;font-weight:800}.stage>h2{margin:.1rem 0 .4rem;font-size:1.625rem}.units{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:start;gap:1rem;margin-top:1.25rem;display:grid}.unit{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.1rem 1.1rem .5rem}.unit-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.unit-title{letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:800;line-height:1.4}.unit-title a{color:inherit;text-decoration:none}.unit-title a:hover{text-decoration:underline}.hub-list{gap:.6rem;margin:1rem 0;padding:0;list-style:none;display:grid}.hub-list a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);align-items:flex-start;gap:.8rem;padding:.9rem 1rem;text-decoration:none;display:flex}.hub-list a:hover{border-color:var(--brand)}.hub-list .check{margin-top:.3rem}.hub-list strong{font-size:1.0625rem;line-height:1.6;display:block}.hub-list strong .muted{margin-left:.35rem;font-size:.875rem;font-weight:400}.hub-sum{color:var(--ink-2);font-size:.9375rem;display:block}.unit-progress{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem;font-weight:700}.unit>p{color:var(--ink-2);margin:.3rem 0 0;font-size:.9375rem}.bar{background:var(--surface-2);border-radius:99px;height:6px;margin:.7rem 0 .4rem;overflow:hidden}.bar i{width:calc(var(--p,0) * 100%);border-radius:inherit;background:var(--ok);height:100%;transition:width .3s;display:block}.lessons{margin:.5rem 0 0;padding:0;list-style:none}.lessons a{border-top:1px solid var(--line);color:var(--ink);align-items:center;gap:.6rem;padding:.55rem .15rem;font-size:1rem;font-weight:600;line-height:1.5;text-decoration:none;display:flex}.lessons a:hover .lesson-t{color:var(--brand);text-decoration:underline}.lessons a[aria-current=page]{color:var(--brand)}.check{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:1.25rem;height:1.25rem;display:grid}.is-done>a .check{border-color:var(--ok);background:var(--ok)}.is-done>a .check:after{content:"";border:solid var(--surface);border-width:0 2px 2px 0;width:.3rem;height:.55rem;margin-top:-.12rem;transform:rotate(45deg)}.kind{background:var(--surface-2);color:var(--ink-2);border-radius:6px;flex:none;padding:.05rem .4rem;font-size:.6875rem;font-weight:800}.kind--grammar{background:var(--brand-soft);color:var(--brand)}.kind--vocab{background:var(--accent-soft);color:var(--accent)}.kind--talk{background:var(--ok-soft);color:var(--ok)}.path{gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}@media (width>=44rem){.path{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.path{grid-template-columns:repeat(3,minmax(0,1fr))}}.path-step a{border:1px dashed var(--line);border-radius:var(--radius);height:100%;color:var(--ink);align-items:center;gap:.8rem;padding:.8rem 1rem;text-decoration:none;display:flex}.path-step.is-open a{background:var(--surface);border-style:solid}.path-step a:hover{border-color:var(--brand)}.path-no{background:var(--surface-2);width:2rem;height:2rem;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:.9375rem;font-weight:800;display:grid}.path-step.is-open .path-no{background:var(--brand);color:var(--brand-ink)}.path-text{flex-direction:column;min-width:0;line-height:1.45;display:flex}.path-text strong{font-size:1.0625rem}.path-text span{color:var(--ink-2);font-size:.9375rem}.path-state{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:.8125rem;font-weight:700}.path-step.is-open .path-state{color:var(--ok)}.path-more{margin:1rem 0 0;font-weight:600}.stage-state{background:var(--surface-2);color:var(--ink-2);border-radius:99px;margin-left:.5rem;padding:.05rem .55rem;font-size:.75rem}.stage-intro{gap:1rem 2rem;margin-top:1rem;display:grid}.stage-intro>p{color:var(--ink-2);margin:0}@media (width>=52rem){.stage-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}}.cando{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1rem 1.25rem}.cando h3{color:var(--ink-2);margin:0 0 .4rem;font-size:.9375rem}.cando ul{margin:0;padding-left:1.2rem}.cando li{margin:.15rem 0}.unit--planned{background:0 0;border-style:dashed}.unit>p.planned-label{color:var(--ink-3);margin:.9rem 0 0;font-size:.8125rem;font-weight:700}.planned{margin:.5rem 0 0;padding:0;list-style:none}.planned li{border-top:1px solid var(--line);color:var(--ink-2);align-items:baseline;gap:.6rem;padding:.4rem .15rem;font-size:.9375rem;line-height:1.5;display:flex}.continue{border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);border-radius:var(--radius);background:var(--brand-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:1.75rem 0 0;padding:1.1rem 1.25rem;display:flex}.continue p{margin:0;font-weight:700}.continue-more{text-align:right;margin:.6rem 0 0;font-size:.9rem}.transfer{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:3rem;padding:1.5rem 1.25rem}.transfer h2{margin-top:0}.transfer p{max-width:42rem;color:var(--ink-2)}.transfer-out{justify-items:start;gap:.75rem;margin-top:1.25rem;display:grid}.transfer-link{border:1px solid var(--line);background:var(--bg);width:100%;max-width:42rem;color:var(--ink);font:inherit;border-radius:12px;padding:.7rem .9rem;font-size:.9375rem}.transfer-actions,.dialog-actions{flex-wrap:wrap;gap:.6rem;display:flex}.transfer p.transfer-note{color:var(--ink-3);margin:0;font-size:.9rem}.transfer .transfer-out+.transfer-note{margin-top:1rem}.dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(100% - 2rem,28rem);color:var(--ink);box-shadow:var(--shadow);padding:1.5rem}.dialog::backdrop{background:#00000080}.dialog h2{margin:0 0 .75rem;font-size:1.25rem}.dialog p{margin:0 0 .75rem}.dialog-warn{border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:0 12px 12px 0;padding:.75rem .9rem}.dialog-actions{margin-top:1.25rem}.upcoming{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.upcoming li{border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-2);padding:1rem 1.1rem;font-size:.9375rem}.upcoming strong{color:var(--ink);font-size:1rem;display:block}.crumbs{color:var(--ink-3);flex-wrap:wrap;gap:.15rem .5rem;margin:0 0 1rem;padding:0;font-size:.875rem;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:.5rem}.crumbs a{color:var(--ink-2)}.lesson-grid{gap:2.5rem;padding-block:2rem 4rem;display:grid}@media (width>=64rem){.lesson-grid{grid-template-columns:minmax(0,1fr) 17.5rem}.lesson-side{align-self:start;max-height:calc(100vh - 6.5rem);position:sticky;top:5rem;overflow-y:auto}}.lesson{min-width:0;max-width:46rem}.lesson-meta{color:var(--accent);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.875rem;font-weight:700;display:flex}.done-badge{background:var(--ok-soft);color:var(--ok);border-radius:99px;padding:.05rem .55rem;font-size:.8125rem;display:none}.lesson.is-done .done-badge{display:inline-block}.lesson-tools{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;display:flex}.tool-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:99px;padding:.35rem .8rem;font-size:.875rem;font-weight:600}.tool-btn:hover{border-color:var(--ink-3);color:var(--ink)}.goals{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:1.75rem 0;padding:1rem 1.25rem}.goals h2{color:var(--ink-2);margin:0 0 .4rem;font-size:.9375rem}.goals ul{margin:0;padding-left:1.2rem}.pattern{border:1px solid color-mix(in srgb, var(--brand) 18%, transparent);border-radius:var(--radius);background:var(--brand-soft);align-items:flex-start;gap:.9rem;margin:1.5rem 0;padding:1rem 1.25rem;display:flex}.pattern-jp{margin:0;font-size:1.5rem;font-weight:600;line-height:2.1}.pattern-jp b,.ex-jp b{color:var(--accent);font-weight:700}.pattern-ko{color:var(--ink-2);margin:0}.examples{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:1.25rem 0;padding:0;list-style:none}.ex{align-items:flex-start;gap:.75rem;padding:.8rem 1rem;display:flex}.ex+.ex{border-top:1px solid var(--line)}.ex-who{width:1.1rem;color:var(--ink-3);flex:none;padding-top:.7rem;font-weight:800}.ex-jp{margin:0;font-size:1.25rem;line-height:2.1}.ex-ko{color:var(--ink-2);margin:0;font-size:1rem}.ex-note{color:var(--ink-3);margin:.3rem 0 0;font-size:.9375rem}.say{border:1px solid var(--line);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--brand);cursor:pointer;border-radius:50%;flex:none;place-items:center;margin-top:.4rem;display:grid}.say:hover{background:var(--brand-soft);border-color:var(--brand)}.say svg{width:1.05rem;height:1.05rem}.tip{border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--accent-soft);margin:1.5rem 0;padding:1rem 1.25rem}.tip-title{margin:0 0 .25rem;font-weight:800}.tip p:last-child{margin:0}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:1.25rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:1rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.65rem .9rem}thead th{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;font-size:.875rem;font-weight:700}tbody th{color:var(--ink-2);white-space:nowrap;font-size:.9375rem}tbody tr:last-child>*{border-bottom:0}td :lang(ja){font-size:1.125rem}caption{caption-side:bottom;color:var(--ink-3);text-align:left;padding:.6rem .9rem;font-size:.9rem}@media (width<=40rem){th,td{padding:.6rem .55rem}th:first-child,td:first-child{padding-left:.8rem}th:last-child,td:last-child{padding-right:.8rem}}.is-stacked table{flex-direction:column;display:flex}.is-stacked thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.is-stacked tbody,.is-stacked tr,.is-stacked caption{display:block}.is-stacked caption{border-top:1px solid var(--line);order:1}.is-stacked tr{border-bottom:1px solid var(--line);padding:.7rem .9rem}.is-stacked tbody tr:last-child{border-bottom:0}.is-stacked tbody th,.is-stacked td{border:0;padding:.2rem 0}.is-stacked td{align-items:baseline;gap:.75rem;display:flex}.is-stacked tbody th{color:var(--ink);white-space:normal;font-size:1rem;font-weight:800;display:block}.is-stacked td:before{content:attr(data-label);width:4.75rem;color:var(--ink-3);flex:none;font-size:.8125rem;font-weight:700}.is-stacked td :lang(ja){white-space:normal;font-size:1.0625rem}.word-list td:first-child{width:3rem;padding-right:0}.word-list .say{margin:0}.word-w{font-size:1.25rem;font-weight:600}.word-r,.word-note{color:var(--ink-3);font-size:.875rem;display:block}.lesson-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;margin:3rem 0 0;display:grid}.lesson-nav a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:.9rem 1.1rem;font-weight:700;line-height:1.5;text-decoration:none;display:block}.lesson-nav a:hover{border-color:var(--brand)}.lesson-nav small{color:var(--ink-3);font-size:.8125rem;font-weight:600;display:block}.lesson-nav .is-next{text-align:right}.lesson-nav a.is-locked{color:var(--ink-3);cursor:not-allowed;background:0 0;border-style:dashed}.lesson-nav a.is-locked:hover{border-color:var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.review-link{margin:.75rem 0 0;font-size:.9375rem;font-weight:700}.study-card{justify-items:center;gap:.25rem;padding:1rem 0 .5rem;display:grid}.study-glyph{font-family:var(--font-kyo);font-size:7rem;font-weight:600;line-height:1.2}.study-reading b{font-size:2rem;font-weight:800}.study-reading small{color:var(--ink-2);margin-left:.5rem;font-size:1.125rem}.study-hint{color:var(--ink-3);text-align:center;margin:.5rem 0 0;font-size:.9375rem}.lesson-side .unit{padding-bottom:.25rem}.lesson-side .lessons a{padding-block:.45rem;font-size:.9375rem}.chart-tools{flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.5rem 0 0;display:flex}.kana-grid{grid-template-columns:repeat(var(--cols,5), minmax(0, 1fr));gap:.5rem;max-width:34rem;margin:1rem 0 2rem;display:grid}.kana-grid[style*=--cols\:3]{max-width:21rem}.kana-head{color:var(--ink-3);text-align:center;font-size:.8125rem;font-weight:700}.kana-cell{appearance:none;border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:.05rem;padding:.5rem .2rem .45rem;line-height:1.3;transition:transform 80ms,border-color .15s,box-shadow .15s;display:flex}.kana-cell:hover{border-color:var(--brand);box-shadow:var(--shadow)}.kana-cell:active{transform:scale(.96)}.kana-cell--empty{pointer-events:none;background:0 0;border:0}.kana-glyph{font-family:var(--font-kyo);font-size:clamp(1.5rem,6vw,2.1rem);font-weight:600;line-height:1.25}.kana-grid--hero .kana-glyph{font-size:clamp(1.9rem,8vw,2.75rem)}.kana-r{color:var(--ink-2);font-family:var(--font);font-size:.8125rem;font-weight:700}.kana-k{color:var(--ink-3);font-family:var(--font);font-size:.75rem}[data-reading=romaji] .kana-k,[data-reading=ko] .kana-r,[data-reading=none] .kana-k,[data-reading=none] .kana-r{visibility:hidden}.note h3{margin-top:1.25rem}.note p{max-width:42rem}.lookalikes{gap:.6rem;margin:1rem 0;padding:0;list-style:none;display:grid}.lookalikes li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:1rem;padding:.7rem 1rem;display:flex}.lookalikes b{font-family:var(--font-kyo);letter-spacing:.2em;color:var(--brand);flex:none;font-size:1.9rem;font-weight:600;line-height:1.2}.readings{grid-template-columns:repeat(auto-fill,minmax(min(100%,13.5rem),1fr));gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:grid}.readings li{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:.7rem;padding:.55rem .75rem;display:flex}.readings .say{margin:0}.reading-w{font-family:var(--font-kyo);font-size:1.3rem;font-weight:600;line-height:1.4;display:block}.reading-sub{color:var(--ink-3);font-size:.875rem;line-height:1.4;display:block}.reading-sub b{color:var(--ink-2);margin-right:.4rem;font-weight:600}.quiz{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:1.25rem;display:block}.quiz-top{color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:.75rem;font-size:.875rem;font-weight:700;display:flex}.quiz-top .bar{flex:1;margin:0}.quiz-q{margin:1rem 0;font-size:1.1875rem;font-weight:700;line-height:2}.choices{gap:.6rem;display:grid}.choices--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{appearance:none;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:.7rem 1rem;font-size:1.0625rem;line-height:1.9}.choice:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.choice:disabled{cursor:default}.choice.is-right{border-color:var(--ok);background:var(--ok-soft)}.choice.is-wrong{border-color:var(--bad);background:var(--bad-soft)}.feedback{background:var(--surface-2);border-radius:12px;margin:1rem 0 0;padding:.8rem 1rem}.feedback.is-right{background:var(--ok-soft)}.feedback.is-wrong{background:var(--bad-soft)}.quiz-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.result-label{color:var(--ink-2);margin:0;font-weight:700}.result-score{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0 0 .5rem;font-size:2.5rem;font-weight:800;line-height:1.3}.kq-label{color:var(--ink-2);text-align:center;margin:1rem 0 0;font-weight:700}.kq-prompt{flex-direction:column;justify-content:center;align-items:center;min-height:8.5rem;margin:.25rem 0 1rem;line-height:1.2;display:flex}.kq-prompt--glyph{font-family:var(--font-kyo);font-size:5.5rem;font-weight:600}.kq-prompt--reading b{letter-spacing:-.02em;font-size:3rem;font-weight:800}.kq-prompt--reading small{color:var(--ink-3);font-size:1.125rem}.kq-choice{text-align:center;justify-content:center;align-items:baseline;gap:.5rem;display:flex}.kq-choice b{font-size:1.25rem}.kq-choice small{color:var(--ink-3);font-size:.9375rem}.kq-choice--glyph{font-family:var(--font-kyo);font-size:2.25rem;font-weight:600;line-height:1.4}.missed{flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.missed li{border:1px solid var(--line);border-radius:10px;align-items:baseline;gap:.4rem;padding:.3rem .75rem;display:flex}.missed span{font-family:var(--font-kyo);font-size:1.5rem;font-weight:600}.missed small{color:var(--ink-3)}.kq-setup fieldset{border:0;margin:0 0 1.25rem;padding:0}.kq-setup legend{margin-bottom:.4rem;padding:0;font-weight:800}.kq-options{flex-wrap:wrap;gap:.4rem;display:flex}.kq-options label{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-weight:600;display:inline-flex}.kq-options label:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.kq-options input{accent-color:var(--brand)}.kq-quick{flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .6rem;display:flex}.kq-group{color:var(--ink-3);margin:.5rem 0 .25rem;font-size:.8125rem;font-weight:700}.check-line{color:var(--ink-2);cursor:pointer;align-items:center;gap:.4rem;margin:0 0 1rem;font-size:.9375rem;display:inline-flex}.check-line input{accent-color:var(--brand)}.trainer-tabs{margin:0 0 1rem}.flash{appearance:none;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;min-height:12.5rem;color:var(--ink);font:inherit;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;margin-top:1rem;padding:1.5rem 1rem;display:flex}.flash:hover{border-color:var(--brand)}.flash-w{font-size:clamp(1.75rem,7vw,2.6rem);font-weight:700;line-height:1.4}.flash-back{flex-direction:column;align-items:center;display:flex}.flash-r{color:var(--ink-2);font-size:1.125rem}.flash-ko{color:var(--brand);font-size:1.25rem;font-weight:700}.flash-hint{color:var(--ink-3);font-size:.875rem}.vq-prompt{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:6.5rem;margin:.25rem 0 1rem;display:flex}.vq-w{font-size:1.75rem;font-weight:700;line-height:1.4;display:block}.vq-r{color:var(--ink-3);font-size:.9375rem;line-height:1.4;display:block}.vq-ko{font-size:1.5rem;font-weight:800}.vq-choice{text-align:center}.vq-choice .vq-w{font-size:1.3rem}.people{margin:.5rem 0 0;padding:0;list-style:none}.people li{align-items:baseline;gap:.75rem;padding:.2rem 0;display:flex}.people strong{flex:none;min-width:3rem;font-size:1.125rem}.people span{color:var(--ink-2)}.talk{margin:1.25rem 0}.talk-tools{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.talk-tools .btn{border-radius:99px;padding:.45rem 1rem;font-size:.9375rem}.tool-btn[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.talk-hint{margin:.6rem 0 0;font-size:.875rem;display:none}.hide-jp .talk-hint,.hide-ko .talk-hint{display:block}.talk-lines{gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.talk-line{max-width:min(34rem,94%)}.talk-line--b{margin-left:auto}.talk-who{color:var(--ink-3);margin-bottom:.1rem;font-size:.8125rem;font-weight:700;display:block}.talk-line--b .talk-who{text-align:right}.talk-row{align-items:flex-start;gap:.6rem;display:flex}.talk-line--b .talk-row{flex-direction:row-reverse}.talk-bubble{border:1px solid var(--line);background:var(--surface);border-radius:4px 16px 16px;padding:.55rem .95rem .65rem}.talk-line--b .talk-bubble{border-color:color-mix(in srgb, var(--brand) 18%, transparent);background:var(--brand-soft);border-radius:16px 4px 16px 16px}.talk-line.is-current .talk-bubble{outline:2px solid var(--accent);outline-offset:1px}.talk-jp{margin:0;font-size:1.1875rem;line-height:2.1}.talk-ko{color:var(--ink-2);margin:0;font-size:.9375rem}.hide-jp .talk-line:not(.is-shown) .talk-jp,.hide-jp .talk-line:not(.is-shown) .talk-ro,.hide-ko .talk-line:not(.is-shown) .talk-ko{filter:blur(7px);cursor:pointer;user-select:none}.rp-label{color:var(--ink-2);margin:0 0 .5rem;font-weight:700}.rp-turn{border-top:1px dashed var(--line);margin-top:1.25rem;padding-top:1rem}.rp-turn:first-child{border-top:0;margin-top:0;padding-top:0}.rp-ko{margin:0;font-size:1.25rem;font-weight:700;line-height:1.6}.prompts{gap:.6rem;margin:1rem 0;display:grid}.prompt{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.prompt summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 1rem;font-weight:600;list-style:none;display:flex}.prompt summary::-webkit-details-marker{display:none}.prompt summary:after{content:"답 보기";color:var(--brand);flex:none;font-size:.875rem;font-weight:700}.prompt[open] summary:after{content:"접기"}.prompt-answer{align-items:flex-start;gap:.75rem;padding:0 1rem .8rem;display:flex}.prompt-answer p{margin:0;font-size:1.1875rem;line-height:2.1}.form-frame{border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-width:42rem;margin:1.5rem 0 1rem;overflow:hidden}.form-frame iframe{border:0;width:100%;height:62rem;display:block}.report{color:var(--ink-3);margin:1.5rem 0 0;font-size:.9375rem}.prose p,.prose li{max-width:42rem}.prose h2:first-child{margin-top:0}.cta-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:2.5rem 0;padding:1.25rem;display:flex}.cta-box p{color:var(--ink-2);margin:0}.cta-box strong{color:var(--ink);font-size:1.125rem;display:block}.ad{text-align:center;min-height:100px;margin:2rem 0}.ad--placeholder{border:1px dashed var(--ink-3);color:var(--ink-3);border-radius:10px;place-items:center;font-size:.8125rem;display:grid}.toast{z-index:60;background:var(--ink);width:max-content;max-width:calc(100vw - 2rem);color:var(--bg);box-shadow:var(--shadow);border-radius:12px;padding:.7rem 1.1rem;font-size:.9375rem;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.site-header,.site-footer,.ad,.chart-tools,.crumbs,.no-print{display:none!important}body{color:#000;background:#fff}.kana-cell{break-inside:avoid;border-color:#bbb}h2{break-after:avoid}}
