@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-base:#08080a;--bg-surface:#101013;--bg-raised:#18181c;--bg-input:#1c1c21;--border-dim:#ffffff0d;--border-subtle:#ffffff17;--border-default:#ffffff24;--border-strong:#ffffff38;--text-primary:#edeae0;--text-secondary:#7a7870;--text-muted:#3e3d3a;--text-data:#c4bfa8;--accent:#d4ccac;--accent-dim:#524f42;--accent-glow:#d4ccac1f;--lumen:#7b9cff;--lumen-dim:#7b9cff1f;--seraph:#ff7b7b;--seraph-dim:#ff7b7b1f;--vox:#7b9cff;--vox-dim:#7b9cff1f;--polis:#ff7b7b;--polis-dim:#ff7b7b1f;--signal-high:#52d68a;--signal-mid:#f0b429;--signal-low:#e85c5c;--signal-neutral:#6b7280;--uc-price:#818cf8;--uc-launch:#34d399;--uc-churn:#f87171;--uc-value:#fbbf24;--uc-segment:#60a5fa;--uc-campaign:#a78bfa;--uc-compete:#f472b6;--uc-creative:#2dd4bf;--uc-brand:#fb923c;--uc-regulatory:#94a3b8;--uc-electoral:#ff7b7b;--uc-policy:#ff9e7b;--uc-message:#ffb97b;--uc-candidate:#ff7bbf;--uc-voter-seg:#c17bff;--uc-salience:#7bc4ff;--uc-crisis:#e85c5c;--uc-ballot:#ff7b9e;--uc-trust:#7bffd4;--uc-geo:#7bdcff;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-display:"Inter", sans-serif;--font-body:"Inter", sans-serif;--text-xs:11px;--line-height-xs:1.5;--text-sm:13px;--line-height-sm:1.5;--text-base:15px;--line-height-base:1.6;--text-lg:18px;--line-height-lg:1.4;--text-xl:22px;--line-height-xl:1.3;--text-2xl:32px;--line-height-2xl:1.2}*{box-sizing:border-box}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}#root{width:100vw;height:100vh;display:flex;overflow:hidden}.app-layout{background:var(--bg-base);width:100%;height:100%;display:flex}.sidebar-left{background:var(--bg-surface);border-right:1px solid var(--border-subtle);box-sizing:border-box;z-index:10;flex-direction:column;flex-shrink:0;width:260px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .3s;display:flex;overflow-x:hidden}.sidebar-left.collapsed{opacity:0;border-right:none;width:0}.main-content{background:var(--bg-base);flex-direction:column;flex-grow:1;height:100%;display:flex;position:relative;overflow-y:auto}.sidebar-right{background:var(--bg-surface);border-left:1px solid var(--border-subtle);box-sizing:border-box;z-index:10;flex-direction:column;flex-shrink:0;width:380px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .3s;display:flex;overflow:hidden auto}.sidebar-right.collapsed{opacity:0;border-left:none;width:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.card-elevated{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:10px;padding:20px 24px}.data-value{font-family:var(--font-mono);color:var(--text-data)}.data-value-right{font-family:var(--font-mono);color:var(--text-data);text-align:right}.uc-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.85;background:0 0;border:1px solid;border-radius:3px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;display:inline-flex}.confidence-dot{background-color:currentColor;border-radius:50%;width:7px;height:7px;animation:2.5s ease-in-out infinite conf-pulse;display:inline-block}.bar-label{color:var(--text-secondary);text-align:right;font-size:13px}.bar-track{background:var(--bg-input);border-radius:2px;height:5px;position:relative;overflow:hidden}.bar-pct{font-family:var(--font-mono);color:var(--text-data);text-align:right;font-size:13px}.progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s;position:relative}.synthesis-key{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-top:3px}.segment-row{border-bottom:1px solid var(--border-subtle)}.segment-row:last-child{border-bottom:none}.segment-header{cursor:pointer;width:100%;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:12px 16px;display:flex}.segment-header:hover{background:var(--border-dim)}.pop-grid-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:180px 1fr 60px;align-items:center;gap:16px;padding:12px 16px;display:grid}.pop-grid-row:last-child{border-bottom:none}button,a{transition:border-color .15s,background .15s,opacity .15s}@keyframes reveal-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-in{0%{opacity:0}to{opacity:1}}@keyframes conf-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@keyframes scan{0%{left:-30%}to{left:110%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);box-shadow:0 8px 32px #0003}.glass-panel-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel-hover:hover{background:var(--bg-raised);border-color:var(--border-default);transform:translateY(-2px);box-shadow:0 12px 40px #0000004d}.glass-input{background:var(--bg-input);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-subtle);transition:all .3s}.glass-input:focus-within{border-color:var(--text-data);box-shadow:0 0 16px var(--accent-glow)}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, #b8af8d 100%);color:#000;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px var(--accent-glow);border:none;font-weight:500;transition:all .3s;position:relative;overflow:hidden}.btn-primary:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:50%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%;transform:skew(-20deg)}.btn-primary:hover{box-shadow:0 6px 16px var(--accent-glow-strong);transform:translateY(-1px)}.btn-primary:hover:after{left:150%}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0;transition:all .2s}.btn-secondary:hover{background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-default)}.uc-badge{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.85;background:0 0;border-radius:3px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.confidence-dot{border-radius:50%;width:7px;height:7px;animation:2.5s ease-in-out infinite conf-pulse}.bar-row{grid-template-columns:200px 1fr 48px;align-items:center;gap:12px;padding:6px 0;display:grid}.bar-label{font-size:var(--text-sm);color:var(--text-secondary);text-align:right}.bar-track{background:var(--bg-input);border-radius:2px;height:5px;overflow:hidden}.bar-fill{border-radius:2px;width:0%;height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.bar-fill.winner{background:var(--accent)}.bar-fill.other{background:var(--accent-dim)}.bar-pct{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-data);text-align:right}.synthesis-panel{border:1px solid var(--border-default);border-radius:10px;margin-top:40px;overflow:hidden}.synthesis-row{border-bottom:1px solid var(--border-dim);opacity:0;grid-template-columns:140px 1fr;gap:24px;padding:18px 24px;animation:.35s forwards reveal-up;display:grid}.synthesis-row:last-child{border-bottom:none}.synthesis-row.watch-out{border-left:2px solid var(--signal-low)}.synthesis-key{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-top:3px;font-size:10px}.synthesis-value{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);line-height:var(--line-height-base)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:20px 24px;transition:border-color .15s}.card:hover{border-color:var(--border-default)}.card-elevated{background:var(--bg-raised);border-color:var(--border-default)}.progress-track{background:var(--bg-input);border-radius:2px;height:4px;position:relative;overflow:hidden}.progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.progress-scan{background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:30%;height:100%;animation:1.4s ease-in-out infinite scan;position:absolute;top:0}
