[hidden] { display: none !important; }
.landing-tabs,.community-filters,.vote-controls,.proposal-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.landing-tabs { margin:24px 0; }
.landing-tabs button { flex:1; min-width:120px; border:1px solid var(--line); padding:13px 16px; border-radius:12px; background:#111c31; color:var(--text); cursor:pointer; font-weight:700; }
.landing-tabs button[aria-selected="true"] { border-color:var(--accent,#00dec5); color:var(--accent,#00dec5); background:#123447; }
.community-filters { margin-bottom:24px; align-items:end; }
.community-filters label { flex:1; min-width:150px; }
label { display:block; font-size:14px; margin:12px 0; }
label small { display:block; color:var(--muted); margin:7px 0; }
select,input:not([type="range"]),textarea { box-sizing:border-box; max-width:100%; }
.community-filters select,dialog input,dialog textarea,dialog select,.reference-picker select { display:block; width:100%; background:#0a1425; color:var(--text); border:1px solid #435570; border-radius:9px; padding:12px; font:inherit; margin-top:7px; }
.community-group { margin:26px 0; }
.community-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:14px; }
.proposal-card,.reference-card,.proposal-choice { background:#111d31; border:1px solid var(--line); border-radius:16px; padding:20px; min-width:0; overflow-wrap:anywhere; }
.proposal-card h3,.reference-card h2 { margin:8px 0 12px; }
.proposal-card a,.proposal-detail a,.reference-card a { color:#77e7dc; }
.community-meta,.snapshot-note { color:var(--muted); font-size:13px; line-height:1.5; }
.community-empty { color:var(--muted); padding:18px; border:1px dashed #435570; border-radius:12px; }
.vote-controls { margin:14px 0; gap:8px; }
.vote-controls button { padding:8px 11px; border:1px solid #435570; border-radius:8px; background:#102c40; color:var(--text); cursor:pointer; }
.vote-controls button[aria-pressed="true"] { border-color:#00dec5; color:#00dec5; }
.vote-controls button:disabled { opacity:.65; cursor:default; }
.vote-controls small { color:var(--muted); }
.proposal-choice { margin:12px 0; }
.proposal-choice blockquote { margin:14px 0; padding-left:14px; border-left:2px solid #00dec5; white-space:pre-wrap; }
.proposal-actions { margin:24px 0; }
.proposal-detail h1 { margin:26px 0 12px; font-size:clamp(27px,5vw,44px); overflow-wrap:anywhere; }
.proposal-detail p { line-height:1.6; }
.proposal-detail .outcome { color:#00dec5; font-size:26px; font-weight:750; }
.text-button,.mini-button { cursor:pointer; }
dialog { color:var(--text,#edf3ff); background:#101c30; border:1px solid #435570; border-radius:20px; width:min(520px,calc(100% - 28px)); max-height:90dvh; overflow:auto; padding:24px; }
dialog::backdrop { background:rgba(0,0,0,.78); }
dialog h2 { margin:12px 0; }
dialog p { line-height:1.6; color:var(--muted); }
.dialog-close { float:right; }
.form-message { min-height:1.5em; color:#ffd592; }
#recovery-code { display:block; overflow-wrap:anywhere; padding:16px; border:1px dashed #00dec5; margin:16px 0; user-select:all; }
.reference-grid { display:grid; gap:16px; margin:24px 0; }
.reference-card .badge { display:inline-block; font-size:12px; background:#243851; color:#cadbf6; padding:5px 9px; border-radius:20px; }
.reference-card p { line-height:1.6; }
.reference-card dl { display:grid; grid-template-columns:minmax(90px,1fr) 2fr; gap:12px; }
.reference-card dd { margin:0; }
.topbar { gap:10px; }
@media(max-width:500px) { dialog{padding:18px;} .landing-tabs{gap:6px;} .landing-tabs button{min-width:96px;padding:12px 8px;font-size:13px;} .proposal-card{padding:16px;} }

.topbar #account-button { max-width:45%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
