@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0a0e18;--bg-secondary:#10151f;--bg-card:#141a26;--bg-card-hover:#151a26;--bg-elevated:#1a2030;--text-primary:#e8ecf4;--text-secondary:#8892a8;--text-muted:#4a5568;--accent-primary:#00e5c8;--accent-primary-dim:#00e5c820;--accent-primary-glow:#00e5c840;--accent-secondary:#f0a030;--accent-secondary-dim:#f0a03020;--accent-danger:#ff4060;--accent-danger-dim:#ff406020;--accent-success:#20e070;--accent-success-dim:#20e07020;--accent-info:#4090ff;--proto-samizdat:#00e5c8;--proto-hydra:#4090ff;--proto-mirage:#c060ff;--proto-phantom:#ff6090;--proto-echo:#f0a030;--proto-drift:#20e070;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-mono:"IBM Plex Mono", "JetBrains Mono", monospace;--font-sans:"Outfit", system-ui, sans-serif;--shadow-glow:0 0 20px var(--accent-primary-dim), 0 0 60px var(--accent-primary-dim)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;overflow-x:hidden}body:before{content:"";background:radial-gradient(ellipse 80% 60% at 20% 10%, #00e5c808 0%, transparent 70%), radial-gradient(ellipse 60% 40% at 80% 80%, #4090ff06 0%, transparent 60%), radial-gradient(ellipse 50% 50% at 50% 50%, #10141d 0%, var(--bg-primary) 100%);pointer-events:none;z-index:-1;position:fixed;inset:0}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.mono{font-family:var(--font-mono)}.glow-text{text-shadow:0 0 10px var(--accent-primary-glow)}@keyframes pulse-glow{0%,to{opacity:.4}50%{opacity:1}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.dashboard{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid #ffffff08;flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem 1.5rem;display:flex}.header-brand{align-items:center;gap:.6rem;display:flex}.header-brand svg{width:24px;height:24px}.header-title{font-family:var(--font-sans);letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.header-subtitle{font-family:var(--font-mono);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.header-live{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.live-dot{background:var(--accent-success);width:7px;height:7px;box-shadow:0 0 8px var(--accent-success);border-radius:50%;animation:2s ease-in-out infinite pulse-glow}.main-layout{background:#ffffff06;flex:1;gap:1px;min-height:0;display:flex}.map-section{background:var(--bg-card);flex:1;position:relative;overflow:hidden}.map-header{z-index:10;position:absolute;top:.75rem;left:1rem}.map-header h2{margin-bottom:.15rem;font-size:.85rem;font-weight:600}.map-header p{font-family:var(--font-mono);color:var(--text-muted);font-size:.65rem}.stats-overlay{z-index:10;background:#ffffff06;gap:1px;display:flex;position:absolute;bottom:0;left:0;right:0}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10141de0;flex-direction:column;flex:1;gap:.15rem;padding:.75rem 1rem;transition:background .2s;animation:.5s ease-out both fade-in;display:flex}.stat-card:nth-child(2){animation-delay:80ms}.stat-card:nth-child(3){animation-delay:.16s}.stat-card:nth-child(4){animation-delay:.24s}.stat-card:hover{background:#151a26f2}.stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.55rem}.stat-value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1}.stat-value.accent{color:var(--accent-primary)}.stat-value.secondary{color:var(--accent-secondary)}.stat-value.info{color:var(--accent-info)}.stat-value.success{color:var(--accent-success)}.stat-detail{color:var(--text-secondary);font-size:.65rem}.map-legend{z-index:10;gap:1rem;display:flex;position:absolute;bottom:5.5rem;left:1rem}.legend-item{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.6rem;display:flex}.legend-dot{border-radius:50%;width:7px;height:7px}.legend-dot.volunteer{background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary-glow)}.legend-dot.user{background:var(--accent-secondary);box-shadow:0 0 6px var(--accent-secondary-dim)}.legend-dot.route{background:var(--accent-info)}.right-panel{background:#ffffff06;flex-direction:column;flex-shrink:0;gap:1px;width:340px;min-height:0;max-height:100%;display:flex;overflow:hidden}.ai-summary{background:var(--bg-card);border-left:3px solid var(--primary);max-height:360px;padding:1rem 1.25rem;transition:border-left-color .6s,max-height .3s;animation:.4s ease-out both fade-in;position:relative;overflow-y:auto}.ai-summary::-webkit-scrollbar{width:4px}.ai-summary::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:2px}.ai-summary-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#000000bf;animation:.2s ease-out fade-in;position:fixed;inset:0}.ai-summary--expanded{z-index:1000;border-radius:12px;max-height:none;padding:1.5rem 2rem;position:fixed;inset:2rem 4rem;overflow-y:auto;box-shadow:0 0 60px #00e5c814}.ai-summary--expanded .ai-summary-header{border-bottom:1px solid var(--panel-border);margin-bottom:1rem;padding-bottom:.75rem}.ai-summary--expanded .ai-summary-title{font-size:.8rem}.ai-summary--expanded .ai-summary-body{font-size:.88rem;line-height:1.7}.ai-summary--expanded .ai-summary-md h2{font-size:1rem}.ai-summary--expanded .ai-summary-md h3{font-size:.92rem}.ai-summary-header{background:var(--bg-card);z-index:1;justify-content:space-between;align-items:center;margin-bottom:.6rem;padding-bottom:.3rem;display:flex;position:sticky;top:0}.ai-summary-title{color:var(--text-muted);letter-spacing:.12em;align-items:center;gap:.4rem;font:600 .7rem/1 IBM Plex Mono,monospace;display:flex}.ai-summary-icon{color:var(--primary);font-size:.9rem}.ai-summary-actions{align-items:center;gap:.4rem;display:flex}.ai-summary-timestamp{color:var(--text-dim);font:400 .6rem/1 IBM Plex Mono,monospace}.ai-summary-refresh,.ai-summary-expand{border:1px solid var(--panel-border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;padding:.2rem .4rem;font:600 .65rem/1 IBM Plex Mono,monospace;transition:all .2s}.ai-summary-refresh:hover:not(:disabled),.ai-summary-expand:hover{border-color:var(--primary);color:var(--primary)}.ai-summary-refresh:disabled{opacity:.3;cursor:not-allowed}.ai-summary-body{color:var(--text-secondary);font:400 .78rem/1.6 Outfit,sans-serif}.ai-summary-md h1,.ai-summary-md h2{color:var(--primary);margin:.8rem 0 .3rem;padding:0;font:700 .82rem/1.3 IBM Plex Mono,monospace}.ai-summary-md h1:first-child,.ai-summary-md h2:first-child{margin-top:0}.ai-summary-md h3,.ai-summary-md h4{color:var(--text-primary);margin:.7rem 0 .2rem;padding:0;font:700 .76rem/1.3 IBM Plex Mono,monospace}.ai-summary-md p{margin:0 0 .4rem}.ai-summary-md strong{color:var(--text-primary);font-weight:600}.ai-summary-md ul,.ai-summary-md ol{margin:.2rem 0 .5rem;padding-left:1.2rem}.ai-summary-md li{margin-bottom:.15rem}.ai-summary-md li::marker{color:var(--primary)}.ai-summary-md code{color:var(--primary);background:#ffffff0d;border-radius:3px;padding:.1rem .3rem;font:400 .72rem/1 IBM Plex Mono,monospace}.ai-summary-md em{color:var(--text-dim);font-style:italic}.ai-summary-md hr{border:none;border-top:1px solid var(--panel-border);margin:.6rem 0}.ai-summary-loading{color:var(--text-dim);align-items:center;gap:.5rem;font:400 .7rem/1 IBM Plex Mono,monospace;display:flex}.ai-summary-pulse{background:var(--primary);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.ai-summary-cursor{color:var(--primary);animation:.8s step-end infinite blink-cursor}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.ai-summary-placeholder{color:var(--text-dim);font:400 .7rem/1 IBM Plex Mono,monospace}.ai-summary-error{color:var(--danger);align-items:center;gap:.5rem;font:400 .7rem/1.4 IBM Plex Mono,monospace;display:flex}.ai-summary-retry{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:3px;padding:.15rem .4rem;font:500 .6rem/1 IBM Plex Mono,monospace}.impact-card{background:var(--bg-card);flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem 1.25rem;animation:.5s ease-out .3s both fade-in;display:flex}.impact-header{justify-content:space-between;align-items:center;display:flex}.impact-header h3{font-size:.85rem;font-weight:600}.rank-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm);background:var(--accent-primary-dim);color:var(--accent-primary);border:1px solid #00e5c830;padding:.15rem .5rem;font-size:.6rem;font-weight:600}.impact-stats{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.impact-stat{flex-direction:column;gap:.1rem;display:flex}.impact-stat-value{font-family:var(--font-mono);color:var(--accent-primary);font-size:1.2rem;font-weight:700}.impact-stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.55rem}.streak-bar{background:var(--bg-elevated);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.65rem;display:flex}.streak-fire{font-size:.85rem}.streak-count{color:var(--accent-secondary);font-weight:700}.countries-helped{flex-wrap:wrap;gap:.3rem;display:flex}.country-tag{font-family:var(--font-mono);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid #ffffff08;border-radius:3px;padding:.12rem .4rem;font-size:.55rem}.feed-section{background:var(--bg-card);flex-direction:column;flex:1;min-height:0;animation:.5s ease-out .4s both fade-in;display:flex;overflow:hidden}.feed-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.25rem .5rem;display:flex}.feed-header h3{font-size:.85rem;font-weight:600}.feed-count{font-family:var(--font-mono);color:var(--text-muted);font-size:.6rem}.feed-list{flex:1;padding:0 .75rem .75rem;overflow-y:auto}.feed-item{border-bottom:1px solid #ffffff06;gap:.6rem;padding:.5rem .4rem;animation:.4s ease-out both slide-in-right;display:flex}.feed-item:last-child{border-bottom:none}.feed-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:.75rem;display:flex}.feed-icon.generated{background:var(--accent-primary-dim)}.feed-icon.deployed{background:var(--accent-success-dim)}.feed-icon.blocked{background:var(--accent-danger-dim)}.feed-icon.evaded{background:var(--accent-secondary-dim)}.feed-content{flex:1;min-width:0}.feed-title{margin-bottom:.1rem;font-size:.7rem;font-weight:500;line-height:1.3}.feed-meta{font-family:var(--font-mono);color:var(--text-muted);gap:.4rem;font-size:.55rem;display:flex}.feed-protocol{color:var(--accent-info)}.proxy-bar{background:var(--bg-card);cursor:pointer;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;transition:background .2s;display:flex}.proxy-bar:hover{background:var(--bg-card-hover)}.proxy-bar-left{align-items:center;gap:.5rem;min-width:0;display:flex}.proxy-bar-icon{color:var(--accent-primary);flex-shrink:0;font-size:.6rem}.proxy-bar-label{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.58rem;overflow:hidden}.proxy-widget{background:var(--bg-card);flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem 1.25rem;animation:.5s ease-out .2s both fade-in;display:flex}.proxy-header{justify-content:space-between;align-items:center;display:flex}.proxy-header h3{font-size:.85rem;font-weight:600}.proxy-subtitle{font-family:var(--font-mono);color:var(--text-muted);margin-top:.1rem;font-size:.55rem}.proxy-toggle{background:var(--bg-elevated);cursor:pointer;border:1px solid #ffffff15;border-radius:11px;flex-shrink:0;width:42px;height:22px;padding:0;transition:background .3s,border-color .3s;position:relative}.proxy-toggle.active{background:var(--accent-primary-dim);border-color:var(--accent-primary)}.proxy-toggle-knob{background:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:transform .3s,background .3s,box-shadow .3s;position:absolute;top:2px;left:2px}.proxy-toggle.active .proxy-toggle-knob{background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary-glow);transform:translate(20px)}.proxy-session-stats{gap:.75rem;display:flex}.proxy-session-stat{flex-direction:column;gap:.1rem;display:flex}.proxy-session-value{font-family:var(--font-mono);color:var(--accent-primary);font-size:1rem;font-weight:700}.proxy-session-value.current{color:var(--accent-secondary)}.proxy-session-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.5rem}.proxy-live-indicator{background:var(--accent-primary-dim);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--accent-primary);border:1px solid #00e5c820;align-items:center;gap:.5rem;padding:.4rem .65rem;font-size:.6rem;display:flex}.proxy-live-dot{background:var(--accent-primary);width:6px;height:6px;box-shadow:0 0 6px var(--accent-primary-glow);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite pulse-glow}.proxy-live-conns{color:var(--text-muted);margin-left:auto}.proxy-error{font-family:var(--font-mono);color:var(--accent-danger);background:var(--accent-danger-dim);border-radius:var(--radius-sm);border:1px solid #ff406020;padding:.5rem .65rem;font-size:.6rem}@media (width<=1200px){.main-layout{flex-direction:column}.right-panel{width:100%;max-height:40vh}.map-section{min-height:50vh}}@media (width<=768px){.stats-overlay{flex-wrap:wrap}.stat-card{flex:45%}.header{padding:.5rem .75rem}}
