:root,:root[data-theme=light]{--bg:#fff;--surface:#f5f5f3;--seg:#f2f2ef;--field:#fff;--border:#e3e3e0;--divider:#efefec;--text:#171717;--body:#333;--sub:#666;--primary:#171717;--on-primary:#fff;--mark:#ffefad;--mark-text:#171717;--due:#a35a00;--chip-on:#fff;--paper:#fbfaf6;--line:#cfcdc6;--danger:#b42318;--dot-off:#d9d9d6;--shadow:0 1px 6px #0000000d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#171717;--surface:#222;--seg:#222;--field:#1e1e1e;--border:#3a3a3a;--divider:#2a2a2a;--text:#ededed;--body:#d4d4d4;--sub:#a3a3a3;--primary:#ededed;--on-primary:#171717;--mark:#5c4b10;--mark-text:#fff3c4;--due:#f2b65a;--chip-on:#3a3a3a;--paper:#2a2a2a;--line:#555;--danger:#ff8a7a;--dot-off:#444;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Noto Sans KR,system-ui,-apple-system,sans-serif}button,input{font:inherit;color:inherit}a{color:inherit}.serif{font-family:Newsreader,Georgia,serif}.screen{max-width:480px;min-height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0 auto;display:flex}.screen.with-tabs{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.content{flex-direction:column;flex:1;gap:26px;padding:14px 20px 32px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:8px;padding:14px 20px 6px;display:flex}.topbar.compact{padding:8px 12px 0 8px}.brand{letter-spacing:-.3px;font-family:Newsreader,Georgia,serif;font-size:26px;font-weight:600}.page-title{letter-spacing:-.5px;margin:0;font-size:28px;font-weight:600}.lede{color:var(--sub);margin:0;font-size:14px}.h1{letter-spacing:-.4px;margin:0;font-size:26px;font-weight:600;line-height:1.35}.section-label{color:var(--sub);margin:0;font-size:13px;font-weight:500}.section-title{margin:0;font-size:15px;font-weight:600}.muted{color:var(--sub)}.small{font-size:13px}.row{align-items:center;gap:8px;display:flex}.between{justify-content:space-between;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;display:flex}.icon-btn{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;display:inline-flex}.icon-btn.plain{background:0 0;border:0}.btn{cursor:pointer;border:0;border-radius:26px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 22px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-outline{background:var(--bg);color:var(--text);border:1px solid var(--border);font-weight:500}.btn-sm{border-radius:20px;height:40px;padding:0 16px;font-size:14px}.btn:disabled{opacity:.5;cursor:default}.chip{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:20px;align-items:center;gap:6px;height:40px;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.pill{border:1px solid var(--border);border-radius:12px;padding:3px 10px;font-size:12px}.card{background:var(--surface);border-radius:20px;padding:18px 20px}.search{border:1px solid var(--border);background:var(--field);box-shadow:var(--shadow);border-radius:28px;align-items:center;gap:8px;padding:6px 6px 6px 20px;display:flex}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:44px;font-family:Newsreader,Georgia,serif;font-size:18px}.search input::placeholder{color:#8a8a8a}.send{background:var(--primary);width:44px;height:44px;color:var(--on-primary);cursor:pointer;border:0;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.send:disabled{opacity:.35}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--sub);font-size:13px}.input{border:1px solid var(--border);background:var(--field);border-radius:14px;outline:none;height:52px;padding:0 16px;font-size:16px}.input:focus,.search:focus-within{border-color:var(--text)}.list-row{border-bottom:1px solid var(--divider);color:var(--text);align-items:center;gap:12px;padding:13px 0;text-decoration:none;display:flex}.list-row .word{font-family:Newsreader,Georgia,serif;font-size:20px}.list-row .mean{color:var(--sub);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.seg{background:var(--seg);border-radius:14px;gap:4px;padding:4px;display:flex}.seg button{height:38px;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;font-size:14px}.seg button[aria-pressed=true]{background:var(--chip-on);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.dots{gap:4px;display:flex}.dot{background:var(--dot-off);border-radius:4px;width:7px;height:7px}.dot.on{background:var(--text)}.tabbar{z-index:10;background:var(--bg);border-top:1px solid var(--divider);padding:6px 8px calc(8px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.tabbar nav{max-width:480px;margin:0 auto;display:flex}.tabbar a{color:var(--sub);flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;font-size:11px;text-decoration:none;display:flex}.tabbar a.active{color:var(--text);font-weight:600}mark{background:var(--mark);color:var(--mark-text);border-radius:4px;padding:0 3px}.quote{margin:0;font-family:Newsreader,Georgia,serif;font-size:21px;font-style:italic;line-height:1.55}.quote mark{font-style:italic}.prose{color:var(--body);margin:0;font-size:15px;line-height:1.75}.ety{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.ety .part{background:var(--surface);border-radius:14px;flex-direction:column;flex:70px;gap:4px;padding:12px;display:flex}.ety .plus{color:var(--sub);align-self:center}.error{color:var(--danger);margin:0;font-size:14px;line-height:1.6}.notice{border:1px solid var(--border);color:var(--body);border-radius:14px;align-items:center;gap:10px;padding:14px 16px;font-size:14px;display:flex}.skeleton{background:var(--surface);border-radius:10px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.spinner{border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.overlay{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.paper-thumb{background:var(--paper);border:1px solid var(--border);border-radius:6px;flex-direction:column;flex-shrink:0;gap:4px;padding:8px 6px;display:flex}.paper-thumb span{background:var(--line);height:2px;display:block}.word-tok{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;margin:0;padding:0}.word-tok:active{background:var(--mark)}.word-tok.hard{text-underline-offset:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--sub);text-decoration-color:var(--sub)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.capture-label{cursor:pointer}.capture-label:focus-within{outline:2px solid var(--text);outline-offset:2px}.typing-dot{background:var(--sub);border-radius:4px;width:7px;height:7px;animation:1.2s infinite typing}@keyframes typing{0%,80%,to{opacity:.25}40%{opacity:1}}.backup-code{letter-spacing:1px;text-align:center;background:var(--bg);-webkit-user-select:all;user-select:all;border-radius:12px;padding:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:17px}.setting-row{border:0;border-bottom:1px solid var(--divider);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:16px 2px;font-size:15px;text-decoration:none;display:flex}.badge{color:var(--sub);background:var(--surface);white-space:nowrap;border-radius:10px;padding:4px 10px;font-size:12px}.warn{color:var(--body);background:var(--surface);border-radius:12px;margin:0;padding:12px 14px;font-size:13px;line-height:1.6}.ad-slot{min-height:60px;margin:8px 0;overflow:hidden}.install-hint{background:var(--surface);border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.install-hint img{border-radius:10px;flex:none}.install-steps{color:var(--body);margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.hint-later{color:var(--sub);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 6px;font-size:13px}
