:root{--bg:#262624;--bg-header:#1f1e1d;--bg-input:#30302e;--bg-user-bubble:#3a3a37;--bg-card:#2e2e2b;--border:#3e3e3a;--text:#f0eee6;--text-dim:#a8a49c;--accent:#ffa640;--accent-hover:#ffb866;--accent-rgb:255 166 64;--accent-soft-rgb:255 196 128;--ok:#7fbf7f;--error:#e5735c;--border-strong:#57544e;--border-faint:#5b5852;--border-table:#4a4843;--text-faint:#7a7871;--scroll-thumb:#45433f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.light{--bg:#faf9f5;--bg-header:#f0eee6;--bg-input:#fff;--bg-user-bubble:#ebe8df;--bg-card:#fff;--border:#dcd9cf;--text:#1f1e1d;--text-dim:#6b6860;--accent:#dc7800;--accent-hover:#c46b00;--accent-rgb:220 120 0;--accent-soft-rgb:220 120 0;--ok:#3d8b3d;--error:#c8452c;--border-strong:#b5b1a6;--border-faint:#bdb9ae;--border-table:#cfccc2;--text-faint:#8f8b82;--scroll-thumb:#cfccc2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Malgun Gothic,sans-serif;font-size:15px}.app{height:100%;display:flex;position:relative}html.ios body{box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html.ios.keyboard body{padding-bottom:0}@media (width<=720px){html.ios .set-modal{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html.ios .guide-pop{padding-bottom:calc(18px + env(safe-area-inset-bottom))}}.sidebar{background:var(--bg-header);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;width:250px;padding:12px 10px;transition:width .18s,padding .18s;display:flex;overflow:hidden}.sidebar.closed{border-right-width:0;width:0;padding-left:0;padding-right:0}.new-chat{border:1px solid var(--border);color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;padding:9px 12px;font-family:inherit;font-size:13px}.new-chat:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-input)}.new-chat:disabled{opacity:.45;cursor:default}.conv-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.conv-empty{color:var(--text-dim);padding:10px 6px;font-size:12.5px}.conv{cursor:pointer;border-radius:8px;outline:none;align-items:center;gap:6px;padding:8px 8px 8px 10px;display:flex}.conv:hover{background:var(--bg-input)}.conv:focus-visible{box-shadow:inset 0 0 0 1px var(--border-strong)}.conv.active{background:var(--bg-user-bubble)}.conv-main{flex:1;min-width:0}.conv-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.conv-date{color:var(--text-dim);margin-top:2px;font-size:11px}.conv-del{width:22px;height:22px;color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;font-size:17px;line-height:1}.conv:hover .conv-del,.conv-del:focus-visible{opacity:1}@media (hover:none){.conv-del{opacity:.7;width:32px;height:32px;font-size:19px}}.conv-del:hover{color:var(--error);background:#e5735c1f}.sidebar-foot{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:2px;padding-top:8px;display:flex}.account{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;outline:none;flex:1;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.account:hover{background:var(--bg-input)}.settings-btn{width:34px;height:34px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.settings-btn:hover{color:var(--accent-hover);background:var(--bg-input)}.account.on{background:var(--bg-user-bubble)}.account:focus-visible{box-shadow:inset 0 0 0 1px var(--border-strong)}.account .avatar{width:22px;height:22px;font-size:11px}.account-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-backdrop{display:none}@media (width<=720px){.sidebar{z-index:10;padding-top:52px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 24px #00000073}.sidebar-backdrop{z-index:9;background:#00000059;display:block;position:absolute;inset:0}header .icon-btn{z-index:11;position:relative}}.chat-pane{flex-direction:column;flex:1;min-width:0;display:flex}header{background:var(--bg-header);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:10px;padding:12px 18px;display:flex}header .status{color:var(--text-dim);margin-left:auto;font-size:12px}header .status.down{color:var(--error)}header .ghost-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:12px}header .ghost-btn:hover{color:var(--text);border-color:var(--border-strong)}header .ghost-btn.on{color:var(--text);background:var(--bg-input);border-color:var(--border-strong)}header .icon-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:15px;line-height:1}header .icon-btn:hover{color:var(--text);background:var(--bg-input)}.auth-screen{flex:1;justify-content:center;align-items:center;padding:32px 20px;display:flex;overflow-y:auto}.auth-card{text-align:center;flex-direction:column;gap:10px;width:100%;max-width:320px;display:flex}.auth-card h2{font-size:20px;font-weight:600}.auth-sub{color:var(--text-dim);margin-bottom:6px;font-size:13.5px}.auth-sub b{color:var(--text);font-weight:600}.auth-card input,.username-form input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.auth-card input:focus,.username-form input:focus{border-color:var(--border-strong)}.password-field{display:flex;position:relative}.password-field input{flex:1;min-width:0;padding-right:40px}.password-eye{width:40px;height:100%;color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.password-eye:hover{color:var(--text)}.password-field input::-ms-reveal{display:none}.password-field input::-ms-clear{display:none}.auth-primary,.auth-secondary{cursor:pointer;border-radius:10px;padding:10px 14px;font-family:inherit;font-size:14px}.auth-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.auth-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.auth-primary:disabled{opacity:.45;cursor:default}.auth-secondary{border:1px solid var(--border);color:var(--text);background:0 0}.auth-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-input)}.auth-secondary:disabled{opacity:.45;cursor:default}.auth-or{color:var(--text-dim);align-items:center;gap:10px;margin:2px 0;font-size:12px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.auth-link{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-family:inherit;font-size:12.5px;text-decoration:underline}.auth-link:hover{color:var(--text)}.auth-msg{color:var(--accent);font-size:12.5px}#chat{flex:1;overflow-y:auto}#chat-inner{flex-direction:column;gap:18px;max-width:760px;margin:0 auto;padding:24px 20px 12px;display:flex}#chat-inner.wide{max-width:1400px}.welcome{text-align:center;color:var(--text-dim);padding:60px 20px 40px}.welcome h2{color:var(--text);margin-bottom:8px;font-size:20px;font-weight:600}.welcome p{font-size:14px}.msg{flex-direction:column;animation:.25s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.avatar{background:var(--bg-input);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:15px;line-height:1;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-blank{opacity:.55}.bot-avatar{background:var(--accent)}.avatar.big{width:72px;height:72px;font-size:30px}.msg.user{align-items:flex-end}.msg.user .row{align-items:flex-start;gap:10px;max-width:92%;display:flex}.msg.user .bubble{background:var(--bg-user-bubble);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:14px 14px 4px;max-width:80%;padding:10px 14px;line-height:1.55}.msg.bot{align-items:flex-start}.msg.bot .row{gap:10px;max-width:92%;display:flex}.msg.bot .bot-body{min-width:0;padding-top:5px}.msg.bot .bubble{white-space:pre-wrap;word-break:break-word;padding-top:1px;line-height:1.6}.msg.bot.error .bubble{color:var(--error)}.typing{align-items:center;gap:5px;padding:8px 0;display:inline-flex}.typing em{color:var(--text-dim);margin-left:4px;font-size:13px;font-style:normal}.typing span{background:var(--text-dim);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.cards{flex-direction:column;gap:10px;margin-top:12px;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.card-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.card-source{color:var(--text-dim);word-break:break-word;font-size:12.5px}.badge{letter-spacing:.3px;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:10.5px}.card-ko{word-break:keep-all;font-size:19px;font-weight:600;line-height:1.45}.card-romaja{color:var(--accent);word-break:break-word;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.card-rules{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.card-rules summary{cursor:pointer;color:var(--text-dim);font-size:12.5px;list-style:none}.card-rules summary::-webkit-details-marker{display:none}.card-rules summary:before{content:"▸ "}.card-rules[open] summary:before{content:"▾ "}.card-rules summary:hover{color:var(--text)}.rule-body{flex-direction:column;gap:10px;padding:10px 2px 2px;display:flex}.rule-forms{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.rule-label{color:var(--text-dim);font-size:11px}.diff-mark{border-radius:3px;padding:0 2px}.rule-forms .from .diff-mark{background:rgb(var(--accent-rgb) / .16)}.rule-forms .to .diff-mark{background:rgb(var(--accent-rgb) / .22);color:var(--accent)}.rule-arrow{color:var(--text-dim)}.steps{flex-wrap:wrap;align-items:flex-end;row-gap:8px;font-size:14px;display:flex}.step{align-items:flex-end;display:inline-flex}.step-arrow{color:var(--text-dim);flex-direction:column;align-items:center;margin:0 7px;line-height:1.15;display:inline-flex}.step-articles{white-space:nowrap;color:var(--accent);font-size:10.5px}.step-form .diff-mark{background:rgb(var(--accent-rgb) / .2)}.step-form.last{color:var(--accent)}.rule-title{font-size:13px;font-weight:600}.rule-title-ko{color:var(--text-dim);margin-left:6px;font-size:12px;font-weight:400}.rule-cond{color:var(--text-dim);margin-top:3px;font-size:12.5px;line-height:1.55}.rule-ex{color:var(--text-dim);margin-top:4px;font-size:12.5px}.card-actions{gap:8px;margin-top:10px;display:flex}.card-actions button{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-family:inherit;font-size:12px}.card-actions button:disabled{opacity:.45;cursor:not-allowed}.card-actions button:not(:disabled):hover{color:var(--text);border-color:var(--border-strong)}.card-actions button.done{color:var(--ok);opacity:1;border-color:#7fbf7f66}.card-actions button.danger:hover{color:var(--error);border-color:#e5735c80}.card-actions button.on{color:var(--accent);border-color:rgb(var(--accent-rgb) / .5)}.card-actions{align-items:center}.listen-error{color:var(--error);font-size:11.5px}.word-listen{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:3px 6px;font-family:inherit;font-size:12px;line-height:1}.word-listen:hover{color:var(--text);border-color:var(--border-strong)}.word-listen.on{color:var(--accent);border-color:rgb(var(--accent-rgb) / .5)}.word-head .listen-error,.word-row-top .listen-error{margin-left:4px}.card-ko .tok{font:inherit;color:inherit;cursor:pointer;border:none;border-bottom:1px dotted var(--border-faint);background:0 0;border-radius:3px;margin:0;padding:0 1px;transition:background-color .18s,box-shadow .18s,border-bottom-color .18s,color .18s}@media (prefers-reduced-motion:reduce){.card-ko .tok{transition:none}}@media (hover:hover){.card-ko .tok:hover:not(.active){background:rgb(var(--accent-soft-rgb) / .24);border-bottom-color:#0000}}.card-ko .tok:focus-visible{box-shadow:inset 0 0 0 1px var(--accent);border-bottom-color:#0000;outline:none}.card-ko .tok.active{background:rgb(var(--accent-rgb) / .22);color:var(--accent);border-bottom-color:#0000}.tok-hint{color:var(--text-dim);margin-top:8px;font-size:11.5px}.tok-hint.error{color:var(--error)}.tok-hint.ok{color:var(--ok)}.tok-hint.ok b{color:var(--text);font-weight:600}.hover-only{display:none}@media (hover:hover){.hover-only{display:inline}}.touch-only{display:none}@media (hover:none){.touch-only{display:inline}}.card-ko-row{align-items:flex-start;gap:10px;display:flex}.card-ko-row .card-ko{flex:1;min-width:0}.copy-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;flex-shrink:0;margin-top:3px;padding:5px 8px;font-family:inherit;font-size:12px;line-height:1}.copy-btn:hover{color:var(--text);border-color:var(--border-strong)}.copy-btn.done{color:var(--ok);border-color:#7fbf7f66}.word-panel{background:var(--bg-header);border:1px solid var(--border);border-radius:10px;margin-top:10px;padding:10px 12px}.word-head{align-items:center;gap:8px;display:flex}.word-lemma{font-size:16px;font-weight:600}.word-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:17px;line-height:1}.word-close:hover{color:var(--text)}.word-meaning{margin-top:5px;font-size:13.5px;line-height:1.5}.word-romaja{color:var(--accent);margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.word-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.word-from{color:var(--text-dim);font-size:11.5px}.word-actions button{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:5px 10px;font-family:inherit;font-size:12px}.word-actions button:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.word-actions button.done{color:var(--ok);border-color:#7fbf7f66}.guide-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;margin-left:auto;font-size:14px;line-height:1}.guide-btn:hover{color:var(--text);border-color:var(--border-strong)}.guide-btn.on{color:var(--accent);border-color:rgb(var(--accent-rgb) / .5)}header .status+.guide-btn{margin-left:10px}.guide-backdrop{z-index:40;position:fixed;inset:0}.guide-pop{z-index:41;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:min(460px,100vw - 28px);max-height:min(72vh,640px);padding:14px 16px 18px;position:absolute;top:52px;right:14px;overflow-y:auto;box-shadow:0 14px 40px #00000073}.guide-head{justify-content:space-between;align-items:center;display:flex}.guide-head h2{font-size:16px;font-weight:600}.guide-close{width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:17px;line-height:1}.guide-close:hover{color:var(--text);background:var(--bg-input)}.guide-loading,.guide-error{color:var(--text-dim);padding:12px 0;font-size:13px}.guide-error{color:var(--error)}.guide-body section{margin-top:16px}.guide-body h3{color:var(--accent);margin-bottom:6px;font-size:13.5px;font-weight:600}.guide-body h4{border-top:1px solid var(--border);margin:22px 0 8px;padding-top:14px;font-size:16px;font-weight:600}.guide-body p{color:var(--text);font-size:13px;line-height:1.65}.guide-aside,.guide-sub{color:var(--text-dim);font-size:12px;line-height:1.6}.guide-aside{margin-top:8px}.guide-sub{margin:12px 0 6px}.letter-set{background:var(--bg-input);border-radius:8px;align-items:baseline;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.letter-set-label{color:var(--text-dim);flex-shrink:0;width:68px;font-size:11.5px}.letter-set-list{letter-spacing:1px;font-size:16px;font-weight:500;line-height:1.7}.syl-diagram{width:100%;max-width:330px;margin:12px auto 4px;display:block}.syl-box{fill:rgb(var(--accent-soft-rgb) / .08);stroke:var(--accent);stroke-width:1.2px}.syl-split{stroke:rgb(var(--accent-rgb) / .5);stroke-width:1px;stroke-dasharray:4 4}.syl-lead{stroke:var(--border-strong);stroke-width:1px}.syl-block{fill:var(--text);text-anchor:middle;font-size:104px;font-weight:500}.syl-label{fill:var(--text);font-size:12px}.syl-label.dim{fill:var(--text-dim)}.syl-read{fill:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.jamo-grid{grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:6px;display:grid}.jamo-cell{background:var(--bg-input);border-radius:8px;flex-direction:column;gap:1px;padding:7px 9px;display:flex}.jamo-letter{font-size:19px;font-weight:600;line-height:1.2}.jamo-roma{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.jamo-example{color:var(--text-dim);font-size:11.5px}.jamo-list{background:var(--bg-input);letter-spacing:1px;border-radius:8px;padding:8px 10px;font-size:17px;font-weight:500;line-height:1.7}@media (width<=720px){.guide-pop{border-radius:14px 14px 0 0;width:auto;max-height:82vh;position:fixed;inset:auto 0 0}}.update-notice{z-index:70;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;gap:12px;width:min(320px,100vw - 32px);padding:14px 16px;display:flex;position:fixed;top:64px;right:16px;box-shadow:0 12px 40px #00000059}.update-notice p{color:var(--text);font-size:13.5px;line-height:1.5}.update-actions{justify-content:flex-end;gap:8px;display:flex}.update-actions button{padding:7px 12px;font-size:13px}.notice-backdrop{z-index:60;background:#0009;position:fixed;inset:0}.notice-card{z-index:61;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:12px;width:min(420px,100vw - 32px);padding:28px 26px 22px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000080}.notice-card .notice-card h2{font-size:17px;font-weight:600}.notice-body{color:var(--text-dim);font-size:13.5px;line-height:1.7}.notice-body b{color:var(--text);font-weight:600}.notice-sign{color:var(--accent);font-size:12.5px}.notice-again{color:var(--text-dim);cursor:pointer;align-items:center;gap:7px;margin-top:4px;font-size:12.5px;display:flex}.notice-again input{accent-color:var(--accent);cursor:pointer}.notice-card .auth-primary{width:100%;margin-top:2px}.username-form{flex-direction:column;gap:10px;width:100%;margin-top:2px;display:flex}.avatar-row{align-items:center;gap:18px;padding:16px 0 4px;display:flex}.avatar-actions{flex-wrap:wrap;gap:8px;display:flex}.avatar-actions button{padding:7px 12px;font-size:13px}.cropper{flex-direction:column;align-items:center;gap:12px;padding:14px 0 4px;display:flex}.crop-board{background:var(--bg-input);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;position:relative;overflow:hidden}.crop-board:active{cursor:grabbing}.crop-board img{pointer-events:none;max-width:none;position:absolute;top:50%;left:50%}.crop-lens{pointer-events:none;box-shadow:0 0 0 9999px #1c1b1aa8, inset 0 0 0 1px rgb(var(--accent-rgb) / .75);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crop-zoom{width:min(240px,100%);color:var(--text-dim);align-items:center;gap:10px;display:flex}.crop-zoom input{accent-color:var(--accent);cursor:pointer;flex:1}.crop-actions{gap:8px;display:flex}.crop-actions button{min-width:96px;padding:8px 14px;font-size:13px}.set-backdrop{z-index:50;background:#00000080;position:fixed;inset:0}.set-modal{z-index:51;background:var(--bg);border:1px solid var(--border);border-radius:14px;width:min(860px,100vw - 32px);height:min(600px,100vh - 64px);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000080}.set-nav{background:var(--bg-header);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;width:190px;padding:14px 10px;display:flex}.set-nav-title{color:var(--text-dim);letter-spacing:.3px;padding:4px 10px 10px;font-size:11.5px}.set-nav-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:7px 10px;font-family:inherit;font-size:13px;display:flex}.set-nav-item:hover{color:var(--text);background:var(--bg-input)}.set-nav-item.on{color:var(--text);background:var(--bg-user-bubble)}.set-nav-icon{color:var(--accent);font-size:17px;display:flex}.icon{flex-shrink:0;display:block}.set-body{flex:1;padding:22px 26px 28px;position:relative;overflow-y:auto}.set-body h2{margin-bottom:4px;font-size:15px;font-weight:600}.set-close{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:18px;line-height:1;position:absolute;top:14px;right:16px}.set-close:hover{color:var(--text);background:var(--bg-input)}.set-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.set-row:last-of-type{border-bottom:none}.set-row-label{font-size:13.5px}.set-row-hint{max-width:46ch;color:var(--text-dim);margin-top:3px;font-size:12px;line-height:1.55}.set-row-control{flex-shrink:0}.seg{background:var(--bg-input);border:1px solid var(--border);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 13px;font-family:inherit;font-size:12.5px}.seg button:hover{color:var(--text)}.seg button.on{background:var(--bg-user-bubble);color:var(--text)}.set-figure{font-variant-numeric:tabular-nums;font-size:14px}.set-figure-of{color:var(--text-dim);font-size:12.5px}.set-bar{background:var(--bg-input);border-radius:999px;height:6px;margin:2px 0 6px;overflow:hidden}.set-bar-fill{background:var(--accent);height:100%;transition:width .3s}.set-bar-fill.full{background:var(--error)}.set-note{color:var(--text-dim);margin-top:14px;font-size:12px;line-height:1.65}.set-note b{color:var(--text);font-weight:600}.set-note.error{color:var(--error)}@media (width<=720px){.set-modal{border:none;border-radius:0;flex-direction:column;width:auto;height:auto;inset:0;transform:none}.set-nav{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;width:auto;padding:10px;overflow-x:auto}.set-nav-title{display:none}.set-nav-item{white-space:nowrap;width:auto}.set-body{padding:18px 16px 28px}.set-row{flex-direction:column;align-items:flex-start;gap:10px}}@media (prefers-reduced-motion:reduce){.set-bar-fill{transition:none}}.dict-tools{flex-wrap:wrap;gap:8px;margin:12px 0 10px;display:flex}.dict-search{background:var(--bg-input);border:1px solid var(--border);min-width:180px;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:7px 10px;font-size:13px}.dict-search:focus{border-color:var(--border-strong);outline:none}.dict-search::placeholder{color:var(--text-dim)}.dict-tools select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:7px 8px;font-size:13px}.dict-clear{border:1px solid var(--border);color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:7px 10px;font-size:13px}.dict-clear:hover{color:var(--text);border-color:var(--border-strong)}.dict-table-wrap{overflow-x:auto}.dict-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.dict-table td:nth-child(3){min-width:200px}.dict-table th,.dict-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.dict-table thead th{border-bottom:1px solid var(--border-table);white-space:nowrap;padding:0}.dict-table thead th button{width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 10px;font-size:12px}.dict-table thead th button:hover{color:var(--text)}.dict-table thead th.sorted button{color:var(--accent)}.dict-arrow{margin-left:4px;font-size:9px}.dict-table tbody tr:hover{background:rgb(var(--accent-soft-rgb) / .06)}.dict-table tbody tr.open{background:rgb(var(--accent-soft-rgb) / .1)}.dict-lemma{white-space:nowrap}.dict-expand{color:var(--text);font:inherit;cursor:pointer;border:none;border-bottom:1px dotted var(--border-faint);background:0 0;margin-right:6px;padding:0;font-size:15px;font-weight:600}.dict-expand:hover{color:var(--accent)}.dict-romaja{color:var(--accent);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.dict-pos{color:var(--text-dim);white-space:nowrap}.dict-date{color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.dict-none{color:var(--text-dim)}.dict-tags{white-space:nowrap}.dict-tag{background:rgb(var(--accent-soft-rgb) / .14);color:var(--accent);font:inherit;cursor:pointer;border:none;border-radius:999px;margin-right:4px;padding:2px 8px;font-size:11.5px}.dict-tag:hover{background:rgb(var(--accent-soft-rgb) / .28)}.dict-context-row td{color:var(--text-dim);background:var(--bg-card);font-size:12px;line-height:1.6}.dict-context-label{color:var(--text-faint);margin-right:8px}.dict-surface{color:var(--text);margin-right:6px}.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}.dict-th-actions,.dict-td-actions{width:32px}.word-remove{width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-self:flex-start;font-size:17px;line-height:1}.word-remove:hover{color:var(--error);background:#e5735c1f}.dict-head{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.dict-head h2{font-size:17px;font-weight:600}.dict-count{color:var(--text-dim);font-size:12.5px}.dict-empty{color:var(--text-dim);padding:18px 2px;font-size:13.5px;line-height:1.6}#input-area{flex-shrink:0;padding:12px 20px 18px}#input-box{background:var(--bg-input);border:1px solid var(--border);border-radius:16px;align-items:flex-end;gap:10px;max-width:760px;margin:0 auto;padding:10px 10px 10px 16px;transition:border-color .15s;display:flex}#input-box:focus-within{border-color:var(--border-strong)}#input-box textarea{resize:none;color:var(--text);background:0 0;border:none;outline:none;flex:1;max-height:160px;padding:4px 0;font-family:inherit;font-size:15px;line-height:1.5}#input-box textarea::placeholder{color:var(--text-dim)}#send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,opacity .15s;display:flex}#send:hover:not(:disabled){background:var(--accent-hover)}#send:disabled{opacity:.4;cursor:default}#send svg{width:18px;height:18px}.hint{text-align:center;max-width:760px;color:var(--text-dim);-webkit-user-select:none;user-select:none;margin:8px auto 0;font-size:11.5px}@media (hover:none){.hint{display:none}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}
