:root{--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4rem;--focus-ring:0 0 0 4px color-mix(in srgb, var(--blue) 40%, transparent), 0 0 0 2px var(--blue);--ease:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--fast:.13s;--med:.24s;--slow:.42s;--measure:36rem;--shell:62rem;--sitting:90rem;--chrome:var(--paper-sunk);--popover-max:min(20rem, calc(100dvw - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:before,:after{box-sizing:border-box}html{font-size:var(--html-size);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;accent-color:var(--accent);background-color:var(--chrome);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--ink-faint) var(--paper-sunk);scrollbar-gutter:stable;-webkit-tap-highlight-color:color-mix(in srgb, var(--accent) 25%, transparent)}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}::selection{background:var(--accent-soft);color:var(--ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}a:active:not(.btn){transform:none}}dialog{transition:opacity var(--med) var(--ease), transform var(--med) var(--ease)}dialog[data-closing]{opacity:0;transform:translateY(16px)}dialog::backdrop{opacity:0;transition:opacity var(--med) var(--ease), overlay var(--med) allow-discrete, display var(--med) allow-discrete}dialog[open]::backdrop{opacity:1}dialog[data-closing]::backdrop{opacity:0}@starting-style{dialog[open]::backdrop{opacity:0}}@media (prefers-reduced-motion:reduce){dialog,dialog::backdrop{opacity:1;transition:none}}body{background-color:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--sans);line-height:var(--leading);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg width='400' height='400' viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='0.04'/%3E%3C/svg%3E");background-size:400px 400px;margin:0}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.015em;margin:0;font-style:italic;font-weight:400;line-height:1.18}h1{font-size:clamp(1.9rem,1.9rem + 2vw,2.6rem)}h2{font-size:clamp(1.35rem,1.35rem + 1.2vw,1.6rem)}h3{font-size:1.1rem}h1,h2{text-wrap:balance}h2.do{text-wrap:pretty}p{margin:0 0 calc(var(--leading) * 1.5 * 1em);text-wrap:pretty}:lang(ko){font-family:var(--hangul);font-style:normal}p,h1,h2,h3,.lab .body{overflow-wrap:anywhere;min-width:0}a{color:var(--blue);text-underline-offset:.16em;transition:color var(--fast) var(--ease), transform var(--fast) var(--ease);text-decoration-thickness:1px}a:hover:not(.btn){color:var(--accent)}a:active:not(.btn){transform:translateY(1px)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--paper);outline-offset:2px;box-shadow:var(--focus-ring);border-radius:3px}#main:focus,#main:focus-visible{box-shadow:none;outline:none}#main[data-skip-landed]:after{content:"";border:4px solid var(--blue);pointer-events:none;z-index:6;box-shadow:0 0 0 3px var(--paper);border-radius:6px;position:absolute;inset:1.5rem}.hg{font-family:var(--hangul);font-style:normal;font-weight:500}.jamo{font-family:var(--hangul);white-space:nowrap;font-size:1.2em;font-style:normal;font-weight:500;line-height:1}.rom{font-family:var(--mono);color:var(--ink-soft);font-size:.86em}.rom:before{content:"[" / ""}.rom:after{content:"]" / ""}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.75rem;font-weight:700}.muted{color:var(--ink-soft)}.tiny{font-size:.75rem}@keyframes skel-pulse{50%{opacity:.4}}.skel{background:var(--paper-sunk);border-radius:var(--r-sm);animation:skel-pulse 1.2s var(--ease-in-out) infinite;display:block}.skel.line-ph{width:12rem;max-width:80%;height:.7rem}.skel.glyph-ph{border-radius:var(--r-md);width:4.5rem;height:4.5rem}.vh{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{max-width:var(--shell);padding-top:var(--s6);padding-bottom:max(var(--s8), env(safe-area-inset-bottom));padding-inline:max(var(--s5), env(safe-area-inset-left)) max(var(--s5), env(safe-area-inset-right));margin:0 auto}@media (width<=40rem){.shell{padding-top:var(--s5);padding-bottom:max(var(--s7), env(safe-area-inset-bottom));padding-inline:max(var(--s4), env(safe-area-inset-left)) max(var(--s4), env(safe-area-inset-right))}}.card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-1);position:relative}.card:focus-visible{box-shadow:var(--focus-ring), var(--shadow-1)}.lab.card:before,.lab.card:after{content:"";pointer-events:none;border-color:var(--rule-strong);border-style:solid;border-width:0;width:12px;height:12px;position:absolute}.lab.card:before{border-block-start-width:1px;border-inline-start-width:1px;inset-block-start:var(--s2);inset-inline-start:var(--s2)}.lab.card:after{border-block-end-width:1px;border-inline-end-width:1px;inset-block-end:var(--s2);inset-inline-end:var(--s2)}.btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:var(--s2);min-width:44px;min-height:44px;transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease), filter var(--fast) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);padding:.62rem 1.3rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.07);box-shadow:var(--shadow-2);color:var(--accent-ink);transform:translateY(-1px)}.btn:active{box-shadow:var(--shadow-1);transform:translateY(0)}.btn:disabled{opacity:.4;cursor:default;box-shadow:none;filter:none;transform:none}.btn:focus-visible,.btn:hover:focus-visible{box-shadow:var(--focus-ring)}.btn.ghost{color:var(--ink);border-color:var(--rule-strong);background:0 0;text-decoration:none}.btn.ghost:hover{background:var(--paper-sunk);color:var(--ink);filter:none}.warn{border:1px solid var(--bad);border-radius:var(--r-md);background:var(--bad-soft);padding:var(--s3) var(--s4);margin-bottom:var(--s4);font-size:.86rem;line-height:1.55}.draggable-mirror.ghost{z-index:20;font-family:var(--hangul);color:var(--accent);filter:drop-shadow(0 4px 10px color-mix(in srgb, var(--ink) 18%, transparent));font-size:2rem;pointer-events:none!important}.draggable-mirror .tick-mark{background:currentColor;border-radius:2px;width:.7rem;height:.2rem;display:block}.draggable-mirror .tick-mark.upright{width:.2rem;height:.7rem}@media (forced-colors:active){:focus-visible{outline-offset:2px;box-shadow:none;outline:2px solid highlight}#main:focus,#main:focus-visible{box-shadow:none;outline:none}#main[data-skip-landed]:after{box-shadow:none;border-color:highlight}.card{color:canvastext;box-shadow:none;background:canvas;border:1px solid buttonborder}.btn,.btn.ghost{color:buttontext;filter:none;background:buttonface;border:1px solid buttontext}.btn:disabled{color:graytext;opacity:1;border-color:graytext}.btn:focus-visible,.btn:hover:focus-visible{box-shadow:none;outline:2px solid highlight}.skel{background:buttonborder;animation:none}}.mark.svelte-6d62c{block-size:1.15rem;inline-size:1.15rem;color:var(--accent);line-height:1;display:inline-grid;position:relative;overflow:visible}svg.svelte-6d62c{block-size:100%;inline-size:100%;display:block;overflow:visible}.jamo.svelte-6d62c{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){a.brand:hover .jamo-h.svelte-6d62c,a.brand:focus-visible .jamo-h.svelte-6d62c{animation:.45s ease-out both han-nod-h}a.brand:hover .jamo-a.svelte-6d62c,a.brand:focus-visible .jamo-a.svelte-6d62c{animation:.45s ease-out .1s both han-nod-a}a.brand:hover .jamo-n.svelte-6d62c,a.brand:focus-visible .jamo-n.svelte-6d62c{animation:.45s ease-out .2s both han-nod-n}}@keyframes han-nod-h{0%,to{transform:rotate(0)translateY(0)}40%{transform:rotate(5.5deg)translateY(-1px)}}@keyframes han-nod-a{0%,to{transform:rotate(0)translateY(0)}40%{transform:rotate(-5deg)translateY(-1px)}}@keyframes han-nod-n{0%,to{transform:rotate(0)translateY(0)}40%{transform:rotate(4.5deg)translateY(1px)}}@media (prefers-reduced-motion:reduce){a.brand:hover .mark.svelte-6d62c,a.brand:focus-visible .mark.svelte-6d62c{color:var(--ink)}}@media (width<=30rem){.mark.svelte-6d62c{block-size:1rem;inline-size:1rem}}@media (forced-colors:active){.mark.svelte-6d62c{color:linktext}}.settings.svelte-d05vbz{appearance:none;border-radius:var(--r-sm);width:44px;min-width:44px;min-height:44px;color:var(--accent);cursor:pointer;transition:color var(--fast) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.settings.svelte-d05vbz:before{content:"";border:1px solid var(--rule-strong);border-radius:var(--r-sm);background:var(--paper);pointer-events:none;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease);position:absolute;inset:.25rem}.settings.svelte-d05vbz:hover{color:var(--ink)}.settings.svelte-d05vbz:hover:before{background:var(--paper-raised);border-color:var(--accent)}.settings.svelte-d05vbz:active{transform:translateY(1px)}.settings.svelte-d05vbz:focus-visible{box-shadow:none;outline:none}.settings.svelte-d05vbz:focus-visible:before{outline:2px solid var(--paper);outline-offset:2px;box-shadow:var(--focus-ring)}.ico.svelte-d05vbz{z-index:1;width:1.05rem;height:1.05rem;display:block;position:relative}@media (prefers-reduced-motion:reduce){.settings.svelte-d05vbz,.settings.svelte-d05vbz:before{transition:none}.settings.svelte-d05vbz:active{transform:none}}@media (forced-colors:active){.settings.svelte-d05vbz{color:buttontext;background:0 0;border:none}.settings.svelte-d05vbz:before{background:canvas;border:1px solid buttonborder}.settings.svelte-d05vbz:focus-visible:before{box-shadow:none;outline:2px solid highlight}}.toast-container.svelte-cqwvc2{bottom:var(--s4);right:var(--s4);z-index:999;gap:var(--s2);max-width:min(24rem, calc(100vw - var(--s8)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast-item.svelte-cqwvc2{pointer-events:auto;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);border:1px solid var(--rule-strong);background:var(--paper-raised);color:var(--ink);box-shadow:var(--shadow-2);font-size:.86rem;line-height:1.4;display:flex}.toast-text.svelte-cqwvc2{flex:auto}.toast-close.svelte-cqwvc2{appearance:none;border-radius:var(--r-sm);min-width:32px;min-height:32px;color:var(--ink-faint);cursor:pointer;transition:color var(--fast) var(--ease), background var(--fast) var(--ease);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;font-size:.85rem;line-height:1;display:inline-flex}.toast-close.svelte-cqwvc2:hover{color:var(--ink);background:var(--paper-sunk)}.toast-close.svelte-cqwvc2:focus-visible{outline:2px solid var(--paper);outline-offset:2px;box-shadow:var(--focus-ring);color:var(--ink)}@media (width<=40rem){.toast-container.svelte-cqwvc2{left:var(--s4);right:var(--s4);bottom:var(--s4);max-width:none}}@media (forced-colors:active){.toast-item.svelte-cqwvc2{color:canvastext;background:canvas;border-color:buttonborder}.toast-close.svelte-cqwvc2{color:buttontext}.toast-close.svelte-cqwvc2:focus-visible{box-shadow:none;outline:2px solid highlight}}.frame.svelte-12qhfyh{flex-direction:column;min-height:100dvh;display:flex}.skip.svelte-12qhfyh{background:var(--accent);color:var(--accent-ink);padding:var(--s2) var(--s4);z-index:10;position:absolute;inset-block-start:0;inset-inline-start:-9999px}.skip.svelte-12qhfyh:focus{inset-block-start:var(--s3);inset-inline-start:var(--s3)}main.svelte-12qhfyh{flex:auto;position:relative}.storage-warn.svelte-12qhfyh{max-width:var(--shell);padding:var(--s4) max(var(--s4), env(safe-area-inset-left)) 0 max(var(--s4), env(safe-area-inset-right));margin:0 auto}.warn-sep.svelte-12qhfyh{color:var(--ink-faint)}.notice-dismiss.svelte-12qhfyh{appearance:none;font:inherit;color:var(--blue);text-underline-offset:.16em;cursor:pointer;background:0 0;border:0;margin-inline-start:var(--s3);padding:0;text-decoration:underline}.bar.svelte-12qhfyh{z-index:5;padding-top:env(safe-area-inset-top);background:var(--chrome);border-bottom:1px solid var(--rule);position:sticky;top:0;overflow:visible}.inner.svelte-12qhfyh{height:auto;min-height:48px;max-width:var(--shell);padding-block:0;padding-inline:max(var(--s4), env(safe-area-inset-left)) max(var(--s4), env(safe-area-inset-right));align-items:center;gap:var(--s4);margin:0 auto;display:flex;overflow:visible}.brand.svelte-12qhfyh{align-items:center;gap:var(--s2);white-space:nowrap;min-width:44px;min-height:44px;color:var(--ink);flex-shrink:0;padding-inline:.2rem;font-weight:400;text-decoration:none;display:flex}.name.svelte-12qhfyh{font-family:var(--display);letter-spacing:0;font-size:1rem;font-style:italic;font-weight:400}nav.svelte-12qhfyh{--tab-r:12px;padding-block-start:.6rem;padding-inline:var(--tab-r);flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-self:stretch;align-items:stretch;gap:.35rem;min-width:0;margin-inline-start:auto;display:flex;overflow:visible}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){border:1px solid #0000;min-width:44px;min-height:44px;color:var(--ink-soft);white-space:nowrap;z-index:0;transition:color var(--fast) var(--ease);border-block-end:none;border-radius:0;justify-content:center;align-items:center;margin-block-end:-1px;padding:0 .75rem;padding-block-end:1px;font-size:.84rem;text-decoration:none;display:inline-flex;position:relative}nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover,nav.svelte-12qhfyh a:where(.svelte-12qhfyh):active{color:var(--ink)}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:var(--accent);background:var(--paper);border-color:var(--rule);z-index:1;border-start-start-radius:var(--tab-r);border-start-end-radius:var(--tab-r)}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh):before,nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh):after{content:"";width:var(--tab-r);height:var(--tab-r);pointer-events:none;position:absolute;inset-block-end:0}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh):before{background:radial-gradient(circle at 0 0, transparent calc(var(--tab-r) - 1px), var(--rule) calc(var(--tab-r) - 1px), var(--rule) var(--tab-r), var(--paper) calc(var(--tab-r) + .5px));inset-inline-start:calc(-1 * var(--tab-r))}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh):after{background:radial-gradient(circle at 100% 0, transparent calc(var(--tab-r) - 1px), var(--rule) calc(var(--tab-r) - 1px), var(--rule) var(--tab-r), var(--paper) calc(var(--tab-r) + .5px));inset-inline-end:calc(-1 * var(--tab-r))}.review-w.svelte-12qhfyh{vertical-align:baseline;display:inline-block;position:relative;overflow:visible}.badge.svelte-12qhfyh{z-index:2;box-sizing:border-box;min-block-size:1.35rem;min-inline-size:1.35rem;font-family:var(--mono);background:var(--rose);color:var(--accent-ink);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;pointer-events:none;place-items:center;padding-block:.22rem;padding-inline:.36rem;font-size:.6875rem;font-weight:600;line-height:1;display:grid;position:absolute;inset-block-end:calc(100% - .38rem);inset-inline-start:50%;translate:-50%}.badge-n.svelte-12qhfyh{text-box:trim-both cap alphabetic;line-height:1}@media (width>=72rem){.bar.lab-route.svelte-12qhfyh .inner:where(.svelte-12qhfyh){max-width:var(--sitting)}}@media (width<=40rem){.inner.svelte-12qhfyh{gap:var(--s2);flex-wrap:wrap;justify-content:space-between;row-gap:0;height:auto;min-height:48px}nav.svelte-12qhfyh{flex:1 0 100%;order:3;justify-content:flex-start;gap:.35rem;margin-inline-start:0;padding-block-start:.35rem}.inner.svelte-12qhfyh .settings{order:2}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){padding-inline:.4rem;font-size:.76rem;overflow:visible}.review-w.svelte-12qhfyh{margin-inline-end:-4px;padding-inline-end:4px}.badge.svelte-12qhfyh{aspect-ratio:1;border-radius:50%;block-size:8px;min-block-size:8px;max-block-size:8px;inline-size:8px;min-inline-size:8px;max-inline-size:8px;padding:0;font-size:0;inset-block-end:100%;inset-inline-start:calc(100% - 8px);translate:none}.badge-n.svelte-12qhfyh{display:none}}@media (width<=30rem){.inner.svelte-12qhfyh{padding-inline:max(var(--s4), env(safe-area-inset-left)) max(var(--s4), env(safe-area-inset-right));gap:var(--s2)}.name.svelte-12qhfyh{font-size:.8125rem}nav.svelte-12qhfyh{gap:.35rem;padding-inline:.45rem}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){letter-spacing:-.03em;padding-inline:.28rem;font-size:.7rem}}@media (width<=20rem){.inner.svelte-12qhfyh{flex-wrap:wrap;row-gap:0;height:auto;min-height:48px}.inner.svelte-12qhfyh .settings{order:2}nav.svelte-12qhfyh{justify-content:flex-start;gap:var(--s1);flex:1 0 100%;order:3;margin-inline-start:0}}@media (forced-colors:active){.bar.svelte-12qhfyh{color:canvastext;background:canvas;border-bottom:1px solid buttonborder}.badge.svelte-12qhfyh{color:highlighttext;background:highlight}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:highlighttext;background:highlight;border-color:buttonborder}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh):before{background:radial-gradient(circle at 0 0, transparent calc(var(--tab-r) - 1px), ButtonBorder calc(var(--tab-r) - 1px), ButtonBorder var(--tab-r), Highlight calc(var(--tab-r) + .5px))}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh):after{background:radial-gradient(circle at 100% 0, transparent calc(var(--tab-r) - 1px), ButtonBorder calc(var(--tab-r) - 1px), ButtonBorder var(--tab-r), Highlight calc(var(--tab-r) + .5px))}}
