/* Styled for a projector: large type, high contrast, dark background.
   Filled in at step 3.4 / 6.2. */
:root { --bg:#14181D; --ink:#E6E9EC; --muted:#98A2AE; --accent:#3FB8A8; }
body { background:var(--bg); color:var(--ink); margin:0; padding:2rem 1.25rem;
  font-family:"Avenir Next",Seravek,"Segoe UI",ui-sans-serif,system-ui,sans-serif;
  line-height:1.5; font-size:1.05rem; }
main { max-width:60rem; margin:0 auto; }
h1 { font-size:2.2rem; margin:0 0 .3rem; }
.note { color:var(--muted); }

.submit { display:flex; gap:.5rem; flex-wrap:wrap; margin:1.5rem 0 2rem; }
.submit input { flex:1 1 12rem; padding:.7rem .8rem; font:inherit; border-radius:6px;
  border:1px solid #2C333B; background:#1B2027; color:var(--ink); }
.submit input::placeholder { color:var(--muted); }
.submit button { padding:.7rem 1.4rem; font:inherit; font-weight:600; border:0;
  border-radius:6px; background:var(--accent); color:#0E1114; cursor:pointer; }

.ideas { list-style:none; padding:0; margin:0; display:grid; gap:.75rem; }
.idea { display:flex; gap:1rem; align-items:flex-start; padding:1rem 1.25rem;
  background:#1B2027; border-radius:8px; }
.vote { display:flex; flex-direction:column; align-items:center; min-width:3.5rem;
  padding:.5rem; font:inherit; border:1px solid #2C333B; border-radius:6px;
  background:transparent; color:var(--accent); cursor:pointer; }
.vote:hover { border-color:var(--accent); }
.votes { font-size:1.4rem; font-weight:700; }
.idea h2 { font-size:1.35rem; margin:0 0 .2rem; }
.desc { margin:0 0 .4rem; }
.meta { color:var(--muted); font-size:.9rem; margin:0; }

.empty { color:var(--muted); padding:2rem; text-align:center; background:#1B2027;
  border-radius:8px; }
.error { padding:1rem 1.25rem; border-radius:8px; background:#3A2226;
  border:1px solid #6B3038; color:#F2C7CD; }
