:root{--ink:#1c1914;--muted:#5c564c;--paper:#efe6d4;--card:#fffaf1;--brass:#b4532a;--brass-deep:#7a3419;--forest:#1f4d3a;--forest-deep:#123328;--rule:#d9cbb3;--danger:#9b1c1c;--focus:#b4532a;--display:"Iowan Old Style", Palatino, "Palatino Linotype", "Times New Roman", serif;--ui:"Segoe UI", system-ui, sans-serif;--space:8px;--radius:10px}*,:before,:after{box-sizing:border-box}html{color:var(--ink);background:var(--paper)}body{min-height:100dvh;font-family:var(--display);background-color:var(--paper);background-image:radial-gradient(circle at 12% 0,#b4532a1f,#0000 42%),radial-gradient(circle at 90% 8%,#1f4d3a14,#0000 36%),repeating-linear-gradient(-18deg,#0000,#0000 11px,#1c191409 11px 12px);margin:0;font-size:1.0625rem;line-height:1.55}.skip{background:var(--ink);color:var(--card);z-index:10;padding:8px 12px;position:absolute;top:-40px;left:12px}.skip:focus{top:12px}.mast,.layout,.foot{width:min(1120px,100% - 32px);margin-inline:auto}.mast{grid-template-columns:1fr auto;align-items:end;gap:24px;padding:40px 0 12px;display:grid}.eyebrow{font-family:var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);margin:0 0 8px;font-size:.75rem}h1,h2{letter-spacing:-.02em;font-weight:600;line-height:1.15}h1{margin:0 0 12px;font-size:clamp(2.4rem,6vw,4.2rem)}h2{margin:0;font-size:1.35rem}.lede{max-width:40rem;color:var(--muted);margin:0;font-size:1.125rem}.box-mark{filter:drop-shadow(0 10px #1c191414);width:160px;height:140px}.layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:24px;padding:12px 0 48px;display:grid}.panel{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:24px;box-shadow:0 12px #1c19140f}.form-panel{position:sticky;top:16px}.hint,.status,.count{font-family:var(--ui);color:var(--muted);font-size:.92rem}.hint{margin:8px 0 20px}form p{margin:0 0 16px}label{font-family:var(--ui);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.82rem;display:block}.req,.opt{letter-spacing:0;text-transform:none;font-weight:500}.req{color:var(--brass-deep)}.opt{color:var(--muted)}input,textarea,button{font:inherit}input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbbda6;border-radius:6px;min-height:44px;padding:12px}textarea{resize:vertical;min-height:96px}input:focus,textarea:focus,button:focus-visible,.vote:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.actions{margin-top:8px}button[type=submit]{cursor:pointer;background:var(--forest);color:#f6efe2;min-height:48px;font-family:var(--ui);letter-spacing:.02em;border:0;border-radius:6px;padding:12px 20px;font-weight:650}button[type=submit]:hover{background:var(--forest-deep)}button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.status[data-kind=error]{color:var(--danger)}.status[data-kind=ok]{color:var(--forest)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.list-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.ideas{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.idea{border:1px solid var(--rule);background:linear-gradient(#fffdf8,#f7f0e2);border-radius:8px;grid-template-columns:72px 1fr;gap:14px;padding:14px;display:grid}.vote{cursor:pointer;min-height:72px;color:var(--ink);font-family:var(--ui);background:#fff;border:1px solid #cbbda6;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.vote strong{font-variant-numeric:tabular-nums;font-size:1.35rem;line-height:1}.vote span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.vote[aria-pressed=true]{background:var(--brass);border-color:var(--brass-deep);color:#fffaf1}.vote[aria-pressed=true] span{color:#f6efe2}.vote:disabled{cursor:default}.idea h3{margin:0 0 6px;font-size:1.2rem}.idea .blurb{margin:0 0 8px}.meta{font-family:var(--ui);color:var(--muted);margin:0;font-size:.8rem}.empty{text-align:center;border:1px dashed var(--rule);color:var(--muted);border-radius:8px;margin:16px 0 0;padding:28px 16px}.foot{font-family:var(--ui);color:var(--muted);padding:0 0 40px;font-size:.88rem}a{color:var(--brass-deep)}@media (width<=860px){.mast,.layout{grid-template-columns:1fr}.form-panel{position:static}.box-mark{display:none}.pair{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
