@keyframes streaming-cursor-blink{0%,to{opacity:1}50%{opacity:0}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0d0d0f;--bg-secondary: #111827;--bg-tertiary: #1a2235;--bg-surface: #1f2937;--border-subtle: #1f2937;--border-default: #374151;--border-strong: #4b5563;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #6b7280;--text-placeholder: #4b5563;--color-red: #dc2626;--color-red-dim: #7f1d1d;--color-amber: #d97706;--color-amber-dim: #78350f;--color-green: #059669;--color-green-dim: #064e3b;--color-blue: #2563eb;--color-blue-dim: #1e3a8a;--risk-low: #059669;--risk-moderate: #d97706;--risk-elevated: #ea580c;--risk-high: #dc2626;--risk-severe: #9333ea;--font-ui: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px}html,body{height:100%;width:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);font-size:19px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;width:100%}.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:1px solid var(--color-blue);outline-offset:1px}.cinematic-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000bf;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding-bottom:40px;animation:cinematic-fade-in .3s ease-out}.cinematic-text-box{position:relative;width:80%;max-width:800px;background:#0d0d0ff7;border:1px solid var(--border-default);border-top:2px solid var(--color-blue);padding:40px 24px 24px;font-family:var(--font-mono);color:var(--text-primary);box-shadow:0 4px 32px #000c,0 0 0 1px var(--border-subtle);animation:cinematic-slide-up .3s ease-out}.cinematic-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.cinematic-citizen-name{font-family:var(--font-mono);font-weight:700;color:var(--text-primary);letter-spacing:.1em}.cinematic-time-period{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--text-muted)}.cinematic-time-period.immediate{color:var(--color-amber)}.cinematic-time-period.month{color:#f97316}.cinematic-time-period.six-months{color:var(--color-red)}.cinematic-time-period.year{color:#991b1b}.cinematic-status{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--color-red);margin-bottom:12px;text-transform:uppercase;letter-spacing:.12em}.cinematic-narrative{font-family:var(--font-ui);font-size:14px;line-height:1.8;color:var(--text-secondary);margin-bottom:16px;white-space:pre-wrap;word-wrap:break-word}.cinematic-skip-button{position:absolute;top:10px;right:12px;background:transparent;border:1px solid var(--border-default);color:var(--text-muted);padding:5px 12px;cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;transition:border-color .15s ease,color .15s ease}.cinematic-skip-button:hover{border-color:var(--text-secondary);color:var(--text-primary)}.cinematic-skip-button:active{transform:scale(.97)}@keyframes cinematic-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cinematic-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cinematic-fade-out{0%{opacity:1}to{opacity:0}}.cinematic-overlay.closing{animation:cinematic-fade-out .25s ease-out forwards}.system-week-1,.system-week-2{--system-accent: #00d4ff;--system-accent-dim: #006680;--system-warning: #ffaa00;--system-danger: #ff4444;--system-text-primary: #e0e0e0;--system-glow: rgba(0, 212, 255, .3)}.system-week-3,.system-week-4{--system-accent: #00aacc;--system-accent-dim: #005566;--system-warning: #ff8800;--system-danger: #ff3333;--system-text-primary: #d0d0d0;--system-glow: rgba(255, 136, 0, .2)}.system-week-5,.system-week-6{--system-accent: #cc6600;--system-accent-dim: #663300;--system-warning: #ff4400;--system-danger: #ff0000;--system-text-primary: #c0c0c0;--system-glow: rgba(255, 68, 0, .3)}.crt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.crt-overlay:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 2px);animation:scanlines .1s linear infinite;opacity:.15}.crt-overlay:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.2) 80%,rgba(0,0,0,.4) 100%)}@keyframes scanlines{0%{transform:translateY(0)}to{transform:translateY(2px)}}.crt-overlay.reduced{opacity:.5}.crt-overlay.reduced:before{opacity:.08}@keyframes screen-flicker{0%,to{opacity:1}50%{opacity:.98}75%{opacity:.995}}.system-dashboard-scene{animation:screen-flicker 4s infinite}.risk-bar-fill{transition:width 1s ease-out,background-color .5s ease}.risk-bar-fill.animating{animation:risk-fill-pulse .5s ease-out}@keyframes risk-fill-pulse{0%{filter:brightness(1)}50%{filter:brightness(1.5)}to{filter:brightness(1)}}.risk-bar-fill.risk-low{background:linear-gradient(90deg,#22c55e,#4ade80)}.risk-bar-fill.risk-moderate{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.risk-bar-fill.risk-elevated{background:linear-gradient(90deg,#f97316,#fb923c)}.risk-bar-fill.risk-high{background:linear-gradient(90deg,#ef4444,#f87171)}.risk-bar-fill.risk-critical{background:linear-gradient(90deg,#dc2626,#ef4444);animation:risk-critical-pulse 1s infinite}@keyframes risk-critical-pulse{0%,to{box-shadow:0 0 5px #ef444480}50%{box-shadow:0 0 15px #ef4444cc}}.citizen-dot{transition:all .3s ease}.citizen-dot.pulse-low{animation:dot-pulse-low 3s infinite}.citizen-dot.pulse-moderate{animation:dot-pulse-moderate 2s infinite}.citizen-dot.pulse-high{animation:dot-pulse-high 1s infinite}@keyframes dot-pulse-low{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}@keyframes dot-pulse-moderate{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}@keyframes dot-pulse-high{0%,to{transform:scale(1);box-shadow:0 0 5px var(--system-danger)}50%{transform:scale(1.2);box-shadow:0 0 15px var(--system-danger)}}.alert-panel{transform:translate(100%);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.alert-panel.visible{transform:translate(0);opacity:1}.alert-panel.slide-out{transform:translate(100%);opacity:0}.alert-panel.urgent{animation:alert-shake .5s ease-in-out}@keyframes alert-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.decision-timer{transition:all .3s ease}.decision-timer.warning{color:var(--system-warning);animation:timer-warning 1s infinite}.decision-timer.critical{color:var(--system-danger);animation:timer-critical .5s infinite}@keyframes timer-warning{0%,to{opacity:1}50%{opacity:.7}}@keyframes timer-critical{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.timer-progress{height:3px;background:var(--border-default);border-radius:2px;overflow:hidden;margin-top:4px}.timer-progress-bar{height:100%;background:var(--color-blue);transition:width 1s linear,background-color .3s ease}.timer-progress-bar.warning{background:var(--color-amber)}.timer-progress-bar.critical{background:var(--color-red);animation:timer-bar-pulse .5s infinite}@keyframes timer-bar-pulse{0%,to{opacity:1}50%{opacity:.5}}.data-flow-bg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;opacity:.05;z-index:0}.data-flow-bg:before{content:"";position:absolute;top:-100%;left:0;width:100%;height:200%;background:repeating-linear-gradient(0deg,transparent 0px,transparent 20px,rgba(0,212,255,.1) 20px,rgba(0,212,255,.1) 21px);animation:data-flow-vertical 20s linear infinite}.data-flow-bg:after{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:repeating-linear-gradient(90deg,transparent 0px,transparent 30px,rgba(0,212,255,.05) 30px,rgba(0,212,255,.05) 31px);animation:data-flow-horizontal 30s linear infinite}@keyframes data-flow-vertical{0%{transform:translateY(0)}to{transform:translateY(50%)}}@keyframes data-flow-horizontal{0%{transform:translate(0)}to{transform:translate(50%)}}.network-graph{position:relative;width:100%;height:100%}.network-node{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--color-blue);box-shadow:0 0 8px #2563eb4d;transition:all .3s ease}.network-node:hover{transform:scale(1.5);box-shadow:0 0 15px var(--color-blue)}.network-node.flagged{background:var(--color-red);box-shadow:0 0 8px #dc262680;animation:node-flagged 1s infinite}@keyframes node-flagged{0%,to{box-shadow:0 0 8px #dc262680}50%{box-shadow:0 0 20px #dc2626cc}}.network-edge{position:absolute;height:1px;background:linear-gradient(90deg,var(--border-default),transparent);transform-origin:left center;opacity:.4}.network-edge.active{opacity:.8;animation:edge-pulse 2s infinite}@keyframes edge-pulse{0%,to{opacity:.4}50%{opacity:.9}}.heat-map-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.6;mix-blend-mode:multiply}.heat-spot{position:absolute;border-radius:50%;filter:blur(30px);transition:all .5s ease}.heat-spot.low{background:radial-gradient(circle,rgba(5,150,105,.5),transparent 70%)}.heat-spot.moderate{background:radial-gradient(circle,rgba(217,119,6,.5),transparent 70%)}.heat-spot.high{background:radial-gradient(circle,rgba(220,38,38,.5),transparent 70%)}.data-text,.code-text,.id-text,.timestamp-text{font-family:var(--font-mono);letter-spacing:.02em}.ui-text,.label-text{font-family:var(--font-ui);letter-spacing:.01em}.redacted{position:relative;color:transparent;-webkit-user-select:none;user-select:none}.redacted:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,#333,#333 2px,#222 2px,#222 4px)}.classified{color:var(--color-red);font-weight:700;letter-spacing:.1em;text-transform:uppercase;animation:classified-blink 2s infinite}@keyframes classified-blink{0%,to{opacity:1}50%{opacity:.7}}.glitch{animation:glitch .3s cubic-bezier(.25,.46,.45,.94) both infinite}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}.glitch-text{position:relative}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-text:before{left:2px;text-shadow:-2px 0 var(--color-red);clip:rect(24px,550px,90px,0);animation:glitch-anim-1 2s infinite linear alternate-reverse}.glitch-text:after{left:-2px;text-shadow:-2px 0 var(--color-green);clip:rect(85px,550px,140px,0);animation:glitch-anim-2 2s infinite linear alternate-reverse}@keyframes glitch-anim-1{0%{clip:rect(132px,350px,101px,30px)}25%{clip:rect(17px,350px,94px,30px)}50%{clip:rect(40px,350px,66px,30px)}75%{clip:rect(110px,350px,140px,30px)}to{clip:rect(70px,350px,89px,30px)}}@keyframes glitch-anim-2{0%{clip:rect(129px,350px,36px,30px)}25%{clip:rect(36px,350px,4px,30px)}50%{clip:rect(85px,350px,66px,30px)}75%{clip:rect(67px,350px,98px,30px)}to{clip:rect(14px,350px,46px,30px)}}.loading-bar{height:4px;background:var(--bg-secondary);border-radius:2px;overflow:hidden}.loading-bar-progress{height:100%;background:linear-gradient(90deg,var(--color-blue),var(--color-blue-dim));animation:loading-progress 2s ease-in-out infinite}@keyframes loading-progress{0%{width:0%;margin-left:0%}50%{width:40%;margin-left:30%}to{width:0%;margin-left:100%}}.loading-dots:after{content:"";animation:loading-dots 1.5s infinite}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.fade-in{animation:fade-in .3s ease-out forwards}.fade-out{animation:fade-out .3s ease-out forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.slide-up{animation:slide-up .3s ease-out forwards}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.scale-in{animation:scale-in .2s ease-out forwards}@keyframes scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.system-focus:focus{outline:2px solid var(--color-blue);outline-offset:2px}.system-focus:focus:not(:focus-visible){outline:none}.hover-glow:hover{box-shadow:0 0 15px #2563eb4d;transition:box-shadow .3s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;transition:transform .2s ease,box-shadow .2s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.crt-overlay:before{animation:none}.system-dashboard-scene{animation:none}}
