.home{box-sizing:border-box;flex:1;gap:48px;width:min(1120px,100%);min-height:0;margin:0 auto;padding:32px 40px 40px;display:flex;overflow:auto}.home__continue{flex-direction:column;flex:none;gap:16px;width:min(400px,100%);display:flex}.home__greet{color:var(--ink-soft);margin:0;font:700 14px/1.3 Nunito,sans-serif}.home__dev{color:var(--jamo-current);margin:0;font:800 13px/1.3 Nunito,sans-serif}.home__title{letter-spacing:-.01em;margin:0;font:800 clamp(26px,3vw,34px)/1.15 Nunito,sans-serif}.home__card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:12px;padding:20px;display:flex}.home__card-top,.path-card__top,.home__bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.home__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--jamo-current);margin:0;font:800 12px/1 Nunito,sans-serif}.home__meta,.home__en{color:var(--ink-soft);margin:0;font:600 14px/1.4 Nunito,sans-serif}.home__ko{color:var(--done);margin:0;font:800 34px/1.2 Nanum Gothic,sans-serif}.home__ko--jamo{font-size:72px;font-weight:400;line-height:1}.home__track{background:var(--track);border-radius:9px;flex:1;height:6px;overflow:hidden}.home__track div{background:var(--action);border-radius:9px;height:100%}.home__bar span{color:var(--ink-soft);white-space:nowrap;font:700 13px/1 Nunito,sans-serif}.home__cta{border-radius:14px;min-height:52px;font:800 16px/1 Nunito,sans-serif}.home__placement{border:1px dashed var(--key-hint-line);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.home__placement strong{font:800 15px/1.3 Nunito,sans-serif;display:block}.home__placement span{color:var(--ink-soft);font:600 13px/1.4 Nunito,sans-serif;display:block}.home__path{flex:1;min-width:0}.home__path h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:8px 0 16px;font:800 12px/1 Nunito,sans-serif}.home__path ol{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.path-step{gap:16px;display:flex}.path-step__rail{flex-direction:column;flex:none;align-items:center;width:38px;display:flex}.path-step__node{box-sizing:border-box;border:2px dashed var(--key-hint-line);width:38px;height:38px;color:var(--ink-soft);background:0 0;border-radius:50%;place-items:center;font:800 15px/1 Nunito,sans-serif;display:grid}.path-step--complete .path-step__node{background:var(--ink);border:2px solid var(--ink);color:var(--paper)}.path-step--current .path-step__node,.path-step--start .path-step__node{background:var(--action);border:2px solid var(--action);color:var(--on-action)}.path-step__line{background:var(--key-hint-line);flex:1;width:2px;margin:4px 0}.path-step--complete .path-step__line{background:var(--ink)}.path-card{text-align:left;background:var(--card);border:1px solid var(--line);min-width:0;color:inherit;cursor:pointer;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;flex:1;gap:8px;margin:0 0 12px;padding:16px 20px;display:flex}.path-step--current .path-card,.path-step--start .path-card{border-color:var(--action);box-shadow:0 0 0 3px var(--action-wash)}.path-step--locked .path-card{border-style:dashed;border-color:var(--key-hint-line);box-shadow:none;background:0 0}.path-card__name{font:800 18px/1.2 Nunito,sans-serif}.path-step--locked .path-card__name{color:var(--ink-soft)}.path-card__ko{color:var(--ink-soft);font:700 15px/1 Nanum Gothic,sans-serif}.path-card__pill{background:var(--deep);color:var(--ink-soft);border-radius:99px;padding:4px 10px;font:800 12px/1 Nunito,sans-serif}.path-step--complete .path-card__pill{background:var(--ok-soft);color:var(--ok)}.path-step--current .path-card__pill,.path-step--start .path-card__pill{background:var(--action-wash);color:var(--jamo-current)}.path-card__desc{color:var(--ink-soft);margin:0;font:600 14px/1.45 Nunito,sans-serif}.path-card__sample{color:var(--done);margin:0;font:700 16px/1.3 Nanum Gothic,sans-serif}.path-step--locked .path-card__sample{color:var(--remaining)}.keys-complete__rail{justify-content:center;align-items:flex-start;gap:6px;display:flex}.keys-complete__done,.keys-complete__next,.keys-complete__later{flex-direction:column;align-items:center;gap:4px;font:800 16px/1 Nunito,sans-serif;display:flex}.keys-complete__done{background:var(--ink);width:56px;height:56px;color:var(--paper);border-radius:50%;place-items:center;display:grid}.keys-complete__next{background:var(--action);width:56px;height:56px;color:var(--on-action);box-shadow:0 0 0 6px var(--action-wash);border-radius:50%;place-items:center;display:grid}.keys-complete__later{border:2px dashed var(--key-hint-line);width:40px;height:40px;color:var(--ink-soft);border-radius:50%;place-items:center;margin-top:8px;display:grid}.keys-complete__done small,.keys-complete__next small,.keys-complete__later small{color:var(--ink-soft);white-space:nowrap;margin-top:78px;font:700 12px/1 Nunito,sans-serif;position:absolute}.keys-complete__rail{padding-bottom:28px;position:relative}.keys-complete__done,.keys-complete__next,.keys-complete__later{position:relative}.keys-complete__done small,.keys-complete__next small,.keys-complete__later small{margin:0;position:absolute;top:calc(100% + 8px)}.keys-complete__join{background:var(--ink);width:28px;height:2px;margin-top:27px}.keys-complete__join--dashed{border-top:2px dashed var(--key-hint-line);background:0 0}.keys-complete__first{border:1px dashed var(--key-hint-line);text-align:left;border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.keys-complete__first span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font:800 11px/1 Nunito,sans-serif}.keys-complete__first strong{font:800 22px/1.2 Nanum Gothic,sans-serif}.keys-complete__first em{color:var(--ink-soft);font:600 13px/1.3 Nunito,sans-serif}.mode-overview{flex-direction:column;gap:14px;width:min(720px,100%);margin:0 auto;padding:28px 20px 40px;display:flex}.mode-overview h2{margin:0;font:800 34px/1.1 Nunito,sans-serif}.mode-overview__desc{color:var(--ink-soft);margin:0;font:600 15px/1.45 Nunito,sans-serif}.unit-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.unit-row{border:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:14px;padding:12px 16px;display:flex}.unit-row--current{background:var(--card);border-color:var(--action)}.unit-row__node{border:1.5px solid var(--line);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font:800 14px/1 Nunito,sans-serif;display:grid}.unit-row--current .unit-row__node{border-color:var(--action);color:var(--jamo-current)}.unit-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.unit-row__text strong{font:800 16px/1.2 Nunito,sans-serif}.unit-row__text em{color:var(--ink-soft);font:700 14px/1.3 Nanum Gothic,sans-serif}.unit-row__meta{color:var(--ink-soft);font:700 13px/1 Nunito,sans-serif}.practice-app--phrases .phrase{letter-spacing:0;gap:0;font-size:clamp(40px,min(8vw,10dvh),96px)}.dialogue{flex-direction:column;flex:1;gap:12px;width:min(880px,100%);min-height:0;margin:0 auto;padding:12px 24px 8px;display:flex;overflow:hidden}.dialogue .practice-footer{flex:none;padding-top:4px}.dialogue__log{flex-direction:column;flex:1;justify-content:flex-end;gap:12px;min-height:0;display:flex;overflow:auto}.bubble-row{flex-direction:column;align-items:flex-start;gap:4px;max-width:80%;display:flex}.bubble-row--you{align-self:flex-end;align-items:flex-end}.bubble__who,.bubble__en{color:var(--ink-soft);font:700 12px/1.3 Nunito,sans-serif}.bubble{background:var(--card);border:1px solid var(--line);border-radius:6px 18px 18px;align-items:center;gap:10px;padding:10px 14px;font:700 18px/1.35 Nanum Gothic,sans-serif;display:flex}.bubble-row--you .bubble{background:var(--action-wash);border-color:#0000;border-radius:18px 6px 18px 18px}.bubble--live{border-color:var(--action)}.bubble__play{background:var(--deep);cursor:pointer;border:none;border-radius:50%;width:28px;height:28px;font:800 11px/1 Nunito,sans-serif}.dialogue__title{flex:none}.dialogue__title h2{margin:0;font:800 20px/1.2 Nunito,sans-serif}.dialogue__title span{color:var(--ink-soft);font:700 16px/1 Nanum Gothic,sans-serif}.dialogue__compose{background:var(--card);border:1.5px solid var(--action);border-radius:18px;flex-direction:column;flex:none;gap:8px;padding:14px 18px 16px;font-size:clamp(26px,3vw,36px);line-height:1.45;display:flex}.dialogue__compose-top{color:var(--ink-soft);justify-content:space-between;gap:10px;font:700 12px/1.3 Nunito,sans-serif;display:flex}.dialogue__compose-top span:first-child{color:var(--jamo-current);letter-spacing:.06em;text-transform:uppercase;font-weight:800}.line-results{text-align:left;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.line-results li{background:var(--paper);border-radius:12px;justify-content:space-between;gap:10px;padding:8px 12px;display:flex}.line-results strong{font:800 15px/1.3 Nanum Gothic,sans-serif;display:block}.line-results em{color:var(--ink-soft);font:600 12px/1.3 Nunito,sans-serif;display:block}.line-results li>span:last-child{flex:none;font:800 13px/1.3 Nunito,sans-serif}.passage{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:16px;min-height:0;padding:12px 20px 24px;display:flex;overflow:auto}.passage__sheet{background:var(--card);border:1px solid var(--line);width:min(880px,100%);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:16px;padding:22px 28px 18px;font-size:clamp(20px,2.2vw,30px);line-height:1.9;display:flex}.passage__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;font-size:16px;line-height:1.2;display:flex}.passage__head strong{margin-top:4px;font:800 20px/1.2 Nanum Gothic,sans-serif;display:block}.passage__tools{justify-content:flex-end;font-size:16px;line-height:1;display:flex}.live-stats{align-items:baseline;gap:8px;font:800 20px/1 Nunito,sans-serif;display:flex}.live-stats span{color:var(--ink-soft);margin-right:8px;font:700 12px/1 Nunito,sans-serif}.wpm-chart{background:var(--paper);border-radius:14px;align-items:stretch;gap:8px;padding:12px;display:flex}.wpm-chart__scale{color:var(--ink-soft);flex-direction:column;justify-content:space-between;font:700 11px/1 Nunito,sans-serif;display:flex}.wpm-chart__bars{flex:1;align-items:flex-end;gap:5px;height:84px;display:flex}.wpm-chart__bars div{background:var(--action);border-radius:4px 4px 2px 2px;flex:1;min-height:8px}.wpm-chart__labels{color:var(--ink-soft);justify-content:space-between;gap:8px;font:700 11px/1 Nunito,sans-serif;display:flex}.wpm-chart__note{text-align:center;color:var(--ink-soft);margin:0;font:600 12px/1.4 Nunito,sans-serif}.dialogue__log{justify-content:flex-end}.keyboard-shell[data-compact=true] .keyboard-key__latin{display:none}.practice-app[data-mode=course] .keyboard-shell[data-compact=true] .keyboard-key{height:clamp(34px,min(10vw,5.2dvh),42px)}@media (width<=860px){.home{flex-direction:column;gap:20px;padding:18px 20px 28px}.home__continue{width:100%}.home__ko{font-size:28px}.path-card__desc{display:none}}
