:root { --bg:#f6f5f2; --card:#fff; --ink:#1f2328; --mute:#6b6f76; --acc:#2f6f5e; --line:#e3e1dc; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#16181b; --card:#1f2226; --ink:#e8e6e1; --mute:#9aa0a6; --acc:#5fb39b; --line:#2e3237; }
}
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; background:var(--bg); color:var(--ink); }
header, main, footer { max-width:680px; margin:0 auto; padding:0 16px; }
header { padding-top:40px; }
h1 { margin:0 0 4px; font-size:28px; }
header p { margin:0 0 24px; color:var(--mute); }
form { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px; display:grid; gap:8px; }
input, textarea { width:100%; font:inherit; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--ink); }
.row { display:flex; gap:8px; }
button { font:inherit; cursor:pointer; }
form button { padding:10px 18px; border:0; border-radius:8px; background:var(--acc); color:#fff; white-space:nowrap; }
#msg { margin:0; min-height:1.5em; color:var(--mute); font-size:14px; }
nav { display:flex; gap:8px; margin:24px 0 12px; }
.tab { border:1px solid var(--line); background:transparent; color:var(--mute); border-radius:999px; padding:6px 14px; }
.tab.active { background:var(--ink); color:var(--bg); border-color:var(--ink); }
ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.idea { display:flex; gap:14px; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px; }
.vote { display:flex; flex-direction:column; align-items:center; min-width:52px; padding:6px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--ink); }
.vote.done { border-color:var(--acc); color:var(--acc); cursor:default; }
.arrow { font-size:12px; }
.count { font-weight:600; }
.txt { min-width:0; }
.txt h2 { margin:0; font-size:17px; overflow-wrap:anywhere; }
.txt p { margin:4px 0; overflow-wrap:anywhere; }
.txt small { color:var(--mute); }
.empty { color:var(--mute); text-align:center; padding:24px; }
footer { color:var(--mute); font-size:13px; padding:32px 16px; }
