:root{--bg: #0b0f14;--panel: #131a22;--panel-2: #1a232e;--border: #24303d;--text: #e6edf3;--muted: #8b98a5;--accent: #3fb950;--accent-dim: #2ea043;--brand: #3fb950;--brand-dim: #2ea043;--red: #f85149;--blue: #58a6ff;--yellow: #d29922}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:1080px;margin:0 auto;padding:20px 20px 60px}header.top{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}header.top h1{font-size:18px;margin:0;font-weight:650;letter-spacing:-.2px}header.top .brand{display:flex;align-items:center;gap:10px}.dot{width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 10px var(--brand)}.paper-badge{font-size:11px;color:var(--yellow);border:1px solid var(--yellow);border-radius:999px;padding:2px 9px;text-transform:uppercase;letter-spacing:.5px}.who select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px}.who .group-select{font-weight:600;border-color:color-mix(in srgb,var(--brand) 45%,var(--border))}.langsw{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.langbtn{background:var(--panel-2);color:var(--muted);border:none;padding:7px 10px;font-size:12px;cursor:pointer;border-right:1px solid var(--border)}.langbtn:last-child{border-right:none}.langbtn.on{background:var(--brand-dim);color:#04140a;font-weight:600}.who .newgroup{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.who .newgroup:hover{border-color:var(--brand-dim)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px;width:100%;max-width:420px}.modal h2{margin:0 0 4px;font-size:16px}.modal .fld{display:block;font-size:12px;color:var(--muted);margin-top:14px}.modal .fld input{display:block;width:100%;margin-top:5px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px}.modal .fld input:focus{outline:none;border-color:var(--brand-dim)}.modal .adv-toggle{background:none;border:none;color:var(--brand);font-size:12px;cursor:pointer;padding:14px 0 0}.modal .adv{border-left:2px solid var(--border);padding-left:12px;margin-top:4px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-actions .ghost{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer}.modal-actions .primary{background:var(--brand-dim);color:#04140a;border:none;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer}.modal-actions .primary:disabled{opacity:.6;cursor:default}.who label{color:var(--muted);font-size:12px;margin-right:8px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.card .label{color:var(--muted);font-size:12px;margin-bottom:8px}.card .value{font-size:22px;font-weight:650;letter-spacing:-.4px}.card .sub{font-size:12px;margin-top:6px}.pos{color:var(--accent)}.neg{color:var(--red)}.section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:16px}.section h2{font-size:14px;margin:0 0 14px;font-weight:600;color:var(--text)}.section .hint{color:var(--muted);font-size:12px;font-weight:400;margin-left:8px}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer}.tabs button.active{color:var(--text);background:var(--panel-2);border-color:#33445580}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--border);font-size:12px}td{padding:9px 10px;border-bottom:1px solid #1c2632}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.me{background:color-mix(in srgb,var(--brand) 12%,transparent)}tr.me td:first-child{border-left:2px solid var(--brand)}.tag{font-size:11px;padding:2px 8px;border-radius:6px;border:1px solid var(--border);color:var(--muted)}.tag.buy{color:var(--blue);border-color:#1f6feb55}.tag.sell{color:var(--accent);border-color:#2ea04355}.tag.expire{color:var(--muted)}.tag.contrib{color:var(--accent);border-color:#2ea04355}.tag.withdraw{color:var(--red);border-color:#f8514955}.chartwrap{width:100%;overflow-x:auto}.loading{color:var(--muted);padding:40px;text-align:center}.err{color:var(--red);padding:20px}.scorebar{height:6px;background:var(--panel-2);border-radius:4px;overflow:hidden;min-width:60px}.scorebar>div{height:100%;background:linear-gradient(90deg,var(--brand-dim),var(--brand))}.who{display:flex;align-items:center;gap:10px}.who .ident{font-size:14px;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.signout{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer}.signout:hover{color:var(--text)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px}.login-card form{display:flex;flex-direction:column;gap:10px;margin-top:6px}.login-card input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:11px 12px;font-size:14px}.login-card input:focus{outline:none;border-color:var(--brand-dim)}.login-card button.primary{background:var(--brand-dim);color:#04140a;border:none;border-radius:8px;padding:11px;font-size:14px;font-weight:600;cursor:pointer}.login-card button.primary:disabled{opacity:.6;cursor:default}.login-card button.google{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:11px;font-size:14px;cursor:pointer}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:16px 0 12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.invite-note{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:8px;padding:12px 14px;margin:4px 0 14px;font-size:13px;line-height:1.6;text-align:center;color:var(--text)}.invite-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.invite-form input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:14px;min-width:200px}.invite-form input:focus{outline:none;border-color:var(--brand-dim)}input.date-inline,input.amt-inline{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:5px 8px;font-size:13px;color-scheme:dark}input.amt-inline{width:92px}input.date-inline:focus,input.amt-inline:focus{outline:none;border-color:var(--brand-dim)}button.linkbtn{background:transparent;color:var(--brand);border:1px solid var(--border);border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer}.prop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.prop-head h2{margin:0}button.generate{background:var(--brand-dim);color:#04140a;border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}button.generate:disabled{opacity:.6;cursor:default}.summary-callout{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:8px;padding:12px 14px;margin:12px 0 16px;font-size:13px;color:var(--text);line-height:1.5}.profile-row{display:flex;align-items:center;gap:14px;margin-bottom:8px}.avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#04140a;font-weight:700;font-size:16px}.pname{font-size:16px;font-weight:600}.sub-h{font-size:13px;color:var(--muted);font-weight:500;margin:22px 0 12px}.theme-grid{display:flex;flex-wrap:wrap;gap:18px}.swatch{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0}.swatch .dot-lg{width:44px;height:44px;border-radius:50%;border:2px solid transparent;transition:transform .1s}.swatch:hover .dot-lg{transform:scale(1.08)}.swatch.active .dot-lg{box-shadow:0 0 0 2px var(--bg),0 0 0 4px currentColor}.swatch .lbl{font-size:12px;color:var(--muted)}.swatch.active .lbl{color:var(--text);font-weight:600}.swatch.custom .custom-dot{position:relative;overflow:hidden;border:2px solid var(--border);background:conic-gradient(from 0deg,#f85149,#e3b341,#3fb950,#39c5cf,#58a6ff,#a371f7,#f778ba,#f85149)}.swatch.custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;padding:0;cursor:pointer}.prop-list{display:flex;flex-direction:column;gap:12px}.prop-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.prop-card.rejected{opacity:.6}.prop-card.approved{border-color:#2ea04355}.prop-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.prop-id{display:flex;align-items:center;gap:10px}.prop-id .sym{font-size:15px}.prop-id .conf{font-size:11px;color:var(--muted);text-transform:capitalize}.prop-terms{font-size:13px;color:var(--text);margin-bottom:8px;font-variant-numeric:tabular-nums}.prop-rationale{font-size:13px;color:var(--text);line-height:1.55}.prop-risk{font-size:12px;color:var(--yellow);margin-top:6px;line-height:1.5}.vote-block{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.vote-head{font-size:12px;color:var(--text);margin-bottom:8px}.vote-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--panel)}.vote-bar .vfor{background:var(--accent)}.vote-bar .vagainst{background:var(--red)}.vote-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin-top:7px}.voter-list{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:12px;margin-top:8px}.voter-list .voter{white-space:nowrap}.vote-actions{display:flex;align-items:center;gap:8px;margin-top:10px}button.vbtn{background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}button.vbtn.on-for{color:#04140a;background:var(--accent);border-color:transparent}button.vbtn.on-against{color:#fff;background:var(--red);border-color:transparent}.voting-as{font-size:11px}.decide-label{font-size:12px;color:var(--muted);align-self:center;margin-right:2px}.prop-actions{display:flex;gap:8px;margin-top:12px;align-items:center}button.approve,button.reject{border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border)}button.approve{background:var(--accent-dim);color:#04140a;border-color:transparent}button.reject{background:transparent;color:var(--red);border-color:#f8514955}.reviewed{font-size:11px;margin-top:10px;text-transform:capitalize}.status-badge{font-size:11px;padding:2px 9px;border-radius:999px;text-transform:capitalize;border:1px solid var(--border)}.status-badge.st-pending{color:var(--yellow);border-color:var(--yellow)}.status-badge.st-approved{color:var(--accent);border-color:#2ea04355}.status-badge.st-rejected{color:var(--red);border-color:#f8514955}.status-badge.st-executed{color:var(--blue);border-color:#1f6feb55}@media(max-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}
