:root{--bg:#2a3134;--bg-alt:#23292c;--main:#4fd1b0;--caret:#4fd1b0;--sub:#a4b0b6;--sub-dim:#95a1a9;--line:#5f6a70;--text:#d7dee1;--gold:#f2c14e;--error:#ca4754;--error-extra:#7e2a33;--card-line:#39434a;--raise:#333c41;--glow:#4fd1b073;--font-size:2rem;--mono:"Roboto Mono", "Nanum Gothic Coding", "Apple SD Gothic Neo", monospace;--ko:"Nanum Gothic Coding", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--ui:"Lexend Deca", "Apple SD Gothic Neo", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:lang(ja){--ui:"Lexend Deca", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", "Noto Sans JP", "Apple SD Gothic Neo", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--ui);margin:0}[hidden]{display:none!important}button{font:inherit;color:inherit}kbd{font-family:var(--mono);background:var(--sub);color:var(--bg);border-radius:.25em;padding:.05em .35em;font-size:.75em}:focus-visible{outline:2px solid var(--main);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--main);color:var(--bg);font-family:var(--ui);border-radius:.4rem;padding:.5rem .9rem;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}main:focus{outline:none}#app{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);gap:2rem;max-width:1100px;min-height:100%;margin:0 auto;padding:2rem 2rem 1.5rem;display:grid}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{color:var(--text);border-radius:.5rem;align-items:center;gap:.6rem;text-decoration:none;display:flex}.logo:hover .logo-text{color:#fff}.logo:focus-visible{outline:2px solid var(--main);outline-offset:4px}.logo-mark{width:2.1rem;height:2.1rem;color:var(--main);font-family:var(--ko);flex:none}.logo-text{flex-direction:column;font-size:1.9rem;line-height:1;display:flex}.logo-top{color:var(--sub);margin-bottom:.1rem;font-size:.7rem}nav{gap:.25rem;display:flex}.nav-btn{color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:.4rem;padding:.4rem .7rem;transition:color .15s}.nav-btn:hover{color:var(--text);background:var(--bg-alt)}.nav-icon{place-items:center;padding:.4rem .55rem;display:grid}.nav-icon svg{display:block}main{flex-direction:column;justify-content:center;display:flex}.text-card{background:var(--bg-alt);border:1px solid var(--card-line);border-radius:12px;margin:0 0 .9rem;padding:1rem 1.1rem 1.1rem}.text-card-head{align-items:flex-start;gap:.8rem;margin-bottom:.85rem;display:flex}.text-card-icon{background:var(--main);width:2.4rem;height:1.7rem;color:var(--bg);font-family:var(--ko);border-radius:.5rem;flex:none;place-items:center;margin-top:.1rem;font-size:1rem;font-weight:700;line-height:1;display:grid}.text-card-text{min-width:0}.text-card-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.setup-hint{color:var(--sub);margin:.2rem 0 0;font-size:.85rem}.text-card .title-input{background:var(--bg)}#source{resize:vertical;background:var(--bg);width:100%;min-height:45vh;color:var(--text);border:2px dashed var(--line);font-family:var(--ko);border-radius:.6rem;outline:none;padding:1rem 1.2rem;font-size:1.15rem;line-height:1.7;transition:border-color .15s,box-shadow .15s}#source::placeholder{color:var(--sub-dim);font-size:1.25rem}#source:hover{border-color:var(--sub)}#source:focus{border-style:solid;border-color:var(--main);box-shadow:0 0 0 3px #4fd1b038}@media (prefers-reduced-motion:reduce){#source{transition:none}}.setup-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.9rem;display:flex}.setup-lock{color:var(--sub);font-size:.8rem}#source:read-only,#title:read-only{cursor:default}#source:read-only:focus,#title:read-only:focus{box-shadow:0 0 0 2px var(--line)}.setup-count{color:var(--sub);margin-right:auto}.btn{background:var(--bg-alt);color:var(--text);cursor:pointer;border:0;border-radius:.5rem;padding:.65rem 1.1rem;transition:background .15s,color .15s}.btn:hover:not(:disabled){background:var(--text);color:var(--bg)}.btn.primary{background:var(--main);color:var(--bg);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--text);color:var(--bg)}.btn:disabled{opacity:.4;cursor:default}.busy{cursor:progress}.btn.busy:disabled,button.busy:disabled{opacity:.75}.busy:after{content:"";vertical-align:-.1em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.75em;height:.75em;margin-left:.5em;animation:.7s linear infinite busy-spin;display:inline-block}@keyframes busy-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.busy:after{opacity:.5;border-right-color:currentColor;animation:none}}.paths-skeleton{gap:.8rem;display:grid}.skeleton-line{border-radius:.3rem;height:1rem}.skeleton-line.title{width:45%;height:1.6rem}.skeleton-line.short{width:60%}.skeleton-block{border-radius:.6rem;height:7rem}.home-path.skeleton{background:var(--skeleton);min-height:7rem}.step-row.busy .step-action{visibility:hidden}.step-row.busy:after{grid-area:1/3;justify-self:end;margin:0 .4rem 0 0}.type-progress{background:var(--bg-alt);border-radius:2px;height:3px;margin:0 0 .6rem;overflow:hidden}#type-progress-fill{background:var(--main);border-radius:2px;width:0;height:100%;transition:width .15s;display:block}.live{min-height:1.6em;color:var(--main);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.4rem 1.25rem;margin-bottom:.4rem;font-size:1.4rem;display:flex}#words-wrapper{cursor:default;position:relative}#words{font-family:var(--ko);font-size:min(var(--font-size), 7vw);-webkit-user-select:text;user-select:text;flex-wrap:wrap;align-content:flex-start;transition:filter .25s,opacity .25s;display:flex;overflow:hidden}#words ::selection{background:var(--glow);color:var(--bg)}#words-input{opacity:0;width:2em;height:1.5em;font-size:min(var(--font-size), 7vw);pointer-events:none;z-index:-1;border:0;padding:0;position:absolute;top:0;left:0}.word{word-break:keep-all;overflow-wrap:anywhere;border-bottom:2px solid #0000;max-width:100%;margin:.25em .3em;padding-bottom:.08em;line-height:1.3}.word.error{border-bottom-color:var(--error)}.l{color:var(--sub-dim);transition:color 50ms}.l.correct{color:var(--text)}.l.incorrect{color:var(--error)}.l.composing{color:var(--sub-dim);text-decoration:underline;-webkit-text-decoration-color:var(--sub);text-decoration-color:var(--sub);text-underline-offset:.25em;text-decoration-thickness:2px}.l.extra{color:var(--error-extra)}.word.typed .l.untyped{color:var(--sub-dim)}.caret{background:var(--caret);pointer-events:none;z-index:2;border-radius:1px;width:.14rem;transition:transform .1s ease-out;position:absolute;top:0;left:0}.caret.blink{animation:1s infinite caret-flash}@keyframes caret-flash{0%,to{opacity:0}50%{opacity:1}}#focus-hint{color:var(--text);opacity:0;pointer-events:none;justify-content:center;align-items:center;font-size:1.1rem;transition:opacity .25s;display:flex;position:absolute;inset:0}#words-wrapper.blurred #words{filter:blur(4px);opacity:.4}body.tutor-open #words-wrapper.blurred #words,body.words-selecting #words-wrapper.blurred #words{filter:none;opacity:1}body.tutor-open #words-wrapper.blurred #focus-hint,body.words-selecting #words-wrapper.blurred #focus-hint,#words-wrapper.blurred .caret{opacity:0}#words-wrapper.blurred #focus-hint{opacity:1}.result-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.8rem;max-width:48rem;display:grid}.result-grid .stat{background:var(--bg-alt);border:1px solid var(--card-line);border-radius:.9rem;min-width:0;padding:.9rem 1.1rem}.result-learn{background:var(--bg-alt);border:1px solid var(--card-line);border-radius:.9rem;max-width:48rem;margin-top:1rem;padding:.9rem 1.1rem}.result-learn .learn-track{background:var(--raise)}.stat .label,.missed .label{color:var(--sub);font-size:1rem}.stat .value{color:var(--main);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.6rem}.stat.big .value{font-size:2.9rem;line-height:1.15}.missed{margin-top:2.5rem}#r-missed{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.chip{background:var(--bg-alt);font-family:var(--ko);color:var(--error);cursor:pointer;border:0;border-radius:.4rem;padding:.35rem .7rem;font-size:1.1rem}.chip:hover{color:var(--text)}.none{color:var(--sub)}.result-actions{gap:.75rem;margin-top:2.5rem;display:flex}footer{color:var(--sub);font-size:.8rem;line-height:1.6}.site-footer{flex-direction:column;gap:.8rem;display:flex}#footer{flex-wrap:wrap;justify-content:center;gap:.35rem 1.1rem;display:none}body[data-screen=test] #footer,body[data-screen=result] #footer{display:flex}.footer-bar{border-top:1px solid var(--bg-alt);flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 1.4rem;padding-top:.8rem;display:flex}.footer-bar .footer-link{font:inherit;color:var(--sub);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:.2em;background:0 0;border:0;padding:0;font-size:.8rem}.footer-bar .footer-link:hover{color:var(--main)}#footer-links{display:contents}body[data-screen=test] .footer-bar,footer .sep{display:none}.definition{z-index:10;pointer-events:none;justify-content:center;padding:0 1rem;transition:transform .18s ease-out;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.definition.show{transform:translateY(0)}.def-inner{pointer-events:auto;background:var(--bg-alt);border:1px solid #3a4349;border-top:0;border-radius:0 0 .75rem .75rem;width:min(1100px,100%);max-height:45vh;padding:.9rem 1.3rem 1rem;overflow-y:auto;box-shadow:0 10px 30px #00000059}.def-head{flex-wrap:wrap;align-items:baseline;gap:.8rem;display:flex}.def-word{font-family:var(--ko);color:var(--main);font-size:1.7rem;font-weight:700}.def-roman{color:var(--sub);font-style:italic}.def-lemma{color:var(--text);font-family:var(--ko)}.def-spacer{flex:1}.icon-btn{color:var(--sub);cursor:pointer;background:0 0;border:0;padding:.2rem .4rem;font-size:1rem}.icon-btn:hover{color:var(--text)}.def-body{margin-top:.35rem}.def-loading{color:var(--sub)}.def-meaning{color:var(--text);font-size:1.25rem}.def-breakdown{color:var(--sub);font-family:var(--ko);margin-top:.2rem}.def-entry{border-top:1px solid #3a4349;margin-top:.8rem;padding-top:.6rem}.def-entry-title{font-family:var(--ko);align-items:baseline;gap:.6rem;display:flex}.def-entry-word{color:var(--main);font-weight:700}.def-entry-meta{color:var(--sub);font-size:.9rem}.def-senses{margin:.3rem 0 0;padding-left:1.4rem}.def-senses li{margin:.25rem 0}.def-en{color:var(--text);font-weight:600}.def-en-def{color:#a6b2b8}.def-ko{color:var(--sub);font-family:var(--ko);font-size:.9rem}.def-meaning-row{align-items:baseline;gap:.6rem;min-width:0;display:flex}.def-more{color:var(--sub);font-size:.85rem;display:none}.def-nav{color:var(--sub);white-space:nowrap;align-items:baseline;gap:.15rem;margin-left:auto;font-size:.85rem;display:inline-flex}.def-nav-btn,.def-all-toggle{color:var(--sub);cursor:pointer;font:inherit;background:0 0;border:none;padding:0 .3rem}.def-nav-btn{font-size:1.1rem}.def-nav-btn:hover,.def-all-toggle:hover{color:var(--text)}.def-detail{margin-top:.3rem}.def-detail .def-entry-title{font-size:.9rem}.def-homonym{margin-left:.05em;font-size:.65em}.definition.all-open .def-inner{max-height:26vh}.def-all-toggle{margin-top:.5rem;padding:0;font-size:.85rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:block}.def-senses li{cursor:pointer}.def-senses li.current{color:var(--main)}.def-note{color:var(--sub);margin-top:.5rem;font-size:.8rem;font-style:italic}.def-error{color:var(--error)}.def-sources{color:var(--sub);margin-top:.7rem;font-size:.75rem}.row.stacked{border-bottom:0;flex-direction:column;align-items:flex-start;gap:.5rem;padding-bottom:.2rem}.window-controls{color:var(--sub);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.window-controls b{color:var(--text);font-weight:400}.row .window-controls select{max-width:none}.window-preview{color:var(--sub);border-bottom:1px solid #3a4349;padding:.5rem 0 .6rem;font-size:.9rem}.window-preview span:not(:first-child){font-family:var(--ko)}.window-preview .said{color:var(--main)}.window-preview .typed-word{color:var(--main);text-underline-offset:.25em;text-decoration:underline}.settings-form h2.section{margin-top:1.5rem}.settings-form h2 small{margin-left:.4rem;font-size:.8rem}.shortcut-btn{background:var(--bg);cursor:pointer;border:1px solid #0000;border-radius:.4rem;justify-content:center;gap:.25rem;min-width:7rem;padding:.3rem .5rem;display:flex}.shortcut-btn:hover{border-color:var(--line)}.shortcut-btn.recording{border-color:var(--main);color:var(--main)}.shortcut-error{color:var(--error);min-height:1.2em;margin-top:.4rem;font-size:.85rem}dialog{background:var(--bg-alt);color:var(--text);border:1px solid #3a4349;border-radius:.75rem;width:min(520px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1.5rem 1.75rem;overflow-y:auto}dialog::backdrop{background:#0000008c}.settings-form h2{color:var(--sub);margin:0 0 1rem;font-size:1.1rem;font-weight:400}.row{border-bottom:1px solid #3a4349;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.row small{color:var(--sub)}.row output{color:var(--main);margin-left:.3rem}.row select{background:var(--bg);color:var(--text);font:inherit;border:0;border-radius:.35rem;max-width:55%;padding:.35rem .5rem}.row input[type=checkbox]{accent-color:var(--main);width:1.1rem;height:1.1rem}.row input[type=range]{accent-color:var(--main)}.settings-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}@media (width<=640px){#app{padding:1.25rem 1rem}.result-grid{grid-template-columns:repeat(2,auto);gap:1rem 2rem}.logo-mark{width:1.7rem;height:1.7rem}.logo-text{font-size:1.45rem}.live{gap:.4rem .9rem;font-size:1.1rem}.stat.big .value{font-size:2.6rem}.result-actions,.setup-actions{flex-wrap:wrap}}footer .hint{white-space:nowrap}.plus{color:var(--sub);margin:0 .1em}dialog .btn{background:var(--bg)}.setup-layout{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}#setup.no-side .library{display:none}#setup.no-side .setup-layout{grid-template-columns:minmax(0,1fr)}#setup.no-side .home,#setup.no-side .guide-links{max-width:52rem;margin-left:auto;margin-right:auto}.library-head{color:var(--sub);justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.library-head .nav-btn{padding:.2rem .4rem}.library{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100vh - 1.5rem);position:sticky;top:.75rem;overflow-y:auto}.side-section+.side-section{margin-top:1.2rem}.side-body{flex-direction:column;gap:.35rem;display:flex}.side-toggle{min-width:0;color:var(--sub);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:.3rem;align-items:center;gap:.4rem;padding:.2rem 0;font-size:.78rem;font-weight:600;display:inline-flex}.side-toggle:hover{color:var(--text)}.side-chevron{border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:.45rem;height:.45rem;transition:transform .15s;transform:translateY(-2px)rotate(45deg)}.side-section.collapsed .side-chevron{transform:translate(-2px)rotate(-45deg)}.side-section.collapsed .side-body{display:none}.side-search.filtering~.side-section.collapsed .side-body{display:flex}.side-search.filtering~.side-section.no-match{display:none}.side-count{color:var(--sub);opacity:.8;font-size:.75rem}.side-count:not(:empty):before{content:"·";margin-right:.35rem}.side-search{margin-bottom:.7rem}.side-search input,.vocab-filter{background:var(--bg-alt);width:100%;color:var(--text);font:inherit;border:1px solid #0000;border-radius:.5rem;padding:.45rem .7rem;font-size:.85rem}.side-search input:focus,.vocab-filter:focus{border-color:var(--main);outline:none}.side-search input::placeholder,.vocab-filter::placeholder{color:var(--sub)}.library-empty{color:var(--sub);font-size:.85rem;line-height:1.5}.library-item{background:var(--bg-alt);border:1px solid #0000;border-radius:.6rem;align-items:flex-start;gap:.25rem;transition:background .15s,border-color .15s;display:flex}.library-item:hover{background:var(--raise)}.library-item.active{border-color:var(--main);background:var(--raise)}.library-open{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;min-width:0;padding:.55rem 0 .55rem .7rem}.library-title{font-family:var(--ko);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.library-item:hover .library-title,.library-item.active .library-title{color:var(--main)}.library-meta{color:var(--sub);margin-top:.15rem;font-size:.75rem}.library-video{background:var(--error);color:#fff;vertical-align:.05rem;border-radius:.35rem;margin-right:.45rem;padding:0 .4rem;font-size:.72rem;font-weight:600;line-height:1.4;display:inline-block}.library-progress{background:linear-gradient(to right, var(--main) var(--pct), var(--bg) var(--pct));border-radius:2px;height:3px;margin-top:.4rem}.library-delete{opacity:0;margin:.4rem .3rem 0 0;font-size:.8rem}.library-share{opacity:0;margin:.4rem 0 0;font-size:.85rem}.library-item:hover .library-delete,.library-delete:focus-visible,.library-item:hover .library-share,.library-share:focus-visible{opacity:1}.drag-handle{opacity:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;margin:.35rem 0 0;padding:.2rem .25rem;font-size:.95rem;line-height:1}.library-item:hover .drag-handle,.drag-handle:focus-visible{opacity:1}.library-item.dragging{opacity:.6;border-color:var(--main)}.reordering,.reordering .drag-handle{cursor:grabbing}.side-search.filtering~.side-section .drag-handle{display:none}.library-item.skeleton{border-radius:.5rem;height:3.1rem}@media (hover:none){.library-share,.library-delete,.drag-handle{opacity:1}}.library-confirm{flex-direction:column;gap:.2rem;padding:.4rem .4rem 0 0;display:flex}.library-confirm button{background:var(--bg);cursor:pointer;color:var(--text);border:0;border-radius:.3rem;padding:.2rem .5rem;font-size:.75rem}.library-confirm .danger{color:var(--error)}.title-input{background:var(--bg-alt);width:100%;color:var(--text);font-family:var(--ko);border:0;border-radius:.5rem;outline:none;margin-bottom:.6rem;padding:.6rem 1.2rem;font-size:1.05rem}.title-input:focus{box-shadow:0 0 0 2px var(--main)}.save-status{color:var(--sub);font-size:.85rem}.save-status.error{color:var(--error)}@media (width<=760px){.setup-layout{grid-template-columns:minmax(0,1fr)}.library{max-height:none;position:static;overflow:visible}#library-list,#vocab-side-list{max-height:30vh;overflow-y:auto}}.yt-card{background:var(--bg-alt);border:1px solid var(--card-line);border-radius:12px;margin:0 0 .9rem;padding:1rem 1.1rem .85rem;container-type:inline-size}.yt-card-head{align-items:flex-start;gap:.8rem;margin-bottom:.85rem;display:flex}.yt-card-icon{background:var(--error);border-radius:.5rem;flex:none;width:2.4rem;height:1.7rem;margin-top:.1rem;position:relative}.yt-card-icon:after{content:"";clip-path:polygon(0 0,100% 50%,0 100%);background:#fff;width:.7rem;height:.8rem;position:absolute;top:50%;left:50%;transform:translate(-40%,-50%)}.yt-card-text{min-width:0}.yt-card-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.yt-card-hint{color:var(--sub);margin:.2rem 0 0;font-size:.85rem}.yt-import{display:flex}.yt-url{background:var(--bg);min-width:0;color:var(--text);border:1px solid var(--line);font-family:var(--ui);border-right:0;border-radius:.5rem 0 0 .5rem;outline:none;flex:1;padding:.85rem 1rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.yt-url::placeholder{color:var(--sub-dim)}.yt-url:focus{border-color:var(--error);box-shadow:0 0 0 3px #ca475459}.yt-import .btn.primary{white-space:nowrap;background:var(--main);color:var(--bg);border-radius:0 .5rem .5rem 0;flex:none;padding:0 1.4rem;font-weight:600}.yt-import .btn.primary:hover:not(:disabled){background:var(--text)}@container (width<=480px){.yt-import{flex-direction:column;gap:.5rem}.yt-url{border-right:1px solid var(--line);border-radius:.5rem}.yt-url:focus{border-color:var(--error)}.yt-import .btn.primary{border-radius:.5rem;padding:.75rem 1rem}}.yt-card .import-status:empty{min-height:0;margin:0}.yt-card-alt{color:var(--sub);border-top:1px solid #3a4349;flex-wrap:wrap;align-items:center;gap:.45rem .6rem;margin-top:.75rem;padding-top:.7rem;font-size:.82rem;display:flex}.yt-card-alt-text{min-width:0}.yt-card-alt-actions{align-items:center;gap:.5rem;display:flex}.yt-card-alt-actions .btn.small{margin:0;padding:.25rem .7rem}.yt-card.bookmark-only .yt-card-alt{border-top:0;margin-top:0;padding-top:0}.yt-card.bookmark-only .yt-card-alt-actions .btn.small{color:var(--main);padding:.45rem .9rem;font-size:.9rem}@media (prefers-reduced-motion:reduce){.yt-url,.yt-import .btn.primary{transition:none}}.import-status{min-height:1.4em;color:var(--sub);margin:.3rem 0 .2rem;font-size:.85rem}.import-status.error{color:var(--error)}.video-chip{background:var(--bg-alt);border-radius:.5rem;align-items:center;gap:.6rem;margin-bottom:.6rem;padding:.45rem .6rem .45rem .9rem;font-size:.9rem;display:flex}.video-chip-icon{color:var(--error)}.video-chip-title{font-family:var(--ko);color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.video-chip-meta{color:var(--sub);white-space:nowrap;margin-left:auto}.video-wrap{aspect-ratio:16/9;background:#000;border-radius:.6rem;width:min(560px,100%);margin:0 auto 1.25rem;overflow:hidden}.video-wrap iframe,#video-player{border:0;width:100%;height:100%;display:block}.vocab-card{background:var(--bg-alt);border-radius:.6rem;align-items:center;gap:1.2rem;width:min(560px,100%);min-height:8.2rem;margin:0 auto 1.25rem;padding:1rem 1.4rem;transition:opacity .2s;display:flex}.vocab-card.past{opacity:.45}.vocab-card-visual{flex:none;place-items:center;width:9.5rem;height:6.2rem;display:grid}#vocab-card-image{object-fit:cover;background:var(--bg);border-radius:.45rem;width:100%;height:100%}.vocab-card-emoji{text-align:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:3.8rem;line-height:1}.vocab-card-emoji:empty{display:none}.vocab-card-credit{color:var(--sub);opacity:.7;margin-top:.35rem;font-size:.65rem;text-decoration:none;display:block}.vocab-card-credit:hover{opacity:1;text-decoration:underline}.vocab-card-text{min-width:0}.vocab-card-item{font-family:var(--ko);color:var(--vocab);font-size:1.5rem;line-height:1.3}.vocab-card-gloss{color:var(--sub);min-height:1.2em;margin-top:.15rem;font-size:.95rem}.vocab-card.pending .vocab-card-gloss:after{content:"…"}@media (width<=640px){.vocab-card{gap:.9rem;min-height:5rem;padding:.7rem 1rem}.vocab-card-visual{width:6.5rem;height:4.4rem}.vocab-card-emoji{font-size:2.8rem}.vocab-card-item{font-size:1.25rem}}.live{align-items:center}.live-spacer{flex:1}.mode-toggle{background:var(--bg-alt);border-radius:.45rem;padding:.2rem;font-size:.85rem;display:flex}.mode-toggle button{color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:.3rem;padding:.25rem .7rem}.mode-toggle button.active{background:var(--bg);color:var(--main)}.live-note{color:var(--sub);font-size:.8rem}.num-input{background:var(--bg);width:3.5rem;color:var(--text);font:inherit;border:0;border-radius:.35rem;padding:.35rem .4rem}.bookmarklet{background:var(--bg-alt);border:1px dashed var(--main);color:var(--main);cursor:grab;white-space:nowrap;border-radius:.4rem;padding:.1rem .6rem;text-decoration:none;display:inline-block}.btn.small{background:var(--bg);margin:0 .2rem;padding:.15rem .6rem;font-size:.8rem}dialog.guide{width:min(880px,100vw - 2rem);padding:1.4rem 1.6rem 1.2rem}.guide-head{justify-content:space-between;align-items:center;display:flex}.guide-head h1,.guide-head h2{color:var(--text);margin:0;font-size:1.35rem;font-weight:600}.guide-lede{color:var(--sub);margin:.4rem 0 1.2rem;line-height:1.6}.guide-steps{flex-direction:column;gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.guide-step{border-bottom:1px solid #3a4349;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:1.2rem;padding-bottom:1.1rem;display:grid}.guide-step:last-child{border-bottom:0;padding-bottom:0}.guide-visual img{background-color:#262d31;background-position:50%;background-size:cover;border:1px solid #3a4349;border-radius:.5rem;width:100%;height:auto;display:block}.guide-visual{position:relative}.guide-visual img:not(.loaded){filter:blur(6px);clip-path:inset(0 round .5rem)}.guide-visual img.loaded{animation:.3s ease-out guide-img-in}@keyframes guide-img-in{0%{filter:blur(6px)}to{filter:blur()}}@media (prefers-reduced-motion:reduce){.guide-visual img.loaded{animation:none}}.guide-caption h2,.guide-caption h3{color:var(--text);align-items:center;gap:.5rem;margin:0 0 .4rem;font-size:1.05rem;font-weight:600;display:flex}.guide-caption h2 small,.guide-caption h3 small{color:var(--sub);font-weight:400}.guide-num{background:var(--main);width:1.6rem;height:1.6rem;color:var(--bg);border-radius:50%;flex:none;place-items:center;font-size:.85rem;display:inline-grid}.guide-caption p{color:#a6b2b8;margin:0;line-height:1.6}.guide-caption b{color:var(--text);font-weight:600}.guide-tips{color:var(--sub);margin:.6rem 0 0;padding-left:1.1rem;font-size:.85rem;line-height:1.7}.guide-note{color:var(--sub);margin:1.2rem 0 0;font-size:.85rem}@media (width<=680px){.guide-step{grid-template-columns:minmax(0,1fr)}dialog.guide{padding:1.1rem 1rem 1rem}}.mock-browser{-webkit-user-select:none;user-select:none;background:#1d2428;border:1px solid #46525a;border-radius:.55rem;font-size:.72rem;overflow:hidden}.mock-top{background:#282f34;align-items:center;gap:.6rem;padding:.45rem .6rem;display:flex}.mock-dots{gap:.25rem;display:flex}.mock-dots i{background:#5a666d;border-radius:50%;width:.5rem;height:.5rem}.mock-url{color:var(--sub);white-space:nowrap;text-overflow:ellipsis;background:#1d2428;border-radius:.3rem;flex:1;padding:.15rem .5rem;overflow:hidden}.mock-bookmarks{background:#282f34;border-top:1px solid #323c42;border-bottom:1px solid #323c42;gap:.4rem;padding:.3rem .6rem;display:flex}.mock-bm,.mock-bm-slot{color:var(--sub);white-space:nowrap;border-radius:.25rem;padding:.1rem .45rem;position:relative}.mock-bm-slot{border:1px dashed var(--main);color:var(--main);opacity:.8}.mock-bm-ka{color:var(--main);background:#1e3a32}.mock-bm-pressed{outline:2px solid var(--main)}.mock-page{height:9.5rem;padding:.7rem;position:relative}.mock-page-ka{justify-content:flex-end;align-items:flex-end;display:flex}.mock-ka-button{border:1px dashed var(--main);color:var(--main);background:var(--bg-alt);border-radius:.35rem;margin:0 1.5rem 1rem 0;padding:.2rem .6rem;font-size:.8rem}.mock-drag-arrow{fill:none;width:55%;height:70%;stroke:var(--main);stroke-width:2.5px;stroke-dasharray:5 5;stroke-linecap:round;position:absolute;top:.4rem;left:4.2rem}.mock-player{background:linear-gradient(135deg,#39444b,#242b2f);border-radius:.35rem;place-items:center;height:6.2rem;display:grid;position:relative}.mock-play{opacity:.8;border-top:.7rem solid #0000;border-bottom:.7rem solid #0000;border-left:1.1rem solid #d7dee1;width:0;height:0}.mock-cc{color:#d7dee1;border:1px solid #d7dee1;border-radius:.2rem;padding:0 .3rem;font-size:.6rem;position:absolute;bottom:.4rem;right:.5rem}.mock-subtitle{color:#fff;font-family:var(--ko);white-space:nowrap;background:#000000b3;border-radius:.15rem;padding:0 .4rem;position:absolute;bottom:.4rem;left:50%;transform:translate(-50%)}.mock-lines{flex-direction:column;gap:.35rem;margin-top:.6rem;display:flex}.mock-lines i{background:#323c42;border-radius:.2rem;width:70%;height:.45rem}.mock-lines i+i{width:45%}.mock-toast{background:var(--bg);max-width:70%;color:var(--text);border:1px solid var(--main);border-radius:.4rem;padding:.35rem .6rem;position:absolute;top:.9rem;right:.9rem;box-shadow:0 6px 16px #0006}.mock-cursor{clip-path:polygon(0 0,0 100%,28% 76%,48% 100%,62% 92%,43% 68%,80% 68%);filter:drop-shadow(0 1px 1px #0009);background:#fff;width:.9rem;height:1.2rem;position:absolute}.mock-cursor-drag{bottom:.4rem;right:1.4rem}.mock-cursor-click{bottom:-.7rem;right:-.2rem}.import-overlay{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#323437eb;place-items:center;padding:1rem;display:none;position:fixed;inset:0}html.importing .import-overlay{display:grid}.import-card{text-align:center;background:var(--bg-alt);border:1px solid #3a4349;border-radius:.8rem;width:min(380px,100%);padding:1.8rem 1.5rem 1.4rem;box-shadow:0 12px 32px #00000059}.import-card h2{color:var(--text);margin:1rem 0 .4rem;font-size:1.15rem;font-weight:600}.import-card p{color:var(--sub);margin:0;line-height:1.5}.import-card .import-hint{margin-top:.6rem;font-size:.8rem}.spinner{border:3px solid #46525a;border-top-color:var(--main);border-radius:50%;width:2.4rem;height:2.4rem;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.guide-links{color:var(--sub);flex-wrap:wrap;gap:.2rem .9rem;margin-top:.9rem;font-size:.85rem;display:flex}.guide-links a{color:var(--sub)}.guide-links a:hover{color:var(--main)}.home .btn:not(.primary){background:var(--bg-alt)}.home .btn:not(.primary):hover{background:var(--text)}.guide-why{background:var(--bg);border-radius:.6rem;margin-top:1.3rem;padding:.9rem 1.1rem}.guide-why h2,.guide-why h3{color:var(--text);margin:0 0 .4rem;font-size:1rem}.guide-why ul{color:#a6b2b8;margin:0;padding-left:1.1rem;line-height:1.7}.guide-why b{color:var(--text);font-weight:600}.mock-listen{background:#1d2428;border:1px solid #46525a;border-radius:.55rem;justify-items:center;gap:1.2rem;padding:1.6rem 1rem;display:grid}.mock-listen-row{align-items:center;gap:.9rem;display:flex}.mock-word{font-family:var(--ko);color:var(--text);font-size:1.9rem}.mock-speaker{background:var(--main);clip-path:polygon(0 32%,32% 32%,72% 0,72% 100%,32% 68%,0 68%);width:1.3rem;height:1.3rem}.mock-waves{align-items:center;gap:.25rem;display:flex}.mock-waves i{background:var(--main);opacity:.9;border-radius:.2rem;width:.28rem;height:.8rem}.mock-waves i:nth-child(2){opacity:.7;height:1.4rem}.mock-waves i:nth-child(3){opacity:.5;height:2rem}.mock-listen-toggle{background:var(--bg-alt);border-radius:.45rem;padding:.2rem;font-size:.8rem;display:flex}.mock-listen-toggle span{color:var(--sub);border-radius:.3rem;padding:.2rem .7rem}.mock-listen-toggle .on{background:var(--bg);color:var(--main)}.mock-definition{background:var(--bg-alt);border:1px solid #46525a;border-radius:.55rem;padding:.9rem 1rem;box-shadow:0 8px 20px #0000004d}.mock-def-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.mock-def-head b{font-family:var(--ko);color:var(--main);font-size:1.4rem}.mock-def-head i{color:var(--sub)}.mock-def-head span{font-family:var(--ko);color:var(--text);font-size:.9rem}.mock-def-meaning{color:var(--text);margin-top:.2rem;font-size:1.05rem}.mock-def-breakdown{color:var(--sub);font-family:var(--ko);margin-top:.15rem;font-size:.85rem}.mock-def-entry{color:#a6b2b8;border-top:1px solid #3a4349;margin-top:.6rem;padding-top:.5rem;font-size:.85rem}.mock-def-entry b{font-family:var(--ko);color:var(--main)}.mock-tutor{flex-direction:column;align-items:flex-end;gap:.8rem;display:flex}.mock-tutor-msg{background:var(--bg-alt);max-width:90%;color:var(--text);border:1px solid #46525a;border-radius:.75rem .75rem .2rem;padding:.6rem .8rem;font-size:.9rem;line-height:1.5;box-shadow:0 8px 20px #0000004d}.mock-tutor-corner{align-items:center;gap:.5rem;display:flex}.mock-tutor-pill{white-space:nowrap;border:2px solid var(--line);background:var(--bg-alt);color:var(--text);border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.guide-visual img.mock-tutor-fab{border:2px solid var(--main);background:var(--bg-alt);object-fit:cover;filter:none;clip-path:none;border-radius:50%;flex:none;width:48px;height:48px;animation:none}.result-promo{color:var(--sub);max-width:34rem;margin:2rem 0 0;font-size:.8rem;line-height:1.6}.result-promo a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--sub);text-decoration-color:var(--sub);text-underline-offset:.2em}.result-promo a:hover{color:var(--main)}.lang-select{color:var(--sub);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.4rem;padding:.35rem .4rem}.lang-select:hover,.lang-select:focus-visible{color:var(--text);border-color:#46525a}.lang-select option{background:var(--bg-alt);color:var(--text)}nav{align-items:center}.keymap{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.35rem;margin-top:1.6rem;display:flex}.km-row{gap:.35rem;display:flex}.km-row-1{margin-left:1.1rem}.km-row-2{margin-left:2.6rem}.km-key{background:var(--bg-alt);width:2.6rem;height:2.6rem;color:var(--sub);border:1px solid #3a4349;border-radius:.4rem;place-items:center;font-size:.8rem;transition:background 80ms,color 80ms;display:grid;position:relative}.km-jamo{font-family:var(--ko);color:var(--text);font-size:1.05rem}.km-shift-jamo{font-family:var(--ko);color:var(--sub);font-size:.65rem;position:absolute;top:.15rem;right:.3rem}.km-latin{color:var(--sub);text-transform:uppercase;font-size:.6rem;position:absolute;bottom:.1rem;left:.3rem}.km-wide{width:5.5rem}.km-space{width:16rem}.km-key.km-next{background:var(--main);border-color:var(--main);color:var(--bg)}.km-key.km-next .km-jamo,.km-key.km-next .km-shift-jamo,.km-key.km-next .km-latin{color:var(--bg)}@media (width<=640px){.km-key{width:1.9rem;height:2.2rem}.km-jamo{font-size:.9rem}.km-row-1{margin-left:.8rem}.km-row-2{margin-left:1.8rem}.km-wide{width:4rem}.km-space{width:9rem}}.keymap-toggle{background:var(--bg-alt);color:var(--sub);cursor:pointer;border:0;border-radius:.45rem;place-items:center;padding:.4rem .55rem;display:grid}.keymap-toggle svg{width:1.5rem;height:1rem;display:block}.keymap-toggle:hover{color:var(--text)}.keymap-toggle.active{color:var(--main)}.definition.compact .def-inner{max-height:5.2rem;padding:.45rem 1.1rem .55rem;overflow:hidden}.definition.compact .def-word{font-size:1.25rem}.definition.compact .def-body{align-items:baseline;gap:.9rem;min-width:0;margin-top:.1rem;display:flex}.definition.compact .def-meaning,.definition.compact .def-breakdown{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}.definition.compact .def-meaning{flex:0 auto;font-size:1rem}.definition.compact .def-breakdown{flex:1 1 0}.definition.compact .def-entry,.definition.compact .def-detail,.definition.compact .def-nav,.definition.compact .def-all-toggle,.definition.compact .def-note,.definition.compact .def-sources{display:none}.definition.compact .def-more{flex:none;display:inline}.definition.compact .def-meaning-row{flex:0 auto}.account-btn.premium,.account-btn.premium .crown{color:var(--gold)}.account-dialog h2{color:var(--sub);margin:0 0 .6rem;font-size:1.1rem;font-weight:400}.acct-lede{color:var(--sub);margin:0 0 1rem;font-size:.9rem}.acct-tabs{border-bottom:1px solid #3a4349;gap:.25rem;margin-bottom:1rem;display:flex}.acct-tab{color:var(--sub);cursor:pointer;font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.4rem .7rem}.acct-tab.active{color:var(--text);border-bottom-color:var(--main)}.acct-google{width:100%}.acct-or{text-align:center;color:var(--sub);margin:.7rem 0;font-size:.8rem}.acct-field{color:var(--sub);flex-direction:column;gap:.3rem;margin-bottom:.8rem;font-size:.85rem;display:flex}.acct-field input{background:var(--bg);color:var(--text);font:inherit;border:1px solid #3a4349;border-radius:.4rem;padding:.55rem .7rem;font-size:1rem}.acct-field input:focus{border-color:var(--main);outline:none}.acct-error{color:var(--error);min-height:1.2em;margin-bottom:.4rem;font-size:.85rem}.acct-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.link-btn{color:var(--sub);cursor:pointer;font:inherit;background:0 0;border:none;margin-right:auto;padding:0;font-size:.85rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.link-btn:hover{color:var(--text)}.acct-pitch{margin:1rem 0 .2rem}.acct-plans{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.6rem;margin-bottom:1rem;display:grid}.acct-plan-btn{background:var(--bg);color:var(--text);cursor:pointer;font:inherit;text-align:left;border:1px solid #3a4349;border-radius:.6rem;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem .9rem;display:flex}.acct-plan-btn:hover{border-color:var(--main)}.acct-plan-name{color:var(--sub);font-size:.85rem}.acct-plan-price{font-size:1.2rem}.acct-plan-note{color:var(--main);font-size:.75rem}.premium-badge{border:1px solid var(--main);color:var(--main);text-transform:uppercase;vertical-align:middle;border-radius:.3rem;margin-left:.35rem;padding:0 .35rem;font-size:.65rem;display:inline-block}.def-gate{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.def-gate-text{color:var(--text)}.definition.compact .def-gate{flex-wrap:nowrap}.definition.compact .def-gate-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.def-gate-btn{flex:none}.acct-social{gap:.5rem;display:grid}.acct-social.many{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}.acct-social-btn{background:var(--bg);color:var(--text);cursor:pointer;font:inherit;border:1px solid #3a4349;border-radius:.5rem;justify-content:center;align-items:center;gap:.6rem;padding:.6rem .9rem;font-size:.95rem;display:flex}.acct-social-btn:hover:not(:disabled){border-color:var(--line)}.acct-social-btn svg{flex:none}.acct-social-btn.apple{color:#000;background:#fff;border-color:#fff}.acct-social-btn.discord svg{color:#5865f2}.acct-or{align-items:center;gap:.7rem;display:flex}.acct-or:before,.acct-or:after{content:"";border-top:1px solid #3a4349;flex:1}.with-crown{align-items:center;gap:.4rem;display:inline-flex}div.with-crown,p.with-crown{display:flex}.crown{color:var(--main);flex:none;display:inline-flex}.btn.primary .crown{color:inherit}.premium-badge{align-items:center;gap:.2rem;display:inline-flex}.def-gate-wrap{position:relative}.def-teaser{filter:blur(3.5px);-webkit-user-select:none;user-select:none;pointer-events:none;max-height:7.5rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 35%,#0000 100%);mask-image:linear-gradient(#000 35%,#0000 100%)}.definition.gated .def-roman,.definition.gated .def-lemma{filter:blur(4px);-webkit-user-select:none;user-select:none}.def-teaser .def-meaning-row{filter:blur(1.5px)}.def-gate-wrap .def-gate{text-align:center;justify-content:center;gap:.6rem 1rem;margin-top:-1.5rem;padding:.5rem 1rem .25rem;position:relative}.def-gate-wrap .def-gate-btn{background:var(--main);color:var(--bg);border:0;border-radius:.45rem;margin:.15rem 0;padding:.5rem 1.2rem;font-weight:600}.def-gate-wrap .def-gate-btn:hover:not(:disabled){background:var(--main);color:var(--bg);filter:brightness(1.08)}.definition.compact .def-gate-wrap{flex:auto;align-items:center;gap:1rem;min-width:0;display:flex}.definition.compact .def-teaser{white-space:nowrap;flex:0 12rem;gap:.9rem;min-width:0;max-height:none;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 40%,#0000 100%);mask-image:linear-gradient(90deg,#000 40%,#0000 100%)}.definition.compact .def-gate-wrap .def-gate{flex:auto;justify-content:flex-start;min-width:0;margin:0;padding:.15rem 0}.definition.compact .def-gate-wrap .def-gate-btn{margin:0;padding:.25rem .8rem}@media (width<=640px){.definition.compact .def-teaser{display:none}.def-teaser{max-height:4.5rem}}.nav-btn{white-space:nowrap}.definition.gated.compact .def-roman,.definition.gated.compact .def-lemma{display:none}@media (width<=640px){nav{flex-wrap:wrap;justify-content:flex-end;gap:0}.nav-btn{padding:.35rem .5rem}.definition.compact .def-gate-text{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box}.definition.compact .def-gate-text .crown{display:none}}.account-btn .crown{vertical-align:-.1em;margin-right:.3rem}.definition.video .def-inner,.definition.video.all-open .def-inner{max-height:22vh}.zen-dialog h2{color:var(--sub);margin:0 0 .4rem;font-size:1.1rem;font-weight:400}.zen-lede{color:var(--sub);margin:0 0 1rem;font-size:.9rem}.zen-targets{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.zen-target{padding:.6rem 0;font-size:1rem}.zen-best{color:var(--sub);margin:.9rem 0 .4rem;font-size:.85rem}.zen-badges-wrap summary{cursor:pointer;color:var(--sub);margin-bottom:.5rem;font-size:.85rem}.zen-badges{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.4rem;display:grid}.zen-badge{background:var(--bg);color:var(--sub);opacity:.45;filter:grayscale();border-radius:.45rem;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.8rem;display:flex}.zen-badge.earned{opacity:1;filter:none;color:var(--text)}.zen-badge-icon{font-size:1.05rem;line-height:1}.zen-badge-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zen-end{margin-left:.5rem;font-size:.8rem}.zen-result{text-align:center;margin:.5rem 0 1.5rem}.zen-reason{color:var(--sub)}.zen-bests{color:var(--main);margin-top:.4rem}.zen-new-label{color:var(--sub);margin:.9rem 0 .4rem;font-size:.85rem}.zen-new-badges{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.zen-badge.new{border:1px solid var(--main);padding:.5rem .8rem;font-size:.95rem;animation:.5s ease-out both zen-badge-pop}@keyframes zen-badge-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.zen-badge.new{animation:none}}.mute-toggle svg{width:1.3rem;height:1.3rem;margin:-.15rem 0}.mute-toggle .mute-x{display:none}.mute-toggle.muted{color:var(--main)}.mute-toggle.muted .mute-waves{display:none}.mute-toggle.muted .mute-x{display:inline}.recommended{margin-top:1.25rem}:root{--vocab:#a9c860;--vocab-dim:#a9c8608c}#words:not(.hide-vocab) .word.vocab{box-shadow:inset 0 -2px 0 var(--vocab-dim)}#words:not(.hide-vocab) .word.vocab .l.untyped,#words:not(.hide-vocab) .word.vocab .l.composing{color:var(--vocab-dim)}#words:not(.hide-vocab) .word.vocab .l.correct{color:var(--vocab)}.vocab-items-label{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.vocab-items-label select{background:var(--bg);color:var(--text);font:inherit;border:1px solid #3a4349;border-radius:.35rem;padding:.15rem .35rem;font-size:.8rem}#vocab-items{background:var(--bg);color:var(--text);font-family:var(--ko);resize:vertical;border:1px solid #3a4349;border-radius:.4rem;padding:.55rem .7rem;font-size:1rem}#vocab-items:focus{border-color:var(--main);outline:none}.vocab-picker{margin-bottom:.9rem}.vocab-picker-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.45rem;display:flex}.vocab-picker-label{color:var(--sub);font-size:.85rem}.vocab-new{border:1px solid #3a4349;padding:.35rem .8rem;font-size:.85rem}.vocab-new[aria-pressed=true]{border-color:var(--main);color:var(--main)}.vocab-filter{background:var(--bg);border-color:#3a4349;margin-bottom:.45rem}.vocab-lists{overscroll-behavior:contain;scrollbar-width:thin;background:var(--bg);border:1px solid #3a4349;border-radius:.5rem;flex-direction:column;max-height:10.5rem;display:flex;overflow-y:auto}.vocab-list-row{width:100%;color:var(--sub);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.45rem .7rem;font-size:.9rem;display:flex}.vocab-list-row+.vocab-list-row{border-top:1px solid #353f45}.vocab-list-row:hover{color:var(--text);background:var(--bg-alt)}.vocab-list-row.active{color:var(--text);background:var(--raise)}.vocab-list-row.active .vocab-list-name{color:var(--main)}.vocab-list-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vocab-list-size{opacity:.8;flex:none;font-size:.75rem}.vocab-list-none{color:var(--sub);padding:.5rem .7rem;font-size:.85rem}.vocab-list-row.skeleton{border-radius:.3rem;height:1.6rem;margin:.3rem .7rem}.vocab-option{background:var(--bg);color:var(--sub);cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;border:1px solid #3a4349;border-radius:1rem;max-width:14rem;padding:.25rem .7rem;font-size:.8rem;overflow:hidden}.vocab-option.active{border-color:var(--main);color:var(--text)}.vocab-preview{flex-wrap:wrap;gap:.3rem;max-height:6.5rem;margin:-.3rem 0 .8rem;display:flex;overflow-y:auto}.vocab-count{color:var(--sub);margin-right:.2rem;font-size:.8rem}.vocab-chip{color:var(--vocab);font-family:var(--ko);background:#8fbf6a1f;border-radius:.3rem;padding:.05rem .4rem;font-size:.8rem}.vocab-options{flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:.4rem;display:flex}.vocab-choice{gap:.3rem;display:flex}.vocab-credits{color:var(--sub);margin-left:auto;font-size:.75rem}.library-tag{vertical-align:1px;white-space:nowrap;text-overflow:ellipsis;border-radius:.3rem;width:fit-content;max-width:100%;margin-top:.2rem;padding:0 .4rem;font-size:.7rem;line-height:1.4;display:block;overflow:hidden}.library-tag.vocab{color:var(--vocab);cursor:pointer;background:#8fbf6a24}.library-tag.vocab:hover{background:#8fbf6a42}.vocab-toggle svg{width:1.2rem;height:1.2rem;margin:-.1rem 0}.vocab-toggle.active{color:var(--vocab)}.vocab-dialog.loading #vocab-name,.vocab-dialog.loading #vocab-items,:root{--skeleton:linear-gradient(90deg, #39434a 25%, #49555c 50%, #39434a 75%) 0 0 / 200% 100%}.skeleton{background:var(--skeleton);color:#0000;pointer-events:none;border-color:#0000;animation:1.2s ease-in-out infinite skeleton-shimmer}.vocab-chip.skeleton{height:1.1rem}.vocab-dialog.loading .vocab-count,.vocab-dialog.loading .acct-actions button,.vocab-dialog.loading .vocab-options{opacity:.35;pointer-events:none}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.vocab-dialog.loading #vocab-name,.vocab-dialog.loading #vocab-items,.skeleton{animation:none}}#vocab-error.ok,.acct-error.ok{color:var(--vocab)}.nowrap{white-space:nowrap}.translate-toggle svg{width:1.2rem;height:1.2rem;margin:-.1rem 0}.home{margin-bottom:1rem}.home-title{letter-spacing:-.01em;color:var(--text);margin:0 0 .4rem;font-size:1.9rem;font-weight:600}.home-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:.4rem;display:flex}.home-head-main{min-width:0}.home-head .home-goal{background:var(--bg-alt);border:1px solid var(--card-line);border-radius:.9rem;gap:.95rem;margin-bottom:0;padding:.85rem 1.15rem}.home-head .goal-ring{width:3.9rem;height:3.9rem}@media (width<=480px){.home-head .home-goal{flex:100%}}.home-section{margin-top:1.9rem}.home-subtitle,.home-weak .home-subtitle{color:var(--sub);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .7rem;font-size:.78rem;font-weight:600}.home-tagline,.home-note{color:#a6b2b8;max-width:44rem;margin:0;line-height:1.6}.home-points{color:var(--text);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem 1.2rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.home-points li{background:var(--bg-alt);border-radius:.6rem;align-items:center;gap:.6rem;padding:.7rem .9rem;line-height:1.4;display:flex}.home-point-icon{flex:none;font-size:1.4rem}.home-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.3rem;display:flex}.home-signin{color:var(--sub);margin:1.3rem 0 0;font-size:.88rem}.home-signin+.home-signin{margin-top:.35rem}.home-signin .link-btn{font-size:inherit}.home-strip{flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;display:flex}.home-chip{background:var(--bg-alt);color:var(--sub);border-radius:1rem;padding:.25rem .75rem;font-size:.85rem}.home-goal-streak{color:var(--main);margin-top:.15rem;font-size:.8rem;display:block}.goal-week-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.3rem .9rem;margin-top:.45rem;display:flex}.goal-week-row .home-goal-streak{margin-top:0;line-height:1.1}.goal-week{gap:.4rem;display:flex}.goal-day{flex-direction:column;align-items:center;gap:.2rem;width:.55rem;display:flex}.goal-day-letter{color:var(--sub);font-size:.65rem;line-height:1}.goal-day.today .goal-day-letter{color:var(--text)}.goal-day-mark{box-sizing:border-box;background:var(--raise);border-radius:50%;width:.55rem;height:.55rem}.goal-day.met .goal-day-mark{background:var(--vocab)}.goal-day.some .goal-day-mark{border:1.5px solid var(--main);background:0 0}.goal-day.today .goal-day-mark{box-shadow:0 0 0 2px var(--bg-alt), 0 0 0 3.5px var(--main);box-shadow:0 0 0 2px var(--bg-alt), 0 0 0 3.5px color-mix(in srgb, var(--main) 45%, transparent)}.home-goal{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.goal-ring{flex:none;width:3.4rem;height:3.4rem;transform:rotate(-90deg)}.goal-ring circle{fill:none;stroke-width:5px}.goal-ring .goal-track{stroke:var(--raise)}.goal-ring .goal-fill{stroke:var(--main);stroke-linecap:round;transition:stroke-dasharray .4s}.home-goal.done .goal-fill{stroke:var(--vocab)}.goal-ring .goal-centre{fill:var(--text);font-family:var(--ui);text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.goal-ring .goal-centre.long{font-size:9.5px}.goal-ring .goal-check path{fill:none;stroke:var(--vocab);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.home-goal-label{color:var(--sub);font-size:.8rem;display:block}.home-goal-value{color:var(--text);font-size:1.05rem;display:block}.home-goal.done .home-goal-value{color:var(--vocab)}.result-goal{color:var(--sub);margin:1rem 0 0}.home-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));align-items:stretch;gap:.8rem;display:grid}.home-cards>*{margin-bottom:0}.home-continue{text-align:left;background:var(--bg-alt);border:1px solid var(--card-line);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:.9rem;flex-direction:column;gap:.2rem;margin-bottom:1rem;padding:1rem 1.1rem;transition:border-color .15s,transform .15s;display:flex}.home-continue:hover{border-color:var(--glow);transform:translateY(-1px)}.home-recent{flex-wrap:wrap;align-items:stretch;gap:.6rem;margin-top:.8rem;display:flex}.home-recent-card{text-align:left;background:var(--bg-alt);min-width:0;max-width:15rem;color:var(--text);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:.7rem;flex-direction:column;gap:.15rem;padding:.55rem .9rem;transition:border-color .15s;display:flex}.home-recent-card:hover{border-color:var(--card-line)}.home-recent-title{font-family:var(--ko);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-recent-meta{color:var(--sub);font-size:.75rem}.home-all{border:1px dashed var(--line);color:var(--sub);font:inherit;cursor:pointer;background:0 0;border-radius:.7rem;padding:.55rem .9rem;font-size:.9rem;transition:color .15s,border-color .15s}.home-all:hover{color:var(--main);border-color:var(--glow)}.home-continue-label{color:var(--sub);margin-bottom:.2rem;font-size:.8rem;display:block}.home-continue-title{font-family:var(--ko);white-space:nowrap;text-overflow:ellipsis;font-size:1.2rem;display:block;overflow:hidden}.home-continue-meta{color:var(--sub);margin-top:.2rem;font-size:.8rem;display:block}.home-continue .library-progress{margin-top:auto;display:block}.home-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.7rem;display:grid}.home-tile{background:var(--bg-alt);color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #0000;border-radius:.8rem;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;transition:border-color .15s,transform .15s;display:flex}.home-tile:hover{border-color:var(--card-line);transform:translateY(-1px)}.home-tile:hover .home-tile-icon{color:var(--main)}.home-tile-icon{color:var(--sub);flex:none;margin-top:.1rem;transition:color .15s}.home-tile-icon svg{display:block}.home-tile-text{min-width:0}.home-tile-text b{font-weight:600;display:block}.home-tile-text small{color:var(--sub);margin-top:.15rem;font-size:.78rem;line-height:1.35;display:block}.home-weak{margin-top:1.9rem}.home-subtitle{color:var(--sub);margin:0 0 .5rem;font-size:.95rem;font-weight:400}.home-weak-words{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.stats-screen{width:100%;min-width:0;max-width:48rem;margin:0 auto}.history-wrap{overflow-x:auto}.stats-title{letter-spacing:-.01em;margin:0 0 1.2rem;font-size:1.8rem;font-weight:600;display:inline-block}.stats-empty{color:var(--sub);line-height:1.6}.stats-empty .btn{margin-top:.6rem}.stats-grid{margin-bottom:2rem}.stats-section{margin-top:2.2rem}.stats-heading{color:var(--text);margin:0 0 .6rem;font-size:1.05rem;font-weight:600}.stats-subheading{color:var(--text);margin:1.2rem 0 .4rem;font-size:.95rem;font-weight:600}.stats-note{color:var(--sub);margin:0 0 .6rem;font-size:.9rem;line-height:1.5}.stats-actions{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.trend{margin-top:.5rem}.trend-chart{background:var(--bg-alt);border-radius:.6rem;width:100%;height:auto;display:block}.trend-chart path{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-chart .trend-wpm{stroke:var(--main)}.trend-chart .trend-acc{stroke:var(--vocab);opacity:.8}.trend-chart .trend-dot{fill:var(--main)}.trend-legend{color:var(--sub);gap:1.2rem;margin-top:.4rem;font-size:.85rem;display:flex}.trend-key:before{content:"";vertical-align:middle;background:var(--main);border-radius:1px;width:.7rem;height:.2rem;margin-right:.35rem;display:inline-block}.trend-key.acc:before{background:var(--vocab)}.trouble-list{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.35rem 1.5rem;display:grid}.trouble-row{grid-template-columns:minmax(0,1fr) 4rem auto;align-items:center;gap:.6rem;font-size:.95rem;display:grid}.trouble-word{font-family:var(--ko);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trouble-bar{background:linear-gradient(to right, var(--error) var(--pct), var(--bg-alt) var(--pct));border-radius:2px;height:.35rem}.trouble-meta{color:var(--sub);white-space:nowrap;font-size:.75rem}.heat-board{flex-direction:column;gap:.3rem;margin:.8rem 0 .4rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.heat-row{gap:.3rem;display:flex}.heat-row-1{padding-left:1.2rem}.heat-row-2{padding-left:2.4rem}.heat-key{background:color-mix(in srgb, var(--error) calc(var(--heat,0) * 100%), var(--bg-alt));width:2.7rem;height:2.8rem;color:var(--text);font:inherit;cursor:pointer;border:1px solid #46525a;border-radius:.4rem;flex:none;place-items:center;display:grid;position:relative}.heat-key:hover{border-color:var(--main)}.heat-jamo{font-family:var(--ko);font-size:1.15rem;font-weight:700}.heat-shift{font-family:var(--ko);color:#ccd5d9;font-size:.65rem;position:absolute;top:.1rem;right:.25rem}.confusions{color:var(--text);line-height:1.7;font-family:var(--ko);margin:0;padding-left:1.2rem}.history{border-collapse:collapse;width:100%;font-size:.9rem}.history th{text-align:left;color:var(--sub);border-bottom:1px solid #46525a;padding:.3rem .5rem .3rem 0;font-weight:400}.history td{vertical-align:top;border-bottom:1px solid #353f45;padding:.4rem .5rem .4rem 0}.history .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.history-when{color:var(--sub);white-space:nowrap}.history-title{font-family:var(--ko);text-overflow:ellipsis;white-space:nowrap;max-width:18rem;overflow:hidden}.history-kind{font-family:var(--ui);color:var(--sub);background:var(--bg-alt);border-radius:.3rem;margin-left:.4rem;padding:0 .35rem;font-size:.7rem}@media (width<=640px){.history-when{font-size:.75rem}.history-title{max-width:9rem}}.paths-lede{max-width:44rem;margin-bottom:1.6rem}.level-section{margin-top:1.8rem}.level-head{flex-wrap:wrap;align-items:baseline;gap:.5rem .8rem;margin-bottom:.8rem;display:flex}.level-icon{font-size:1.3rem}.level-name{margin:0;font-size:1.25rem;font-weight:600}.level-topik,.level-count{color:var(--sub);font-size:.85rem}.level-count{margin-left:auto}.path-card{background:var(--bg-alt);border:1px solid #0000;border-radius:.7rem;margin-bottom:.9rem;padding:1rem 1.1rem}:root{--tiger:#f0913a;--tiger-stripe:#2b2420}.journey{margin:0 0 1.4rem}.journey-head{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.6rem;display:flex}.journey-titles{flex:12rem;min-width:0}.journey-title{margin:0;font-size:1.1rem;font-weight:600}.journey-totals{color:var(--sub);font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:.85rem}.journey-controls{align-items:center;gap:.6rem;min-width:0;max-width:100%;display:flex}.journey-go{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:22rem;overflow:hidden}.journey-done{color:var(--vocab);margin:0;font-size:.9rem}.journey-toggle{border:1px solid var(--card-line);color:var(--sub);font:inherit;cursor:pointer;background:0 0;border-radius:.4rem;flex:none;padding:.35rem .6rem;font-size:.78rem}.journey-toggle:hover{color:var(--text);border-color:var(--line)}.journey-map{background:var(--bg-alt);border-radius:.7rem;position:relative;overflow:hidden}.journey-map[hidden]{display:none}.jm-frame{position:relative}.jm-frame.narrow{display:none}@media (width<=719.98px){.jm-frame.wide{display:none}.jm-frame.narrow{display:block}.journey-controls{flex:100%}.journey-go{flex:auto;max-width:none}}.jm-svg{width:100%;height:auto;font-family:var(--ui);display:block}.jm-hills.far{fill:var(--raise);opacity:.55}.jm-hills.near{fill:var(--card-line);opacity:.45}.jm-pine{fill:var(--vocab);opacity:.22}.jm-gate,.jm-pavilion{fill:var(--line)}.jm-gate-roof,.jm-pavilion-roof{fill:var(--sub-dim)}.jm-pavilion.lit .jm-pavilion-roof{fill:var(--main)}.jm-road,.jm-centre,.jm-travelled,.jm-leg{fill:none;stroke-linecap:round;stroke-linejoin:round}.jm-leg{stroke-width:30px;stroke-linecap:butt;opacity:.09}.jm-leg.l0{stroke:var(--vocab)}.jm-leg.l1{stroke:var(--main)}.jm-leg.l2{stroke:var(--gold)}.jm-road{stroke:var(--line);stroke-width:12px;opacity:.6}.jm-centre{stroke:var(--bg-alt);stroke-width:1.4px;stroke-dasharray:5 7;opacity:.7}.jm-travelled{stroke:var(--main);stroke-width:6px}.jm-guide{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 4;opacity:.7}.jm-stop{cursor:pointer}.jm-disc{fill:var(--bg-alt);stroke:var(--line);stroke-width:2px}.jm-roof,.jm-dot{fill:var(--sub-dim)}.jm-label{fill:var(--sub)}.jm-leader{stroke:var(--line);stroke-width:1.2px}.jm-tally{fill:var(--main);font-weight:600}.jm-stop.complete .jm-disc{fill:var(--main);stroke:var(--main)}.jm-stop.complete .jm-roof{fill:var(--main)}.jm-stop.complete .jm-label{fill:var(--text)}.jm-check{fill:none;stroke:var(--bg-alt);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.jm-flag{fill:var(--gold);stroke:var(--sub);stroke-width:1.2px;stroke-linejoin:round}.jm-stop.progress .jm-disc{stroke:var(--card-line)}.jm-ring{fill:none;stroke:var(--main);stroke-width:3px}.jm-stop.progress .jm-dot,.jm-stop.progress .jm-roof{fill:var(--main)}.jm-stop.progress .jm-label{fill:var(--text)}.jm-stop.locked{opacity:.6}.jm-stop.locked .jm-disc{stroke:var(--card-line)}.jm-crown{color:var(--gold)}.jm-stop:hover .jm-disc,.jm-stop.focused .jm-disc{stroke:var(--text)}.jm-stop.focused .jm-label{fill:var(--text);text-decoration:underline}.jm-tiger-fur{fill:var(--tiger)}.jm-tiger-ear,.jm-tiger-eye{fill:var(--tiger-stripe)}.jm-tiger-muzzle{fill:var(--text)}.jm-tiger-stripe,.jm-tiger-tail{fill:none;stroke:var(--tiger-stripe);stroke-width:2px;stroke-linecap:round}.jm-tiger-tail{stroke:var(--tiger);stroke-width:3px}.jm-tiger-leg{fill:none;stroke:var(--tiger);stroke-width:3.6px;stroke-linecap:round}.jm-tiger-leg.back{stroke:var(--tiger-stripe);opacity:.55;stroke-width:3px}.jm-runner{animation-duration:1.2s;animation-timing-function:linear;animation-fill-mode:backwards}.jm-svg.run .jm-travelled{animation:1.2s cubic-bezier(.33,1,.68,1) backwards jm-draw}@keyframes jm-draw{0%{stroke-dashoffset:calc(var(--travelled) * 1px)}to{stroke-dashoffset:0}}.jm-bob{animation:1.4s ease-in-out infinite alternate jm-bob}.jm-svg.run .jm-bob{animation-delay:1.2s}@keyframes jm-bob{0%{transform:translateY(0)}to{transform:translateY(-1.6px)}}@media (prefers-reduced-motion:reduce){.jm-runner,.jm-bob,.jm-svg.run .jm-travelled{animation:none}}.jm-signs{pointer-events:none;position:absolute;inset:0}.jm-sign{background:var(--bg);border:1px solid var(--card-line);color:var(--sub);white-space:nowrap;border-radius:.3rem;align-items:center;gap:.25rem;padding:.1rem .45rem;font-size:.72rem;line-height:1.4;display:inline-flex;position:absolute;transform:translate(-50%)}.jm-sign.start{transform:none}.jm-sign.end{transform:translate(-100%)}.jm-sign-icon{font-size:.8rem}.jm-sign.chip{border-radius:50%;justify-content:center;width:1.2rem;height:1.2rem;padding:0;transform:translate(-50%,-50%)}.jm-sign.chip .jm-sign-icon{font-size:.68rem}.jm-legend{color:var(--sub);flex-wrap:wrap;justify-content:center;gap:.3rem .9rem;margin:0;padding:0 .8rem .7rem;font-size:.75rem;display:none}.jm-legend-item{align-items:center;gap:.25rem;display:inline-flex}@media (width<=719.98px){.jm-legend{display:flex}}.journey-skeleton{height:15rem}.path-card.flash{animation:1.6s ease-out path-flash}@keyframes path-flash{0%,30%{background:var(--raise);border-color:var(--main)}}@media (prefers-reduced-motion:reduce){.path-card.flash{border-color:var(--main);animation:none}}.path-name:focus{outline:none}.path-name:focus-visible{outline:2px solid var(--main);outline-offset:2px}.path-card.complete{border-color:#8fbf6a80}.path-head{flex-wrap:wrap;align-items:flex-start;gap:1.2rem;display:flex}.path-titles{flex:18rem;min-width:0}.path-name{margin:0 0 .25rem;font-size:1.05rem;font-weight:600}.path-blurb{color:#a6b2b8;margin:0;font-size:.9rem;line-height:1.5}.path-topics{flex-wrap:wrap;gap:.3rem;margin-top:.5rem;display:flex}.path-topic{color:var(--sub);background:var(--bg);border-radius:1rem;padding:.1rem .5rem;font-size:.7rem}.path-status{color:var(--sub);flex-direction:column;flex:0 0 11rem;gap:.4rem;font-size:.85rem;display:flex}.path-bar{margin-top:0;display:block}.path-badge{color:var(--vocab)}.step-list{flex-direction:column;gap:.25rem;margin-top:.9rem;display:flex}.step-row{background:var(--bg);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #0000;border-radius:.5rem;grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.55rem .7rem;display:grid}.step-row:hover{border-color:var(--line)}.step-row.next{border-color:var(--main)}.step-row.done{opacity:.75}.step-mark{background:var(--bg-alt);width:1.8rem;height:1.8rem;color:var(--sub);border-radius:50%;place-items:center;font-size:.8rem;display:grid}.step-row.done .step-mark{color:var(--vocab);background:#8fbf6a33}.step-row.next .step-mark{background:var(--main);color:var(--bg)}.step-body{min-width:0}.step-title{font-family:var(--ko);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.step-row.next .step-title{color:var(--main)}.step-meta{color:var(--sub);flex-wrap:wrap;gap:.2rem .7rem;margin-top:.1rem;font-size:.75rem;display:flex}.step-difficulty{align-items:center;gap:2px;display:inline-flex}.step-difficulty i{background:#49555c;border-radius:50%;width:.4rem;height:.4rem}.step-difficulty i.on{background:var(--main)}.step-body .library-progress{margin-top:.4rem;display:block}.step-action{color:var(--sub);white-space:nowrap;font-size:.8rem}.step-row.next .step-action{color:var(--main)}.home-path{background:var(--bg-alt);border:1px solid var(--card-line);border-radius:.9rem;margin-bottom:1rem;padding:1rem 1.1rem}.home-path-head{flex-direction:column;gap:.1rem;margin-bottom:.5rem;display:flex}.home-path-name{color:var(--text);font-size:1.05rem}.home-path-road{margin:.15rem 0 -.2rem}.ps-svg{width:100%;height:auto;max-height:3.4rem;display:block;overflow:visible}.ps-road,.ps-travelled{fill:none;stroke-linecap:round}.ps-road{stroke:var(--line);stroke-width:6px;opacity:.6}.ps-travelled{stroke:var(--main);stroke-width:4px}.ps-dot{fill:var(--bg-alt);stroke:var(--line);stroke-width:1.4px}.ps-dot.done{fill:var(--main);stroke:var(--main)}.ps-dot.next{fill:var(--bg-alt);stroke:var(--main);stroke-width:2px}.ps-flag{fill:var(--gold);stroke:var(--sub);stroke-width:1.2px;stroke-linejoin:round}.ps-runner{animation-duration:.8s;animation-timing-function:linear;animation-fill-mode:backwards}.ps-svg.run .ps-travelled{animation:.8s cubic-bezier(.33,1,.68,1) backwards jm-draw}.ps-svg.run .jm-bob{animation-delay:.8s}@media (prefers-reduced-motion:reduce){.ps-runner,.ps-svg.run .ps-travelled{animation:none}}.home-path-line{color:var(--sub);flex-wrap:wrap;gap:.3rem .9rem;margin:.5rem 0 .7rem;font-size:.85rem;display:flex}.home-path-next{color:var(--text);font-family:var(--ko)}.home-path-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=640px){.step-row{grid-template-columns:1.6rem minmax(0,1fr)}.step-action{display:none}.path-status{flex-basis:100%}}.level-premium{color:var(--main);font-size:.8rem}.locked-steps{margin-top:.9rem;position:relative}.locked-steps .step-list{filter:blur(3px);opacity:.55;-webkit-user-select:none;user-select:none;max-height:11rem;margin-top:0;overflow:hidden}.path-unlock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.step-row.placeholder{cursor:default;color:var(--sub)}a.nav-btn{text-decoration:none;display:inline-block}.guide-page{width:min(880px,100%);margin:0 auto}.tutor-fab{z-index:15;border:2px solid var(--line);background:var(--bg-alt);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:56px;height:56px;padding:0;transition:border-color .15s,transform .15s;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 6px 18px #00000059}.tutor-fab.placed{bottom:auto;right:auto}.tutor-fab:hover,.tutor.open .tutor-fab{border-color:var(--main)}.tutor-fab.dragging{cursor:grabbing;transition:none;transform:scale(1.06)}.tutor-fab img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.tutor-pill{z-index:15;border:2px solid var(--line);background:var(--bg-alt);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;padding:.35rem .8rem;font-size:.85rem;line-height:1.3;transition:border-color .15s;animation:.25s ease-out tutor-pop-in;position:fixed;transform:translateY(-50%);box-shadow:0 6px 18px #00000059}.tutor-pill:hover{border-color:var(--main)}.tutor-pill-full,.tutor-pill-short{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tutor-pill-short{display:none}.tutor-pill:after{content:"";background:inherit;border:2px solid #0000;border-left-color:inherit;border-bottom-color:inherit;width:8px;height:8px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)rotate(45deg)}.tutor-pill.to-left:after{border-bottom-color:#0000;border-left-color:#0000;border-right-color:inherit;border-top-color:inherit;left:auto;right:-6px}.tutor-nudge-box{z-index:15;width:max-content;max-width:min(22rem,100vw - 32px);position:fixed}.tutor-nudge{border:2px solid var(--main);background:var(--bg-alt);border-radius:.75rem;align-items:flex-start;gap:.25rem;padding:.55rem .35rem .55rem .8rem;animation:.25s ease-out tutor-pop-in;display:flex;position:relative;box-shadow:0 6px 18px #00000059}.tutor-nudge:after{content:"";background:var(--bg-alt);border:2px solid var(--main);width:9px;height:9px;position:absolute;left:22px;transform:rotate(45deg)}.tutor-nudge-box.above .tutor-nudge:after{border-top-color:#0000;border-left-color:#0000;bottom:-7px}.tutor-nudge-box:not(.above) .tutor-nudge:after{border-bottom-color:#0000;border-right-color:#0000;top:-7px}.tutor-nudge-box.from-right .tutor-nudge:after{left:auto;right:22px}.tutor-nudge-text{color:var(--text);font:inherit;text-align:start;cursor:pointer;word-break:keep-all;overflow-wrap:anywhere;background:0 0;border:0;flex:1;padding:0;font-size:.9rem;line-height:1.4}.tutor-nudge-text:hover{color:var(--main)}.tutor-nudge-close{color:var(--sub);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 .35rem;font-size:.8rem;line-height:1.4rem}.tutor-nudge-close:hover{color:var(--text)}@keyframes tutor-pop-in{0%{opacity:0}to{opacity:1}}.tutor-panel{z-index:16;background:var(--bg-alt);border:1px solid var(--line);border-radius:.75rem;flex-direction:column;width:360px;height:min(560px,80vh);font-size:.95rem;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 36px #00000073}.tutor-head{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.55rem .6rem .55rem .8rem;display:flex}.tutor-avatar{object-fit:cover;border-radius:50%;width:30px;height:30px}.tutor-name{font-family:var(--ko);color:var(--main);font-weight:700}.tutor-head .icon-btn{border-radius:.4rem;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;display:inline-flex}.tutor-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.6rem;padding:.8rem;display:flex;overflow-y:auto}.tutor-turns,.tutor-live{flex-direction:column;gap:.6rem;display:flex}.tutor-live:empty{display:none}.tutor-msg{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:.75rem;max-width:85%;padding:.5rem .75rem;line-height:1.5}.tutor-msg.user{background:var(--bg-alt);border-bottom-right-radius:.25rem;align-self:flex-end}.tutor-msg.assistant{background:var(--bg);border-bottom-left-radius:.25rem;align-self:flex-start}.tutor-p{margin:0}.tutor-p+.tutor-p,.tutor-pre+.tutor-p,.tutor-p+.tutor-pre{margin-top:.5rem}.tutor-msg [lang=ko]{font-family:var(--ko)}.tutor-msg code{font-family:var(--mono);background:var(--bg-alt);border-radius:.25rem;padding:.05em .3em;font-size:.9em}.tutor-pre{background:var(--bg-alt);white-space:pre;border-radius:.4rem;margin:0;padding:.5rem .6rem;overflow-x:auto}.tutor-pre code{background:0 0;padding:0}.tutor-msg strong{color:var(--text);font-weight:700}.tutor-hello{color:var(--sub)}.tutor-typing{gap:.3rem;padding:.7rem .85rem;display:inline-flex}.tutor-dot{background:var(--sub);border-radius:50%;width:.4rem;height:.4rem;animation:1.2s ease-in-out infinite tutor-dot}.tutor-dot:nth-child(3){animation-delay:.15s}.tutor-dot:nth-child(4){animation-delay:.3s}@keyframes tutor-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-.2rem)}}.tutor-error{border-color:var(--error)}.tutor-retry{margin-top:.5rem;padding:.35rem .8rem}.tutor-foot{border-top:1px solid var(--line);padding:.6rem .7rem}.tutor-card{background:var(--bg);border:1px solid var(--line);border-radius:.6rem;margin-bottom:.6rem;padding:.7rem .8rem}.tutor-card-title{margin:0}.tutor-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.tutor-card-actions .btn{padding:.45rem .9rem}.tutor-card-actions .btn:not(.primary){background:var(--bg-alt)}.tutor-card-actions .btn:not(.primary):hover:not(:disabled){background:var(--text);color:var(--bg)}.tutor-composer{align-items:flex-end;gap:.5rem;display:flex}.tutor-input{resize:none;border:1px solid var(--line);background:var(--bg);min-width:0;min-height:calc(1.45em + 1.1rem + 2px);max-height:calc(5.8em + 1.1rem + 2px);color:var(--text);font:inherit;border-radius:.6rem;flex:1;padding:.55rem .7rem;line-height:1.45;overflow-y:auto}.tutor-input:focus{border-color:var(--main);outline:none}.tutor-input::placeholder{color:var(--sub-dim)}.tutor-send{background:var(--main);width:2.4rem;height:2.4rem;color:var(--bg);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.tutor-send:disabled{opacity:.4;cursor:default}.tutor-usage{color:var(--sub);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.45rem;font-size:.8rem;display:flex}.tutor-upgrade.link-btn{margin-right:0;font-size:.8rem}.tutor-upgrade .crown svg{width:14px;height:14px}@media (width<=640px){.tutor-panel{border-bottom:0;border-radius:.9rem .9rem 0 0;bottom:0;right:0;width:100%!important;height:70dvh!important;top:auto!important;left:0!important}.tutor-input{font-size:max(16px,1em)}.tutor-pill-full{display:none}.tutor-pill-short{display:block}}@media (prefers-reduced-motion:reduce){.tutor-fab,.tutor-pill{transition:none}.tutor-pill,.tutor-nudge{animation:none}.tutor-fab.dragging{transform:none}.tutor-dot{opacity:.6;animation:none}}.acct-discord{margin:.8rem 0 .4rem}.acct-discord-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.acct-discord-label{align-items:center;gap:.45rem;margin-right:auto;display:inline-flex}.acct-discord-label svg{color:#5865f2}.acct-discord-status{color:var(--sub)}.acct-discord-status.linked{color:var(--main)}.acct-discord-row .link-btn{margin-right:0}.acct-discord-row .btn{padding:.4rem .9rem}.acct-discord-hint{color:var(--sub);margin-top:.3rem;display:block}.zen-badge-text{flex-direction:column;min-width:0;display:flex}.badge-progress{color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem}.result-badges{text-align:center;margin:.5rem 0 1.5rem}.zen-result:not([hidden])+.result-badges{margin-top:-.75rem}.result-badges .zen-new-label{margin-top:0}.nav-btn[aria-current=page]{color:var(--main);background:#4fd1b01a}.profile-screen{flex-direction:column;gap:1.25rem;max-width:64rem;display:flex}.profile-screen .stats-title{margin:0}.profile-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;min-width:0;padding:1.25rem}.profile-screen .profile-section{margin-top:0}.profile-card>.stats-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--sub);margin:0 0 1rem;scroll-margin-top:1rem;font-size:.75rem;font-weight:600}.profile-tiles{gap:.6rem;margin:0;display:grid}.profile-tiles .stat{background:var(--bg);border-radius:8px;flex-direction:column;justify-content:space-between;gap:.3rem;min-width:0;padding:.75rem .9rem;display:flex}.profile-tiles .stat .label{font-size:.8rem;line-height:1.3}.profile-tiles .stat .value{overflow-wrap:anywhere;font-size:1.45rem;line-height:1.15}.profile-card .btn:not(.primary){background:var(--bg)}.profile-card .btn:not(.primary):hover:not(:disabled){background:var(--text);color:var(--bg)}.profile-top{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.25rem;display:grid}.profile-header{flex-direction:column;justify-content:space-between;gap:1.25rem;display:flex}.profile-who{align-items:center;gap:1rem;min-width:0;display:flex}.profile-avatar{background:var(--bg);border:2px solid var(--line);width:3.5rem;height:3.5rem;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:1.5rem;font-weight:600;display:grid}.profile-avatar.premium{border-color:var(--gold);color:var(--gold)}.profile-avatar svg{width:1.6rem;height:1.6rem}.profile-id{min-width:0}.profile-email{overflow-wrap:anywhere;margin:0 0 .35rem;font-size:1.15rem}.profile-plan-row{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;display:flex}.profile-plan{border:1px solid var(--line);color:var(--sub);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .65rem;font-size:.8rem;display:inline-flex}.profile-plan.premium{border-color:var(--gold);color:var(--gold)}.profile-plan.premium .crown{color:var(--gold)}.profile-usage{color:var(--sub);font-size:.8rem}.profile-headline{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-headline .stat .value{font-size:1.7rem}.profile-today{flex-direction:column;display:flex}.profile-goal{flex:1;align-items:center;display:flex}.profile-goal .home-goal{gap:1.1rem;margin-bottom:0}.profile-goal .goal-ring{width:5.5rem;height:5.5rem}.profile-goal .goal-ring .goal-track{stroke:var(--bg)}.profile-goal .home-goal-value{margin:.1rem 0 .35rem;font-size:1.35rem}.profile-goal .link-btn{display:inline-block}.profile-next{color:var(--sub);border-top:1px solid #3a4349;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;margin:1rem 0 0;padding-top:.85rem;font-size:.85rem;display:flex}.profile-next-label{flex-basis:100%}.profile-next-name{color:var(--text)}.profile-next-progress{font-variant-numeric:tabular-nums}.profile-next-progress:before{content:"· "}.profile-groups{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.75rem;display:grid}.profile-group-card{border:1px solid #3a4349;border-radius:10px;min-width:0;padding:.8rem .85rem .9rem}.profile-group-zen{grid-column:1/-1}.profile-group{justify-content:space-between;align-items:baseline;gap:.5rem;margin:0 0 .6rem;font-size:.9rem;display:flex}.profile-group-count{color:var(--sub);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:400}.profile-badges{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.profile-badges .zen-badge{border:1px solid #0000;padding:.4rem .55rem}.profile-badges .zen-badge-name{white-space:normal;line-height:1.25}.profile-badges .zen-badge.next{border-color:var(--main);opacity:1;filter:none;color:var(--sub)}.profile-badges .zen-badge.next .zen-badge-icon{filter:grayscale();opacity:.6}.profile-badges .zen-badge:not(.next) .badge-progress{display:none}.profile-records .profile-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-records .stats-subheading{color:var(--sub);margin:1.25rem 0 .6rem;font-size:.85rem;font-weight:400}.profile-zen-best{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.profile-zen-best li{background:var(--bg);border-radius:8px;justify-content:space-between;gap:.5rem;padding:.4rem .65rem;font-size:.85rem;display:flex}.profile-zen-length{color:var(--sub)}.profile-zen-wpm{font-variant-numeric:tabular-nums}.profile-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.25rem;display:grid}.profile-pair>:only-child{grid-column:1/-1}.profile-sub-plan{color:var(--gold);margin:0 0 .3rem}.profile-sub-plan .crown{color:var(--gold)}.profile-sub-status{color:var(--text);margin:0;font-size:.9rem}.profile-sub-warning{color:var(--error);margin:.6rem 0 0;font-size:.9rem;line-height:1.5}.profile-sub-note{margin-top:.5rem}.profile-subscription .acct-plans{margin-bottom:0}.profile-discord{margin:0 0 .75rem}.profile-card .stats-note:last-child{margin-bottom:0}@media (width<=900px){.profile-top{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.profile-screen{padding-bottom:4.5rem}.profile-card{padding:1rem}.profile-groups{grid-template-columns:minmax(0,1fr)}.profile-records .profile-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-pair{grid-template-columns:minmax(0,1fr)}.profile-headline .stat{padding:.65rem .7rem}.profile-headline .stat .value{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){.profile-goal .goal-fill{transition:none}}.pricing-screen{max-width:56rem}.pricing-free{color:var(--text);max-width:44rem;margin:0;font-size:1.15rem;line-height:1.6}.pricing-table-wrap{overflow-x:auto}.pricing-table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.45}.pricing-table th,.pricing-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.7rem .75rem}.pricing-table tbody tr:last-child th,.pricing-table tbody tr:last-child td{border-bottom:0}.pricing-table thead th{color:var(--sub);text-transform:uppercase;letter-spacing:.06em;padding-top:0;font-size:.8rem;font-weight:600}.pricing-table th:first-child{padding-left:0}.pricing-table tbody th{color:var(--text);font-weight:400}.pricing-table thead .pricing-premium-col,.pricing-premium-cell{color:var(--gold)}.pricing-premium-cell{font-weight:500}.pricing-premium-col .crown{color:var(--gold);filter:drop-shadow(0 0 4px #f2c14e99)}@media (prefers-reduced-motion:no-preference){.pricing-premium-col .with-crown{background:linear-gradient(115deg, var(--gold) 40%, #fff4cc 50%, var(--gold) 60%) 100% 0 / 300% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:5s ease-in-out infinite gold-text-glint}}@keyframes gold-text-glint{0%,70%{background-position:100% 0}90%,to{background-position:0 0}}.pricing-free-cell{color:var(--sub)}.pricing-table .pricing-free-cell,.pricing-table .pricing-premium-cell{width:26%}.pricing-compare .stats-note{margin:1rem 0 0}.pricing-grid{grid-template-columns:repeat(var(--plan-count,3), minmax(0, 1fr));gap:.75rem;display:grid}.pricing-grid[data-count="1"]{max-width:20rem}.pricing-plan{background:var(--bg);border:1px solid #0000;border-radius:10px;flex-direction:column;gap:.5rem;min-width:0;padding:1.1rem 1.1rem 1.2rem;display:flex}.pricing-plan.featured{border-color:var(--main)}.pricing-plan-name{text-transform:capitalize;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.pricing-best{letter-spacing:.06em;text-transform:uppercase;color:var(--bg);background:var(--main);border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:600}.pricing-price{flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:.2rem 0 0;display:flex}.pricing-amount{color:var(--text);font-size:1.9rem;font-weight:600;line-height:1.1}.pricing-per{color:var(--sub);font-size:.9rem}.pricing-plan-note{color:var(--sub);flex:1;margin:0;font-size:.88rem;line-height:1.45}.pricing-plan .btn{background:var(--bg-alt);width:100%;margin-top:.4rem}.pricing-plan .btn.primary{background:var(--main);color:var(--bg);font-weight:600}.pricing-plan .btn.primary:hover:not(:disabled){background:var(--text)}.pricing-upgrade-note{margin:1rem 0 0}.pricing-assurances{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1.25rem;margin:1.1rem 0 0;padding:1.1rem 0 0;list-style:none;display:grid}.pricing-assurance{align-items:flex-start;gap:.6rem;min-width:0;display:flex}.pricing-assurance-icon{width:2rem;height:2rem;color:var(--gold);background:radial-gradient(circle at 30% 25%,#f2c14e4d,#f2c14e14 70%);border-radius:999px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #f2c14e73,0 0 12px #f2c14e38}.pricing-assurance-icon svg{filter:drop-shadow(0 0 3px #f2c14e8c)}@media (prefers-reduced-motion:no-preference){.pricing-assurance-icon:after{content:"";background:linear-gradient(115deg,#0000 35%,#fff4ccbf 50%,#0000 65%);animation:5s ease-in-out infinite gold-glint;position:absolute;inset:0;transform:translate(-120%)}.pricing-assurance:nth-child(2) .pricing-assurance-icon:after{animation-delay:.25s}.pricing-assurance:nth-child(3) .pricing-assurance-icon:after{animation-delay:.5s}}@keyframes gold-glint{0%,70%{transform:translate(-120%)}90%,to{transform:translate(120%)}}.pricing-assurance-words{min-width:0;color:var(--sub);flex-direction:column;gap:.15rem;font-size:.88rem;line-height:1.45;display:flex}.pricing-assurance-words strong{color:var(--text);font-weight:600}.pricing-faq-item+.pricing-faq-item{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1.1rem}.pricing-faq-question{color:var(--text);margin:0 0 .35rem;font-size:.98rem;font-weight:600}.pricing-faq-answer{color:var(--sub);margin:0;font-size:.93rem;line-height:1.6}.pricing-faq-answer a,.pricing-have-account a,.guide-pricing a{color:var(--main)}.pricing-cta-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.pricing-cta-lead{color:var(--text);margin:0}.pricing-card .btn.pricing-start{background:var(--main);color:var(--bg);font-weight:600;text-decoration:none;display:inline-block}.pricing-card .btn.pricing-start:hover{background:var(--text)}.pricing-have-account{margin:1rem 0 0}.guide-pricing{color:var(--sub);margin:1.1rem 0 0;line-height:1.6}.footer-pricing{color:var(--sub);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:.2em}.footer-pricing:hover{color:var(--main)}.contact-link{font:inherit;color:var(--main);cursor:pointer;text-underline-offset:.2em;background:0 0;border:none;padding:0;text-decoration:underline}.contact-link:hover{color:var(--text)}.pricing-questions{margin:.4rem 0 0}.footer-contact{color:var(--sub);-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.footer-contact:hover{color:var(--main)}body[data-screen=test] .footer-contact{display:none}.contact-dialog select,.contact-dialog textarea{background:var(--bg);color:var(--text);font:inherit;border:1px solid #3a4349;border-radius:.4rem;padding:.55rem .7rem;font-size:1rem}.contact-dialog textarea{resize:vertical;min-height:7rem;line-height:1.5}.contact-dialog select:focus,.contact-dialog textarea:focus{border-color:var(--main);outline:none}.contact-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-sent{color:var(--text);overflow-wrap:anywhere;margin:0 0 1rem;line-height:1.6}@media (width<=720px){.pricing-grid,.pricing-assurances{grid-template-columns:minmax(0,1fr)}.pricing-free{font-size:1.05rem}.pricing-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pricing-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.35rem 1rem;padding:.8rem 0;display:grid}.pricing-table tbody tr:last-child{border-bottom:0;padding-bottom:0}.pricing-table tbody tr:first-child{padding-top:0}.pricing-table tbody th{grid-column:1/-1;font-weight:600}.pricing-table th,.pricing-table td,.pricing-table th:first-child{border-bottom:0;padding:0}.pricing-table .pricing-free-cell,.pricing-table .pricing-premium-cell{width:auto}.pricing-table td:before{content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;color:var(--sub);font-size:.7rem;font-weight:600;display:block}.pricing-table .pricing-premium-cell:before{color:var(--gold)}}.pricing-table{word-break:keep-all;overflow-wrap:anywhere}.learn-check{z-index:40;background:#323437ed;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.5rem;animation:.12s ease-out learn-in;display:flex;position:fixed;inset:0}@keyframes learn-in{0%{opacity:0}}.learn-head{color:var(--sub);font-family:var(--ui);margin:0;font-size:.85rem}.learn-word{color:var(--main);font-family:var(--ko);margin:0 0 .6rem;font-size:clamp(2rem,7vw,3.2rem);line-height:1.2}.learn-options{flex-direction:column;gap:.45rem;width:min(26rem,100%);margin:0;padding:0;list-style:none;display:flex}.learn-option{background:var(--bg-alt);color:var(--text);font-family:var(--ui);border-radius:.5rem;align-items:center;gap:.7rem;padding:.55rem .8rem;font-size:1rem;display:flex}.learn-option kbd{background:var(--line);min-width:1.5rem;color:var(--bg);font-family:var(--mono);text-align:center;border-radius:.3rem;flex:none;padding:.1rem 0;font-size:.85rem;font-weight:700}.learn-foot{color:var(--sub-dim);font-family:var(--ui);min-height:1.1em;margin:.9rem 0 0;font-size:.8rem}.learn-surface{color:var(--sub-dim);font-family:var(--ui);margin:-.4rem 0 .7rem;font-size:.85rem}.learn-option.learn-dunno{border:1px dashed var(--line);color:var(--sub);background:0 0}.learn-option.is-correct{box-shadow:inset 0 0 0 1px var(--vocab);color:var(--text);background:#a9c86038}.learn-option.is-correct kbd{background:var(--vocab)}.learn-option.is-wrong{box-shadow:inset 0 0 0 1px var(--error);background:#ca475438}.learn-option.is-wrong kbd{background:var(--error);color:var(--text)}.learn-verdict{color:var(--error);font-family:var(--ui);text-align:center;margin:.9rem 0 0;font-size:1.05rem;font-weight:600}.learn-verdict.right{color:var(--vocab)}.word.clozed .l.cloze{color:#0000;border-bottom:2px solid var(--sub-dim)}.word.clozed .l.cloze-typed{color:var(--text);border-bottom:2px solid var(--main)}.word.cloze-missed .l{color:var(--text)}.word.cloze-missed{text-decoration:underline;-webkit-text-decoration-color:var(--error);text-decoration-color:var(--error);text-underline-offset:.18em;text-decoration-thickness:3px}.word.clozed{position:relative}.cloze-cue{z-index:3;background:var(--bg-alt);border:1px solid var(--glow);font-family:var(--ui);white-space:nowrap;color:var(--sub);border-radius:.5rem;align-items:baseline;gap:.5rem;padding:.3rem .65rem;font-size:.85rem;line-height:1.3;display:inline-flex;position:absolute;bottom:calc(100% + .3rem);left:0}.cloze-cue.below{top:calc(100% + .3rem);bottom:auto}.cloze-cue-label{font-size:.72rem}.cloze-cue strong{color:var(--main);font-weight:600}.learn-giveup{font:inherit;color:var(--sub);text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem;text-decoration:underline}.learn-giveup:hover{background:var(--sub)}.learn-bar{flex-direction:column;gap:.35rem;width:100%;display:flex}.learn-track{background:var(--bg-alt);border-radius:.25rem;height:.5rem;position:relative;overflow:hidden}.home-learn .learn-track{background:var(--raise);border-radius:.35rem;height:.65rem}.learn-fill{border-radius:.25rem;transition:width .3s ease-out;position:absolute;inset:0 auto 0 0}.learn-fill.familiar{background:var(--sub-dim)}.learn-fill.known{background:var(--main);z-index:1}.learn-count{color:var(--sub);font-family:var(--ui);text-align:center;margin:0;font-size:.82rem}.learn-toggle .learn-toggle-dot{opacity:0}.learn-toggle.active .learn-toggle-dot{opacity:1}@media (prefers-reduced-motion:reduce){.learn-check{animation:none}.learn-fill{transition:none}}@media (prefers-reduced-motion:no-preference){#setup:not([hidden]),#stats:not([hidden]),#tracks:not([hidden]),#profile:not([hidden]),#pricing:not([hidden]),#guide:not([hidden]),#result:not([hidden]){animation:.22s ease-out screen-in}}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.home-learn-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.home-browse{font:inherit;color:var(--sub);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem}.home-browse:hover{color:var(--main)}.lw-dialog{background:var(--bg);width:min(44rem,100vw - 2rem);max-height:min(80vh,46rem);color:var(--text);border:1px solid var(--card-line);border-radius:1rem;flex-direction:column;gap:.8rem;padding:1.2rem 1.4rem;display:none}.lw-dialog[open]{display:flex}.lw-dialog::backdrop{background:#0000008c}.lw-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lw-head h2{margin:0;font-size:1.2rem;font-weight:600}.lw-search{background:var(--bg-alt);width:100%;color:var(--text);font:inherit;border:1px solid #0000;border-radius:.5rem;padding:.5rem .75rem}.lw-search:focus{border-color:var(--main);outline:none}.lw-filters{flex-wrap:wrap;gap:.4rem;display:flex}.lw-filter{background:var(--bg-alt);font:inherit;color:var(--sub);cursor:pointer;border:1px solid #0000;border-radius:1rem;padding:.2rem .7rem;font-size:.82rem}.lw-filter:hover{color:var(--text)}.lw-filter[aria-pressed=true]{border-color:var(--main);color:var(--main)}.lw-list{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;min-height:12rem;display:flex;overflow-y:auto}.lw-row{border-radius:.4rem;grid-template-columns:2.6rem minmax(5.5rem,auto) 1fr auto;align-items:baseline;gap:.8rem;padding:.35rem .3rem;display:grid}.lw-row:nth-child(odd){background:var(--bg-alt)}.lw-rank{color:var(--sub-dim);font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem}.lw-word{font-family:var(--ko);font-size:1.05rem}.lw-gloss{font-family:var(--ui);color:var(--sub);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;overflow:hidden}.lw-state{font-family:var(--ui);background:var(--raise);color:var(--sub);white-space:nowrap;border-radius:1rem;padding:.1rem .55rem;font-size:.72rem}.lw-state.is-known,.lw-filter.is-known[aria-pressed=true]{color:var(--bg);background:var(--main)}.lw-state.is-familiar{color:var(--text);background:var(--line)}.lw-state.is-learning{color:var(--text)}.lw-state.is-unknown{color:var(--sub-dim)}.lw-none{color:var(--sub);margin:1rem 0}@media (width<=540px){.lw-row{grid-template-columns:2rem minmax(0,auto) auto}.lw-gloss{grid-area:2/2/auto/-1}}.ask-selection{z-index:40;background:var(--bg-alt);color:var(--main);border:1px solid var(--glow);font:inherit;cursor:pointer;border-radius:1rem;padding:.25rem .8rem;font-size:.85rem;font-weight:600;position:fixed;box-shadow:0 4px 14px #00000059}.ask-selection:hover{background:var(--main);color:var(--bg)}.word .l.dict{color:#0000;-webkit-user-select:none;user-select:none;position:relative}.word .l.dict:after{content:"";background:var(--sub-dim);opacity:.45;border-radius:50%;width:.24em;height:.24em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.word.active .l.dict:after{opacity:.9}.word .l.dict-typed{color:var(--text)}.dictation-toggle svg{width:1.3rem;height:1.3rem;margin:-.15rem 0}.speed-toggle{min-width:2.9rem;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.8rem;line-height:1rem}.speed-toggle[hidden]{display:none}.home .btn.quiet{box-shadow:inset 0 0 0 1px var(--card-line);color:var(--sub);background:0 0;padding:.5rem .9rem;font-size:.9rem}.home .btn.quiet:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--sub);color:var(--text);background:0 0}.home-hero-top{grid-template-columns:minmax(0,1fr) minmax(0,23rem);align-items:center;gap:1.6rem 2.2rem;display:grid}.home-hero-copy{min-width:0}.home-hero .home-title{margin-bottom:.7rem;font-size:2.3rem;line-height:1.15}.typed-char{position:relative}.typed.typed-typing .typed-char:not(.typed-on){opacity:0}.typed-char.typed-caret:after,.typed-char.typed-caret-before:before{content:"";background:var(--caret);width:max(2px,.07em);box-shadow:0 0 10px var(--glow);opacity:1;border-radius:1px;margin-left:.04em;position:absolute;top:.14em;bottom:.1em;left:100%}.typed-char.typed-caret-before:before{margin:0 .04em 0 0;left:auto;right:100%}.typed.typed-typing .typed-char.typed-caret-before{opacity:1;color:#0000}.typed.typed-resting .typed-char.typed-caret:after{animation:1s step-end infinite typed-caret-rest}@keyframes typed-caret-rest{0%{opacity:1}55%,to{opacity:0}}.home-actions-more{margin-top:.7rem}.home-hero .home-points{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:1.8rem}.home-hero .home-points li{border:1px solid var(--card-line);color:var(--sub);border-radius:.8rem;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.9rem 1rem;font-size:.92rem}.home-point-icon{color:var(--main);place-items:center;display:grid}.home-point-icon svg{display:block}.home-demo{background:var(--bg-alt);border:1px solid var(--card-line);cursor:text;border-radius:1rem;flex-direction:column;gap:.6rem;padding:1.1rem 1.2rem 1rem;transition:border-color .15s;display:flex;position:relative}.home-demo:focus-within,.home-demo.done{border-color:var(--main)}.home-demo-label{color:var(--main);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:600}.home-demo-prompt{color:var(--sub);margin:0;font-size:.88rem;line-height:1.5}.home-demo-stage{place-items:center;min-height:4.6rem;display:grid;position:relative}.home-demo-input{color:#0000;caret-color:#0000;opacity:0;cursor:text;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.home-demo-word{font-family:var(--ko);pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;font-size:2.2rem;line-height:1.3;display:flex}.home-demo-l{color:var(--sub-dim)}.home-demo-l.correct{color:var(--text)}.home-demo-l.incorrect{color:var(--error)}.home-demo-l.extra{color:var(--error-extra)}.home-demo-l.composing{text-decoration:underline;-webkit-text-decoration-color:var(--sub);text-decoration-color:var(--sub);text-underline-offset:.25em;text-decoration-thickness:2px}.home-demo-caret{background:var(--main);opacity:0;border-radius:1px;width:2px;height:1.15em;margin:0 -1px}.home-demo:focus-within .home-demo-caret{opacity:1;animation:1.1s step-end infinite home-demo-blink}.home-demo.done .home-demo-caret{display:none}@keyframes home-demo-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.home-demo:focus-within .home-demo-caret{animation:none}}.home-demo-hint{min-height:1.9rem;color:var(--sub);flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;font-size:.88rem;display:flex}.home-demo-hint kbd{background:var(--raise);min-width:1.6rem;color:var(--text);box-shadow:inset 0 -2px 0 var(--card-line), 0 0 0 1px var(--card-line);text-align:center;border-radius:.35rem;padding:.2rem .45rem;font-size:.85rem;font-weight:600}.home-demo-jamo{font-family:var(--ko);color:var(--main);font-size:1.1rem}.home-demo-done{color:var(--text)}.home-demo-hint .link-btn{margin-right:0}@media (width<=820px){.home-hero-top{grid-template-columns:minmax(0,1fr)}.home-hero .home-title{font-size:1.9rem}.home-hero .home-points{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.home-hero .home-points{grid-template-columns:minmax(0,1fr)}}body[data-screen=extra] #tutor,body[data-screen=pending] #tutor{display:none}main.screen-loading-on{min-height:60vh;position:relative}.screen-loading{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex;position:absolute;top:0;left:0;right:0}.screen-loading-anim{flex-direction:column;align-items:center;max-width:100%;display:flex}.screen-loading-ko{font-family:var(--ko);color:var(--text);max-width:100%;margin:0;font-size:clamp(2rem,6vw,3rem);line-height:1.3}.screen-loading-line{text-align:left;display:inline-grid}.screen-loading-ghost,.screen-loading-text{grid-area:1/1}.screen-loading-ghost{visibility:hidden}.screen-loading-text{white-space:pre-wrap;place-self:start;position:relative}.screen-loading-text:after{content:"";background:var(--main);width:max(2px,.07em);box-shadow:0 0 10px var(--glow);border-radius:1px;margin-left:.04em;position:absolute;top:.14em;bottom:.1em;left:100%}.screen-loading-still .screen-loading-text:after{content:none}.screen-loading-resting .screen-loading-text:after{animation:1s step-end infinite typed-caret-rest}.screen-loading-meaning{min-height:1.4em;color:var(--sub);margin:.35rem 0 0;font-size:.9rem;line-height:1.4}.screen-loading-bar{background:var(--raise);border-radius:2px;width:9rem;max-width:100%;height:3px;margin-top:1.4rem;position:relative;overflow:hidden}.screen-loading-bar>span{background:var(--main);border-radius:2px;width:35%;animation:1.4s ease-in-out infinite screen-loading-slide;position:absolute;top:0;bottom:0;left:0}@keyframes screen-loading-slide{0%{transform:translate(-100%)}to{transform:translate(286%)}}.screen-loading-still .screen-loading-bar>span{animation:none;left:32.5%}.screen-loading-failed{flex-direction:column;align-items:center;gap:1rem;max-width:28rem;display:flex}.screen-loading-error{color:var(--text);margin:0;line-height:1.5}section.extra-pending{visibility:hidden}.screen-loading-out{pointer-events:none;animation:.15s ease-out forwards screen-loading-fade-out}section.extra-reveal{animation:.15s ease-out screen-loading-fade-in}@keyframes screen-loading-fade-out{to{opacity:0}}@keyframes screen-loading-fade-in{0%{opacity:0}}.screen-loading-boot{display:none}html.boot-account .screen-loading-boot{display:flex}html.boot-account main{min-height:60vh;position:relative}html.boot-account main>section{visibility:hidden}.screen-loading-boot.screen-loading-still .screen-loading-bar>span{animation:1.4s ease-in-out infinite screen-loading-slide;left:0}html.boot-account #tutor{visibility:hidden}body:has(main.screen-loading-on) #tutor{visibility:hidden}html.account-unknown #nav-account,html.account-unknown #nav-pricing{visibility:hidden}@media (prefers-reduced-motion:reduce){.screen-loading-bar>span,.screen-loading-boot.screen-loading-still .screen-loading-bar>span{animation:none;left:32.5%}.screen-loading-out,section.extra-reveal{animation:none}}.legal-screen .stats-title{margin-bottom:.4rem}.legal-meta{margin-bottom:1.2rem}.legal-lede{color:var(--text);margin:0 0 1.4rem;font-size:1.05rem;line-height:1.6}.legal-body{padding:1.5rem}.legal-section>*{max-width:40rem}.legal-section+.legal-section{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.4rem}.legal-heading{color:var(--text);margin:0 0 .6rem;font-size:1.05rem;font-weight:600}.legal-section p,.legal-section li{color:var(--sub);font-size:.93rem;line-height:1.65}.legal-section p{margin:0 0 .7rem}.legal-section ul{margin:0 0 .7rem;padding-left:1.2rem}.legal-section li+li{margin-top:.4rem}.legal-section>:last-child{margin-bottom:0}.legal-more{margin:1.2rem 0 0}.legal-more a,.acct-agree a,.profile-sub-note a{color:var(--main)}.footer-copy{text-align:center;color:var(--sub);opacity:.8;margin:0;font-size:.75rem}body[data-screen=test] .footer-copy{display:none}.acct-agree{color:var(--sub);margin:1rem 0 0;font-size:.8rem;line-height:1.5}.profile-benefits{gap:.55rem;margin:.6rem 0 1rem;padding:0;list-style:none;display:grid}.profile-benefit{color:var(--sub);align-items:flex-start;gap:.55rem;font-size:.9rem;line-height:1.45;display:flex}.profile-benefit-mark{color:var(--main);flex:none;place-items:center;display:grid}.profile-benefit strong{color:var(--text);font-weight:600;display:block}@media (width<=480px){.legal-body{padding:1.1rem}}
