@font-face{font-family:Jost;src:url(fonts/jost-latin-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Resource Han Rounded CN';src:url(fonts/cn.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Resource Han Rounded KR';src:url(fonts/kr.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Pronunciation Mark';src:url(fonts/ipa.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+02D0}
:root{--bg:#000;--fg:#fff;--muted:#b8b8b8;--line:#666;color-scheme:dark;background:var(--bg);color:var(--fg);font-family:Jost,'Resource Han Rounded CN','Pronunciation Mark',sans-serif;font-size:16px;font-weight:400}
:root[data-theme=light]{--bg:#fff;--fg:#000;--muted:#595959;--line:#aaa;color-scheme:light}
.korean-app *{box-sizing:border-box}.korean-app{margin:0;background:var(--bg);color:var(--fg);padding:24px 20px 40px;min-height:100svh}.korean-app header,.korean-app footer,.korean-app main{width:min(100%,480px);margin-inline:auto}.korean-app header{display:flex;justify-content:space-between;align-items:center;margin-bottom:68px}.korean-app main.reading{width:min(100%,680px)}.korean-app h1{font-size:32px;line-height:1.3;font-weight:400;margin:0 0 24px}.korean-app h2{font-size:23px;font-weight:400;line-height:1.5;margin:32px 0 16px}.korean-app h3{font-size:19px;font-weight:400;margin:24px 0 12px}.korean-app p{line-height:1.8;margin:12px 0}.korean-app a{color:inherit;text-underline-offset:5px}.korean-app button,.korean-app input,.korean-app select{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--fg);border-radius:0;padding:10px 12px;min-height:44px}.korean-app button,.korean-app summary{cursor:pointer}.korean-app button:disabled{cursor:wait;color:var(--muted);border-color:var(--line)}.korean-app button:hover,.korean-app button:focus-visible,.korean-app .row:hover,.korean-app .row:focus-visible{background:var(--fg);color:var(--bg)}.korean-app :focus-visible{outline:2px solid var(--fg);outline-offset:4px}.korean-app [hidden]{display:none!important}.korean-app .row{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:58px;padding:10px 12px;margin:0 -12px;width:calc(100% + 24px);border:0;text-decoration:none;text-align:left;font-size:22px}.korean-app .row small{font-size:16px}.korean-app .circle,.korean-app .square,.korean-app .triangle{width:16px;height:16px;background:currentColor;display:inline-block;flex-shrink:0}.korean-app .circle{border-radius:50%}.korean-app .triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.korean-app .row .label{margin-right:auto}.korean-app .muted,.korean-app .eyebrow,.korean-app footer{color:var(--muted)}.korean-app .eyebrow{font-size:15px;margin-bottom:12px}.korean-app .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 0;border-block:1px solid var(--line);margin:28px 0}.korean-app .metrics span{display:block;font-size:28px;color:var(--fg)}.korean-app .metrics small{font-size:13px}.korean-app footer{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:56px;font-size:14px}.korean-app footer p{flex-basis:100%;margin:0}.korean-app .word{font-size:44px;line-height:1.4;overflow-wrap:anywhere;margin:32px 0 16px}.korean-app [lang=ko]{font-family:Jost,'Resource Han Rounded KR','Pronunciation Mark',sans-serif;font-weight:400}.korean-app .actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.korean-app .answer{border-block:1px solid var(--line);padding:20px 0}.korean-app .origin{font-size:15px;line-height:1.8;color:var(--muted)}.korean-app details{border-bottom:1px solid var(--line);padding:14px 0}.korean-app summary{min-height:32px;line-height:1.7}.korean-app .example{font-size:23px;line-height:1.8}.korean-app .sentence{font-size:23px;line-height:2;word-break:keep-all}.korean-app .sentence button{border:0;padding:2px 1px;min-height:auto;font:inherit}.korean-app .sentence-line{border-bottom:1px solid var(--line);padding:12px 0}.korean-app .sentence-line details{border:0;padding:0}.korean-app .sentence-line summary{font-size:14px;color:var(--muted)}.korean-app .lookup{position:sticky;bottom:12px;max-height:40svh;overflow:auto;background:var(--bg);border:1px solid var(--fg);padding:16px;margin:16px 0}.korean-app .plain-list{list-style:none;padding:0}.korean-app .plain-list li{border-bottom:1px solid var(--line);padding:14px 0}.korean-app label{display:block;line-height:1.8;margin:16px 0 8px}.korean-app input[type=text],.korean-app input[type=url],.korean-app input[type=password],.korean-app input[type=date]{width:100%}.korean-app .theme-mark{display:inline-block;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;background:none;margin-right:8px}.korean-app #theme{border:0}.korean-app .skip{position:absolute;top:-100px}.korean-app .skip:focus{top:10px;left:10px;background:var(--bg);padding:12px}.korean-app .question{margin:28px 0}.korean-app .question button{display:block;width:100%;text-align:left;margin:8px 0}.korean-app .warning{border-left:2px solid var(--fg);padding-left:16px}.korean-app .search-result{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line)}
@media(max-width:540px){.korean-app header{margin-bottom:44px}.korean-app h1{font-size:28px}.korean-app .word{font-size:40px}.korean-app .sentence{font-size:21px}.korean-app .metrics{gap:8px}.korean-app .metrics small{font-size:12px}.korean-app .actions button{flex:1;white-space:nowrap}}
.korean-app .theme-mark{position:relative;background:none;overflow:hidden}.korean-app .theme-mark::before{content:'';position:absolute;inset:0 auto 0 0;width:50%;background:currentColor}

.korean-app textarea{width:100%;resize:vertical;font:inherit;line-height:1.8;padding:10px 12px;color:var(--fg);background:var(--bg);border:1px solid var(--fg);border-radius:0}.korean-app fieldset{border:0;padding:0;min-width:0}.korean-app legend{line-height:1.8}.korean-app .choice,.korean-app .check{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 10px;line-height:1.8;border-bottom:1px solid var(--line)}.korean-app .choice:hover,.korean-app .choice:focus-within{background:var(--fg);color:var(--bg)}.korean-app input[type=radio],.korean-app input[type=checkbox]{min-height:20px;width:20px;accent-color:var(--fg);flex-shrink:0}.korean-app .sentence button{min-height:44px}.korean-app .preteach{border-block:1px solid var(--line);padding:10px 0}.korean-app .update-notice{width:min(100%,480px);margin:0 auto 24px;padding:12px 0;border-block:1px solid var(--line)}
