:root{--bg: #fbfaf7;--surface: #ffffff;--surface-2: #f4f3f8;--ink: #12131a;--ink-2: #5f6374;--ink-3: #8b8fa0;--line: #e9e8ef;--accent: #4f3de8;--accent-2: #6a55f2;--accent-ink: #ffffff;--accent-soft: #eceafd;--eyebrow: #4c47e3;--focus: #4f3de8;--hero-a: #f1f2fd;--hero-b: #dfe5fb;--hero-c: #e9e4fb;--hero-shadow: #6a7ce0;--hero-label-mid: #8a90a8;--hero-label-faint: #b3b7c8;--card-face-top: #ffffff;--card-face-bottom: #f1f3fb;--pink: #fdeaec;--pink-go: #f9cdd3;--blue: #eaf2fd;--blue-go: #cfe0fb;--blue-ink: #2c5be4;--green: #e6f5e6;--green-go: #cbebca;--yellow: #fef3d8;--yellow-go: #fbe08d;--purple: #eeebfb;--purple-go: #dcd5f8;--right: #1f9d55;--right-soft: #dcf5e4;--wrong: #d93a4a;--wrong-soft: #fde2e5;--lv-new: #d4d6e0;--lv-learning: #f3b44c;--lv-familiar: #6d8cf2;--lv-mastered: #2fb36a;--shadow-sm: 0 1px 2px rgba(30, 30, 60, .05), 0 2px 8px rgba(30, 30, 60, .04);--shadow-btn: 0 10px 24px -8px rgba(79, 61, 232, .55);--font-scripts: "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans Devanagari", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Thai", "Noto Sans Georgian", "Noto Sans Armenian", "Noto Sans JP", "Noto Sans KR";--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, var(--font-scripts), sans-serif;--font-glyph: "Inter", "Noto Sans", var(--font-scripts), "Segoe UI", "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1016;--surface: #181a23;--surface-2: #20222d;--ink: #f2f2f7;--ink-2: #a6aabb;--ink-3: #777b8e;--line: #2a2c38;--accent: #7563ff;--accent-2: #8b7bff;--accent-soft: #272448;--eyebrow: #9d93ff;--focus: #a99fff;--hero-a: #1a1c30;--hero-b: #1f2547;--hero-c: #241f45;--hero-shadow: #05060f;--hero-label-mid: #8a90a8;--hero-label-faint: #6e7286;--card-face-top: #2a2d42;--card-face-bottom: #222536;--pink: #2a1b22;--pink-go: #4a2733;--blue: #18213a;--blue-go: #22345e;--blue-ink: #8fb0ff;--green: #172a1e;--green-go: #22472f;--yellow: #2b2616;--yellow-go: #5a4a1a;--purple: #211d38;--purple-go: #352d5e;--right: #45d184;--right-soft: #183324;--wrong: #ff6b78;--wrong-soft: #3a1c22;--lv-new: #3a3d4c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-btn: 0 10px 24px -8px rgba(80, 60, 255, .6);color-scheme:dark}}:root[data-theme=dark]{--bg: #0f1016;--surface: #181a23;--surface-2: #20222d;--ink: #f2f2f7;--ink-2: #a6aabb;--ink-3: #777b8e;--line: #2a2c38;--accent: #7563ff;--accent-2: #8b7bff;--accent-soft: #272448;--eyebrow: #9d93ff;--focus: #a99fff;--hero-a: #1a1c30;--hero-b: #1f2547;--hero-c: #241f45;--hero-shadow: #05060f;--hero-label-mid: #8a90a8;--hero-label-faint: #6e7286;--card-face-top: #2a2d42;--card-face-bottom: #222536;--pink: #2a1b22;--pink-go: #4a2733;--blue: #18213a;--blue-go: #22345e;--blue-ink: #8fb0ff;--green: #172a1e;--green-go: #22472f;--yellow: #2b2616;--yellow-go: #5a4a1a;--purple: #211d38;--purple-go: #352d5e;--right: #45d184;--right-soft: #183324;--wrong: #ff6b78;--wrong-soft: #3a1c22;--lv-new: #3a3d4c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-btn: 0 10px 24px -8px rgba(80, 60, 255, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2{text-wrap:balance;letter-spacing:-.02em}a{color:inherit}button{font:inherit;color:inherit}kbd{font-family:var(--font);font-size:.72em;font-weight:600;padding:.1em .45em;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--ink-2)}.small{font-size:.875rem}.center{text-align:center;justify-content:center}.label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}[lang=el-GR],[lang=el]{font-family:var(--font-glyph)}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--surface-2);color:var(--ink);cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s ease}.icon-btn:hover{transform:translateY(-1px)}.icon-btn.small{width:34px;height:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 1.25rem;border-radius:14px;border:0;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn-primary{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:var(--accent-ink);box-shadow:var(--shadow-btn)}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-danger{background:var(--wrong);color:#fff}.btn.wide{width:100%}.btn kbd{background:#ffffff2e;border-color:#ffffff4d;color:inherit}.btn.small{min-height:40px;font-size:.9rem}.segmented{display:inline-flex;padding:4px;gap:4px;border-radius:12px;background:var(--surface-2)}.segmented.center{display:flex;width:fit-content;margin-inline:auto}.segmented button{border:0;background:transparent;padding:.45rem .9rem;border-radius:9px;font-weight:600;font-size:.875rem;color:var(--ink-2);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;min-width:0}.brand-logo{font-family:var(--font-glyph);font-weight:700;font-size:2rem;letter-spacing:-.04em;line-height:1;color:var(--ink)}.brand-name{font-weight:600;font-size:1.2rem;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picker{position:relative;min-width:0;flex:0 1 auto}.picker-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:.25rem .6rem .25rem .25rem;border-radius:14px;max-width:100%;width:max-content;transition:background .15s ease}.pickers{display:flex;align-items:center;gap:.35rem;min-width:0}.pickers>.picker+.picker{flex:none}.picker-btn:hover,.picker-btn[aria-expanded=true],.flag-btn:hover,.flag-btn[aria-expanded=true]{background:var(--surface-2)}.flag-btn{display:inline-flex;align-items:center;gap:.25rem;height:40px;padding:0 .45rem 0 .55rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;cursor:pointer;transition:background .15s ease}.flag,.picker-logo.flag{font-family:"Noto Color Emoji","Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1.35rem;line-height:1}.picker-btn .brand-logo{flex:none;white-space:nowrap}.picker-chevron{flex:none;color:var(--ink-2);transition:transform .15s ease}.picker-btn[aria-expanded=true] .picker-chevron{transform:rotate(180deg)}.picker-menu{position:absolute;z-index:50;top:calc(100% + 8px);left:0;width:min(340px,calc(100vw - 32px));max-height:min(70vh,520px);overflow-y:auto;margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 48px -12px #14143247,var(--shadow-sm)}.picker-item{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto 20px;align-items:center;gap:.6rem;min-height:52px;padding:.4rem .6rem;border-radius:12px;cursor:pointer;outline:none}.picker-item:hover,.picker-item:focus-visible{background:var(--surface-2)}.picker-item:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.picker-item[aria-selected=true]{background:var(--accent-soft)}.picker-logo{font-family:var(--font-glyph);font-weight:700;font-size:1.35rem;line-height:1;text-align:center;white-space:nowrap}.picker-text{display:flex;flex-direction:column;min-width:0}.picker-name{font-weight:600;font-size:.98rem}.picker-native{font-size:.82rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.picker-count{font-size:.75rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.picker-check{grid-column:4;color:var(--accent)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1080px;margin:0 auto;padding:1rem 0}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar-right{flex:none}html.is-home,html.is-home body,html.is-home #root{height:100%;overflow:hidden}html.is-home #root{container-type:size}.home{--k: min(calc(100cqw / 1160), calc(100cqh / 1130));height:100%;max-width:calc(1260 * var(--k) + 32px);margin:0 auto;padding:calc(18 * var(--k)) max(16px,calc(36 * var(--k))) calc(28 * var(--k));display:grid;grid-template-rows:auto minmax(0,410fr) minmax(0,600fr);gap:calc(22 * var(--k))}.home-top{display:flex;align-items:center;justify-content:space-between;padding:calc(8 * var(--k)) calc(8 * var(--k)) 0}.home .brand{gap:calc(14 * var(--k))}.home .brand-logo{font-size:max(24px,calc(40 * var(--k)))}.home .brand-name{font-size:max(17px,calc(22 * var(--k)))}.home .icon-btn{width:max(40px,calc(48 * var(--k)));height:max(40px,calc(48 * var(--k)));background:var(--surface-2)}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;min-height:0;border-radius:calc(30 * var(--k));padding:0 calc(16 * var(--k)) 0 calc(42 * var(--k));background:radial-gradient(120% 90% at 0% 0%,var(--hero-a) 0%,transparent 60%),radial-gradient(90% 120% at 100% 100%,var(--hero-c) 0%,transparent 60%),linear-gradient(120deg,var(--hero-a),var(--hero-b));overflow:hidden}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.eyebrow{font-size:calc(21 * var(--k));font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow)}.hero h1{font-size:calc(64 * var(--k));line-height:1.08;font-weight:800;letter-spacing:-.03em;margin-top:calc(8 * var(--k));white-space:nowrap}.hero-sub{margin-top:calc(18 * var(--k));font-size:calc(22 * var(--k));line-height:1.5;color:var(--ink-2);max-width:24em}.btn-start{margin-top:calc(34 * var(--k));display:inline-flex;align-items:center;gap:calc(18 * var(--k));height:calc(78 * var(--k));min-height:44px;padding:0 calc(46 * var(--k)) 0 calc(38 * var(--k));border:0;border-radius:calc(24 * var(--k));background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#fff;font-weight:600;font-size:max(15px,calc(23 * var(--k)));cursor:pointer;box-shadow:var(--shadow-btn);transition:transform .15s ease,box-shadow .15s ease}.btn-start:hover{transform:translateY(-2px)}.btn-start-icon{width:calc(26 * var(--k));height:calc(26 * var(--k));min-width:14px;min-height:14px}.hero-art{width:100%;height:100%;max-height:calc(400 * var(--k));align-self:center}.modes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(0,320fr) minmax(0,280fr);gap:calc(22 * var(--k));min-height:0}.mode{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;column-gap:calc(14 * var(--k));min-height:0;border-radius:calc(28 * var(--k));padding:calc(28 * var(--k)) calc(36 * var(--k)) calc(30 * var(--k));text-decoration:none;color:var(--ink);background:var(--tone);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.mode:hover{transform:translateY(-3px);box-shadow:0 16px 32px -18px #281e5a59}.mode:hover .mode-go{transform:translate(3px)}.mode-lg{grid-column:span 3}.mode-sm{grid-column:span 2;padding:calc(26 * var(--k)) calc(24 * var(--k)) calc(28 * var(--k)) calc(32 * var(--k))}.mode-pink{--tone: var(--pink);--tone-go: var(--pink-go)}.mode-blue{--tone: var(--blue);--tone-go: var(--blue-go)}.mode-green{--tone: var(--green);--tone-go: var(--green-go)}.mode-yellow{--tone: var(--yellow);--tone-go: var(--yellow-go)}.mode-purple{--tone: var(--purple);--tone-go: var(--purple-go)}.mode-art{grid-column:1 / -1;height:100%;max-height:calc(170 * var(--k));width:auto;max-width:100%;justify-self:start;align-self:end;margin-left:calc(-6 * var(--k));margin-bottom:calc(14 * var(--k))}.mode-sm .mode-art{max-height:calc(130 * var(--k));margin-bottom:calc(12 * var(--k))}.mode-yellow .mode-art{max-height:calc(100 * var(--k));align-self:center;margin-left:calc(36 * var(--k))}.mode-art.phone-only{display:none}.mode-text{display:flex;flex-direction:column;gap:calc(8 * var(--k));min-width:0;align-self:end}.mode-title{font-weight:700;font-size:max(14px,calc(26 * var(--k)));letter-spacing:-.015em;line-height:1.2}.mode-sm .mode-title{font-size:max(14px,calc(25 * var(--k)))}.mode-desc{font-size:max(11px,calc(20 * var(--k)));line-height:1.45;color:var(--ink-2);max-width:19em}.mode-sm .mode-desc{font-size:max(11px,calc(18.5 * var(--k)))}.mode-go{align-self:end;display:grid;place-items:center;width:calc(60 * var(--k));height:calc(60 * var(--k));min-width:30px;min-height:30px;border-radius:50%;background:var(--tone-go);color:var(--ink);transition:transform .2s ease}.mode-go svg{width:calc(26 * var(--k));height:calc(26 * var(--k));min-width:15px;min-height:15px}.mode-blue .mode-go{color:var(--blue-ink)}@container (max-width: 760px){.home{--k: min(calc(100cqw / 430), calc(100cqh / 1010));padding:calc(10 * var(--k)) 16px calc(16 * var(--k));grid-template-rows:auto minmax(0,385fr) minmax(0,600fr);gap:calc(14 * var(--k));max-width:none}.home-top{padding:calc(6 * var(--k)) calc(4 * var(--k)) 0}.home .brand-logo{font-size:max(24px,calc(34 * var(--k)))}.home .brand-name{font-size:max(16px,calc(20 * var(--k)))}.home .icon-btn{width:40px;height:40px}.hero{display:block;padding:calc(28 * var(--k)) calc(26 * var(--k));border-radius:calc(24 * var(--k))}.eyebrow{font-size:calc(16 * var(--k))}.hero h1{font-size:calc(37 * var(--k));margin-top:calc(4 * var(--k))}.hero-sub{margin-top:calc(12 * var(--k));font-size:calc(16.5 * var(--k));max-width:17em}.btn-start{position:relative;z-index:1;margin-top:calc(22 * var(--k));height:calc(54 * var(--k));min-height:40px;gap:calc(12 * var(--k));padding:0 calc(30 * var(--k)) 0 calc(26 * var(--k));border-radius:calc(15 * var(--k));font-size:max(14px,calc(16 * var(--k)))}.btn-start-icon{width:calc(18 * var(--k));height:calc(18 * var(--k))}.hero-art{position:absolute;right:calc(-6 * var(--k));bottom:calc(6 * var(--k));width:62%;height:auto;max-height:52%}.modes{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(5,minmax(0,1fr));gap:calc(13 * var(--k))}.mode,.mode-sm,.mode-lg{grid-column:auto;grid-template-columns:calc(96 * var(--k)) minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:center;column-gap:calc(16 * var(--k));padding:calc(8 * var(--k)) calc(18 * var(--k)) calc(8 * var(--k)) calc(14 * var(--k));border-radius:calc(20 * var(--k))}.mode-art,.mode-sm .mode-art,.mode-yellow .mode-art{grid-column:1;width:100%;height:100%;max-height:calc(80 * var(--k));max-width:none;margin:0;align-self:center;justify-self:center}.mode-art.wide-only{display:none}.mode-art.phone-only{display:block}.mode-yellow .mode-art{max-height:calc(64 * var(--k))}.mode-text{align-self:center;gap:calc(4 * var(--k))}.mode-title,.mode-sm .mode-title{font-size:max(14px,calc(17.5 * var(--k)))}.mode-desc,.mode-sm .mode-desc{font-size:max(11.5px,calc(14.5 * var(--k)));line-height:1.4}.mode-go{align-self:center;width:calc(46 * var(--k));height:calc(46 * var(--k))}.mode-go svg{width:calc(20 * var(--k));height:calc(20 * var(--k))}}.page{min-height:100%;padding:0 16px 48px}.tone-pink{--tone: var(--pink);--tone-go: var(--pink-go)}.tone-blue{--tone: var(--blue);--tone-go: var(--blue-go)}.tone-green{--tone: var(--green);--tone-go: var(--green-go)}.tone-yellow{--tone: var(--yellow);--tone-go: var(--yellow-go)}.tone-purple{--tone: var(--purple);--tone-go: var(--purple-go)}.page-body{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.page-body.narrow{max-width:720px}.panel{background:var(--surface);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow-sm)}.tone-panel{background:var(--tone);box-shadow:none}.intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:2rem}.intro-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.intro .eyebrow{font-size:.8rem}.intro h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.1}.intro p.muted{max-width:34em}.intro .btn{margin-top:.5rem}.intro-art{width:clamp(120px,22vw,220px);height:auto}.lesson{display:flex;flex-direction:column;gap:.75rem}.lesson-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.lesson-head h2{font-size:1.15rem;font-weight:700}.letter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.letter-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem .5rem 1rem;border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.letter-tile:hover{transform:translateY(-2px);box-shadow:0 12px 24px -16px #281e5a66}.letter-tile-glyph{font-size:clamp(2rem,5vw,2.6rem);font-weight:700;line-height:1.1;letter-spacing:.02em}.letter-tile-glyph span{margin-left:.2em;font-weight:500;color:var(--ink-2)}.letter-tile-name{font-size:.9rem;font-weight:600;color:var(--ink-2)}.level-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--lv)}.letter-tile .level-dot{position:absolute;top:12px;right:12px}.lv-new{--lv: var(--lv-new)}.lv-learning{--lv: var(--lv-learning)}.lv-familiar{--lv: var(--lv-familiar)}.lv-mastered{--lv: var(--lv-mastered)}.crumbs{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.9rem;color:var(--ink-2)}.crumbs a{color:var(--ink);font-weight:600}.crumbs-dots{display:inline-flex;gap:6px;margin-left:.25rem}.crumbs-dots a{width:22px;height:8px;border-radius:99px;background:var(--line)}.crumbs-dots a.seen{background:var(--pink-go)}.crumbs-dots a.on{background:var(--accent)}.crumbs-count{margin-left:auto;font-variant-numeric:tabular-nums}.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;align-items:start}.detail-card{background:var(--tone);box-shadow:none;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:2.25rem 1.5rem}.detail-glyphs{display:flex;align-items:baseline;justify-content:center;gap:.15em;font-size:clamp(6rem,18vw,9.5rem);line-height:1;font-weight:700;padding:.12em .35em;border-radius:28px;background:var(--surface);box-shadow:0 18px 40px -24px #c8285073}.detail-glyphs.long{font-size:clamp(4.5rem,14vw,8rem)}.glyph-lower{color:var(--ink-2);font-weight:500}.glyph-final{font-size:.5em;color:var(--ink-3);font-weight:500}.variants{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none}.variants li{display:flex;flex-direction:column;align-items:center;min-width:4.5rem;padding:.4rem .7rem;border-radius:12px;background:var(--surface-2)}.variant-glyph{font-family:var(--font-glyph);font-size:1.9rem;font-weight:600;line-height:1.3}.variant-label{font-size:.75rem;color:var(--ink-2)}.detail-name{font-size:2rem;font-weight:800}.detail-name span{font-weight:500;color:var(--ink-2);margin-left:.25em}.detail-audio{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.detail-audio .btn-soft{background:var(--surface)}.syl{font-size:.95rem;letter-spacing:.02em}.detail-facts{display:flex;flex-direction:column;gap:1rem}.fact{display:flex;flex-direction:column;gap:.6rem}.fact-big{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.fact-row{display:flex;gap:2rem;margin:0}.fact-row dt{font-size:.8rem;color:var(--ink-3)}.fact-row dd{margin:0;font-weight:700;font-size:1.15rem}.ipa{font-family:"Noto Sans","Segoe UI","Lucida Sans Unicode",var(--font)}.fact .segmented{align-self:flex-start}.examples{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.examples li{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem}.ex-word{font-size:1.2rem;font-weight:700}.ex-translit{color:var(--ink-2);font-style:italic}.ex-meaning{color:var(--ink-2);font-size:.9rem}.detail-nav{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.session-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.session-top .roundbar{flex:1 1 220px}.roundbar{display:flex;align-items:center;gap:.9rem}.roundbar-track{flex:1;height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}.roundbar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .35s ease}.roundbar-count{font-weight:600;font-size:.9rem;color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:3.5em;text-align:right}.prompt{background:var(--tone);box-shadow:none;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:2rem 1.5rem}.prompt-text{font-size:1.25rem;font-weight:700}.prompt-glyph{font-size:clamp(5rem,16vw,7.5rem);font-weight:700;line-height:1.05}.prompt-glyph small,.choice-glyph small,.mt-glyph small,.fc-glyph small{font-size:.7em;margin-left:.15em;font-weight:500;color:var(--ink-2)}.prompt-name{font-size:2rem;font-weight:800}.prompt-name span{color:var(--ink-2);font-weight:500}.listen-btn{display:grid;place-items:center;width:108px;height:108px;border-radius:50%;border:0;background:var(--surface);color:var(--right);cursor:pointer;box-shadow:0 14px 30px -16px #1e783c99;transition:transform .15s ease}.listen-btn:hover{transform:scale(1.04)}.listen-btn:active{transform:scale(.97)}.tone-yellow .listen-btn{color:#b7860b}.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:128px;border-radius:20px;border:0;background:var(--surface);box-shadow:var(--shadow-sm),inset 0 0 0 2px transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}.choice:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px -16px #281e5a66,inset 0 0 0 2px var(--tone-go)}.choice kbd{position:absolute;top:10px;left:10px}.choice-glyph{font-size:3rem;font-weight:700;line-height:1.1}.choice-name{font-size:.85rem;font-weight:600;color:var(--ink-2)}.choice:disabled{cursor:default}.is-right{background:var(--right-soft)!important;box-shadow:inset 0 0 0 2.5px var(--right)!important}.is-wrong{background:var(--wrong-soft)!important;box-shadow:inset 0 0 0 2.5px var(--wrong)!important;animation:shake .35s ease}.is-dim{opacity:.45}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.after{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;flex-wrap:wrap}.feedback{display:flex;align-items:center;gap:.6rem;font-weight:500;min-width:0}.feedback-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none;color:#fff}.feedback.is-right,.feedback.is-wrong{background:none!important;box-shadow:none!important;animation:none}.feedback.is-right .feedback-icon{background:var(--right)}.feedback.is-wrong .feedback-icon{background:var(--wrong)}.flashcard{display:block;width:100%;border:0;padding:0;background:none;perspective:1400px;cursor:pointer;border-radius:28px}.flashcard-inner{position:relative;display:grid;min-height:min(52vh,380px);transition:transform .5s cubic-bezier(.3,.7,.3,1);transform-style:preserve-3d}.flashcard.is-flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1.5rem;border-radius:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--surface);box-shadow:0 24px 50px -30px #2c5be48c,var(--shadow-sm)}.flashcard-face.front{background:linear-gradient(160deg,var(--surface),var(--tone))}.flashcard-face.back{transform:rotateY(180deg);background:var(--tone)}.fc-glyph{font-size:clamp(6rem,20vw,9rem);font-weight:700;line-height:1;color:var(--ink)}.fc-glyph.sm{font-size:clamp(3.5rem,12vw,5rem)}.fc-name{display:flex;flex-direction:column;align-items:center;font-size:clamp(2.25rem,7vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.fc-name small{font-size:.55em;font-weight:500;color:var(--ink-2);letter-spacing:0}.fc-sound{font-size:1.1rem;color:var(--ink-2)}.fc-hint{font-size:.9rem;color:var(--ink-3)}.grades{display:flex;gap:.6rem;align-items:stretch}.grades .icon-btn{align-self:center}.grade{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:64px;border-radius:16px;border:0;cursor:pointer;font-weight:700;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .15s ease}.grade:hover{transform:translateY(-2px)}.grade small{font-weight:500;font-size:.78rem;color:var(--ink-2)}.grade kbd{position:absolute;top:6px;right:6px;font-size:.65rem}.grade-again{color:var(--wrong)}.grade-hard{color:#c27a0e}.grade-good{color:var(--right)}.grade-easy{color:var(--blue-ink)}.empty-art{width:160px;height:auto}.answer{display:flex;gap:.75rem}.answer-input{flex:1;min-width:0;height:60px;padding:0 1.25rem;font:inherit;font-size:1.35rem;font-weight:600;border-radius:16px;border:0;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}.answer-input:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--accent)}.answer .btn{min-height:60px;padding:0 1.75rem}.keyboard{width:100%;display:flex;flex-direction:column;gap:.5rem}.keyboard-row{display:flex;justify-content:center;gap:.4rem}.key{flex:0 1 56px;min-width:0;height:58px;border:0;border-radius:12px;font-size:1.5rem;font-weight:600;background:var(--surface);box-shadow:0 3px 0 var(--line),var(--shadow-sm);cursor:pointer;transition:transform .08s ease}.key:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.key:disabled{cursor:default}.match-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.match-stats{display:flex;gap:1rem;font-weight:600;font-size:.9rem;color:var(--ink-2);font-variant-numeric:tabular-nums}.match-stats span{display:inline-flex;align-items:center;gap:.35rem}.match-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.match-tile{aspect-ratio:1 / .9;max-width:100%;display:grid;place-items:center;border:0;border-radius:20px;cursor:pointer;background:var(--surface);box-shadow:0 5px 0 var(--purple-go),var(--shadow-sm);transition:transform .15s ease,background .2s ease,opacity .3s ease}.match-tile:hover:not(:disabled){transform:translateY(-2px)}.match-tile.kind-sound{color:var(--accent)}.match-tile.is-selected{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#fff;box-shadow:0 5px #3a26c4}.match-tile.is-selected small{color:#fffc}.match-tile.is-matched{opacity:.55;cursor:default;box-shadow:inset 0 0 0 2.5px var(--right)!important}.mt-glyph{font-size:clamp(2rem,7vw,2.75rem);font-weight:700}.mt-name{font-size:clamp(1rem,3.6vw,1.25rem);font-weight:700}.summary{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:2.5rem 1.5rem}.summary h2{font-size:1.75rem;font-weight:800}.summary-missed{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:99px;background:var(--tone);font-weight:600;font-size:.9rem;text-decoration:none}.chip-glyph{font-size:1.1rem}.summary-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:.75rem}.ring{position:relative;display:grid;place-items:center;flex:none}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:9}.ring-fill{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .8s ease}.ring-label{display:flex;flex-direction:column;align-items:center;line-height:1.1}.ring-label strong{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}.ring-label span{font-size:.75rem;color:var(--ink-2);max-width:7em;text-align:center}.stats-inline{display:flex;gap:2rem;margin:.25rem 0 0}.stats-inline dt{font-size:.8rem;color:var(--ink-3)}.stats-inline dd{margin:0;font-weight:800;font-size:1.35rem;font-variant-numeric:tabular-nums}.progress-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.25rem}.progress-overall{display:flex;align-items:center;gap:1.5rem}.progress-overall>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0}.progress-overall h1{font-size:1.6rem;font-weight:800}.stat-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.stat{display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:1.25rem}.stat dt{font-size:.8rem;color:var(--ink-3)}.stat dd{margin:0;display:flex;align-items:center;gap:.3rem;font-weight:800;font-size:1.75rem;font-variant-numeric:tabular-nums}.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--ink-2)}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.heatmap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;margin-top:1rem}.heat{display:flex;flex-direction:column;gap:.4rem;padding:.8rem;border-radius:16px;background:var(--surface-2);text-decoration:none}.heat-glyph{font-size:1.5rem;font-weight:700}.heat-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}.heat-bar span{display:block;height:100%;background:var(--lv);border-radius:inherit}.heat-name{font-size:.8rem;color:var(--ink-2);font-weight:600}.reset{display:flex;justify-content:center}.reset-confirm{text-align:center}.beta-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--eyebrow);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:default}.beta-notice{position:fixed;z-index:50;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(560px,calc(100vw - 32px));display:flex;align-items:center;gap:.75rem;padding:.75rem .75rem .75rem 1rem;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),0 12px 32px -12px #14143259}.beta-notice p{flex:1;margin:0;font-size:.875rem;color:var(--ink-2)}.beta-notice strong{color:var(--ink)}.inline-icon{vertical-align:-2px}.detail-report{margin-top:1rem;display:flex;justify-content:center}.report{width:min(480px,calc(100vw - 32px));text-align:start;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:0 24px 60px -20px #0a0a2880}.report::backdrop{background:#0f101e73}.report-body{display:grid;gap:1rem;padding:1.5rem}.report-body h2{margin:0;font-size:1.25rem}.report-body>p{margin:0}.report-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.report-kinds{display:flex;flex-wrap:wrap}.report-kinds button{flex:1 1 auto}.field{display:grid;gap:.4rem}.field select,.field textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .85rem;border-radius:12px;border:0;background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.field textarea{resize:vertical;min-height:96px}.field select:focus,.field textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.report-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.report-error{margin:0;color:var(--wrong);font-size:.9rem}.report-actions{display:flex;justify-content:flex-end;gap:.75rem}.report-done{text-align:center;justify-items:center}@media(max-width:480px){.topbar .beta-pill,.home-top .beta-pill{display:none}.report-actions .btn{flex:1}}@media(max-width:760px){.detail,.progress-top{grid-template-columns:minmax(0,1fr)}.intro{grid-template-columns:minmax(0,1fr);padding:1.5rem}.intro-art{display:none}.heatmap{grid-template-columns:repeat(4,minmax(0,1fr))}.match-board{grid-template-columns:repeat(3,minmax(0,1fr))}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{min-height:104px}.topbar .brand-name{font-size:1.05rem}.topbar .brand-logo{font-size:1.6rem}.stat-tiles{gap:.6rem}.stat{padding:1rem}.stat dd{font-size:1.4rem}.progress-overall{flex-direction:column;text-align:center}.progress-overall>div:last-child{align-items:center}}@media(max-width:480px){.letter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heatmap{grid-template-columns:repeat(3,minmax(0,1fr))}.grades{flex-wrap:wrap}.grades .icon-btn{display:none}.grade{flex:1 1 calc(50% - .3rem)}.key{height:50px;font-size:1.3rem;border-radius:10px}.keyboard-row{gap:.25rem}.examples li{grid-template-columns:auto auto minmax(0,1fr)}.ex-meaning{grid-column:3}.ex-translit{display:none}.detail-nav .btn{flex:1}.answer .btn{padding:0 1.1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1rem;padding:16px;text-align:center;color:var(--ink-2)}.loading-dot{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-dot{animation:none}}.seo{max-width:760px;margin:0 auto;padding:32px 16px;color:var(--ink);line-height:1.5}.seo table{width:100%;border-collapse:collapse}.seo th,.seo td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.seo a{color:var(--accent)}
