:root{--poll-bg: #fbfaf5;--poll-fg: #1a1611;--poll-muted: #6b6359;--poll-line: #e5dfd0;--poll-card: #ffffff;--poll-accent: #2e7d6a;--poll-accent-soft: #d8ece5}:root[data-theme=dark]{--poll-bg: #0e0c08;--poll-fg: #f1ece0;--poll-muted: #9c9485;--poll-line: #2a2620;--poll-card: #16130d;--poll-accent: #6cc4ab;--poll-accent-soft: #1a2a25}body{background:var(--poll-bg);color:var(--poll-fg)}.poll-page{max-width:820px;margin:0 auto;padding:0 24px 96px}.poll-topbar{border-bottom:1px solid var(--poll-line);padding:18px 0;margin-bottom:32px}.poll-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.poll-brand{display:flex;align-items:center;gap:10px}.poll-brand-mark{display:inline-flex;padding:6px;border-radius:8px;background:var(--poll-accent-soft);color:var(--poll-accent)}.poll-brand-name{font-family:Fraunces,serif;font-weight:500;font-size:20px;letter-spacing:-.01em}.poll-mode-switch{display:inline-flex;background:var(--poll-card);border:1px solid var(--poll-line);border-radius:999px;padding:3px;gap:2px}.poll-tab{background:transparent;border:none;padding:6px 14px;border-radius:999px;cursor:pointer;font:inherit;font-size:13px;color:var(--poll-muted);transition:all .15s ease}.poll-tab[aria-selected=true]{background:var(--poll-accent);color:var(--poll-bg);font-weight:600}.poll-h1{font-family:Fraunces,serif;font-weight:400;font-size:clamp(28px,5vw,40px);line-height:1.15;letter-spacing:-.02em;margin:0 0 12px}.poll-eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--poll-muted);margin:0 0 8px}.poll-lead{color:var(--poll-muted);font-size:16px;line-height:1.55;margin:0 0 28px;max-width:60ch}.poll-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--poll-line);background:var(--poll-card);color:var(--poll-fg);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.poll-btn:hover{border-color:var(--poll-accent);color:var(--poll-accent)}.poll-btn-primary{background:var(--poll-accent);color:var(--poll-bg);border-color:var(--poll-accent);font-weight:600}.poll-btn-primary:hover{color:var(--poll-bg);filter:brightness(1.05)}.poll-btn-ghost{background:transparent}.poll-btn-sm{padding:5px 12px;font-size:13px;margin-top:8px}.poll-form{display:grid;gap:18px}.poll-field{display:flex;flex-direction:column;gap:6px}.poll-field-label{font-size:12px;color:var(--poll-muted);font-weight:500}.poll-field input,.poll-opt-row input{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--poll-line);background:var(--poll-bg);color:var(--poll-fg);outline:none;width:100%}.poll-field input:focus,.poll-opt-row input:focus{border-color:var(--poll-accent)}.poll-opt-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.poll-opt-remove{background:none;border:none;cursor:pointer;color:var(--poll-muted);font-size:18px;padding:4px 8px;line-height:1}.poll-opt-remove:hover{color:var(--poll-accent)}.poll-toggle{display:flex;align-items:center;gap:10px;font-size:14px}.poll-toggle input{accent-color:var(--poll-accent)}.poll-form-actions{display:flex;gap:10px;flex-wrap:wrap}.poll-result-card{background:var(--poll-accent-soft);border:1px solid var(--poll-accent);border-radius:14px;padding:18px}.poll-result-label{font-size:12px;color:var(--poll-accent);font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px}.poll-share-row{display:flex;gap:8px}.poll-share-row input{flex:1;font-family:JetBrains Mono,monospace;font-size:13px}.poll-result-hint{font-size:13px;color:var(--poll-muted);margin:10px 0 0}.poll-vote-options{display:grid;gap:10px;margin-bottom:18px}.poll-vote-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--poll-line);background:var(--poll-card);cursor:pointer;transition:border-color .15s ease,background .15s ease}.poll-vote-option:hover{border-color:var(--poll-accent)}.poll-vote-option input{margin:0;accent-color:var(--poll-accent)}.poll-vote-option.is-selected{border-color:var(--poll-accent);background:var(--poll-accent-soft)}.poll-empty{padding:40px 20px;text-align:center;color:var(--poll-muted);border:1px dashed var(--poll-line);border-radius:14px}.poll-link{background:none;border:none;color:var(--poll-accent);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.poll-tally-list{display:grid;gap:12px;margin:24px 0}.poll-tally-row{background:var(--poll-card);border:1px solid var(--poll-line);border-radius:12px;padding:14px 16px}.poll-tally-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.poll-tally-name{font-weight:500}.poll-tally-count{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--poll-muted)}.poll-tally-bar{height:8px;background:var(--poll-line);border-radius:4px;overflow:hidden}.poll-tally-bar-fill{height:100%;background:var(--poll-accent);border-radius:4px;transition:width .3s ease}.poll-tally-voters{margin-top:8px;font-size:12px;color:var(--poll-muted);font-family:JetBrains Mono,monospace}.poll-tally-meta{color:var(--poll-muted);font-size:13px;margin:8px 0 18px}.poll-why{margin-top:64px}.poll-why h2,.poll-faq h2{font-family:Fraunces,serif;font-weight:400;font-size:28px;margin:0 0 16px;letter-spacing:-.01em}.poll-why p{font-size:16px;line-height:1.6;color:var(--poll-fg);max-width:64ch;margin:0}.poll-faq{margin-top:56px}.poll-faq dl{display:grid;gap:18px;margin:0}.poll-faq-item{background:var(--poll-card);border:1px solid var(--poll-line);border-radius:14px;padding:16px 20px}.poll-faq-item dt{font-weight:600;margin:0 0 6px}.poll-faq-item dd{color:var(--poll-muted);line-height:1.55;margin:0}.poll-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--poll-fg);color:var(--poll-bg);padding:10px 18px;border-radius:999px;font-size:14px;box-shadow:0 4px 16px #0000002e;z-index:60}.poll-toast[hidden]{display:none!important}@media(max-width:600px){.poll-share-row{flex-direction:column}.poll-mode-switch{width:100%;justify-content:stretch}.poll-tab{flex:1}}
