:root{--ink-950:#101216;--ink-900:#16181e;--ink-800:#1e212a;--ink-700:#2a2e39;--ink-600:#3b4150;--ink-500:#565d6e;--ink-400:#7a8291;--ink-300:#a6adba;--ink-200:#cdd3dc;--ink-100:#e5e9ef;--ink-75:#eff2f6;--ink-50:#f5f7f9;--white:#fff;--sky-700:#175fa8;--sky-600:#1e7ad1;--sky-500:#3f9bee;--sky-400:#6fb7f5;--sky-300:#a6d4f9;--sky-200:#cbe6fb;--sky-100:#e4f1fd;--sky-50:#f1f8fe;--green-600:#2e7d57;--green-100:#dcefe5;--amber-600:#b47318;--amber-100:#f6ead3;--red-600:#c24039;--red-100:#f7e0de;--text-primary:var(--ink-900);--text-secondary:var(--ink-500);--text-muted:var(--ink-400);--text-inverse:var(--white);--text-accent:var(--sky-600);--text-on-accent:var(--white);--surface-page:var(--ink-50);--surface-card:var(--white);--surface-subtle:var(--ink-75);--surface-sunken:var(--ink-100);--surface-inverse:var(--ink-900);--surface-accent:var(--sky-600);--surface-accent-subtle:var(--sky-50);--surface-selected:var(--sky-100);--border-subtle:var(--ink-100);--border-default:var(--ink-200);--border-strong:var(--ink-300);--border-accent:var(--sky-600);--border-focus:var(--sky-500);--accent:var(--sky-600);--accent-text:var(--sky-700);--accent-hover:var(--sky-700);--accent-active:var(--sky-700);--accent-bright:var(--sky-500);--status-success:var(--green-600);--status-warning:var(--amber-600);--status-danger:var(--red-600);--font-sans:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Roboto Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-5xl:64px;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-bold:700;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.02em;--tracking-caps:.08em;--display:var(--weight-medium) var(--text-5xl) / var(--leading-tight) var(--font-sans);--heading-1:var(--weight-medium) var(--text-3xl) / var(--leading-tight) var(--font-sans);--heading-2:var(--weight-medium) var(--text-2xl) / var(--leading-snug) var(--font-sans);--heading-3:var(--weight-medium) var(--text-xl) / var(--leading-snug) var(--font-sans);--body:var(--weight-regular) var(--text-base) / var(--leading-normal) var(--font-sans);--body-sm:var(--weight-regular) var(--text-sm) / var(--leading-normal) var(--font-sans);--label:var(--weight-medium) var(--text-sm) / var(--leading-snug) var(--font-sans);--caption:var(--weight-regular) var(--text-xs) / var(--leading-snug) var(--font-sans);--mono:var(--weight-regular) var(--text-sm) / var(--leading-normal) var(--font-mono);--glyph-sm:25px;--glyph-md:34px;--glyph-lg:52px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-full:9999px;--border-width:1px;--border-width-strong:1.5px;--shadow-xs:0 1px 1px #16181e0d;--shadow-sm:0 1px 2px #16181e12, 0 1px 3px #16181e0d;--shadow-md:0 2px 6px #16181e12, 0 4px 12px #16181e0f;--shadow-lg:0 8px 24px #16181e1a, 0 2px 6px #16181e0f;--shadow-xl:0 20px 48px #16181e24;--ease-standard:cubic-bezier(.2, 0, .1, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.12s;--duration-base:.18s;--duration-slow:.26s;--background:var(--surface-page);--surface:var(--surface-card);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border-default);--accent-soft:var(--surface-selected);--learning:var(--status-warning);--learning-soft:var(--amber-100);--focus:var(--ink-900)}
*{box-sizing:border-box}html{background:var(--background);scrollbar-gutter:stable}body{background:var(--background);min-height:100vh;color:var(--ink);font:var(--body);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}a{color:inherit;text-decoration:none}button,input{font:inherit}.hangul{font-family:Noto Sans KR,Malgun Gothic,Apple SD Gothic Neo,sans-serif;font-weight:700;line-height:1}.textDisplay{color:var(--text-primary);font:var(--weight-medium) var(--text-4xl) / var(--leading-snug) var(--font-sans);letter-spacing:var(--tracking-tighter)}.textLead{color:var(--text-primary);font:var(--heading-3);letter-spacing:var(--tracking-tight)}.textBody{max-width:62ch;color:var(--text-primary);font:var(--weight-regular) var(--text-md) / var(--leading-normal) var(--font-sans)}.textSecondary{max-width:62ch;color:var(--text-secondary);font:var(--body)}.textMeta{color:var(--text-secondary);font:var(--weight-regular) var(--text-xs) / var(--leading-normal) var(--font-sans)}.textMeta .hangul{font-size:var(--text-base)}.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.appShell{flex-direction:column;flex:1;min-width:0;display:flex}.navBar{display:none}@media (min-width:1181px){.navBar{z-index:10;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-card);height:56px;padding:0 28px;display:flex;position:sticky;top:0}}.navBarMark{font:var(--weight-medium) 18px / 1 var(--font-sans);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.navBarDot{color:var(--sky-600)}.navBarNav{margin-right:auto;margin-left:var(--space-8);gap:2px;display:flex}.navBarNavItem{border-radius:var(--radius-md);color:var(--text-secondary);font:var(--label);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.navBarNavItem:hover{background:var(--surface-subtle)}.navBarNavItem[aria-current=page]{background:var(--surface-subtle);color:var(--text-primary)}.navBarCount{font:var(--mono);font-size:var(--text-xs);color:var(--accent-text)}.navBarCount_pending{color:var(--text-muted)}.navBarSettings{border-radius:var(--radius-full);background:var(--ink-100);width:32px;height:32px;color:var(--text-secondary);place-items:center;display:grid}.navBarSettings:hover{background:var(--ink-200);color:var(--text-primary)}.focusBar{z-index:10;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--shell-gutter);border-bottom:1px solid var(--border-subtle);background:var(--surface-card);display:flex;position:sticky;top:0}@media (min-width:1181px){.focusBar{gap:var(--space-4);padding:0 28px}}@media (max-width:1180px){.focusBar_lesson{display:none}}.focusBarBack{align-items:center;gap:var(--space-2);color:var(--text-secondary);font:var(--label);display:inline-flex}.focusBarBack:hover{color:var(--text-primary)}.focusBarClose{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);place-items:center;margin-left:-8px;display:grid}.focusBarClose:hover{background:var(--surface-subtle);color:var(--text-primary)}.focusBarRule{background:var(--border-default);width:1px;height:20px}.focusBarKind{font:var(--caption);color:var(--text-muted);letter-spacing:var(--tracking-caps);text-transform:uppercase}.focusBarName:first-letter{text-transform:uppercase}.focusBarName{font:var(--label);color:var(--text-secondary)}.focusBar .progressTrack{flex:1;max-width:420px;height:4px;margin:0 auto}.focusBarCount{font:var(--mono);color:var(--text-muted)}.focusBarCountTotal{color:var(--ink-300)}.appBarSearch{min-width:0;max-width:520px;height:38px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-secondary);font:var(--body-sm);cursor:pointer;text-align:left;flex:1;align-items:center;gap:9px;display:flex}.appBarSearch:hover{border-color:var(--border-strong)}.appBarSearchText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appBarForm{flex:1;align-items:center;gap:6px;max-width:520px;display:flex}.appBarClose{border-radius:var(--radius-full);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.appBarClose:hover{background:var(--surface-sunken);color:var(--text-primary)}.appBarSearchKey{display:none}@media (min-width:1181px){.navBar .appBarSearch{background:var(--surface-page);flex:none;width:300px;height:36px}.navBar .appBarSearchText{flex:1;min-width:0}.navBar .appBarSearchKey{border:1px solid var(--border-default);color:var(--text-muted);font:var(--mono);border-radius:4px;padding:2px 6px;font-size:11px;line-height:1.2;display:block}.navBar .appBarForm{flex:none;width:300px}.pageHeader .appBarSearch,.pageHeader .appBarForm{display:none}}.appTabs{display:none}.appTabIcon{color:inherit;place-items:center;display:grid}.appTabCount_pending{color:var(--ink-400)}:root{--shell-gutter:clamp(16px, calc(6vw - 16px), 56px);--shell-max:1028px}.shell{width:min(100%, calc(var(--shell-max) + 2 * var(--shell-gutter)));padding:32px var(--shell-gutter) 40px;margin:0 auto}.appShell>main{flex:1}main.shellTask+.siteFooter{display:none}@media (max-width:1180px){:is(.appShell:has(>.appMain main.shellTask.shellFocus) .appTabs,.appShell:has(>main.shellTask.shellFocus) .appTabs){display:none}}@media (min-width:1181px){.appShell:has(>main.shellFocus) .navBar{display:none}main.shellFocus+.siteFooter,main.shellFocus>.pageHeader>.pageHeaderLead,main.shellTask.shellFocus>.pageHeader{display:none}}@media (max-width:1180px){.appShell>main{min-height:100svh}}.shellText{--text-measure:732px}.shellText>:not(.pageHeader):not(.lessonSplit):not(.wordSplit){max-width:var(--text-measure)}.shellTask{--task-measure:572px}.shellTask>:not(.pageHeader):not(.lessonTask),.shellTask .pageHeaderBody{max-width:var(--task-measure)}.siteFooter{width:min(100%, calc(var(--shell-max) + 2 * var(--shell-gutter)));padding:20px var(--shell-gutter) 24px;border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 20px;margin:0 auto;font-size:13px;line-height:1.5;display:grid}.siteFooterMain{gap:4px;display:grid}.siteFooterAuthor,.siteFooterNote{margin:0}.siteFooter a{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.siteFooter a:hover{color:var(--ink)}.siteFooterContacts{gap:2px;margin-right:-11px;display:flex}.siteFooterContacts a{width:44px;height:44px;color:var(--muted);border-radius:50%;place-items:center;text-decoration:none;display:grid}.siteFooterContacts a:hover{background:var(--surface);color:var(--ink)}
.keysShell{align-content:start;display:grid}.keyGrid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(186px,1fr));display:grid}.keyTile,.exceptionCard,.searchSyllable,.familyList,.lessonOpen,.entry,.syllableDetail,.resultScoreCard,.settingsPanel,.lessonSidebarStat{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard)}a.keyTile:hover,a.searchSyllable:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.keyTile{min-height:128px;padding:var(--space-4);display:grid;position:relative;overflow:hidden}.keyTile:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.keyGlyph{font-size:var(--glyph-lg);place-self:center}.percentage{min-width:34px;color:var(--text-secondary);font:var(--weight-medium) var(--text-xs) / 1 var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.percentage_pending{color:var(--text-muted)}.keyTile>.progressTrack,.keyTile>.percentage{grid-row:3;align-self:end}.keyTile>.progressTrack{grid-column:1}.keyTile>.percentage{grid-column:2}.progressTrack{border-radius:var(--radius-full);background:var(--surface-sunken);width:100%;height:6px;display:block;position:relative;overflow:hidden}.progressFill{border-radius:var(--radius-full);background:var(--accent);height:100%;transition:width var(--duration-slow) var(--ease-out);display:block}.progressTrack_pending{opacity:.45}.progressLearning{background:var(--learning);height:100%;position:absolute;top:0}.keyTile{gap:var(--space-3);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) auto}.keyTile>.keyGlyph{grid-area:2/1/auto/-1}.keySplitMap{display:none}@media (min-width:1181px){.keySplit{align-items:start;gap:var(--space-8);grid-template-columns:420px minmax(0,1fr);display:grid}.keySplitMap{gap:var(--space-3);top:var(--space-8);display:grid;position:sticky}.keySplitMapHead{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:0;display:flex}.keySplitMapTitle{color:var(--text-primary);font:var(--heading-3);text-decoration:none}.keySplitMapTitle:hover{color:var(--accent-text)}.keySplitMap .keyGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.keySplitMap .keyTile{min-height:78px;padding:10px 9px}.keySplitMap .keyGlyph{font-size:var(--glyph-md)}.keySplitMap a.keyTile_current,.keySplitMap a.keyTile_current:hover{border-color:var(--ink-900);background:var(--surface-inverse);color:var(--text-inverse)}.keySplitMap .keyTile_current .percentage{color:var(--ink-300)}.keySplitMap .keyTile_current .progressTrack{background:var(--ink-700)}.keySplitKey>.pageHeader>.pageHeaderLead{display:none}.keySplitKey .keyGrid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px}.keySplitKey .keyTile{min-height:82px;padding:10px 9px}.keySplitKey .keyGlyph{font-size:var(--glyph-md)}}
.pageHeader{margin-bottom:var(--space-6);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;display:grid;position:relative}.pageHeader:has(>.pageHeaderLead){grid-template-columns:minmax(0,1fr)}.pageHeader:has(>.pageHeaderLead)>*{grid-column:1}.pageHeaderLead{justify-self:start;margin-left:-10px}.pageHeaderLine{align-items:center;gap:var(--space-4);min-height:44px;display:flex}.pageHeaderTitle{gap:2px;margin-right:auto;display:grid}.pageHeaderTitle>*{margin:0}.pageKind{color:var(--muted);letter-spacing:.06em;text-transform:lowercase;font-size:11px}.pageHeaderAside{text-align:right;gap:6px;display:grid}.pageHeaderBody{grid-column:1;gap:7px;margin-top:7px;display:grid}.pageHeaderLead{place-items:center;width:44px;height:44px;display:grid}.backLink{width:44px;height:44px;color:var(--muted);font-size:var(--glyph-sm);border-radius:50%;place-items:center;display:grid}.backLink:hover{background:var(--surface-sunken);color:var(--ink)}.siteName{margin:0}.pageTitle{font:var(--heading-2);letter-spacing:var(--tracking-tight);margin:0}.lessonTitle{font:var(--heading-1)}@media (min-width:1181px){.pageHeader:has(.glyphMark){align-items:center;column-gap:var(--space-5);grid-template-columns:auto minmax(0,1fr) auto}.pageHeader:has(.glyphMark)>.pageHeaderLine{display:contents}.pageHeader:has(.glyphMark)>.pageHeaderLead{grid-area:1/1/auto/-1}.pageHeader:has(.glyphMark) .pageHeaderTitle{grid-area:2/1;margin-right:0}.pageHeader:has(.glyphMark)>.pageHeaderBody{grid-area:2/2;margin-top:0}.pageHeader:has(.glyphMark) .pageHeaderAside{grid-area:2/3}}.glyphMark{border-radius:var(--radius-sm);background:var(--accent-text);min-width:30px;max-width:100%;min-height:30px;color:var(--surface);overflow-wrap:anywhere;justify-content:center;align-items:center;margin:0;padding:3px 6px;font-size:18px;line-height:1.3;display:inline-flex}
.familyList{grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));display:grid;overflow:hidden}.familyRow{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(0,1fr) 62px;align-items:center;gap:12px;min-height:62px;padding:8px 14px;transition:background-color .12s;display:grid}.familyRow:last-child{border-bottom:0}.familyRow:hover{background:var(--surface-subtle)}.familyRow:focus-visible{z-index:1;outline-offset:-3px;position:relative}.familyGlyph{font-size:29px}.familyMeaning{color:var(--ink-600);line-height:1.35}.familyProgress{text-align:right;gap:8px;display:grid}.selectedMeaning{color:var(--muted);margin:0;line-height:1.4}.saveMessage{min-height:21px;color:var(--status-danger);font-size:var(--text-sm);margin:-10px 0 10px 48px}.variantGlyph{font-size:var(--glyph-sm)}.variantMeaning{color:var(--ink-600);font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:break-word;word-break:keep-all}.tile{min-height:84px;padding:var(--space-3);border-radius:var(--radius-md);color:inherit;align-content:start;gap:4px;transition:background-color .12s;display:grid;position:relative;overflow:hidden}a.tile{background:var(--surface)}a.tile:hover{background:var(--surface-sunken)}.tile{text-align:center;justify-items:center}.tileGlyph{font-size:var(--glyph-md)}.tileCount{font:var(--mono);font-size:var(--text-xs)}.tileCount_none{font-family:var(--font-sans)}a.tile_touched{background:var(--surface-inverse);color:var(--text-inverse)}a.tile_touched:hover{background:var(--ink-800)}.tile_touched .tileCount{color:var(--ink-300)}.tileNote{-webkit-line-clamp:3;overflow-wrap:break-word;word-break:keep-all;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tileRail{background:var(--accent);height:2px;position:absolute;bottom:0;left:0}.famCount{margin:0}.famCount .textButton{margin:-13px -8px;padding:13px 8px;display:inline-block}.tileGrid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(78px,1fr));display:grid}@media (min-width:761px){.tileGrid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}}.famPanel{display:none}@media (min-width:1181px){.famSplit{align-items:start;gap:var(--space-8);grid-template-columns:420px minmax(0,1fr);display:grid}.famPanel{gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-sm);display:grid}a.tile[data-current]{box-shadow:inset 0 0 0 2px var(--accent-text)}}.famPanelHead{align-items:center;gap:var(--space-4);display:flex}.famPanelGlyph{border-radius:var(--radius-lg);background:var(--surface-inverse);width:72px;height:72px;color:var(--text-inverse);flex:none;place-items:center;font-size:40px;display:grid}.famPanelInfo{flex:1;min-width:0}.famPanelTitle{font:var(--heading-3);margin:0}.famPanelTally{margin:4px 0 0}.famPanelOpen{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);height:38px;color:var(--text-primary);font:var(--label);white-space:nowrap;flex:none;align-items:center;padding:0 14px;display:inline-flex}.famPanelOpen:hover{background:var(--surface-subtle)}.famSenses{border-top:1px solid var(--border-default);margin:0;padding:0;list-style:none;display:grid}.famSense{border-bottom:1px solid var(--border-subtle);overflow-wrap:break-word;word-break:keep-all;grid-template-columns:28px minmax(0,1fr) 128px 14px;align-items:center;gap:4px 12px;padding:9px 2px;line-height:1.4;display:grid}.famSense:last-child{border-bottom:0}.famSenseHanja{font-size:22px}.famSenseText{gap:2px;min-width:0;display:grid}.famSenseCount{font-variant-numeric:tabular-nums}.famSenseMark{color:var(--accent-text);font-size:13px}.wordLead{max-width:40ch;margin:0}
.senseOrigin{margin:0 0 8px}.syllableChips{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.syllableChip{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface);max-width:100%;color:var(--muted);align-items:baseline;gap:7px;padding:6px 11px;font-size:13px;line-height:1.4;transition:border-color .12s;display:inline-flex}a.syllableChip:hover{border-color:var(--ink);color:var(--ink)}.syllableChip .hangul{color:var(--ink);font-size:17px}.syllableChipOut{background:0 0}.syllableChipOut .hangul{color:var(--muted)}.syllableChipNote{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entries{gap:var(--space-4);margin:var(--space-6) 0 0;display:grid}.entry{padding:var(--space-5);scroll-margin-top:var(--space-6);display:grid}.entryBody{min-width:0}.entryHead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin:0 0 10px;display:flex}.entryMeta{margin:0}.entryTags{align-items:center;gap:8px;margin:0;display:inline-flex}.levelDot{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.levelDot_초급{background:var(--accent)}.levelDot_중급{background:var(--learning)}.levelDot_고급{background:var(--status-danger)}.entryBody>.levelField{margin:0 0 var(--space-5)}.entrySenses{gap:16px;margin:0;padding:0;list-style:none;display:grid}.entrySense{grid-template-columns:1fr;display:grid}.entrySense:has(.senseNum){grid-template-columns:24px 1fr}.senseNum{line-height:26px}.senseLemma{margin:0}.senseDef{margin:4px 0 0}.senseParts{border-radius:var(--radius-md);background:var(--accent-soft);color:var(--ink);margin:10px 0 0;padding:8px 11px;display:inline-block}.syllableTrigger{display:inline-block;position:relative}.syllableDrop{z-index:9;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:max-content;min-width:208px;max-width:min(288px,100vw - 24px);box-shadow:var(--shadow-md);text-align:left;white-space:normal;gap:10px;padding:12px 14px;display:grid;position:absolute;top:calc(100% + 8px);left:0}@supports (anchor-name:--a){.syllableTrigger>button{anchor-name:--syllable}.syllableDrop{position-anchor:--syllable;position-area:bottom span-inline-end;position-try-fallbacks:flip-inline, flip-block, flip-block flip-inline;margin:8px 0;position:fixed;top:auto;left:auto}}.syllableDropMeaning{color:var(--ink)}.syllableDropHanja{color:var(--muted);font-size:var(--text-base);margin-left:4px;font-weight:400}.syllableDropLinks{border-top:1px solid var(--line);justify-items:start;gap:4px;padding-top:8px;display:grid}.syllableDropLink{color:var(--accent-text);text-underline-offset:3px;font-size:13px;text-decoration:underline}@media (max-width:760px){.syllableDrop{min-width:224px;padding:14px}}.partLink{border-radius:var(--radius-sm);background:var(--surface-accent-subtle);font:inherit;cursor:pointer;color:inherit;border:0;padding:1px 5px;text-decoration:none}.partLink:hover,.partLink[aria-expanded=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--sky-300)}.partLink:after{content:"▾";color:var(--accent-text);vertical-align:1px;margin-left:4px;font-size:10px}.partLink[aria-expanded=true]:after{content:"▴"}.partGlyph{font-size:15px}.partHanja{color:var(--muted);font-size:var(--text-base);margin-left:3px;font-weight:400}.partPlus,.partChain{color:var(--muted)}.senseDiff{justify-items:start;gap:5px;margin:10px 0 0;display:grid}.nearWord{border-left:2px solid var(--line);max-width:62ch;color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;padding:2px 0 2px 11px;text-decoration:none;display:grid}.nearWord:hover{border-left-color:var(--accent);color:var(--ink)}.nearWord .hangul{color:var(--ink)}.nearNote{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.senseWords{grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:0 24px;margin-top:4px;display:grid}.wordGlyph{color:var(--accent-text);font-weight:inherit}.wordChip{min-height:28px;color:inherit;align-items:baseline;gap:8px;padding:4px 0;font-size:13px;display:flex}.wordChip>.hangul{text-underline-offset:3px;flex:none;min-width:3.4em;max-width:60%}.wordChip:hover>.hangul{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-color:currentColor}.wordTranslation{min-width:0;color:var(--muted);font-size:12px}.senseLink{color:var(--accent-text);text-underline-offset:3px;text-decoration:none}.senseLink:hover{text-decoration:underline}.wordMore{color:var(--accent-text);text-underline-offset:3px;grid-column:1/-1;justify-self:start;padding:4px 0;font-size:12px;text-decoration:underline}.unlinkedGroup{margin-top:var(--space-4)}.unlinkedGroup .senseWords{padding-left:40px}.wordSplit{max-width:var(--text-measure)}.wordAside{display:none}@media (min-width:1181px){.wordSplit:has(>.wordAside){align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1fr) 340px;max-width:none;display:grid}.wordAside{top:var(--space-8);display:block;position:sticky}.wordSplit:has(>.wordAside) .senseParts{display:none}.wordSplit:has(>.wordAside)>.sameRoots{display:none}}.wordBuild{padding:var(--space-5) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-sm)}.wordBuildTitle{margin:0 0 var(--space-3);letter-spacing:var(--tracking-caps);text-transform:uppercase}.wordBuildParts{justify-content:center;align-items:flex-start;gap:var(--space-2);display:flex}.wordBuildPart{border-radius:var(--radius-md);min-width:0;color:inherit;font:inherit;text-align:center;background:0 0;border:0;justify-items:center;gap:6px;padding:10px 6px;display:grid}button.wordBuildPart{cursor:pointer}button.wordBuildPart:hover,button.wordBuildPart[aria-expanded=true]{background:var(--surface-subtle)}.wordBuildGlyphs{align-items:baseline;gap:5px;display:flex}.wordBuildGlyph{color:var(--accent-text);font-size:40px;font-weight:var(--weight-medium);line-height:1.1}.wordBuildHanja{color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-medium)}.wordBuildSense{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:break-word}.wordBuildPlus{color:var(--text-muted);padding-top:22px;font-size:22px}.wordBuildChains{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);gap:6px;display:grid}.wordBuildChain{gap:8px;margin:0;display:flex}.wordBuildNum{font:var(--mono);font-size:var(--text-xs);line-height:var(--leading-normal);flex:none}.wordHead{align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.wordHeadGlyph{font-size:var(--glyph-lg);overflow-wrap:anywhere;margin:0;line-height:1.1}.wordHeadHanja{font-size:var(--glyph-sm);color:var(--text-muted)}.sameRoots{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.sameRootsTitle{margin:0 0 var(--space-2);letter-spacing:var(--tracking-caps);text-transform:uppercase}.sameRootsList{gap:0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(224px,1fr));display:grid}.wordAside .sameRoots{padding-right:var(--space-4);padding-left:var(--space-4)}
.searchField{width:100%;display:block}.pageHeaderLine>.searchField{flex:1}.searchInput{width:100%;height:38px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font:var(--weight-regular) var(--text-md) / 1 var(--font-sans);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.searchInput:hover{border-color:var(--border-strong)}.searchInput:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--sky-100);outline:none}.searchSyllable{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);display:flex}.searchSyllableGlyph{font-size:32px}.searchSyllableBody{gap:2px;display:grid}.searchSyllableSenses{display:none}@media (min-width:1181px){.searchSyllableSenses{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);gap:6px;display:grid}.searchSyllableSense{align-items:baseline;gap:var(--space-3);grid-template-columns:28px minmax(0,1fr) auto;display:grid}.searchSyllableSenseHanja{font-size:var(--text-lg);font-weight:var(--weight-medium)}.searchSyllableSenseText{color:var(--text-primary);font:var(--body-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.searchSyllableSenseCount{font-family:var(--font-mono)}.searchSplit>.searchSyllable .searchSyllableSenses{grid-column:1/-1}}.searchTotal{margin:0 0 var(--space-2);padding:0 12px}.searchTotal .senseBandTitle{align-items:baseline;gap:var(--space-2);display:flex}.searchTotal .senseBandCount{color:var(--text-muted);font:var(--mono)}.searchShown{color:var(--text-muted);font:var(--caption);letter-spacing:var(--tracking-normal);text-transform:none;margin-left:auto}.searchEmpty{margin:0}.searchHits{margin:0;padding:0 12px;list-style:none;display:grid}.searchHit{border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:minmax(96px,auto) minmax(0,1fr);align-items:baseline;gap:14px;margin:0 -12px;padding:10px 12px;transition:background-color .12s;display:grid}.searchHit:hover{background:var(--surface)}.searchHitWord{white-space:nowrap;font-size:21px}.searchHitBody{gap:3px;display:grid}.searchHitMeta{flex-wrap:wrap;gap:10px;display:flex}@media (min-width:1181px){.searchSplit:has(>.searchSyllable){grid-template-columns:minmax(0, 1fr) var(--search-aside);align-items:start;gap:var(--space-8);display:grid}.searchSplit{--search-aside:360px}.searchTotal .senseBandTitle{font:var(--heading-2);letter-spacing:var(--tracking-tight);font-size:24px}.searchResults{max-width:calc(var(--shell-max) - var(--search-aside) - var(--space-8))}.searchSplit>.searchResults{grid-area:1/1}.searchSplit>.searchSyllable{align-items:center;column-gap:var(--space-4);top:var(--space-8);padding:var(--space-5);grid-area:1/2;grid-template-columns:auto minmax(0,1fr);margin-bottom:0;display:grid;position:sticky}.searchSplit>.searchSyllable .searchSyllableGlyph{border-radius:var(--radius-lg);background:var(--surface-inverse);width:72px;height:72px;color:var(--text-inverse);flex:none;place-items:center;font-size:40px;display:grid}.searchHit{grid-template-columns:minmax(96px,auto) minmax(0,1fr) 180px;row-gap:3px}.searchHitBody,.searchHitMeta{display:contents}.searchHitWord{grid-area:1/1}.searchHitLemma{grid-area:1/2}.searchHitHanja{grid-area:2/2}.searchHitBy{color:var(--text-muted);font:var(--caption);grid-area:1/3}}.supportLead{margin:0 0 12px}.supportButton{height:46px;margin:var(--space-2) 0;border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent);color:var(--text-on-accent);font:var(--weight-medium) var(--text-md) / 1 var(--font-sans);letter-spacing:var(--tracking-tight);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);align-items:center;padding:0 22px;text-decoration:none;display:inline-flex}.supportButton:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.supportNote{margin:0}.exceptionList{gap:2px var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0;padding:0;list-style:none;display:grid}.exceptionItem{align-items:center;gap:var(--space-3);padding:6px var(--space-2);border-radius:var(--radius-sm);color:inherit;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);text-decoration:none;display:grid}.exceptionItem:hover{background:var(--surface-subtle)}.exceptionCard{gap:var(--space-2);padding:var(--space-5);display:grid}.exceptionText{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.exceptionWords{font-size:var(--text-sm);margin:0}
.senseGroups{gap:var(--space-8);display:grid}.syllableDetail{gap:var(--space-5);padding:var(--space-6);display:none}@media (min-width:1181px){.syllableSplit{align-items:start;gap:var(--space-8) var(--space-8);grid-template-columns:440px minmax(0,1fr);display:grid}.syllableDetail{top:var(--space-8);display:grid;position:sticky}}.syllableDetailHead{align-items:flex-start;gap:var(--space-4);display:flex}.syllableDetailGlyph{font-size:56px;font-weight:var(--weight-medium);color:var(--accent-text);line-height:.95}.syllableDetailInfo{gap:4px;min-width:0;display:grid}.syllableDetailTitle{font:var(--heading-3);margin:0}.syllableDetailMeta{margin-top:4px}.syllableDetailSamplesTitle{margin:0}.syllableDetailSamples{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.syllableDetailSamples .wordChip{border-radius:var(--radius-md);background:var(--surface-subtle);padding:10px 12px}.syllableDetailSamples .wordChip:hover{background:var(--surface-selected)}.syllableGlyph.glyphMark{background:var(--surface-inverse);width:76px;height:76px;color:var(--text-inverse);border-radius:var(--radius-lg);place-items:center;font-size:42px;line-height:1;display:grid}.levelTally{margin:0}.levelTallyValue{color:var(--ink);font-family:var(--font-mono)}.pageHeader:has(.syllableGlyph) .progressTrack{max-width:380px}.senseBand{gap:4px;display:grid}.senseBandTitle{margin:0 0 var(--space-2);border-bottom:1px solid var(--line);color:var(--text-primary);font:var(--weight-medium) var(--text-md) / var(--leading-snug) var(--font-sans);padding-bottom:4px}.senseGroups .senseBandTitle{align-items:baseline;gap:var(--space-2);color:var(--text-muted);font:var(--weight-medium) var(--text-xs) / var(--leading-snug) var(--font-sans);letter-spacing:var(--tracking-caps);text-transform:uppercase;display:flex}.senseBandCount{font-family:var(--font-mono);letter-spacing:var(--tracking-normal)}.senseHanja{color:var(--muted);text-align:center;font-size:20px;line-height:1.25}.senseList{gap:2px;margin:0;padding:0;list-style:none;display:grid}.senseShare{align-items:center;gap:var(--space-2);white-space:nowrap;font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto;display:grid}.senseShareBar{background:var(--surface-sunken);border-radius:2px;height:3px;overflow:hidden}.senseShareFill{border-radius:inherit;background:var(--ink-400);min-width:3px;height:100%;display:block}.senseShare[data-tone=lead] .senseShareFill{background:var(--accent)}.senseShare[data-tone=learning] .senseShareFill{background:var(--status-warning)}.senseShareValue{color:var(--ink)}.senseItem{--sense-line:21px;align-items:start;gap:var(--space-3);border-radius:var(--radius-sm);overflow-wrap:break-word;word-break:keep-all;border-left:2px solid #0000;grid-template-columns:minmax(0,1fr) auto;padding:10px 6px;line-height:1.4;display:grid}.syllableSense{grid-template-columns:34px minmax(0, 1fr) var(--marks-col) 96px;border-bottom:1px solid var(--border-subtle);border-radius:0;gap:4px 12px;padding:8px 6px}.senseList .syllableSense:last-child{border-bottom:0}@media (min-width:1181px){.syllableSense[data-current]{background:var(--surface-card);box-shadow:inset 2px 0 0 var(--accent)}}.senseWordCount{font-size:var(--text-xs)}.syllableSense .levelMarks{align-self:start}@media (min-width:1181px){.syllableSense{grid-template-columns:34px minmax(0,1fr) 96px}.syllableSense .levelMarks{display:none}}.senseText{gap:4px;min-width:0;display:grid}.senseNote{display:block}.senseItem_level4{border-left:2px solid var(--accent);background:var(--accent-soft)}
:root{--marks-col:96px}.levelMarks{--level-tone:var(--ink-500);flex:1;align-items:center;min-width:0;display:flex}.levelMarks_lv2{--level-tone:var(--amber-600)}.levelMarks_lv3,.levelMarks_lv4{--level-tone:var(--green-600)}.levelSeg{--seg-h:32px;border-radius:var(--radius-md);background:var(--surface-sunken);flex:1;gap:2px;min-width:240px;max-width:320px;padding:3px;display:flex}.levelSeg:empty{min-height:var(--seg-h)}.levelSegStep{min-width:0;height:var(--seg-h);border-radius:var(--radius-sm);color:var(--text-secondary);font:var(--label);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex:1;padding:0;position:relative}.levelSegStep_on{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.levelSegStep:hover{background:var(--surface-subtle);color:var(--text-primary)}.levelSegStep_on:hover{background:var(--surface-card)}.levelSegStep:disabled{cursor:wait}.levelSeg_compact{--seg-inset:5px;background:0 0;border-radius:0;flex:none;gap:0;min-width:0;max-width:none;padding:0;display:flex}.levelSeg_compact .levelSegStep{width:24px;height:calc(22px + 2 * var(--seg-inset));box-shadow:none;background:0 0;border-radius:0;flex:none}.levelSeg_compact .levelSegStep:before{content:"";inset:var(--seg-inset) 4px;border-radius:var(--radius-xs);background:var(--ink-100);transition:background var(--duration-fast) var(--ease-standard);position:absolute}.levelSeg_compact .levelSegStep_done:before,.levelSeg_compact .levelSegStep_on:before{background:var(--level-tone)}.levelSeg_compact .levelSegStep:hover:before{background:var(--ink-300)}.levelSeg_compact .levelSegStep_done:hover:before,.levelSeg_compact .levelSegStep_on:hover:before{background:var(--level-tone)}.levelSeg_compact:empty{min-width:var(--marks-col);min-height:calc(22px + 2 * var(--seg-inset))}.levelSeg_compact .levelSegLabel{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (min-width:1181px){.levelSeg_roomy{border-radius:var(--radius-md);background:var(--surface-sunken);flex:1;gap:2px;min-width:240px;max-width:320px;padding:3px}.levelSeg_roomy .levelSegStep{width:auto;height:var(--seg-h);border-radius:var(--radius-sm);flex:1}.levelSeg_roomy .levelSegStep:before{content:none}.levelSeg_roomy .levelSegStep_on{background:var(--surface-card);box-shadow:var(--shadow-sm)}.levelSeg_roomy .levelSegStep:hover{background:var(--surface-subtle)}.levelSeg_roomy .levelSegStep_on:hover{background:var(--surface-card)}.levelSeg_roomy .levelSegLabel{clip:auto;width:auto;height:auto;position:static;overflow:visible}}.levelField{align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.levelFieldLabel{color:var(--text-muted);font:var(--caption);white-space:nowrap}
.vocabularyTitle{margin:0}.vocabularyShell .senseList:has(>:nth-child(9)){gap:2px var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr))}@media (max-width:760px){.senseItem>.levelMarks{margin-left:52px}.syllableSense>.levelMarks,.routeRoots .senseItem>.levelMarks{margin-left:0}}.vocabularySense{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;display:grid}.vocabularyGlyph{font-size:var(--glyph-sm);line-height:var(--sense-line)}.senseItem>.levelMarks{min-height:var(--sense-line)}.vocabularyText{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}.vocabularySense:hover .vocabularyText{-webkit-text-decoration-color:var(--accent-text);text-decoration-color:var(--accent-text)}.senseItem>.vocabularyRole{font-size:var(--text-xs);grid-column:1;margin-left:52px}.vocabularyHanja{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-sm)}.vocabularyList .senseItem{padding:var(--space-2) 6px;grid-template-columns:minmax(0, 1fr) var(--marks-col);align-items:center;row-gap:0}.vocabularyList .vocabularySense,.vocabularyList>.senseItem>.vocabularyRole{grid-column:1}.vocabularyList .senseItem>.levelMarks{grid-area:1/2/span 2;justify-self:end}.vocabularyHead{display:none}@media (min-width:1181px){.vocabularyTable{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);gap:0;overflow:hidden}.vocabularyHead{gap:var(--space-3);border-bottom:1px solid var(--border-default);color:var(--text-muted);font:var(--caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;border-left:2px solid #0000;grid-template-columns:56px minmax(0,1fr) 180px 320px;margin:0;padding:10px 20px;display:grid}.vocabularyTable .senseBand{gap:0}.vocabularyTable .senseBandTitle{border-bottom:1px solid var(--border-subtle);background:var(--surface-page);justify-content:flex-start;margin:0;padding:12px 22px 10px}.vocabularyShell .senseList:has(>:nth-child(9)){grid-template-columns:minmax(0,1fr);gap:0}.vocabularyList .senseItem{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-subtle);border-radius:0;grid-template-columns:minmax(0,1fr) 180px 320px;padding:8px 20px}.vocabularyList>.senseItem:last-child{border-bottom:0}.vocabularyList .vocabularySense{gap:var(--space-3);grid-template-columns:56px minmax(0,1fr);align-items:center}.vocabularyList>.senseItem>.vocabularyRole{font-size:var(--text-sm);grid-area:1/2;margin-left:0}.vocabularyList .senseItem>.levelMarks{grid-area:1/3;justify-self:stretch}}.vocabularyShell .rootTabList{margin-bottom:var(--space-5)}.vocabularyWordGlyph{white-space:nowrap}.vocabularyWords .vocabularySense{grid-template-columns:minmax(0,auto) minmax(0,1fr)}@media (min-width:1181px){.vocabularyWords .vocabularyHead{grid-template-columns:140px minmax(0,1fr) 320px}.vocabularyWords .vocabularyList .senseItem{grid-template-columns:minmax(0,1fr) 320px}.vocabularyWords .vocabularyList .vocabularySense{grid-template-columns:140px minmax(0,1fr)}.vocabularyWords .vocabularyList .senseItem>.levelMarks{grid-column:2}}.vocabularyView{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.vocabularyView:hover:not(:disabled){color:var(--text-primary)}.vocabularyView[aria-pressed=true]{color:var(--text-primary);font-weight:600}.vocabularyView:disabled{cursor:default;opacity:.55}
.routeSteps{gap:var(--space-6);display:grid}.routeStep{gap:var(--space-3);display:grid}.routeStepHead{padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px;list-style:none;display:grid}.routeStepHead>*{grid-column:1}.routeStepHead::-webkit-details-marker{display:none}.routeStepHead:after{content:"▾";color:var(--muted);grid-area:1/2;font-size:13px;transition:transform .12s}.routeStep[open]>.routeStepHead:after{transform:rotate(180deg)}.routeStepKind{color:var(--text-secondary);font:var(--weight-medium) var(--text-2xs) / 1.4 var(--font-sans);letter-spacing:var(--tracking-wide);text-transform:none}.routeStepName{font-size:20px;line-height:1.3}.routeStepWord{margin:0}.routeStepParts{color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;gap:4px 8px;display:flex}.routeStepPart{align-items:baseline;gap:4px;display:inline-flex}.routeStepCount{text-align:left}.routeRoots .senseItem{border-bottom:1px solid var(--border-subtle);grid-template-columns:40px minmax(0,1fr);padding:14px 6px}.routeRoots .levelMarks{opacity:1;grid-column:2}.routeRoots .vocabularySense{grid-column:1/3;grid-template-columns:subgrid}.routeRoots .senseItem>.vocabularyRole{grid-column:1/3}.routeRoots{gap:0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(500px,100%),1fr));list-style:none;display:grid}
.rootWeight{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:6px 0 0;display:flex}.rootLevel{justify-content:space-between;align-items:baseline;gap:4px var(--space-3);display:flex}.rootLevel>span:last-child{color:var(--text-secondary);font:var(--weight-medium) var(--text-xs) / 1 var(--font-mono);font-variant-numeric:tabular-nums}.rootNote{margin:8px 0 0}.rootMore>summary{margin-top:var(--space-3);color:var(--text-muted);font:var(--caption);cursor:pointer;list-style:none;display:block}.rootMoreAction{color:var(--accent-text);text-underline-offset:2px}.rootMore>summary:hover .rootMoreAction{color:var(--accent-hover);text-decoration:underline}.rootMore>summary::-webkit-details-marker{display:none}.rootMore>.exceptionList{margin-top:8px}.rootMoreAll{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.rootMoreAll:disabled{color:var(--text-muted);cursor:progress}.rootWordList{row-gap:0}.rootWordList>li>.exceptionItem{padding:9px var(--space-2);border-bottom:1px solid var(--border-subtle);border-radius:0;align-items:baseline}.rootWordList .variantMeaning{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rootNeighbours{padding-left:var(--space-3);border-left:2px solid var(--accent)}.rootNeighbour{grid-template-columns:minmax(0,1fr) auto}.rootTabs{gap:var(--space-4);display:grid}.rootAside{gap:var(--space-8);margin-top:var(--space-8);display:grid}@media (min-width:1181px){.rootSplit{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1fr) 340px;display:grid}.rootAside{top:var(--space-8);margin-top:0;position:sticky}}.rootTabList{gap:var(--space-6);border-bottom:1px solid var(--border-default);flex-wrap:wrap;display:flex}.rootTab{align-items:baseline;gap:var(--space-2);padding:0 0 var(--space-2);color:var(--text-secondary);font:var(--label);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;display:flex}.rootTab:hover{color:var(--text-primary)}.rootTab[aria-selected=true]{border-bottom-color:var(--ink-900);color:var(--text-primary)}.rootTabCount{color:var(--text-muted);font:var(--mono);font-size:var(--text-xs)}.rootRoutePosition{display:none}.rootRoutePosition .progressTrack{margin-top:6px}@media (min-width:1181px){.rootRoutePosition{display:block}}.rootHead{align-items:flex-start;gap:var(--space-4);display:flex}.rootHeadGlyphs{align-items:baseline;gap:var(--space-2);margin:0;display:flex}.rootHeadGlyph{font-size:var(--glyph-lg);color:var(--accent-text);line-height:1}.rootHeadHanja{font-size:var(--glyph-sm);color:var(--text-muted)}.rootHeadBody{gap:4px;min-width:0;padding-top:6px;display:grid}.rootHeadTitle{font:var(--heading-3);overflow-wrap:break-word;word-break:keep-all;margin:0}.rootWeight{margin:0}.rootTabList{gap:var(--space-4);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.rootTabList::-webkit-scrollbar{display:none}.rootTab{white-space:nowrap;flex:none}.rootTabKo{color:var(--text-muted);font-size:var(--text-xs)}@media (max-width:760px){.rootTabKo{display:none}.rootTabList{gap:var(--space-3)}}@media (max-width:1180px){.rootHead{gap:var(--space-2);flex-direction:column}.rootHeadBody{padding-top:0}}
.lessonTask{gap:16px;display:grid}@media (min-width:1181px){.lessonTask{grid-template-columns:minmax(0, var(--task-measure)) 360px;align-items:start;column-gap:var(--space-8)}.lessonTaskMain{max-width:none}.lessonReviewPane{top:var(--space-8);justify-self:stretch;position:sticky}}.lessonTaskMain{max-width:var(--task-measure);justify-items:start;gap:16px;display:grid}.lessonReviewPane_idle{display:none}@media (min-width:1181px){.lessonReviewPane_idle{display:block}}.lessonReviewIdle{padding:var(--space-5);border:1px dashed var(--border-default);border-radius:var(--radius-lg);color:var(--text-muted);font:var(--body-sm);margin:0}.lessonWordLabel{color:var(--text-muted);font:var(--caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;margin:0}.lessonWord{align-items:stretch;gap:var(--space-2);max-width:460px;margin:0;display:flex}.lessonSyllable{align-content:start;justify-items:center;gap:var(--space-2);min-width:0;padding:var(--space-4) var(--space-2) var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;flex:1;display:grid}.lessonSyllable_asked{border:2px solid var(--border-accent);box-shadow:var(--shadow-md);flex:1.25}.lessonSyllableGlyph{justify-content:center;align-items:baseline;gap:var(--space-2);font-size:var(--glyph-md);color:var(--ink-500);line-height:1.1;display:flex}.lessonSyllable_asked .lessonSyllableGlyph{font-size:var(--glyph-lg);color:var(--text-primary)}.lessonSyllableHanja{font-size:var(--text-sm);color:var(--text-muted)}.lessonSyllable_asked .lessonSyllableHanja{font-size:var(--text-lg)}.lessonSyllableGloss{color:var(--text-muted);font:var(--caption);overflow-wrap:break-word;word-break:keep-all}.lessonSyllable_asked .lessonSyllableGloss{color:var(--accent-text);font-size:var(--text-md);font-weight:var(--weight-medium)}.lessonAsked{color:var(--accent-text)}.lessonQuestion{margin:0}.lessonOptions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.lessonOptions>li{display:grid}.lessonOptions>.lessonOptionWide{grid-column:1/-1}.lessonOption{width:100%;min-height:52px;padding:var(--space-2) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:inherit;cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);grid-template-columns:18px minmax(0,1fr);align-items:center;margin:0}button.lessonOption{background:var(--surface-card)}button.lessonOption:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.senseItem_known{border-color:var(--status-success);background:var(--surface-card)}.senseItem_known .lessonKey,.senseItem_known .partHanja{color:var(--status-success)}.lessonOption_missed{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-300);text-decoration-color:var(--ink-300)}.lessonKey{justify-self:start}.lessonVerdict{color:var(--accent-text);justify-self:end}.lessonReview{justify-items:start;gap:10px;width:100%;display:grid}.lessonNext,.lessonSkip,.lessonGo{height:38px;padding:0 var(--space-4);border-radius:var(--radius-md);font:var(--weight-medium) var(--text-base) / 1 var(--font-sans);letter-spacing:var(--tracking-tight);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border:1px solid #0000;align-items:center;text-decoration:none;display:inline-flex}.lessonNext{border-color:var(--accent-text);background:var(--accent-text);color:var(--text-on-accent)}.lessonNext:hover{border-color:var(--accent-text);box-shadow:var(--shadow-md)}.lessonSkip{border-color:var(--border-subtle);width:100%;color:var(--text-secondary);background:0 0;justify-content:center}.lessonSkip:hover{background:var(--surface-subtle)}.lessonScore{margin:0 0 16px}.lessonWhen{margin:16px 0 0}.resultHero{gap:var(--space-4);margin:var(--space-2) 0 var(--space-6);display:grid}@media (min-width:1181px){.resultHero{grid-template-columns:1fr 1fr}}.resultScoreCard{padding:var(--space-5);box-shadow:none}.resultScoreCard>*{margin:0}.resultScoreValue{font:var(--weight-medium) 56px / 1 var(--font-mono);letter-spacing:var(--tracking-tighter)}@media (min-width:1181px){.resultScoreValue{font-size:72px}}.resultScoreTotal{color:var(--text-muted);font-weight:var(--weight-regular)}.resultScoreCard .textSecondary{margin-top:var(--space-3)}.resultNextCard{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--ink-900);color:var(--white);align-content:start;gap:4px;display:grid}.resultNextCard>*{margin:0}.resultNextCard .textMeta{color:var(--ink-400)}.resultNextCard .textSecondary{color:var(--ink-300)}.resultNextValue{font:var(--heading-2)}.resultRestart{height:38px;margin-top:var(--space-4);padding:0 var(--space-4);border:1px solid var(--ink-600);border-radius:var(--radius-md);color:var(--white);font:var(--label);background:0 0;justify-self:start}.resultRestart:hover{background:var(--ink-800)}.lessonLinks{flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin:8px 0 0;display:flex}.lessonOption_faded{opacity:.35;pointer-events:none}.lessonTaskFoot{justify-content:space-between;align-items:baseline;gap:var(--space-5);width:100%;margin:0;display:flex}.lessonKeysHint{white-space:nowrap;display:none}@media (hover:hover) and (min-width:761px){.lessonKeysHint{display:inline}}.lessonParts{gap:var(--space-3);display:grid}.lessonPartsHead{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:0;display:flex}.lessonPartsHead .textMeta{letter-spacing:var(--tracking-caps);text-transform:uppercase}.lessonPartsWord{font-size:var(--text-md)}.lessonPartList{margin:0;padding:0;list-style:none;display:grid}.lessonPart{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:auto auto minmax(0,1fr);display:grid}.lessonPart:last-child{border-bottom:0}.lessonPartGlyph{font-size:var(--glyph-sm);line-height:1.2}.lessonPartHanja{min-width:1em;color:var(--text-muted);font-size:var(--text-md)}.lessonPartGloss{color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:break-word;word-break:keep-all}.lessonPart_asked .lessonPartGlyph,.lessonPart_asked .lessonPartHanja{color:var(--accent-text)}.lessonPart_asked .lessonPartGloss{color:var(--text-primary);font-weight:var(--weight-medium)}.lessonReview{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.lessonVerdictLine{color:var(--status-success);font-weight:var(--weight-medium);margin:0}.lessonReview .lessonNext{background:var(--surface-inverse);width:100%;height:46px;color:var(--text-inverse);justify-content:center}.lessonReview .lessonNext:hover{background:var(--ink-800)}.lessonReviewGrip{display:none}@media (max-width:1180px){.lessonReviewPane{z-index:6;margin:var(--space-5) calc(-1 * var(--shell-gutter)) 0;position:sticky;bottom:0}.lessonReview{padding:var(--space-3) var(--shell-gutter) var(--space-5);box-shadow:var(--shadow-lg);border-bottom:0;border-radius:20px 20px 0 0}.lessonReviewGrip{width:36px;height:4px;margin:0 auto var(--space-3);background:var(--border-default);border-radius:2px;display:block}.lessonReview .lessonNext{height:50px}}.resultRootsHead{display:none}.resultRoot{gap:var(--space-2) var(--space-3);grid-template-columns:minmax(0,1fr) auto}.resultVerdict{color:var(--status-success);font-size:var(--text-sm);white-space:nowrap}.resultVerdict_missed{color:var(--status-danger)}.resultVerdictTimes{color:var(--text-muted)}@media (min-width:1181px){.resultRootsHead{grid-template-columns:72px minmax(0, 1fr) 120px var(--marks-col);gap:var(--space-3);margin:0 0 var(--space-2);color:var(--text-muted);font:var(--caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:0 6px;display:grid}.resultRootsHead>span:nth-child(2){grid-column:2}.resultRoot{grid-template-columns:minmax(0, 1fr) 120px var(--marks-col);align-items:center}.resultRoot .vocabularySense{align-items:center;gap:var(--space-3);grid-template-columns:72px minmax(0,1fr);display:grid}}@media (max-width:1180px){.resultRoot{grid-template-columns:minmax(0, 1fr) var(--marks-col);align-items:center;gap:2px var(--space-3);padding:var(--space-3) 6px}.resultRoot .vocabularySense{align-items:baseline;gap:var(--space-3);grid-area:1/1;grid-template-columns:34px minmax(0,1fr);display:grid}.resultRoot .vocabularyText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.resultVerdict{padding-left:calc(34px + var(--space-3));font-size:var(--text-xs);grid-area:2/1}.resultRoot .levelMarks{grid-area:1/2/span 2}}
.stateShell{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.textButton,.textLink{color:var(--accent-text);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.pageHeaderSettings{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-secondary);place-items:center;margin-right:-10px;display:none}.pageHeaderSettings[aria-current=page]{color:var(--text-primary)}@media (min-width:1181px){.settingsSplit{grid-template-columns:220px minmax(0,1fr);align-items:start;column-gap:56px;display:grid}.settingsAside .pageHeaderLead{display:none}}.settingsNav{display:none}@media (min-width:1181px){.settingsNav{gap:2px;display:grid}}.settingsNavItem{border-radius:var(--radius-md);color:var(--text-secondary);font:var(--label);margin-left:-12px;padding:8px 12px}.settingsNavItem:hover{background:var(--surface-subtle);color:var(--text-primary)}.settingsBody{max-width:640px}.settingsSection{gap:var(--space-3);margin:var(--space-8) 0 0;scroll-margin-top:72px;display:grid}.settingsSection p{margin:0}.settingsSection>.senseBandTitle{padding-bottom:var(--space-2);border-bottom-color:var(--border-default);color:var(--text-muted);font:var(--caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;margin:0}.settingsChoice{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (min-width:1181px){.settingsChoice{gap:10px;max-width:520px}}.settingsOption{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:56px;color:var(--ink);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);justify-items:center;gap:2px;padding:12px 4px 10px;display:grid}.settingsOption:hover:not(:disabled){border-color:var(--border-strong)}.settingsOption[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.settingsOption:disabled{cursor:default;opacity:.6}.settingsOptionValue{font:var(--weight-medium) 22px / 1.2 var(--font-mono)}.settingsOption .textMeta{white-space:nowrap}.settingsActions{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.settingsButton{align-items:center;gap:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);height:46px;color:var(--ink);font:var(--weight-medium) var(--text-md) / 1 var(--font-sans);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard);padding:0 20px;display:inline-flex}.settingsButton>svg{flex:none}.settingsButton:hover:not(:disabled){border-color:var(--ink-600)}.settingsButton:disabled{cursor:default;opacity:.6}.settingsButton_danger{border-color:var(--status-danger);color:var(--status-danger)}.settingsButton_danger:hover:not(:disabled){border-color:var(--status-danger);background:var(--red-100)}.settingsPanel{gap:var(--space-3);padding:var(--space-5);justify-items:start;display:grid}.settingsPanel p{margin:0}.settingsPanelTitle{margin:0;font-size:16px}.transferQr{width:min(240px,100%);height:auto;color:var(--ink-900)}.transferNote,.transferLife{max-width:46ch}.transferLife{color:var(--muted)}.transferLinks{gap:var(--space-2) var(--space-5);margin:var(--space-4) 0 0;flex-wrap:wrap;display:flex}@media (max-width:1180px){.transferBar{display:none}}.transferBar .focusBarBack{margin-left:var(--space-8)}.transferBar .focusBarName{color:var(--text-primary)}.transferShell>*{max-width:560px;margin-inline:auto}.transferShell>*+*{margin-top:var(--space-5)}.transferShell .pageHeaderSettings{display:none}.transferSides{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.transferSide{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);align-content:start;gap:6px;padding:16px 14px;display:grid}.transferSide p{margin:0}.transferSide_source{background:var(--surface-inverse);color:var(--text-inverse);border-color:#0000}.transferSideKind{color:var(--text-muted);font:var(--caption);letter-spacing:var(--tracking-caps);text-transform:uppercase}.transferSide_source .transferSideKind,.transferSide_source .transferSideNote{color:var(--ink-300)}.transferSideCount{font:var(--weight-medium) 40px / 1 var(--font-mono);letter-spacing:var(--tracking-tighter)}.transferSideNote{color:var(--text-secondary);font:var(--body-sm)}@media (min-width:1181px){.transferSides{gap:var(--space-3)}.transferSide{padding:22px 22px 20px}.transferSideCount{font-size:48px}}
@media (max-width:1180px){.pageHeaderSettings{align-self:start;margin-top:2px;display:grid}.pageHeader:has(>.pageHeaderLead){grid-template-columns:auto minmax(0,1fr)}.pageHeader:has(>.pageHeaderLead)>.pageHeaderLead{grid-area:1/1;align-self:start}.pageHeader:has(>.pageHeaderLead)>.pageHeaderLine{grid-area:1/2}.pageHeader:has(>.pageHeaderLead)>.pageHeaderBody{grid-area:2/1/auto/-1}.shell{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.appTabs{z-index:30;padding:6px 8px 10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background:var(--surface-card);display:flex;position:sticky;bottom:0}.appTab{min-height:44px;color:var(--text-secondary);font:var(--caption);flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 4px;display:flex}.appTabMark{background:0 0;border-radius:2px;width:18px;height:3px}.appTab[aria-current=page]{color:var(--text-primary)}.appTab[aria-current=page] .appTabMark{background:var(--ink-900)}.appTab{position:relative}.appTabCount{color:var(--accent);font:var(--mono);font-size:var(--text-2xs);position:absolute;top:4px;left:calc(50% + 10px)}}@media (max-width:760px){.shell{padding-block:20px 28px}.pageHeader{column-gap:8px}.pageHeaderLine{gap:10px}.pageHeader .appBarSearch{border-radius:var(--radius-full);background:0 0;border-color:#0000;flex:none;justify-content:center;width:36px;min-width:0;max-width:none;height:36px;padding:0}.pageHeader .appBarSearch:hover{background:var(--surface-subtle)}.pageHeader .appBarSearchText,.pageHeader .appBarSearchKey{display:none}.pageHeaderLine{flex-wrap:wrap}.appBarForm{flex-basis:100%;order:3;max-width:none}.pageHeaderTitle{flex:1;justify-items:start;min-width:0}.pageHeaderAside{text-align:left;flex-basis:100%;order:4;max-width:100%}.pageHeaderAside:has(>.percentage:only-child){text-align:right;flex-basis:auto;order:0;margin-left:auto}.pageTitle,.textLead{font-size:var(--text-xl)}.lessonTitle{font-size:var(--text-lg)}.pageHeaderBody{grid-column:1/-1}.siteFooter{grid-template-columns:minmax(0,1fr);padding-block:16px 20px}.siteFooterContacts{margin:0 0 0 -11px}.keyGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.keyTile{min-height:82px;padding:10px 9px}.keyGlyph{font-size:var(--glyph-md)}.familyRow{grid-template-columns:48px minmax(0,1fr) 52px;gap:9px;min-height:68px;padding:8px 10px}.familyGlyph{font-size:var(--text-2xl)}.familyMeaning{font-size:var(--text-sm)}.entry{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.entry+.entry{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.senseItem,.lessonOptions{grid-template-columns:minmax(0,1fr)}.lessonOption{grid-template-columns:18px minmax(0,1fr);padding:8px 10px}.lessonOption:not(.senseItem_known) .lessonKey{visibility:hidden}.syllableSense{grid-template-columns:30px minmax(0, 1fr) var(--marks-col);gap:4px 10px}.senseShare{grid-column:2/-1}.levelSeg_compact{--seg-inset:11px}.levelSeg{--seg-h:44px}}@media (max-width:370px){.keyGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lessonTextBand{gap:var(--space-4)}.lessonTextBand>p,.lessonTextList{margin:0}.lessonTextBand .textBody{line-height:var(--leading-relaxed)}.lessonTextList{padding-left:var(--space-5);gap:var(--space-2);display:grid}.lessonBuild{justify-content:center;align-items:start;gap:var(--space-3) var(--space-4);padding:var(--space-6) var(--space-5) var(--space-5);background:var(--surface-inverse);border-radius:var(--radius-lg);color:var(--white);flex-wrap:wrap;display:flex}.buildPart{justify-items:center;gap:4px;max-width:9ch;display:grid}.buildWord{font-size:var(--glyph-md);white-space:nowrap;color:var(--accent-bright);line-height:1.2}.buildGloss{color:var(--ink-300);font-size:var(--text-sm);line-height:var(--leading-normal);text-align:center;overflow-wrap:break-word;word-break:keep-all}.buildPart:last-child .buildWord{color:var(--white)}.buildPart:last-child .buildGloss{color:var(--white);font-weight:var(--weight-medium)}.lessonBuild .lessonTerm{color:inherit;text-decoration:none}.lessonBuild .lessonTerm:hover{text-underline-offset:4px;text-decoration:underline}.buildSign{color:var(--ink-500);font-size:var(--text-xl);align-self:start;padding-top:8px;line-height:1.2}.lessonTerm{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--sky-300);text-decoration-color:var(--sky-300);text-underline-offset:3px}.lessonTerm:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.lessonPath{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.lessonStepBody{align-items:baseline;gap:2px var(--space-3);color:inherit;grid-template-columns:minmax(0,1fr) auto;text-decoration:none;display:grid}.lessonStepBody>*{grid-column:1}.lessonStep{border-radius:var(--radius-sm);padding:var(--space-4);border:1px solid #0000}.lessonOpen{border-color:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.lessonOpen:hover{border-color:var(--border-default)}.lessonDone{color:var(--text-secondary)}.lessonDone .routeStepName{color:var(--text-primary)}.lessonDone .lessonGo{height:auto;color:var(--accent-text);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.lessonShut{color:var(--text-secondary)}.lessonShut+.lessonShut{border-top:1px solid var(--border-subtle)}.lessonWords{grid-area:1/2}.lessonAside{margin:var(--space-5) 0 0}.lessonGo{margin-top:var(--space-2);background:var(--accent-text);color:var(--text-on-accent);pointer-events:none;justify-self:end}.lessonStep .lessonVerdict{color:var(--accent-text);grid-area:2/2}@media (max-width:760px){.lessonGo,.lessonStart .lessonNext{justify-content:center;width:100%}.lessonNext,.lessonSkip,.lessonGo{min-height:44px}.lessonStart .lessonNext{height:46px}.lessonDone .lessonGo{justify-content:flex-start;justify-self:start;width:auto;min-height:0}}.lessonPick,.lessonsShell .pageHeaderBody{display:none}@media (min-width:1181px){.lessonsShell{align-content:start;align-items:start;column-gap:var(--space-8);grid-template-columns:minmax(0,1fr) 400px;display:grid}.lessonsShell>*{grid-column:1}.shellText.lessonsShell>:not(.pageHeader){max-width:none}.lessonsShell .pageHeaderTitle{margin-right:0}.lessonsShell .pageHeaderAside{text-align:left;margin-right:auto}.lessonsShell>.lessonPick{top:var(--space-8);grid-area:1/2/span 3;position:sticky}.lessonStep{align-items:center;column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) 80px;display:grid}.lessonStepBody{align-items:center;column-gap:var(--space-3);grid-template-columns:72px minmax(0,1fr) 72px 16px}.lessonStepBody>.routeStepKind{grid-area:1/1/span 2}.lessonStepBody>.routeStepName{font-size:var(--text-lg);grid-area:1/2}.lessonStepBody>.routeStepParts{grid-area:2/2}.lessonStepBody>.lessonWords{grid-area:1/3/span 2}.lessonStepBody>.lessonVerdict{grid-area:1/4/span 2}.lessonOpen .lessonGo{display:none}.lessonOpen .routeStepKind{color:var(--accent-text)}.lessonStep:not(.lessonOpen){border-bottom-color:var(--border-subtle)}.lessonShut+.lessonShut{border-top-color:#0000}.lessonsShell .pageHeaderBody{display:grid}.lessonTrack{gap:4px;max-width:320px;display:flex}.lessonTrackSeg{background:var(--surface-sunken);border-radius:2px;flex:1;height:4px}.lessonTrackSeg_done{background:var(--status-success)}.lessonTrackSeg_open{background:var(--accent)}.lessonsShell>.lessonPick{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-md);display:grid}.lessonPickTop{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:0;display:flex}.lessonPickName{font:var(--heading-2);letter-spacing:var(--tracking-tight);margin:0}.lessonPickRoots{margin:var(--space-2) 0 0;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(100px,1fr));padding:0;list-style:none;display:grid}.lessonPickRoot{gap:var(--space-2);min-width:0;padding:var(--space-3) 6px;border-radius:var(--radius-md);background:var(--surface-subtle);text-align:center;justify-items:center;display:grid}.lessonPickGlyph{font-size:var(--glyph-md)}.lessonPickRootRu{-webkit-line-clamp:3;color:var(--text-secondary);font:var(--caption);overflow-wrap:break-word;word-break:keep-all;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lessonPickGo{height:46px;margin-top:var(--space-2);justify-content:center}}.lessonSplit>.senseGroups{max-width:732px}@media (min-width:1181px){.lessonSplit{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1fr) 380px;display:grid}.lessonSplit>.senseGroups{max-width:none}.lessonSplit .lessonTextBand>p,.lessonSplit .lessonTextList{max-width:62ch}}.lessonSidebar{display:none}@media (min-width:1181px){.lessonSidebar{gap:var(--space-5);top:var(--space-8);display:grid;position:sticky}}.lessonSidebarBuild .senseParts{width:100%;box-shadow:var(--shadow-md);margin:0}.lessonSidebarStat{padding:var(--space-4);box-shadow:none}.lessonSidebarStat>*{margin:0}.lessonSidebarCount{font:var(--heading-3)}.lessonSidebarStat .textSecondary{margin-top:6px}.lessonSidebarCta{justify-content:center;width:100%}.lessonSidebarSize{margin:var(--space-2) 0 0;text-align:center}.lessonYield{gap:var(--space-4)}@media (min-width:1181px){.lessonYield{display:none}}.lessonYieldList{margin:0;padding:0;list-style:none;display:grid}.lessonYieldRow{align-items:baseline;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:auto auto minmax(0,1fr) auto;display:grid}.lessonYieldRow:last-child{border-bottom:0}.lessonYieldGlyph{font-size:var(--glyph-sm)}.lessonYieldHanja{color:var(--text-muted);font-size:var(--text-md)}.lessonYieldSense{color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:break-word;word-break:keep-all}.lessonYieldWords{color:var(--text-primary);font:var(--weight-medium) var(--text-md) / 1 var(--font-mono);font-variant-numeric:tabular-nums}.lessonYieldTotal{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-md)}.lessonYieldTotalValue{color:var(--text-primary);font:var(--weight-medium) var(--text-xl) / 1 var(--font-mono)}.lessonYieldSize{margin:var(--space-2) 0 0}.lessonStart{padding-block:var(--space-6) 0;margin:0}@media (min-width:1181px){.lessonStart{display:none}}@media (max-width:1180px){.lessonStart{bottom:calc(88px + env(safe-area-inset-bottom));z-index:20;padding-block:var(--space-3);border-top:1px solid var(--border-subtle);background:var(--background);transition:transform var(--duration-base) var(--ease-standard);position:sticky}.lessonStart[data-hidden=true]{transform:translateY(calc(100% + 88px + env(safe-area-inset-bottom)));pointer-events:none}.lessonStart:focus-within{pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){.lessonStart{transition:none}}@media (max-width:1180px){.lessonPager{flex-direction:column;min-height:calc(100dvh - 220px);display:flex}.lessonPagerNav{margin-top:auto}.lessonPager[data-step="0"] .lessonTextBand:not([data-band="0"]),.lessonPager[data-step="1"] .lessonTextBand:not([data-band="1"]),.lessonPager[data-step="2"] .lessonTextBand:not([data-band="2"]),.lessonPager[data-step="3"] .lessonTextBand:not([data-band="3"]),.lessonPager[data-step="4"] .lessonTextBand:not([data-band="4"]),.lessonPager[data-step="5"] .lessonTextBand:not([data-band="5"]),.lessonPager[data-step="6"] .lessonTextBand:not([data-band="6"]),.lessonPager[data-step="7"] .lessonTextBand:not([data-band="7"]),.lessonPager[data-step="8"] .lessonTextBand:not([data-band="8"]){display:none}.lessonPagerBar{margin-bottom:var(--space-5);gap:4px;display:flex}.lessonPagerMark{background:var(--surface-sunken);border-radius:2px;flex:1;height:3px}.lessonPagerMark[data-done]{background:var(--accent)}.lessonPagerNav{bottom:calc(var(--tabs-height,64px) + env(safe-area-inset-bottom,0px));z-index:5;align-items:center;gap:var(--space-3);margin:auto calc(-1 * var(--shell-gutter)) 0;padding:var(--space-3) var(--shell-gutter) var(--space-4);background:var(--surface-page);border-top:1px solid var(--border-subtle);display:flex;position:sticky}.lessonPagerCount{color:var(--text-muted);font:var(--mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.lessonPagerBack,.lessonPagerNext{height:48px;padding:0 var(--space-5);border-radius:var(--radius-md);font:var(--weight-medium) var(--text-base) / 1 var(--font-sans);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.lessonPagerBack{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-primary);margin-left:auto}.lessonPagerNext{background:var(--accent);color:var(--text-on-accent);border:0;margin-left:auto}.lessonPagerBack+.lessonPagerNext{margin-left:0}.lessonPagerNext:hover{background:var(--accent-hover)}}@media (min-width:1181px){.lessonSplit .senseGroups .lessonBuildLead,.lessonPagerBar,.lessonPagerNav{display:none}}.lessonTiles{gap:var(--space-3);display:grid}.lessonWordTiles{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;padding:0;list-style:none;display:grid}.lessonWordTile{padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);gap:2px;display:grid}.lessonWordTileWord{font-size:var(--glyph-sm);color:var(--text-primary);line-height:1.2;text-decoration:none}.lessonWordTile:hover{border-color:var(--border-default)}.lessonWordTileRoot{color:var(--accent-text);font-weight:inherit}.lessonWordTileRu{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug)}.lessonWordTotal{color:var(--text-secondary);margin:0}.lessonShare{border-radius:var(--radius-sm);height:26px;font-size:var(--text-xs);margin:0;line-height:26px;display:flex;overflow:hidden}.lessonShareSino,.lessonShareOwn{min-width:0;padding:0 var(--space-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lessonShareSino{background:var(--accent);color:var(--text-on-accent)}.lessonShareOwn{background:var(--surface-sunken);color:var(--text-secondary)}
.onbRoot{display:contents}.onbDim{z-index:40;animation:onbFade var(--duration-slow) var(--ease-out) both;background:#16181e9e;position:fixed;inset:0}.appShell[data-tour] [data-tour-here]{z-index:41;box-shadow:0 0 0 2px var(--sky-500);animation:onbRing var(--duration-slow) var(--ease-out);position:relative}.appShell[data-tour] .navBar{z-index:43}.appShell[data-tour] .navBarNavItem[data-tour-here]{background:var(--ink-900);color:var(--white)}.appShell[data-tour] .navBarNav:has([data-tour-here]) .navBarNavItem:not([data-tour-here]){opacity:.4;pointer-events:none}.appShell[data-tour] .appTabs{z-index:43}.appShell[data-tour] .appTabs:has([data-tour-here]) .appTab:not([data-tour-here]){opacity:.4;pointer-events:none}.appShell[data-tour] .appTab[data-tour-here]{border-radius:var(--radius-md);box-shadow:inset 0 0 0 2px var(--sky-500);animation:onbRing var(--duration-slow) var(--ease-out)}.onbCard{z-index:42;background:var(--ink-900);color:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);--focus:var(--accent-bright);animation:onbFade var(--duration-slow) var(--ease-out) both;position:fixed}.onbCard[data-kind=wide]{gap:var(--space-4) var(--space-6);width:min(880px,100vw - 48px);padding:var(--space-6) var(--space-8) var(--space-6) var(--space-6);grid-template:"figure say"minmax(0,1fr)"figure actions"/264px minmax(0,1fr);display:grid;top:50%;left:50%;transform:translate(-50%,-50%)}.onbCard[data-kind=tip]{top:var(--onb-top,68px);left:var(--onb-left,28px);gap:var(--space-2) var(--space-4);width:420px;padding:var(--space-4);grid-template-columns:104px minmax(0,1fr);grid-template-areas:"figure say""figure actions";display:grid}.onbCard[data-kind=near]{top:auto;right:var(--space-5);bottom:var(--space-5);left:var(--space-5);align-items:center;gap:var(--space-4);width:auto;padding:var(--space-4);grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"figure say actions";display:grid;transform:none}.onbCard[data-kind=near] .onbMedal{width:72px;height:72px}.onbCard[data-kind=near] .onbLine{font:var(--label);font-size:var(--text-base);line-height:var(--leading-normal)}.onbCard[data-kind=near] .onbClose{display:none}.onbArrow{top:-9px;left:var(--onb-arrow,48px);border-left:8px solid #0000;border-right:8px solid #0000;border-bottom:9px solid var(--ink-900);width:0;height:0;margin-left:-8px;position:absolute}.onbMedal{border-radius:var(--radius-full);background:var(--sky-600);animation:onbFigureIn var(--duration-slow) var(--ease-out) both;grid-area:figure;place-self:center;display:block;overflow:hidden}.onbFigure{opacity:0;width:100%;height:100%;transition:opacity var(--duration-fast) var(--ease-out);display:block}.onbFigure_ready{opacity:1}.mentorMedal{border-radius:var(--radius-full);background:var(--sky-600);flex:none;width:72px;height:72px;display:block;overflow:hidden}.mentorSay{align-items:center;gap:var(--space-4);display:flex}.mentorSay>p{margin:0}.lessonReview .mentorMedal{width:44px;height:44px}.onbCard[data-kind=wide] .onbMedal{width:264px;height:264px}.onbCard[data-kind=tip] .onbMedal{width:104px;height:104px}.onbSay{align-content:center;gap:var(--space-5);grid-area:say;min-width:0;display:grid}.onbLine{font:var(--heading-3);color:var(--white);margin:0}.onbCard[data-kind=tip] .onbLine{font:var(--label);font-size:var(--text-base);line-height:var(--leading-normal)}.onbActions{justify-content:flex-end;align-items:center;gap:var(--space-4);grid-area:actions;display:flex}.onbCard .textButton{color:var(--ink-300);text-decoration:none}.onbCard .textButton:hover{color:var(--white)}.onbNext{min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--accent-text);color:var(--text-on-accent);font:var(--weight-medium) var(--text-base) / var(--leading-snug) var(--font-sans);cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-standard);border:0}.onbActions .textButton{min-height:44px;padding:0 var(--space-2)}.onbNext:hover{box-shadow:var(--shadow-md)}.onbClose{top:calc(var(--space-3) - 6px);right:calc(var(--space-3) - 6px);border-radius:var(--radius-full);width:44px;height:44px;color:var(--ink-400);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute}.onbClose:hover{background:var(--ink-800);color:var(--white)}.onbWord{justify-items:start;gap:var(--space-3);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:grid}.onbWordRow{border-radius:var(--radius-lg);align-items:center;padding-bottom:28px;display:flex}.onbWord[data-phase=whole] .onbWordRow{animation:onbBeckon 2.2s var(--ease-standard) infinite}.onbPart{border-radius:var(--radius-lg);transition:padding var(--duration-slow) var(--ease-out), background-color var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out);border:1px solid #0000;padding:0;position:relative}.onbPartGlyph{font-size:var(--text-4xl)}.onbPartSense{align-items:center;gap:var(--space-2);color:var(--ink-300);font:var(--body-sm);white-space:nowrap;opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-slow) var(--ease-out);display:flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,-6px)}.onbPartHanja{color:var(--accent-bright);font-size:var(--text-md)}.onbPartPlus{width:0;color:var(--ink-400);font-size:var(--text-xl);text-align:center;opacity:0;transition:width var(--duration-slow) var(--ease-out), opacity var(--duration-base) var(--ease-out);overflow:hidden}.onbWordSum{max-height:0;color:var(--accent-bright);font:var(--heading-3);opacity:0;transition:max-height var(--duration-slow) var(--ease-out), opacity var(--duration-base) var(--ease-out);overflow:hidden}.onbWord[data-phase=apart] .onbPart,.onbWord[data-phase=joined] .onbPart{padding:var(--space-3) var(--space-4);border-color:var(--ink-700);background:var(--ink-800)}.onbWord[data-phase=apart] .onbPartSense,.onbWord[data-phase=joined] .onbPartSense{opacity:1;transform:translate(-50%)}.onbWord[data-phase=apart] .onbPartPlus{opacity:1;width:48px}.onbWord[data-phase=joined] .onbPartPlus{opacity:.6;width:20px}.onbWord[data-phase=joined] .onbWordSum{opacity:1;max-height:44px}@keyframes onbFade{0%{opacity:0}}@keyframes onbFigureIn{0%{opacity:0;transform:translateY(12px)}}@keyframes onbRing{0%{box-shadow:0 0 #3f9bee00}}@keyframes onbBeckon{50%{box-shadow:0 0 0 8px #3f9bee29}}@media (max-width:1180px){.onbCard[data-kind=wide]{width:auto;padding:var(--space-6) var(--space-5) calc(88px + env(safe-area-inset-bottom));border-radius:0;flex-direction:column;align-items:center;display:flex;inset:0;transform:none}.onbCard[data-kind=wide] .onbMedal{flex:none;width:min(52vw,216px);height:min(52vw,216px);margin-top:auto}.onbSay{padding-top:var(--space-4);text-align:center;justify-items:center;margin-bottom:auto}.onbActions{width:100%;padding-top:var(--space-6)}.onbWord{justify-items:center}.onbNext{flex:1;min-height:48px}.onbCard[data-kind=near],.onbCard[data-kind=tip]{top:auto;right:var(--space-3);bottom:calc(88px + env(safe-area-inset-bottom));left:var(--space-3);border-radius:var(--radius-xl);width:auto;padding:var(--space-4);grid-template-columns:56px minmax(0,1fr);grid-template-areas:"figure say""actions actions";display:grid}.onbCard[data-kind=near] .onbMedal,.onbCard[data-kind=tip] .onbMedal{width:56px;height:56px;margin-top:0}.onbCard[data-kind=near] .onbSay,.onbCard[data-kind=tip] .onbSay{text-align:left;justify-items:start;margin-bottom:0;padding-top:0}.onbCard[data-kind=near] .onbLine,.onbCard[data-kind=tip] .onbLine{font:var(--label);font-size:var(--text-base);line-height:var(--leading-normal)}.onbCard[data-kind=near] .onbActions,.onbCard[data-kind=tip] .onbActions{padding-top:var(--space-3)}.onbArrow{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

