:root{--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--bg: #f0f1f3;--surface: #ffffff;--sunk: #e7e9ee;--line: #d4d7de;--ink: #16181f;--ink-soft: #414653;--muted: #6b7181;--accent: #4a3f9e;--accent-ink: #362c7d;--accent-wash: #e3e0f4;--lock: #8a5a0b;--lock-wash: #f6ead4;--open: #1e6544;--open-wash: #dcede4;--danger: #932441;--sans: "Pretendard", system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--r: 8px;--pad: 16px}@media(prefers-color-scheme:dark){:root{--bg: #111219;--surface: #1a1c25;--sunk: #22252e;--line: #2d303b;--ink: #e9eaef;--ink-soft: #c2c6d0;--muted: #8d93a2;--accent: #9c91e8;--accent-ink: #b5acf2;--accent-wash: #252048;--lock: #d9a45e;--lock-wash: #332611;--open: #6cc496;--open-wash: #13291e;--danger: #e2809e}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#app{min-height:100dvh;padding-top:var(--sat);padding-bottom:var(--sab);padding-left:var(--sal);padding-right:var(--sar);max-width:560px;margin:0 auto}.pad{padding:var(--pad)}.topbar{display:flex;align-items:center;gap:10px;padding:12px var(--pad);border-bottom:1px solid var(--line);position:sticky;top:var(--sat);background:var(--bg);z-index:5}.topbar h1{font-size:17px;font-weight:600;margin:0;flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:8px}.btn{display:block;width:100%;padding:12px;background:var(--accent);color:#fff;border:0;border-radius:var(--r);font:inherit;font-weight:600;cursor:pointer}.btn:disabled{background:var(--sunk);color:var(--muted);cursor:default}.btn.ghost{background:transparent;color:var(--accent-ink);border:1px solid var(--accent)}.input{width:100%;padding:12px;font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r)}.row{display:flex;gap:10px;align-items:flex-start}.grow{flex:1;min-width:0}.cover{width:44px;height:62px;object-fit:cover;background:var(--sunk);border-radius:4px;flex:none}.muted{color:var(--muted);font-size:13px}.chip{display:inline-block;font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:999px}.chip.lock{background:var(--lock-wash);color:var(--lock)}.chip.open{background:var(--open-wash);color:var(--open)}a{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}textarea.input{resize:vertical;min-height:84px;font-family:inherit}.sec{font-size:15px;font-weight:600;margin:24px 0 8px}.iconbtn{width:auto;padding:6px 10px}.linkbtn{background:none;border:0;padding:4px 0;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.linkbtn.on{color:var(--accent-ink);font-weight:600}.card.accent{background:var(--accent-wash);border-color:transparent}.card.mine{border-left:3px solid var(--accent)}.q{font-size:20px;font-weight:700;line-height:1.4;margin-top:6px;letter-spacing:-.02em}.foot{margin-top:32px;text-align:center;font-size:12px}.topbar h1{font-size:16px}.bottomnav{position:sticky;bottom:0;display:flex;gap:2px;background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--sab);margin-top:24px}.bottomnav .tab{flex:1;text-align:center;padding:12px 4px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}.bottomnav .tab.on{color:var(--accent-ink)}.bookcard{cursor:pointer;align-items:flex-start}.btitle{font-weight:600;line-height:1.4}.cover.big{width:64px;height:90px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips .chip{background:var(--sunk);border:1px solid var(--line);color:var(--muted);padding:5px 11px;font-size:13px;font-family:var(--sans);cursor:pointer}.chips .chip.on{background:var(--accent-wash);border-color:transparent;color:var(--accent-ink);font-weight:600}.card.lock{background:var(--lock-wash);border-color:transparent}.card.open{background:var(--open-wash);border-color:transparent;cursor:pointer}.meter{height:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;overflow:hidden}.meter span{display:block;height:100%;background:var(--lock)}#app{display:flex;flex-direction:column}#app>.pad{flex:1}.card.reply{margin-left:14px}.topbar .muted{font-size:12px}
