:root{--bg:#0f1115;--surface:#171a21;--surface-2:#1f232c;--border:#2a2f3a;--text:#e8eaed;--text-dim:#9aa0ab;--accent:#ff5a4d;--accent-soft:#ff7a6f;--accent-dim:#3a2420;--green:#34d399;--amber:#fbbf24;--red:#f87171;--blue:#60a5fa;--radius:14px;--maxw:1120px;--shadow:0 1px 2px rgba(0,0,0,0.4),0 1px 0 rgba(255,255,255,0.025) inset}::selection{background:var(--accent);color:#1a0e0c}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:24px 20px 80px}.topbar{align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg)}.tabbar,.topbar{display:flex;border-bottom:1px solid var(--border)}.tabbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:4px;margin:0 0 22px;padding:8px 2px 0;background:rgba(15,17,21,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-x:auto}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:15px;font-weight:600;padding:8px 14px 12px;cursor:pointer;white-space:nowrap}.tab.active,.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--accent)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em}.brand .dot{width:12px;height:12px;border-radius:3px;background:var(--accent);display:inline-block}.brand small{color:var(--text-dim);font-weight:500}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:#1a0e0c;border:none;font-weight:600}.banner{border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;font-size:13px;display:flex;gap:10px;align-items:flex-start;box-shadow:var(--shadow)}.banner.seed{background:var(--accent-dim);border-color:#5a352f;color:#ffd9d3}.banner.live{background:#11271c;border-color:#1f4a35;color:#c8f5dd}h2.section{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--text-dim);margin:30px 0 14px;display:flex;align-items:center;gap:9px}h2.section:before{content:"";width:4px;height:13px;border-radius:2px;background:var(--accent);display:inline-block}.wrap>div>h2.section:first-child{margin-top:6px}.grid{display:grid;grid-gap:14px;gap:14px}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width:820px){.cols-4{grid-template-columns:repeat(2,1fr)}.cols-2,.cols-3{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card.metric{transition:border-color .15s ease,transform .15s ease}.card.metric:hover{border-color:#3a414f;transform:translateY(-1px)}.metric .label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600;display:flex;align-items:center;gap:6px}.metric .value{font-size:30px;font-weight:700;margin-top:8px;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.05}.metric .sub{font-size:12px;color:var(--text-dim);margin-top:4px}.pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:6px}.pill.good{background:#11271c;color:var(--green)}.pill.warn{background:#2c2410;color:var(--amber)}.pill.bad{background:#2c1414;color:var(--red)}.bar-row{display:flex;align-items:center;gap:12px;margin:8px 0;font-size:13px}.bar-row .barlabel{width:200px;color:var(--text-dim);flex-shrink:0}.bar-track{flex:1 1;height:18px;background:var(--surface-2);border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:6px}.bar-row .barval{width:64px;text-align:right;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.type-tag{font-size:11px;padding:2px 7px;border-radius:6px;background:var(--surface-2);color:var(--text-dim)}.type-tag.founder{background:#11271c;color:var(--green)}.rec{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.rec:last-child{border-bottom:none}.rec .prio{flex-shrink:0;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--accent-dim);color:var(--accent)}.rec .prio.p1{background:var(--accent);color:#1a0e0c}.rec .body{flex:1 1}.rec .lever{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-weight:600}.rec .title{margin:3px 0 5px;font-weight:500}.rec .evidence{font-size:12px;color:var(--text-dim);line-height:1.45}.rec .status{font-size:11px;color:var(--text-dim);margin-top:6px}.hub{text-align:center}.hub .city{font-weight:700;font-size:16px}.hub .tier{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-top:2px}.hub .num{font-size:24px;font-weight:700;margin-top:8px}.hub .pending{font-size:11px;color:var(--amber);margin-top:8px}.hub .hub-eng{font-size:11px;color:var(--text-dim);margin-top:4px}.hub-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;width:100%;cursor:pointer;color:var(--text);transition:border-color .15s ease,transform .15s ease}.hub-btn:hover{border-color:#3a414f;transform:translateY(-1px)}.hub-btn.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,var(--shadow)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:20px}.login h1{font-size:28px;letter-spacing:-.02em;margin:0}.login p{max-width:420px;margin:0}.footnote,.login p{color:var(--text-dim);line-height:1.5}.footnote{font-size:12px;margin-top:6px}.muted{color:var(--text-dim);font-size:13px}.rec-actions{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.btn-sm{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:5px 12px;font-size:13px;cursor:pointer}.btn-sm:hover:not(:disabled){border-color:var(--accent)}.btn-sm.primary{background:var(--accent);color:#1a0e0c;border:none;font-weight:600}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.link-btn{background:none;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;text-decoration:underline;padding:2px}.link-btn:hover{color:var(--text)}.owner-tag{font-size:12px;color:var(--text-dim);background:var(--surface-2);padding:4px 10px;border-radius:999px}.owner-tag.done{background:#11271c;color:var(--green)}.fab{position:fixed;bottom:22px;right:22px;z-index:50;background:var(--accent);color:#1a0e0c;border:none;border-radius:999px;padding:12px 18px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.4)}.fab:hover{filter:brightness(1.05)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;width:100%;max-width:460px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}.modal textarea:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.feedback-done{text-align:center;padding:12px 0}.form-error{color:var(--red);font-size:13px;margin-top:8px}.soc-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}@media (max-width:900px){.soc-grid{grid-template-columns:repeat(2,1fr)}}.soc-day{min-width:0}.soc-day-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:700;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:8px}.soc-empty{color:var(--border);font-size:13px;padding:4px 0}.soc-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:8px}.soc-card.posted{opacity:.55}.plat{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:5px;background:var(--border);color:var(--text)}.plat.yt{background:#b3261e;color:#fff}.plat.ig{background:#c13584;color:#fff}.plat.tt{background:#111;color:#fff;border:1px solid #444}.plat.li{background:#0a66c2;color:#fff}.plat.x{background:#2a2f3a;color:#fff}.soc-post{font-size:12px;line-height:1.4;color:var(--text);margin:6px 0 4px;white-space:pre-wrap}.soc-src{font-size:10px;color:var(--text-dim)}.soc-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:6px}.soc-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:none;border-radius:999px;padding:2px 8px;cursor:pointer}.soc-status.s-planned{background:var(--border);color:var(--text-dim)}.soc-status.s-scheduled{background:#2c2410;color:var(--amber)}.soc-status.s-posted{background:#11271c;color:var(--green)}.city-chip{font-size:10px;font-weight:600;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:1px 7px;margin-left:7px}.seg-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:14px}.seg{background:var(--surface-2);color:var(--text-dim);border:none;border-right:1px solid var(--border);padding:7px 14px;font-size:13px;cursor:pointer}.seg:last-child{border-right:none}.seg.active{background:var(--accent);color:#1a0e0c;font-weight:600}.acq-net{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.acq-net-val{font-size:24px;font-weight:700}.acq-net-val.pos{color:var(--green)}.acq-net-val.neg{color:var(--red)}.barval .delta{margin-left:8px;font-size:11px}.barval .delta.up{color:var(--green)}.barval .delta.down{color:var(--red)}.mix-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600;margin:22px 0 8px}.mix-table td,.mix-table th{padding:7px 8px}.spark{width:100%;height:60px;display:block}.draft-group{margin-bottom:18px}.draft-group:last-child{margin-bottom:0}.draft-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700;margin:6px 0 10px;border-bottom:1px solid var(--border);padding-bottom:6px}.draft{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px}.draft-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.draft-title{font-size:12px;color:var(--text-dim)}.status-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:var(--border);color:var(--text-dim)}.status-badge.approved{background:#2c2410;color:var(--amber)}.status-badge.published{background:#11271c;color:var(--green)}.draft-body{white-space:pre-wrap}.draft textarea,.draft-body{font-size:15px;line-height:1.5;color:var(--text)}.draft textarea{width:100%;background:var(--bg);border:1px solid var(--accent);border-radius:8px;padding:10px;font-family:inherit;resize:vertical;box-sizing:border-box}.draft-why{font-size:12px;color:var(--text-dim);margin-top:8px;line-height:1.45}.draft-actions{gap:10px;margin-top:10px}.capture-wrap,.draft-actions{display:flex;align-items:center}.capture-wrap{min-height:100vh;justify-content:center;padding:32px 20px;background:radial-gradient(1200px 600px at 50% -10%,#1a1d26 0,var(--bg) 60%)}.capture-card{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:0;gap:0;max-width:880px;width:100%;background:#161922;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45)}.capture-pitch{padding:36px 32px;border-right:1px solid var(--border)}.capture-kicker{display:inline-block;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--accent);margin-bottom:14px}.capture-card h1,.capture-pitch h1{font-size:26px;line-height:1.2;margin:0 0 12px;color:var(--text)}.capture-promise{color:var(--text-dim);font-size:15px;line-height:1.5;margin:0 0 18px}.capture-bullets{list-style:none;padding:0;margin:0 0 8px}.capture-bullets li{position:relative;padding-left:24px;margin-bottom:10px;color:var(--text);font-size:14px}.capture-bullets li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.capture-formwrap{padding:36px 32px;display:flex;align-items:center}.capture-form{gap:14px;width:100%}.capture-form,.capture-form label{display:flex;flex-direction:column}.capture-form label{gap:6px;font-size:13px;color:var(--text-dim)}.capture-form input,.capture-form select{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:11px 12px;color:var(--text);font-size:15px}.capture-form input:focus,.capture-form select:focus{outline:none;border-color:var(--accent)}.capture-btn{display:inline-block;text-align:center;background:var(--accent);color:#fff;font-weight:600;font-size:15px;border:none;border-radius:8px;padding:12px 16px;cursor:pointer;text-decoration:none;margin-top:4px}.capture-btn:hover{background:var(--accent-soft)}.capture-btn:disabled{opacity:.6;cursor:default}.capture-err{color:var(--accent);font-size:13px;margin:0}.capture-fine{color:var(--text-dim);font-size:12px;margin:4px 0 0}.capture-done{text-align:center;width:100%}.capture-done h2{margin:0 0 8px;color:var(--text)}.capture-done p{color:var(--text-dim);margin:0 0 16px}@media (max-width:720px){.capture-card{grid-template-columns:1fr}.capture-pitch{border-right:none;border-bottom:1px solid var(--border)}}