:root{--color-faded: #9A8F80;--color-fire: #C01B00;--color-fire-muted: #A3341C;--color-fire-tint: #FDF1EE;--color-fire-wash: #F6E7E1;--color-hairline: rgba(60,40,20,.08);--color-ink: #1D1A16;--color-ink-2: #3A352E;--color-line: #CFC6B8;--color-muted: #6F665B;--color-on-fire-fill: rgba(255,255,255,.16);--color-on-fire-fill-soft: rgba(255,255,255,.14);--color-on-fire-rule: rgba(255,255,255,.3);--color-on-fire-strong: rgba(255,255,255,.88);--color-paper: #FBF8F3;--color-paper-2: #E7E1D6;--color-paper-button: #EDE6DA;--color-paper-raised: #FFFDF9;--color-right-fill: #D3EEDC;--color-right-ink: #0B5A2C;--color-scrim: rgba(12,6,4,.62);--color-kimono-ai: #1F3558;--color-kimono-kakishibu: #8A3B1C;--color-kimono-persimmon: #EEA57A;--color-kimono-wash: #E4E7F2;--color-kutani-aubergine: #553366;--color-kutani-glaze: #1E4A3A;--color-kutani-ochre: #E2B13A;--color-kutani-wash: #F1E6F3;--color-water: #1356A7;--color-water-deep: #0E407D;--color-water-wash: #E3ECF7;--color-white: #FFFFFF;--color-wrong-fill: #F9DCD5;--color-wrong-ink: #7E1400;--color-yellow: #FFD60A;--color-yellow-ink: #3A2A00;--color-yellow-soft: #FFE36B;--ui-bg: var(--color-paper-2);--ui-surface: var(--color-paper);--ui-surface-raised: var(--color-paper-raised);--ui-control: var(--color-paper-button);--ui-text: var(--color-ink);--ui-text-2: var(--color-ink-2);--ui-text-muted: var(--color-muted);--ui-chevron: var(--color-faded);--ui-line: var(--color-line);--ui-hairline: var(--color-hairline);--ui-accent: var(--color-fire);--ui-accent-text: var(--color-fire-muted);--ui-accent-wash: var(--color-fire-wash);--ui-selected-row: var(--color-fire-tint);--ui-wrong-fill: var(--color-wrong-fill);--ui-wrong-ink: var(--color-wrong-ink);--ui-right-fill: var(--color-right-fill);--ui-right-ink: var(--color-right-ink);--ui-danger: var(--color-wrong-ink);--ui-placeholder-fill: var(--color-yellow-soft);--ui-placeholder-text: var(--color-yellow-ink);--ui-scrim: var(--color-scrim);--font-ui: Inter, Geist, "Noto Sans JP", "Noto Sans CJK JP", system-ui, sans-serif;--font-display: Geist, Inter, system-ui, -apple-system, sans-serif;--font-ja: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;--size-h1: 64px;--size-h1-mobile: 44px;--size-h2: 44px;--size-h2-mobile: 32px;--size-h3: 22px;--size-h3-mobile: 19px;--size-pitch: 32px;--size-pitch-mobile: 24px;--size-lede: 19px;--size-lede-mobile: 17px;--size-body: 17px;--size-body-mobile: 16px;--size-small: 15px;--size-small-mobile: 14px;--size-kicker: 14px;--size-kicker-mobile: 13px;--space-half: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-18: 72px;--space-24: 96px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-3xl: 28px;--radius-4xl: 32px;--radius-5xl: 40px;--radius-full: 999px;--shadow-ring: 0 0 0 1px rgba(60,40,20,.08);--shadow-e1: 0 1px 2px rgba(80,20,0,.06);--shadow-e2: 0 10px 24px rgba(40,30,20,.08);--shadow-e3: 0 18px 40px rgba(40,30,20,.16);--shadow-e4: 0 24px 60px rgba(40,30,20,.12);--shadow-device: 0 30px 60px rgba(40,30,20,.2);--shadow-fire-sm: 0 8px 20px rgba(192,27,0,.25);--shadow-fire-lg: 0 24px 60px rgba(120,20,0,.22);--shadow-tab-bar: 0 6px 24px rgba(0,0,0,.1), 0 0 0 .5px rgba(0,0,0,.06);--tap-target-min: 44px;--answer-bar-pad-top: 16px;--answer-bar-pad-bottom: 14px;--answer-bar-gap: 10px}:root,[data-theme=paper]{--card-screen: var(--color-paper-2);--card-bg: var(--color-paper);--card-card-text: var(--color-ink);--card-headword: var(--color-ink);--card-kana: var(--color-ink);--card-romaji: var(--color-muted);--card-meaning-number: var(--color-muted);--card-rule: var(--color-line);--card-speaker-fill: var(--color-fire-wash);--card-speaker-icon: var(--color-fire);--card-chip-fill: var(--color-paper-button);--card-chip-text: var(--color-ink-2);--card-pos-fill: var(--color-yellow);--card-pos-text: var(--color-yellow-ink);--card-example-text: var(--color-ink);--card-example-translation: var(--color-ink-2)}[data-theme=fire]{--card-screen: var(--color-paper-2);--card-bg: var(--color-fire);--card-card-text: var(--color-white);--card-headword: var(--color-yellow);--card-kana: var(--color-white);--card-romaji: var(--color-on-fire-strong);--card-meaning-number: var(--color-on-fire-strong);--card-rule: var(--color-on-fire-rule);--card-speaker-fill: var(--color-on-fire-fill);--card-speaker-icon: var(--color-white);--card-chip-fill: var(--color-on-fire-fill-soft);--card-chip-text: var(--color-white);--card-pos-fill: var(--color-yellow);--card-pos-text: var(--color-yellow-ink);--card-example-text: var(--color-white);--card-example-translation: var(--color-on-fire-strong)}[data-theme=water]{--card-screen: var(--color-paper-2);--card-bg: var(--color-water);--card-card-text: var(--color-white);--card-headword: var(--color-yellow);--card-kana: var(--color-white);--card-romaji: var(--color-on-fire-strong);--card-meaning-number: var(--color-on-fire-strong);--card-rule: var(--color-on-fire-rule);--card-speaker-fill: var(--color-on-fire-fill);--card-speaker-icon: var(--color-white);--card-chip-fill: var(--color-on-fire-fill-soft);--card-chip-text: var(--color-white);--card-pos-fill: var(--color-yellow);--card-pos-text: var(--color-yellow-ink);--card-example-text: var(--color-white);--card-example-translation: var(--color-on-fire-strong)}[data-theme=kimono]{--card-screen: var(--color-paper-2);--card-bg: var(--color-kimono-persimmon);--card-card-text: var(--color-kimono-ai);--card-headword: var(--color-kimono-ai);--card-kana: var(--color-kimono-ai);--card-romaji: var(--color-kimono-ai);--card-meaning-number: var(--color-kimono-ai);--card-rule: var(--color-kimono-kakishibu);--card-speaker-fill: var(--color-paper-raised);--card-speaker-icon: var(--color-kimono-ai);--card-chip-fill: var(--color-paper-raised);--card-chip-text: var(--color-kimono-ai);--card-pos-fill: var(--color-yellow);--card-pos-text: var(--color-yellow-ink);--card-example-text: var(--color-kimono-ai);--card-example-translation: var(--color-ink-2)}[data-theme=kutani]{--card-screen: var(--color-paper-2);--card-bg: var(--color-kutani-glaze);--card-card-text: var(--color-paper);--card-headword: var(--color-kutani-ochre);--card-kana: var(--color-paper);--card-romaji: var(--color-on-fire-strong);--card-meaning-number: var(--color-on-fire-strong);--card-rule: var(--color-kutani-ochre);--card-speaker-fill: var(--color-on-fire-fill);--card-speaker-icon: var(--color-paper);--card-chip-fill: var(--color-on-fire-fill-soft);--card-chip-text: var(--color-paper);--card-pos-fill: var(--color-kutani-ochre);--card-pos-text: var(--color-yellow-ink);--card-example-text: var(--color-paper);--card-example-translation: var(--color-on-fire-strong)}@font-face{font-family:Geist;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/geist-extrabold-italic.woff2) format("woff2");unicode-range:U+0021,U+0046,U+0061,U+0068,U+006C,U+0073}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ui-bg);color:var(--ui-text);font-family:var(--font-ui);font-size:var(--size-body-mobile);line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%}:focus{outline:none}:focus-visible{outline:2px solid var(--color-fire);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.shell{width:min(1280px,100%);margin:0 auto;padding:20px 20px 32px}.skip{position:absolute;left:16px;top:-48px;background:var(--ui-surface);color:var(--ui-text);padding:8px 12px;border-radius:var(--radius-md);z-index:10}.skip:focus{top:12px}.home-title{display:flex;align-items:center;gap:12px;margin:4px 0 12px;font-family:var(--font-display);font-weight:800;font-size:40px;letter-spacing:-.045em;line-height:.9}.home-title img{width:auto;height:1.92em;aspect-ratio:1;border-radius:0;flex:none}.wordmark-text{display:flex;flex-direction:column;align-items:flex-start}.wordmark-flashline{display:flex;align-items:baseline;gap:.2em}.wordmark-ina{font-family:Inter,var(--font-ui);font-weight:700;font-style:normal;font-size:.36em;letter-spacing:-.01em;color:var(--color-ink-2);line-height:1}.flash{font-style:italic;font-synthesis:none;color:var(--color-fire);white-space:nowrap}.lede{margin:0 0 24px;font-size:var(--size-lede-mobile);color:var(--ui-text-2)}.kicker{margin:0;font-size:var(--size-kicker-mobile);font-weight:600;color:var(--ui-text-2)}.section-kicker{margin-bottom:8px;color:var(--ui-text-2)}.note{margin:0 0 12px;color:var(--ui-text-2);font-size:var(--size-small-mobile)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:12px 18px;border:0;border-radius:var(--radius-full);font-weight:700;line-height:1.3;text-align:center;white-space:normal}.btn-primary{background:var(--color-fire);color:var(--color-white)}.btn-quiet{background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--shadow-ring)}.path-grid{display:flex;flex-direction:column;gap:12px}.path-card{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:var(--radius-3xl);background:var(--ui-surface);box-shadow:var(--shadow-ring),var(--shadow-e1)}.path-top{display:flex;align-items:flex-start;gap:14px}.path-glyph{display:grid;place-items:center;flex:none;width:76px;height:76px;border-radius:var(--radius-xl);background:var(--color-paper-button);color:var(--color-ink);font-family:var(--font-ja);font-weight:600;font-size:36px;line-height:1}.path-glyph[data-wide=true]{font-size:18px;letter-spacing:-.04em}.path-copy{min-width:0}.path-title{display:flex;align-items:center;gap:8px;margin:2px 0 4px;font-family:var(--font-ui);font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.path-title svg{flex:none}.path-body{margin:0;color:var(--ui-text-2);font-size:var(--size-small-mobile)}.path-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto}.path-pill{width:auto;flex:1 1 9rem;min-height:44px;min-width:44px;white-space:nowrap}.btn-outline{background:var(--ui-surface);color:var(--color-ink);box-shadow:inset 0 0 0 1.5px var(--color-ink)}.path-choose{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;min-width:44px;padding:8px 2px;border:0;background:transparent;color:var(--color-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}.home-foot{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:20px}.home-foot .band{align-self:stretch}.home-foot .text-link{margin-top:0}.text-link{display:inline-flex;align-items:center;gap:4px;margin-top:20px;min-height:44px;padding:0;border:0;background:transparent;color:var(--ui-text-2);font-weight:600}.band,.row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 14px;border:0;background:var(--ui-surface);color:var(--ui-text);text-align:left;box-shadow:var(--shadow-ring)}.band{border-radius:var(--radius-2xl);background:var(--color-fire-tint)}.band strong{display:block;color:var(--ui-accent-text)}.band .label span{color:var(--ui-text-2);font-size:var(--size-small-mobile)}.row{border-radius:0;box-shadow:none}.row svg,.band svg,.btn svg,.text-link svg{flex:none}.label{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.name{font-weight:600}.count{color:var(--ui-text-muted);font-size:var(--size-small-mobile)}.group{background:var(--ui-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-ring);overflow:hidden}.group .row+.row{box-shadow:inset 0 1px 0 var(--ui-hairline)}.group-title{margin:0 0 8px;font-size:var(--size-h3-mobile);font-weight:700}.group-block{margin-bottom:16px}.set-section{margin-top:28px;scroll-margin-top:12px}.strip{display:block;width:72px;height:6px;flex:none;overflow:hidden;border-radius:var(--radius-full);background:var(--color-paper-button)}.strip .unseen{fill:var(--color-line)}.strip .learning{fill:var(--color-yellow)}.strip .learned{fill:var(--color-right-ink)}.save-note{margin:8px 0 0;color:var(--ui-wrong-ink)}.storage-banner{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--ui-wrong-fill);color:var(--ui-wrong-ink)}.storage-banner p{margin:0}.skeleton{height:52px;margin-bottom:8px;border-radius:var(--radius-lg);background:var(--color-paper-button)}.error{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius-xl);background:var(--ui-wrong-fill);color:var(--ui-wrong-ink)}.error p{margin:0}.topbar{display:flex;align-items:center;gap:8px;min-height:44px;margin-bottom:16px}.topbar h1{flex:1;min-width:0;margin:0;font-family:var(--font-ui);font-size:var(--size-body-mobile);font-weight:700;letter-spacing:0;line-height:1.25}.topbar img{width:28px;height:28px}.home-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--ui-text)}.pb-slot{min-width:0;container-type:inline-size}.pb-ios{display:flex;align-items:stretch;border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:inset 0 0 0 1px var(--color-line),var(--shadow-e1);color:var(--color-ink-2)}.pb-levels{flex:1;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:6px 10px;list-style:none}.pb-levels li{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;text-align:center}.pb-name{font-size:12px;font-weight:600;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink-2)}.pb-levels svg{display:block;width:100%;height:6px}.pb-levels .trk{fill:var(--color-line)}.pb-levels .fil{fill:var(--strip-fill, var(--color-ink))}.pb-count{font-size:14px;font-weight:700;line-height:16px;font-variant-numeric:tabular-nums;color:var(--color-ink)}.pb-learned{display:flex;align-items:center;gap:8px;flex:none;padding:0 14px 0 12px;border-left:1px solid var(--color-line);font-size:13px;font-weight:600;white-space:nowrap;color:var(--color-ink-2)}.pb-learned b{color:var(--color-ink);font-weight:700;font-variant-numeric:tabular-nums}.pb-pill-text{display:inline-flex;align-items:center;gap:4px}.pb-learned>svg{width:20px;height:20px;flex:none}.pb-learned .ring-trk{stroke:var(--color-line)}.pb-learned .ring-fil{stroke:var(--strip-fill, var(--color-ink))}.topbar-center{flex-wrap:wrap;row-gap:10px}.topbar-center .pb-slot{order:1;flex:1 0 100%}@container (max-width: 520px){.pb-ios{flex-direction:column}.pb-learned{border-left:0;border-top:1px solid var(--color-line);padding:6px 12px;min-height:32px}}.topbar-end{position:relative;display:flex;align-items:center;gap:8px}.theme-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:220px;padding:12px;border-radius:var(--radius-2xl);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--shadow-ring),var(--shadow-e2)}.theme-trigger{position:relative;background:var(--reach-wash, var(--ui-control));color:var(--reach-accent, var(--ui-text))}.study[data-theme=paper] .theme-trigger{box-shadow:0 0 0 1.5px var(--color-line)}.theme-dot{position:absolute;right:6px;bottom:6px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--reach-dot, var(--color-ink));box-shadow:0 0 0 2px var(--ui-bg)}.theme-pop[hidden]{display:none!important}.theme-pop-title{margin:0 4px 8px;color:var(--ui-text-muted);font-size:13px;font-weight:600}.themes{display:flex;flex-direction:column;gap:4px}.themes button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--ui-text);font-weight:600;text-align:left}.themes button:hover,.themes button[aria-checked=true]{background:var(--ui-control)}.theme-check{display:inline-flex;margin-left:auto;color:var(--color-fire)}.swatch{width:18px;height:18px;flex:none;border-radius:var(--radius-full);box-shadow:var(--shadow-ring)}.swatch-paper{background:var(--color-paper);box-shadow:0 0 0 1.5px var(--color-line)}.swatch-fire{background:var(--color-fire)}.swatch-water{background:var(--color-water)}.swatch-kimono{background:var(--color-kimono-persimmon)}.swatch-kutani{background:var(--color-kutani-glaze)}.card{position:relative;display:flex;flex-direction:column;min-height:280px;padding:0;overflow:hidden;border-radius:var(--radius-4xl);background:var(--card-bg);color:var(--card-card-text)}.card[data-theme=paper]{box-shadow:var(--shadow-ring),var(--shadow-e2)}.card[data-theme=fire]{box-shadow:var(--shadow-fire-lg)}.card[data-theme=water]{box-shadow:var(--shadow-e3)}.card[data-theme=kimono]{padding-top:48px;box-shadow:var(--shadow-ring),var(--shadow-e2)}.card[data-theme=kutani]{box-shadow:var(--shadow-e3)}.card-scroll{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px 24px 32px;scroll-padding-bottom:24px}.card[data-theme=kimono] .card-scroll{padding-top:12px}.card-fade{position:absolute;right:0;bottom:0;left:0;z-index:1;height:56px;pointer-events:none;opacity:0;background:linear-gradient(to bottom,transparent,var(--card-bg) 72%)}.card.is-more .card-fade{opacity:1}.card-decor{display:none;pointer-events:none}.card[data-theme=kimono] .card-decor,.card[data-theme=kutani] .card-decor{z-index:2}.card[data-theme=kimono] .card-decor{display:block;position:absolute;top:0;right:0;left:0;height:44px;border-radius:var(--radius-4xl) var(--radius-4xl) 0 0;background:url(/textures/kimono-seigaiha.svg) left top / 48px 44px repeat-x}.card[data-theme=kutani] .card-decor{display:block;position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1.25px solid color-mix(in srgb,var(--color-kutani-ochre) 70%,transparent);border-radius:calc(var(--radius-4xl) - 3px)}.card[data-theme=kutani] .card-decor:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:.75px solid color-mix(in srgb,var(--color-kutani-ochre) 70%,transparent);border-radius:calc(var(--radius-4xl) - 6px)}.hw-row{display:flex;flex-shrink:0;align-items:center;gap:12px;min-width:0;flex-wrap:nowrap}.hw-box{width:100%;min-width:0;overflow:hidden}.hw-row .hw-box{flex:0 1 auto;width:auto;min-width:0}.speaker-slot{flex:none;width:44px;height:44px}.hw{margin:0;font-family:var(--font-ja);font-weight:900;font-size:96px;line-height:1.05;white-space:nowrap;color:var(--card-headword)}.kana,.kana-more,.example-ja{font-family:var(--font-ja)}.reading-slot{--reading-kana: 30px;--reading-small: 17px;--reading-line: 1.45;--reading-gap: 2px;--reading-cap: calc( var(--reading-kana) * var(--reading-line) + var(--reading-small) * var(--reading-line) + var(--reading-small) * var(--reading-line) + var(--reading-gap) * 2 + 4px );order:-1;position:relative;flex-shrink:0;margin-bottom:8px;min-height:44px;max-height:var(--reading-cap);overflow:hidden}.reading-slot.is-open{overflow:auto}.card-scroll>.details{flex-shrink:0}.reading{display:flex;flex-direction:column;gap:var(--reading-gap, 2px);margin:0}.reading-slot .show-reading{position:absolute;top:0;left:0;z-index:1;margin-top:0}.reading-slot:not(:has(.reading)) .show-reading{position:static}.reading-reserved{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.kana{margin:0;font-size:var(--reading-kana, 30px);line-height:var(--reading-line, 1.45);font-weight:600;color:var(--card-kana)}.kana-more{margin:0;font-size:var(--reading-small, 17px);line-height:var(--reading-line, 1.45);color:var(--card-romaji)}.romaji{margin:0;font-size:17px;line-height:var(--reading-line, 1.45);color:var(--card-romaji)}.speaker{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin-top:0;border:0;border-radius:var(--radius-full);background:var(--card-speaker-fill);color:var(--card-speaker-icon)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:16px;padding:0 14px;border:0;border-radius:var(--radius-full);background:var(--card-chip-fill);color:var(--card-chip-text);font-size:13px;font-weight:600}.pos{display:inline-flex;align-items:center;min-height:24px;margin-top:16px;padding:0 10px;border-radius:var(--radius-full);background:var(--card-pos-fill);color:var(--card-pos-text);font-size:13px;font-weight:600}.meaning,.meanings{margin:12px 0 0;padding:0;font-size:19px;font-weight:600;color:var(--card-card-text)}.meanings{list-style:none}.meanings li{display:flex;gap:8px;margin-top:8px}.num{color:var(--card-meaning-number);min-width:1.2em}.example-ja{margin:16px 0 0;font-size:19px;color:var(--card-example-text)}.example-en{margin:6px 0 0;font-size:15px;color:var(--card-example-translation)}.ex-mark{text-decoration:underline;text-decoration-color:var(--color-fire);text-decoration-thickness:2px;text-underline-offset:5px;background:none;color:inherit}[data-theme=fire] .ex-mark,[data-theme=water] .ex-mark{padding:0 3px;border-radius:4px;background:var(--color-yellow-soft);color:var(--color-yellow-ink);text-decoration:none}[data-theme=kimono] .ex-mark{text-decoration-color:var(--color-kimono-kakishibu)}[data-theme=kutani] .ex-mark{padding:0 3px;border-radius:4px;background:var(--color-kutani-ochre);color:var(--color-yellow-ink);text-decoration:none}.keyboard-hint{display:none;margin:8px 0 0;color:var(--ui-text-2);font-size:var(--size-small-mobile)}.keyboard-hint kbd{display:inline-block;margin:0 1px;padding:0 6px;border:0;border-radius:6px;background:var(--reach-wash, var(--color-paper-button));color:var(--reach-accent, var(--color-ink));font-family:inherit;font-size:13px;font-weight:700;line-height:1.35;vertical-align:1px}.answer-bar{--answer-btn-height: 114px;box-sizing:border-box;display:flex;height:calc(var(--answer-btn-height) + var(--answer-bar-pad-top) + var(--answer-bar-pad-bottom) + env(safe-area-inset-bottom,0px));padding:var(--answer-bar-pad-top) 16px calc(var(--answer-bar-pad-bottom) + env(safe-area-inset-bottom,0px))}.slot,.choices,.show-answer{height:100%}.slot{display:flex;flex:1}.choices{display:flex;gap:var(--answer-bar-gap);width:100%}.choice,.show-answer{border:0;border-radius:var(--radius-3xl);font-weight:700;font-size:17px}.show-answer{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;background:var(--show-answer-bg, var(--color-fire));color:var(--color-white);box-shadow:var(--shadow-e1),var(--shadow-e2)}.study .btn-primary{background:var(--show-answer-bg, var(--color-fire));color:var(--color-white)}.show-answer-key{display:none;padding:2px 8px;border-radius:6px;background:var(--color-on-fire-fill);color:var(--color-white);font-family:inherit;font-size:13px;font-weight:700;line-height:1.35}@media(min-width:768px)and ((hover:hover)or (any-pointer:fine)){.show-answer-key{display:inline-flex}}@media(min-width:768px){html.keyboard .show-answer-key{display:inline-flex}}.choice{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:44px}.choice.wrong{background:var(--choice-wrong-bg, var(--color-paper-raised));color:var(--choice-wrong-ink, var(--color-ink));box-shadow:0 0 0 1.5px var(--color-line)}.choice.right{background:var(--choice-right-bg, var(--color-right-fill));color:var(--choice-right-ink, var(--color-right-ink));box-shadow:var(--shadow-e1),var(--shadow-e2)}.choice-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:var(--radius-full);color:var(--color-white)}.choice.wrong .choice-badge{background:var(--color-wrong-ink)}.choice.right .choice-badge{background:var(--choice-right-badge, var(--color-right-ink));color:var(--choice-right-badge-ink, var(--color-white))}.study[data-theme=paper],.sets[data-theme=paper]{--show-answer-bg: var(--color-fire);--strip-fill: var(--color-ink);--reach-wash: var(--color-paper-button);--reach-accent: var(--color-ink);--reach-dot: var(--color-ink-2);--choice-wrong-bg: var(--color-paper-raised);--choice-wrong-ink: var(--color-ink);--choice-right-bg: var(--color-right-fill);--choice-right-ink: var(--color-right-ink)}.study[data-theme=fire],.sets[data-theme=fire]{--show-answer-bg: var(--color-fire);--strip-fill: var(--color-fire);--reach-wash: var(--color-fire-wash);--reach-accent: var(--color-fire-muted);--reach-dot: var(--color-fire);--choice-wrong-bg: var(--color-fire-wash);--choice-wrong-ink: var(--color-ink);--choice-right-bg: var(--color-yellow);--choice-right-ink: var(--color-yellow-ink)}.study[data-theme=water],.sets[data-theme=water]{--show-answer-bg: var(--color-water-deep);--strip-fill: var(--color-water);--reach-wash: var(--color-water-wash);--reach-accent: var(--color-water);--reach-dot: var(--color-water);--choice-wrong-bg: var(--color-water-wash);--choice-wrong-ink: var(--color-ink);--choice-right-bg: var(--color-yellow);--choice-right-ink: var(--color-yellow-ink)}.study[data-theme=kimono],.sets[data-theme=kimono]{--strip-fill: var(--color-kimono-ai);--reach-wash: var(--color-kimono-wash);--reach-accent: var(--color-kimono-ai);--reach-dot: var(--color-kimono-ai);--show-answer-bg: var(--color-kimono-ai);--choice-wrong-bg: var(--color-kimono-wash);--choice-wrong-ink: var(--color-ink);--choice-right-bg: var(--color-kimono-ai);--choice-right-ink: var(--color-white);--choice-right-badge: var(--color-white);--choice-right-badge-ink: var(--color-kimono-ai)}.study[data-theme=kutani],.sets[data-theme=kutani]{--strip-fill: var(--color-kutani-aubergine);--reach-wash: var(--color-kutani-wash);--reach-accent: var(--color-kutani-aubergine);--reach-dot: var(--color-kutani-aubergine);--show-answer-bg: var(--color-kutani-aubergine);--choice-wrong-bg: var(--color-kutani-wash);--choice-wrong-ink: var(--color-ink);--choice-right-bg: var(--color-kutani-ochre);--choice-right-ink: var(--color-yellow-ink)}.summary{display:flex;flex-direction:column;gap:12px;max-width:600px;margin-inline:auto}.summary h2{margin:0;font-size:var(--size-h3-mobile);font-weight:700;line-height:1.25}.sum-card{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:var(--radius-3xl);background:var(--ui-surface);box-shadow:var(--shadow-ring),var(--shadow-e1)}.sum-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.sum-sub{margin:0;color:var(--ui-text-2);font-size:var(--size-small-mobile);font-weight:600}.lvl{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.lvl li{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:center}.lvl .nm{font-size:12px;font-weight:600;line-height:16px;color:var(--color-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lvl svg{display:block;width:100%;height:6px}.lvl .trk{fill:var(--color-line)}.lvl .fil{fill:var(--strip-fill, var(--color-ink))}.lvl .ct{font-size:17px;font-weight:700;line-height:22px;color:var(--color-ink);font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px 4px 8px;border-radius:var(--radius-full);background:var(--color-paper);box-shadow:inset 0 0 0 1px var(--color-line);font-size:14px;font-weight:600;color:var(--color-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.pill b{color:var(--color-ink);font-weight:700}.pill .ring-trk{stroke:var(--color-line)}.pill .ring-fil{stroke:var(--strip-fill, var(--color-ink))}.pill.done{background:var(--reach-wash, var(--color-paper-button));box-shadow:none;color:var(--color-ink)}.pill.done svg{color:var(--strip-fill, var(--color-ink))}.sum-actions{display:flex;flex-direction:column;gap:12px}.a2hs{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px 8px 16px 16px;border-radius:var(--radius-2xl);background:var(--color-paper-raised);box-shadow:var(--shadow-ring)}.a2hs .tile{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:var(--radius-lg);background:var(--color-paper-button);color:var(--color-ink)}.a2hs-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.a2hs h3{margin:0;font-size:var(--size-body-mobile);font-weight:700;line-height:1.3;color:var(--color-ink)}.a2hs p{margin:0;color:var(--color-ink-2);font-size:var(--size-small-mobile)}.a2hs .btn{align-self:flex-start;width:auto;white-space:nowrap;min-height:44px;margin-top:8px;padding:8px 16px}.a2hs .icon-btn{flex:none;margin-top:-6px;color:var(--color-ink-2)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--ui-scrim)}.sheet{position:fixed;z-index:31;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:16px;padding:8px 20px calc(28px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-e3)}.sheet .grab{align-self:center;width:36px;height:5px;border-radius:var(--radius-full);background:var(--color-line)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sheet h2{margin:0;font-size:var(--size-h3-mobile);font-weight:700}.steps-ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;counter-reset:step}.steps-ol li{display:flex;gap:12px;align-items:flex-start;line-height:1.4;counter-increment:step}.steps-ol li:before{content:counter(step);flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-paper-button);color:var(--color-ink);font-weight:700;font-size:14px}.key{display:inline-flex;align-items:center;justify-content:center;vertical-align:-6px;width:26px;height:26px;margin:0 2px;border-radius:var(--radius-sm);background:var(--color-paper-button);color:var(--color-ink)}.sheet .note{margin:0;color:var(--color-muted)}.sheet .btn{margin-top:0}body.sheet-open{overflow:hidden}.study :focus-visible{outline:3px solid var(--color-fire);outline-offset:3px}.study .card :focus-visible{outline-color:var(--card-headword)}.study .card .details:focus-visible{outline:2px solid var(--card-headword);outline-offset:4px}.headline{margin:8px 0 0;font-family:var(--font-display);font-size:var(--size-h2-mobile);font-weight:800;letter-spacing:-.03em;line-height:1.05}.upgrade-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--ui-accent-text)}.price{margin:16px 0;padding:14px 16px;border-radius:var(--radius-xl);background:var(--ui-placeholder-fill);color:var(--ui-placeholder-text);font-weight:800}.steps{display:flex;gap:8px;margin:0 0 12px;padding:0;list-style:none}.steps li{flex:1;padding:10px;border-radius:var(--radius-lg);background:var(--ui-control);font-size:14px;font-weight:600}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.compare section{padding:16px;border-radius:var(--radius-2xl);background:var(--ui-surface);box-shadow:var(--shadow-ring)}.compare h3{margin:0 0 8px;font-size:19px}.compare ul{margin:0;padding:0;list-style:none}.compare li{display:flex;gap:8px;align-items:flex-start;margin:8px 0}.upgrade .btn{margin-top:8px}.prose{overflow-wrap:anywhere;min-width:0}.prose p{margin:0 0 12px}.prose h2{margin:24px 0 8px;font-size:var(--size-h3-mobile)}.link-row{display:flex;flex-wrap:wrap;gap:8px 16px}.link-row a{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--ui-accent-text);font-weight:600}.licence-text{max-height:240px;overflow:auto;overflow-wrap:anywhere;margin:0 0 12px;padding:12px;border-radius:var(--radius-lg);background:var(--ui-surface);color:var(--ui-text-2);font-size:12px;white-space:pre-wrap}body.studying:has(.answer-slot){height:100vh;height:100dvh;overflow:hidden}body.studying:has(.answer-slot) #app{height:100%}body.studying:has(.answer-slot) .shell{display:flex;flex-direction:column;height:100%;overflow:hidden;padding-bottom:0}body.studying:has(.answer-slot) .shell>main{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}body.studying:has(.answer-slot) .study{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}body.studying:has(.answer-slot) .study>.topbar{flex:none}body.studying:has(.answer-slot) .study-grid{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%}.card-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.card .details{scroll-margin-block:12px}body.studying:has(.answer-slot) .card{flex:1 1 auto;min-height:0;max-height:100%}body.studying:has(.answer-slot) .answer-slot{flex:none}@media(max-width:767px){body.studying:has(.summary) .shell{padding-bottom:32px}.pb-ios{flex-direction:column}.pb-learned{border-left:0;border-top:1px solid var(--color-line);padding:6px 12px;min-height:32px}body.studying:has(.answer-slot) .study-grid{gap:12px}body.studying:has(.answer-slot) .card-wrap{flex:1 1 auto}.answer-bar{--answer-btn-height: 72px}body.studying:has(.answer-slot) .answer-slot{margin-inline:-20px;background:var(--ui-bg);box-shadow:0 -1px 0 var(--ui-hairline)}}@media(min-width:768px){.study .topbar-center{display:grid;grid-template-columns:minmax(10.5rem,1fr) minmax(0,640px) minmax(10.5rem,1fr);align-items:center;column-gap:16px;row-gap:0;min-height:48px}.study .topbar-center>.icon-btn{grid-column:1;grid-row:1;justify-self:start;z-index:1}.study .topbar-center>h1{grid-column:1;grid-row:1;margin-left:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study .topbar-center>.pb-slot{grid-column:2;grid-row:1;order:0;flex:none;width:100%;max-width:640px;justify-self:center}.study .topbar-center>.topbar-end{grid-column:3;grid-row:1;justify-self:end;z-index:3}body{font-size:var(--size-body)}.shell{padding:32px 32px 48px}.home-title{font-size:64px;gap:16px}.path-glyph{width:96px;height:96px;font-size:48px}.path-glyph[data-wide=true]{font-size:22px}.path-title{font-size:var(--size-h3)}.lede{font-size:var(--size-lede)}.kicker{font-size:var(--size-kicker)}.group-title,.prose h2{font-size:var(--size-h3)}.headline{font-size:var(--size-h2)}.section-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.study-grid{display:flex;flex-direction:column;gap:24px;max-width:600px;margin-inline:auto}.card .details{margin-top:20px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--card-card-text) 22%,transparent)}.card .details>:first-child{margin-top:0}.answer-bar{position:static;width:100%;height:calc(var(--answer-btn-height) + var(--answer-bar-pad-top) + var(--answer-bar-pad-bottom));padding-bottom:var(--answer-bar-pad-bottom);background:transparent;box-shadow:none}body.studying:has(.answer-slot) .answer-slot{padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}.keyboard-hint{display:block}.hw{font-size:120px}.summary h2{font-size:var(--size-h3)}.sum-card{padding:28px;gap:20px}.sum-head{flex-direction:row;align-items:center;justify-content:space-between}.lvl .ct{font-size:19px}.sum-sub,.a2hs p{font-size:var(--size-small)}.a2hs h3{font-size:var(--size-body)}.sheet{left:50%;right:auto;top:50%;bottom:auto;width:min(440px,calc(100% - 48px));transform:translate(-50%,-50%);border-radius:var(--radius-3xl);padding:24px}.sheet .grab{display:none}.sheet h2{font-size:var(--size-h3)}}@media(min-width:768px)and (max-height:759px){.answer-bar{--answer-btn-height: 64px}}@media(max-height:500px){.reading-slot{--reading-kana: 18px;--reading-small: 13px;--reading-line: 1.15;--reading-gap: 0px}.reading-slot .show-reading{min-height:32px;padding-top:0;padding-bottom:0}.reading-slot .show-reading:after{content:"";position:absolute;left:0;right:0;top:0;height:44px}.reading .romaji{font-size:var(--reading-small)}.card-scroll{padding:8px 16px 12px}.card[data-theme=kimono]{padding-top:22px}.card[data-theme=kimono] .card-scroll{padding-top:2px}.card[data-theme=kimono] .card-decor{height:22px}.hw{font-size:40px}.card-fade{height:24px}body.studying:has(.answer-slot) .shell{padding-top:8px}.topbar{margin-bottom:8px}.pb-ios{flex-direction:row}.pb-learned{border-top:0;border-left:1px solid var(--color-line);padding:0 10px;min-height:0}}@media(max-width:767px)and (orientation:landscape){body.studying:has(.answer-slot) .shell{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}body.studying:has(.answer-slot) .answer-slot{margin-inline:0}}@media(min-width:768px)and (max-width:1199px)and (orientation:landscape){body.studying:has(.answer-slot) .shell{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}@media(min-width:1200px){.shell{padding:40px 48px 64px}body.studying .shell{padding-bottom:28px}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.path-top{flex-direction:column;gap:16px}.path-actions{flex-wrap:nowrap;gap:10px}.path-pill{flex:0 1 auto;padding-inline:14px}.home-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:center}.home-browse{grid-column:1;justify-self:start}.home-licences{grid-column:2;grid-row:1;justify-self:start}.home-foot .band{grid-column:3;grid-row:1;align-self:stretch}.section-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.study,.study *{transition-duration:0s!important;animation-duration:0s!important}}.hw.s22{font-size:22px}.hw.s24{font-size:24px}.hw.s26{font-size:26px}.hw.s28{font-size:28px}.hw.s30{font-size:30px}.hw.s32{font-size:32px}.hw.s34{font-size:34px}.hw.s36{font-size:36px}.hw.s38{font-size:38px}.hw.s40{font-size:40px}.hw.s42{font-size:42px}.hw.s44{font-size:44px}.hw.s46{font-size:46px}.hw.s48{font-size:48px}.hw.s50{font-size:50px}.hw.s52{font-size:52px}.hw.s54{font-size:54px}.hw.s56{font-size:56px}.hw.s58{font-size:58px}.hw.s60{font-size:60px}.hw.s62{font-size:62px}.hw.s64{font-size:64px}.hw.s66{font-size:66px}.hw.s68{font-size:68px}.hw.s70{font-size:70px}.hw.s72{font-size:72px}.hw.s74{font-size:74px}.hw.s76{font-size:76px}.hw.s78{font-size:78px}.hw.s80{font-size:80px}.hw.s82{font-size:82px}.hw.s84{font-size:84px}.hw.s86{font-size:86px}.hw.s88{font-size:88px}.hw.s90{font-size:90px}.hw.s92{font-size:92px}.hw.s94{font-size:94px}.hw.s96{font-size:96px}.hw.s98{font-size:98px}.hw.s100{font-size:100px}.hw.s102{font-size:102px}.hw.s104{font-size:104px}.hw.s106{font-size:106px}.hw.s108{font-size:108px}.hw.s110{font-size:110px}.hw.s112{font-size:112px}.hw.s114{font-size:114px}.hw.s116{font-size:116px}.hw.s118{font-size:118px}.hw.s120{font-size:120px}.answer-bar.is-open{height:auto}.answer-bar.is-open .slot{flex-direction:column;height:auto;gap:var(--answer-bar-gap)}.answer-bar.is-open .choices{height:var(--answer-btn-height);flex:none}.card-actions-row{position:relative;display:flex;gap:var(--answer-bar-gap);height:48px;flex:none}.secondary-action{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 14px;border:0;border-radius:var(--radius-xl);background:var(--color-paper-button);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-line);font-size:15px;font-weight:700}.action-key{display:none;margin-left:4px;padding:1px 6px;border-radius:6px;background:var(--color-paper-raised);color:var(--color-ink-2);font-family:inherit;font-size:12px;font-weight:700;line-height:1.35}@media(min-width:768px)and ((hover:hover)or (any-pointer:fine)){.action-key{display:inline-flex}}@media(min-width:768px){html.keyboard .action-key{display:inline-flex}}.actions-anchor,.secondary-action{position:relative}.card-menu{position:absolute;z-index:24;left:0;bottom:calc(100% + 8px);width:min(280px,calc(100vw - 32px));padding:8px;border-radius:var(--radius-2xl);background:var(--color-paper-raised);color:var(--color-ink);box-shadow:var(--shadow-ring),var(--shadow-e3)}.card-menu-title,.card-action-line,.preview-sub{margin:4px 8px 8px;color:var(--color-ink-2);font-size:13px;font-weight:600}.card-action{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 12px;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--color-ink);text-align:left;text-decoration:none}.card-action span{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.card-action-title{font-weight:700}.card-action-hint{color:var(--color-ink-2);font-size:13px;font-weight:500}.card-action[aria-disabled=true]{color:var(--color-ink-2)}.card-action[aria-disabled=true] .card-action-title{color:var(--color-ink-2);font-weight:600}.card-sheet .card-action{min-height:56px}.card-sheet-cancel{margin-top:4px}.card-action-line{margin:2px 0 0}.answer-slot{position:relative;min-width:0}.toast-stack{position:absolute;z-index:6;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);display:flex;flex-direction:column;gap:8px;width:max-content;max-width:calc(100% - 24px)}.study>.toast-stack{position:fixed;bottom:24px}.learned-toast{display:flex;align-items:center;gap:12px;padding:6px 6px 6px 16px;border-radius:var(--radius-full);background:var(--color-ink-2);color:var(--color-paper);font-weight:700;font-size:15px}.toast-undo{min-height:44px;padding:0 14px;border:0;border-radius:var(--radius-full);background:var(--color-paper);color:var(--color-ink);font-weight:700}.sets{min-width:0}.sets .set-section{margin-top:8px}.pick-title{margin:4px 0 8px;font-family:var(--font-display);font-size:var(--size-h1-mobile);font-weight:800;letter-spacing:-.04em;line-height:1}.pick-lede{max-width:40rem}.start-row{display:flex;gap:12px;margin:8px 0 16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.start-row::-webkit-scrollbar{display:none}.start-tile{display:flex;flex:none;flex-direction:column;align-items:flex-start;gap:6px;width:min(280px,78%);padding:16px;scroll-snap-align:start;border-radius:var(--radius-2xl);background:var(--color-paper-raised);color:var(--color-ink);text-decoration:none;box-shadow:inset 0 0 0 1px var(--color-line)}.start-tile.is-here{box-shadow:inset 0 0 0 2px var(--color-ink)}.tile-ja{font-family:var(--font-ja);font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.03em}.tile-name{font-weight:700}.tile-meta,.tile-from,.shelf-scope,.set-count,.set-words,.set-every,.set-status{color:var(--color-ink-2);font-size:14px}.tile-sample{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:4px;padding:10px 12px;border-radius:var(--radius-lg);background:var(--reach-wash, var(--color-paper-button))}.tile-words{color:var(--color-ink);font-weight:700}.tile-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;min-height:44px;font-weight:700}.jump-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 20px}.jump-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:0;border-radius:var(--radius-full);background:var(--color-paper);color:var(--color-ink);font-weight:700;box-shadow:inset 0 0 0 1px var(--color-line)}.jump-chip.is-current{background:var(--color-ink-2);color:var(--color-paper);box-shadow:none}.jump-count{color:var(--color-ink-2);font-weight:600}.jump-chip.is-current .jump-count{color:var(--color-paper-2)}.shelf{margin:0 0 28px;min-width:0}.shelf-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.shelf-name{margin:0;font-size:var(--size-h3-mobile);font-weight:800}.shelf-ja{margin-left:8px;font-weight:700}.shelf-scope{margin:4px 0 8px}.shelf-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.shelf-toggle,.shelf-full,.shelf-arrow{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 14px;border:0;border-radius:var(--radius-full);background:var(--color-paper);color:var(--color-ink);font-weight:700;text-decoration:none;box-shadow:inset 0 0 0 1px var(--color-line)}.shelf-arrow{width:44px;padding:0}.shelf-arrow[aria-disabled=true]{background:transparent;color:var(--color-ink-2);box-shadow:inset 0 0 0 1.5px var(--color-line)}.shelf-list{display:flex;gap:12px;margin:0;padding:8px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:8px;overscroll-behavior-x:contain;scrollbar-width:none}.shelf-list::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:no-preference){.shelf-list{scroll-behavior:smooth}}.shelf-list.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));overflow:visible;scroll-snap-type:none}.set-item{position:relative;flex:none;width:180px;scroll-snap-align:start}.shelf-list.is-grid .set-item{width:auto}.set-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:168px;padding:14px 14px 16px;border-radius:var(--radius-2xl);background:var(--color-paper-raised);color:inherit;text-decoration:none;box-shadow:inset 0 0 0 1px var(--color-line)}.set-card.is-full{background:var(--reach-wash, var(--color-paper-button))}.set-title.is-num{font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--reach-accent, var(--color-ink))}.set-title{font-weight:800;line-height:1.2}.set-words{font-weight:600}.set-card .pill,.shelf-titles .pill{margin-top:auto}.eye-btn{position:absolute;z-index:1;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-ink-2)}.shelf-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px;color:var(--color-ink-2);font-weight:600}.preview-pop{position:fixed;z-index:28;padding:16px;border-radius:var(--radius-2xl);background:var(--color-paper-raised);color:var(--color-ink);box-shadow:var(--shadow-ring),var(--shadow-e3)}.preview-title{margin:0;font-size:var(--size-h3-mobile);font-weight:800}.preview-words{margin:8px 0 12px;padding:0;list-style:none;max-height:min(360px,50vh);overflow:auto}.preview-words li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;align-items:baseline;padding:8px 0;border-top:1px solid var(--color-line)}.preview-word{display:flex;flex-direction:column;min-width:0}.preview-head{font-weight:700}.preview-read,.preview-gloss{color:var(--color-ink-2);font-size:14px}.preview-start{width:100%;background:var(--show-answer-bg, var(--color-fire));color:var(--color-white)}.your-sets{margin-top:12px;padding:20px;border-radius:var(--radius-2xl);background:var(--color-paper-button);color:var(--color-ink-2)}.your-sets h2{margin:0 0 4px;font-size:var(--size-h3-mobile);color:var(--color-ink)}.your-sets p{margin:0}.your-sets-note{margin-top:8px;font-weight:700}.set-section{scroll-margin-top:12px}@media(max-width:767px){.set-item{width:calc((100% - 24px)*.4)}.shelf-arrow{display:none}.shelf-list.is-grid .set-item{width:auto}.card-actions-row{height:auto}.secondary-action{min-height:48px}}@media(min-width:768px){.pick-title{font-size:var(--size-h1)}.tile-ja,.set-title.is-num{font-size:34px}.start-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));overflow:visible}.start-tile{width:auto}.shelf-name{font-size:var(--size-h3)}.shelf-full{display:none}}.acct-flow .center,.acct{display:flex;flex-direction:column;gap:16px}.acct-flow .center>.topbar,.acct>.topbar{margin-bottom:0}.acct-flow .headline,.acct-flow .lede,.acct-flow .note,.acct .note{margin:0}.field{width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:var(--radius-xl);background:var(--ui-surface-raised);box-shadow:inset 0 0 0 1.5px var(--color-faded)}.field-label{display:block;margin:0;color:var(--ui-text);font-weight:700;font-size:var(--size-small-mobile)}.stack{display:flex;flex-direction:column;gap:12px}.break{max-width:100%;overflow-wrap:anywhere}.field::placeholder{color:var(--ui-chevron)}.or{display:flex;align-items:center;gap:12px;margin:0;color:var(--ui-text-2);font-size:var(--size-small-mobile)}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--ui-line)}.soft{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 16px;border-radius:var(--radius-xl);background:var(--ui-surface);color:var(--ui-text-2);box-shadow:var(--shadow-ring);font-size:var(--size-small-mobile)}.soft p{margin:0}.soft strong{color:var(--ui-text)}.soft-block{flex-direction:column}.tile{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:var(--radius-md);background:var(--reach-wash, var(--color-paper-button));color:var(--reach-accent, var(--color-ink))}.badge{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 8px;border-radius:var(--radius-full);background:var(--ui-right-fill);color:var(--ui-right-ink);font-size:var(--size-kicker-mobile);font-weight:700}.addmail{display:flex;flex-direction:column;gap:12px;margin:0 0 16px;padding:16px;border-radius:var(--radius-2xl);background:var(--color-fire-tint)}.addmail h2{margin:0;font-size:var(--size-body-mobile);font-weight:700}.addmail p{margin:0;color:var(--ui-text-2);font-size:var(--size-small-mobile)}.check{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:0;color:var(--ui-text);font-size:var(--size-small-mobile)}.check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;margin:1px 0 0;flex:none;border-radius:6px;background:var(--ui-surface-raised);box-shadow:inset 0 0 0 1.5px var(--color-faded);display:grid;place-items:center}.check input:checked{background:var(--color-fire);box-shadow:none}.check input:checked:after{content:"";width:6px;height:10px;border:solid var(--color-white);border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.btn-danger{background:var(--ui-danger);color:var(--color-white)}a.row{text-decoration:none}.acct .name{display:block;max-width:100%;min-width:0;overflow-wrap:anywhere}.acct .name .badge{display:inline-flex;margin-left:8px;vertical-align:middle}.acct .group-block{display:flex;flex-direction:column;gap:12px}.account-status{margin:0;padding:12px 14px;border-radius:var(--radius-lg);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--shadow-ring)}.account-status.is-error{background:var(--ui-wrong-fill);color:var(--ui-wrong-ink)}.file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.acct[data-theme=paper]{--reach-wash: var(--color-paper-button);--reach-accent: var(--color-ink)}.acct[data-theme=fire]{--reach-wash: var(--color-fire-wash);--reach-accent: var(--color-fire-muted)}.acct[data-theme=water]{--reach-wash: var(--color-water-wash);--reach-accent: var(--color-water)}.acct[data-theme=kimono]{--reach-wash: var(--color-kimono-wash);--reach-accent: var(--color-kimono-ai)}.acct[data-theme=kutani]{--reach-wash: var(--color-kutani-wash);--reach-accent: var(--color-kutani-aubergine)}@media(min-width:768px){.acct-flow .center{width:min(560px,100%);margin:8px auto 0;padding:28px 28px 32px;background:var(--ui-surface);border-radius:var(--radius-3xl);box-shadow:var(--shadow-ring),var(--shadow-e1)}.center .lede,.center .note{color:var(--ui-text-muted)}.two{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;align-items:start}}:root{--reading-on: var(--color-water-deep);--reading-on-wash: var(--color-water-wash);--reading-kun: var(--color-kimono-kakishibu);--reading-kun-wash: var(--color-fire-wash);--stroke-ghost: var(--color-faded);--stroke-grid: var(--color-line);--stroke-done: var(--color-ink);--stroke-user: var(--color-ink-2);--stage-bg: var(--color-paper-raised)}.k-tabrow{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;margin-bottom:8px}.k-tabs{display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:4px;min-width:0;overflow-x:auto;padding:4px;border-radius:var(--radius-full);background:var(--color-paper-button)}.card[data-theme=fire] .k-tabs,.card[data-theme=water] .k-tabs,.card[data-theme=kutani] .k-tabs{background:var(--card-chip-fill)}.k-tab{display:inline-flex;flex:none;align-items:center;gap:4px;min-height:44px;padding:0 10px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--card-card-text);font-size:15px;font-weight:600}.k-tab.is-on{background:var(--color-paper-raised);color:var(--color-ink)}.k-count{flex:none;margin:0;color:var(--card-romaji);font-size:13px;font-weight:600;white-space:nowrap}.k-question{display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-height:0}.k-head{display:flex;gap:16px;align-items:flex-start}.k-literal{margin:0;font-family:var(--font-ja);font-weight:900;font-size:72px;line-height:1;color:var(--card-headword)}.k-gloss{margin:0;font-size:22px;font-weight:700;color:var(--card-card-text)}.k-meta,.k-key,.k-none,.k-setname,.k-ruby,.k-stepfrom{color:var(--card-romaji)}.k-readings h3,.k-wordsec h3,.k-sentence h3{margin:16px 0 8px;font-size:14px;font-weight:700;color:var(--card-romaji)}.k-readrow{display:flex;align-items:flex-start;gap:10px;margin:8px 0}.k-kana{font-family:var(--font-ja);font-size:22px;font-weight:600;line-height:1.4;color:var(--card-kana)}.k-kunrun{white-space:nowrap}.k-okuri{font-weight:400;text-decoration:underline dotted;text-underline-offset:3px}.card[data-theme=paper] .k-okuri,.card[data-theme=kimono] .k-okuri{color:var(--color-ink-2)}.k-pill{display:inline-flex;flex:none;align-items:center;gap:6px;min-height:28px;padding:2px 10px 2px 2px;border-radius:var(--radius-full);font-size:13px;font-weight:700}.k-disc{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);color:var(--color-white);font-family:var(--font-ja);font-size:12px}.k-pill-on{background:var(--reading-on-wash);color:var(--reading-on)}.k-pill-on .k-disc{background:var(--reading-on)}.k-pill-kun{background:var(--reading-kun-wash);color:var(--reading-kun);border:1.5px solid var(--reading-kun);box-shadow:0 0 0 2px var(--color-paper-raised)}.k-pill-kun .k-disc{background:var(--reading-kun)}.k-key,.k-sources,.k-tatoeba,.k-setname,.k-ruby{font-size:14px}.k-words{list-style:none;margin:0;padding:0}.k-words li{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--card-rule)}.k-word{font-family:var(--font-ja);font-size:20px;font-weight:700;color:var(--card-card-text)}.k-wordmain{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.k-gloss-sm{color:var(--card-card-text)}.k-sentencerow{display:flex;align-items:flex-start;gap:8px}.k-speaker{width:44px;height:44px}.k-sources a,.k-tatoeba a{color:inherit}.k-practice{display:flex;flex-direction:column;gap:8px}.k-stage{background:var(--stage-bg);color:var(--color-ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-ring);padding:12px}.k-canvas{width:min(100%,280px);margin:0 auto}.k-svg,.k-frame svg{width:100%;height:auto;display:block}.k-drawable{touch-action:none}.k-guide,.k-done,.k-live,.k-upcoming,.k-user,.k-ghost{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.k-guide{stroke:var(--stroke-ghost)}.k-done{stroke:var(--stroke-done)}.k-live,.k-user{stroke:var(--show-answer-bg)}.k-upcoming{stroke:var(--stroke-grid)}.k-ghost{stroke:var(--stroke-user);stroke-dasharray:5 4}.k-grid{stroke:var(--stroke-grid);stroke-width:.6}.k-hint{fill:none;stroke:var(--color-ink);stroke-width:2.4;stroke-linecap:round}.k-num{fill:var(--color-ink-2);font-size:8px;font-family:var(--font-ui)}.k-status{margin:8px 0 0;min-height:1.4em;color:var(--color-ink);font-weight:600}.k-progress{margin:4px 0 0;font-weight:700;color:var(--card-card-text)}.k-dots{display:flex;flex-wrap:wrap;gap:6px}.k-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-paper-button);color:var(--color-ink-2);font-size:13px;font-weight:700}.k-dot.is-now{background:var(--color-paper-raised);box-shadow:inset 0 0 0 2px var(--show-answer-bg)}.k-dot.is-done{background:var(--color-ink);color:var(--color-white)}.k-tools{display:flex;flex-wrap:wrap;gap:8px}.k-tool,.k-switch{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:0;border-radius:var(--radius-full);background:var(--card-chip-fill);color:var(--card-chip-text);font-weight:600}.k-switch{background:transparent;color:var(--card-card-text)}.k-knob{position:relative;width:40px;height:24px;border-radius:var(--radius-full);background:var(--card-card-text)}.k-knob:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-paper-raised)}.k-knob.is-on{background:var(--show-answer-bg)}.k-knob.is-on:after{left:18px}.k-film{display:flex;gap:6px;overflow-x:auto}.k-frame{flex:none;width:44px;height:44px;padding:4px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--stage-bg)}.k-frame.is-on{border-color:var(--show-answer-bg)}.k-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow:auto}.k-canvas.is-compact{width:min(100%,200px)}@media(max-width:767px){.k-canvas{width:min(100%,200px)}.k-canvas.is-compact{width:min(100%,148px)}.k-stage{padding:8px}.k-list{max-height:96px}}.k-option{display:grid;grid-template-columns:28px 1fr;gap:0 8px;align-items:center;min-height:44px;padding:6px 8px;border-radius:var(--radius-md);background:var(--stage-bg);color:var(--color-ink)}.k-option.is-on{box-shadow:inset 0 0 0 2px var(--show-answer-bg)}.k-stepnum,.k-choicekey{font-weight:700}.k-stepfrom{grid-column:2;font-size:14px;color:var(--color-ink-2)}.k-quizask{margin:8px 0 0;font-weight:700;color:var(--card-card-text)}.k-choice{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--stage-bg);color:var(--color-ink);text-align:left}.k-quiz-live{min-height:1.4em;margin:8px 0 0;font-weight:700;color:var(--card-card-text)}@media(max-width:420px),(max-height:700px){.k-question .hw{font-size:64px}.k-canvas{width:min(100%,148px)}.k-stage{padding:6px 8px}.k-practice{gap:4px}.card-scroll:has(.k-study){padding-top:12px;padding-bottom:8px}}@media(max-width:420px){.k-tab{padding:0 8px;font-size:14px}.k-tab svg{display:none}.k-count{font-size:12px}}.k-credits{margin:8px 0 0;max-width:100%;overflow-wrap:anywhere;color:var(--ui-text-2);font-size:13px;line-height:1.35}.k-credits-short{display:none}@media(max-width:767px){.k-credits-full{display:none}.k-credits-short{display:block;overflow-wrap:normal;white-space:nowrap}}.k-credits a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:var(--color-ink);text-decoration:underline;text-underline-offset:3px}@media(max-width:767px){body.studying:has(.answer-slot) .k-credits{margin-inline:20px}}@media(max-width:767px)and (orientation:landscape){body.studying:has(.answer-slot) .k-credits{margin-inline:0}}.k-wait{color:var(--card-card-text)}@keyframes k-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.k-anim{animation:none!important}}
