@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
[hidden]{display:none!important}
:root{color-scheme:dark;--bg:#080c15;--bg2:#0d1422;--panel:#101827;--panel2:#151f30;--border:#273446;--text:#edf2f9;--muted:#92a0b3;--muted2:#697a91;--orange:#ff805f;--cyan:#4bc9e7;--red:#ff6969;--green:#5ed2ab;--radius:14px;font-family:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 20% 0%,#19243a 0,transparent 38%),var(--bg);min-height:100vh;font-size:14px}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}em{font-style:normal;color:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Space Grotesk','DM Sans',sans-serif;letter-spacing:-.035em}p{line-height:1.6}.muted{color:var(--muted)}.accent{color:var(--orange)}.app-shell{max-width:1760px;margin:0 auto;padding:0 38px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-bottom:1px solid #263246;gap:20px}.logo-lockup{display:flex;gap:12px;align-items:center}.logo-symbol{height:42px;width:42px;border:1px solid #bf5b4e;border-radius:10px;display:grid;place-items:center;font-size:31px;color:var(--orange);position:relative;box-shadow:inset 0 0 20px #fa705514}.radar-pulse{position:absolute;inset:12px;border-radius:50%;background:#ff805f66;filter:blur(8px)}.logo-kicker{font-size:9px;letter-spacing:2.1px;color:var(--muted2);display:block;font-weight:800;margin-bottom:2px}.logo-lockup strong{font-family:'Space Grotesk',sans-serif;font-size:20px;letter-spacing:-.7px}.header-right{display:flex;gap:26px;align-items:center}.live-status,.map-topline,.brand-tag,.eyebrow,.panel-counter,.map-badge,.site-footer,.map-corner,.time-ends,.status-pill{font-size:10px;font-weight:800;letter-spacing:1.55px}.live-status{color:var(--green);display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 0 4px #5ed2ab20,0 0 15px #5ed2ab}.header-link{font-size:12px;font-weight:700;color:#c8d3e0}.header-link span{color:var(--orange);margin-left:6px}.hero{padding:38px 0 30px}.eyebrow{color:var(--orange);display:flex;align-items:center;gap:11px}.eyebrow-line{width:26px;height:1px;background:var(--orange)}.hero-content{display:flex;justify-content:space-between;align-items:end;gap:25px}.hero h1{font-size:clamp(35px,4vw,57px);line-height:1.07;margin:10px 0 12px;font-weight:700}.hero p{color:var(--muted);max-width:710px;margin:0;font-size:13.5px}.hero-badge{display:flex;align-items:center;gap:13px;border-left:1px solid #263246;padding-left:25px;white-space:nowrap}.hero-badge strong{font:700 43px 'Space Grotesk';color:var(--orange)}.hero-badge span{font-size:10px;line-height:1.8;letter-spacing:2px;color:#abb8c8;font-weight:800}.sim-grid{display:grid;grid-template-columns:350px minmax(350px,1fr) 325px;gap:12px;align-items:stretch}.control-panel,.results-panel,.map-panel{background:linear-gradient(140deg,#121c2b,#0d1422);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.control-panel,.results-panel{padding:22px}.panel-counter{color:var(--orange)}.panel-heading h2{font-size:20px;margin:8px 0 17px;font-weight:650}.scenario-options{display:flex;flex-direction:column;gap:9px}.scenario-option{background:#131e2d;border:1px solid #29384c;border-radius:9px;min-height:83px;color:var(--text);display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px;transition:background .15s,border-color .15s,transform .15s}.scenario-option:hover{border-color:#637287;transform:translateY(-1px)}.scenario-option.is-active{background:linear-gradient(110deg,#36252a,#1b2434 80%);border-color:#d86f58;box-shadow:inset 3px 0 0 var(--orange)}.scenario-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:8px;font-size:25px}.scenario-icon.nuclear{background:#ff805f1c;color:#ff9b70}.scenario-icon.pandemic{background:#4bc9e71c;color:#4bc9e7}.scenario-icon.zombie{background:#aa85ef24;color:#c3a3f6}.scenario-details{flex:1}.scenario-details strong{display:block;font-size:13px;margin-bottom:5px}.scenario-details small{font-size:10.4px;line-height:1.4;color:var(--muted)}.scenario-arrow{font-size:16px;color:var(--muted2);align-self:flex-start}.is-active .scenario-arrow{color:var(--orange)}.panel-divider{height:1px;background:var(--border);margin:24px 0}.select-heading h2{margin-bottom:5px}.select-heading p{font-size:11.7px;color:var(--muted);margin-bottom:15px}.coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.coord-grid label{font-size:9px;letter-spacing:1.1px;font-weight:800;color:var(--muted2)}input[type=number],input[type=text],input[type=password]{display:block;width:100%;background:#0b1320;border:1px solid #304056;border-radius:7px;color:#f1f6fc;padding:11px;margin:8px 0 0;outline:none;min-width:0}input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #4bc9e71c}input:disabled,button:disabled{cursor:not-allowed;opacity:.5}.location-message{margin:14px 0 20px;display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px}.location-dot{width:8px;height:8px;border-radius:50%;border:1px solid #9daabe;display:inline-block}.location-message.selected .location-dot{border:0;background:var(--green);box-shadow:0 0 8px var(--green)}.btn{border:1px solid transparent;border-radius:8px;padding:12px 15px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:filter .15s,transform .15s}.btn:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px)}.btn.primary{color:#161017;background:linear-gradient(120deg,#ffab73,#ff745f)}.btn.subtle{background:#182437;border-color:#334157;color:#dce7f3}.btn.full{width:100%}.run-btn{min-height:48px;justify-content:space-between}.control-notice{margin:16px 0 0;color:#75859a;font-size:10.7px;line-height:1.65;display:flex;gap:8px}.control-notice span{color:var(--orange)}.map-panel{min-height:590px;position:relative;isolation:isolate}.map-topline{position:absolute;z-index:500;top:17px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;color:#e1e8f2}.map-topline>span{display:flex;align-items:center;gap:9px;padding:10px 12px;background:#0e192ae8;border:1px solid #415267;border-radius:5px;backdrop-filter:blur(5px)}.map-badge{background:#0e192ae8;border:1px solid #415267;border-radius:5px;padding:10px;color:#94a8bc}.map-panel #map{height:100%;min-height:590px;width:100%;background:#111a26}.map-panel .leaflet-tile-pane{filter:grayscale(0.5) brightness(.67) saturate(.8) hue-rotate(6deg)}.leaflet-control-attribution{font-size:10px!important;background:#0a1221dd!important;color:#a7b5c6!important}.leaflet-control-attribution a{color:#9cdef4!important}.leaflet-control-zoom a{background:#101b2cf2!important;color:#e2edf9!important;border-color:#3a4a60!important}.leaflet-control-zoom{border:1px solid #3a4a60!important;box-shadow:none!important}.map-instruction,.map-corner,.map-legend{position:absolute;z-index:520;background:#0c1426e6;border:1px solid #3c4a5c;backdrop-filter:blur(8px);pointer-events:none}.map-instruction{top:76px;left:16px;right:16px;border-style:dashed;border-color:#5f6777;color:#e1b7a4;padding:10px;text-align:center;font-size:9.5px;letter-spacing:1.2px;font-weight:800}.map-corner{bottom:34px;right:14px;border-radius:5px;font-size:9px;color:#7f96ae;padding:11px 12px}.map-corner span{display:block;font-size:11px;color:#d1e3f3;margin-top:4px;letter-spacing:.5px}.map-legend{left:14px;bottom:33px;border-radius:7px;max-width:210px;padding:12px 13px;display:flex;flex-direction:column;gap:9px;font-size:10.5px;color:#d9e6f2}.map-legend[hidden]{display:none}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:11px;height:11px;border-radius:2px;display:inline-block;flex-shrink:0}.results-empty{display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center;min-height:450px;padding:16px 4px}.empty-radar{display:grid;place-items:center;font-size:66px;color:#5a738c;width:145px;height:145px;border:1px dashed #334760;border-radius:50%;box-shadow:0 0 0 18px #1222374a,0 0 0 36px #12223726;margin-bottom:42px}.results-empty h3{font-size:17px;margin:0 0 8px}.results-empty p{color:var(--muted);font-size:11.6px}.empty-stats{align-self:stretch;display:flex;justify-content:space-between;margin-top:20px;border-top:1px solid var(--border);padding-top:17px;color:#647a90;letter-spacing:2px;font-size:10px}.empty-stats span:last-child{color:var(--orange)}.result-label{font-size:10px;letter-spacing:1.3px;color:#ffae92;display:flex;gap:8px;align-items:center;border:1px solid #514139;background:#312424;padding:10px;border-radius:6px}.pulse-small{height:7px;width:7px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 3px #ff805f22}.result-datetime{margin-left:auto;color:#b2b8be}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.metric{background:#101b2d;border:1px solid #2c3b50;border-radius:8px;padding:14px 11px}.metric .metric-label{display:block;color:#91a0b4;font-size:9.5px;letter-spacing:.5px;margin-bottom:9px;min-height:25px}.metric strong{font:700 23px 'Space Grotesk';display:block;color:#e5f0fb;word-break:break-word}.metric small{color:#718399;font-size:9px}.chart-card{border:1px solid #29394d;background:#0e1725;border-radius:8px;padding:13px 10px 10px}.chart-top{display:flex;flex-direction:column;gap:5px}.chart-top small{color:var(--muted);font-size:10px;min-height:27px}.chart-card canvas{width:100%;height:190px;display:block;margin-top:10px}.chart-legend{display:flex;flex-wrap:wrap;gap:13px;font-size:9.4px;color:var(--muted);padding:6px 3px}.chart-legend span:before{content:'';width:10px;height:3px;background:var(--orange);display:inline-block;vertical-align:middle;margin-right:5px}.chart-legend span:nth-child(2):before{background:var(--cyan)}.analysis-note{display:flex;gap:10px;margin-top:14px;padding:13px;border-radius:8px;background:#1e212c;border:1px solid #4a3d42}.note-icon{display:grid;place-items:center;border:1px solid #c88b61;border-radius:50%;height:20px;width:20px;flex:none;font-size:11px;color:#f4a871}.analysis-note strong{font-size:11px;color:#ffc099}.analysis-note p{font-size:10.4px;color:#bbaea9;line-height:1.55;margin:5px 0 0}.timeline-section{background:linear-gradient(105deg,#131e2e,#111929);border:1px solid var(--border);border-radius:var(--radius);margin-top:12px;padding:21px 26px}.timeline-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.timeline-head h2{font-size:17px;margin:7px 0 19px}.time-number{font:700 20px 'Space Grotesk';color:var(--orange)}#time-slider{width:100%;accent-color:var(--orange);cursor:pointer}.time-ends{display:flex;justify-content:space-between;color:#8091a6;margin-top:5px}.timeline-hint{border-top:1px solid var(--border);padding-top:11px;margin-top:16px;color:#7c90a8;font-size:11px}.site-footer{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:27px 0;color:#607289;line-height:1.5}.site-footer a{color:#acbfce}.install-body,.admin-body{background:#0a101c}.install-card,.login-card{max-width:650px;margin:6vh auto;padding:36px 40px;background:#111b2b;border:1px solid #324053;border-radius:16px;box-shadow:0 24px 85px #0005}.install-card h1,.login-card h1{font-size:34px;margin:8px 0}.install-card h2{font-size:17px;margin:29px 0 15px}.install-card .btn{margin-top:25px}.install-checks{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.install-checks span{padding:8px 10px;border:1px solid #345369;background:#152437;font-size:11px;border-radius:6px}.install-checks .ok{color:#7bdcb7;border-color:#306854}.install-checks .warn{color:#f59c8c;border-color:#864437}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}.form-grid label,.login-card label{display:block;color:#a5b3c5;font-size:11px;font-weight:700}.form-grid .wide{grid-column:1/-1}.form-grid input{margin-top:8px}.fine-print{font-size:11px;color:#91a0b3;margin:20px 0 0;line-height:1.7}.fine-print a{color:#e4ab93}.alert{border:1px solid;padding:14px 16px;border-radius:8px;margin:18px 0;font-size:12px;line-height:1.5}.alert.error{border-color:#914c49;background:#401d28;color:#ffc5be}.alert.success{border-color:#36775d;background:#17382f;color:#b4efd7}.brand-tag{color:var(--orange)}.login-card{max-width:420px;margin-top:13vh}.login-card label{margin:17px 0}.login-card button{margin-top:11px}.admin-shell{max-width:1390px;padding:0 32px 70px;margin:0 auto}.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--border);gap:20px}.admin-topbar strong{font-size:19px;font-family:'Space Grotesk'}.admin-topbar .brand-tag{margin-bottom:5px}.header-actions{display:flex;gap:8px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:39px 0 25px}.admin-heading h1{font-size:38px;margin:8px 0}.admin-heading p{margin:0}.status-pill{padding:11px 13px;border:1px solid #355c51;border-radius:6px;background:#132b29;color:#8dddd0;white-space:nowrap}.status-pill .status-dot{margin-right:9px}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.admin-section{background:#111c2b;border:1px solid var(--border);padding:25px;margin-bottom:18px;border-radius:12px}.section-title{display:flex;align-items:center;gap:13px;margin-bottom:22px}.section-title h2{font-size:20px;margin:0}.section-index{font-size:11px;letter-spacing:1px;color:var(--orange);font-weight:800;background:#332525;padding:8px;border-radius:6px}.switch-row{display:flex!important;justify-content:space-between;gap:15px;align-items:center;border:1px solid #334356;background:#152132;border-radius:7px;padding:13px}.switch-row input{width:19px;height:19px;accent-color:var(--orange);margin:0}.sticky-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#18263a;border:1px solid #394b61;border-radius:10px;padding:16px;margin-bottom:18px}.sticky-actions span{font-size:11px;color:var(--muted)}.admin-sidebar{display:flex;flex-direction:column;gap:13px}.insight-card{background:#111c2b;border:1px solid var(--border);border-radius:12px;padding:21px}.insight-card h3{font-size:18px;margin:10px 0}.insight-card p{font-size:12px;color:var(--muted)}.pill-list{display:flex;flex-wrap:wrap;gap:8px}.pill-list span{background:#1d2b3c;border:1px solid #3a4b5c;padding:7px 9px;border-radius:5px;font-size:10px;color:#c8d4e1}.log-list{max-height:360px;overflow:auto}.log-list>div{border-top:1px solid var(--border);padding:11px 0}.log-list strong{display:block;font-size:11px}.log-list small{font-size:10px;color:var(--muted)}
@media(max-width:1450px){.app-shell{padding:0 20px}.sim-grid{grid-template-columns:310px minmax(330px,1fr) 295px}.control-panel,.results-panel{padding:17px}.scenario-option{padding:10px}}@media(max-width:1120px){.sim-grid{grid-template-columns:305px minmax(0,1fr)}.results-panel{grid-column:1/-1}.results-empty{min-height:230px}.metric-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.site-header{padding:17px 0}.hero{padding:29px 0}.hero h1{font-size:38px}.hero-badge,.live-status,.map-badge{display:none}.sim-grid{display:flex;flex-direction:column}.map-panel{order:1;min-height:430px}.control-panel{order:0}.results-panel{order:2}.map-panel #map{min-height:430px}.site-footer{flex-wrap:wrap;justify-content:flex-start}.metric-grid{grid-template-columns:1fr 1fr}.admin-layout{display:block}.admin-topbar,.admin-heading{align-items:flex-start;flex-direction:column}.header-actions{flex-wrap:wrap}.sticky-actions{flex-direction:column;align-items:stretch}.admin-shell{padding:0 16px 40px}.timeline-section{padding:19px 16px}.install-card,.login-card{margin:20px 12px;padding:25px 19px}}@media(max-width:460px){.logo-lockup strong{font-size:16px}.logo-kicker{font-size:8px}.app-shell{padding:0 11px}.map-instruction{font-size:8px;left:10px;right:10px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.map-corner{right:7px}.hero-content{display:block}.time-number{font-size:16px}}

.effect-card{margin-top:14px;padding:13px;border-radius:8px;border:1px solid #314054;background:#101b2c}.effect-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;margin-bottom:8px}.effect-head strong{font-size:11px;color:#d8e6f4}.effect-item{padding:10px 0;border-top:1px solid #29394a}.effect-item strong{display:block;color:#f3dfcb;font-size:11px;margin-bottom:3px}.effect-item p{color:#a3b2c4;font-size:10.5px;line-height:1.55;margin:0}

.regional-card{margin:18px 0;padding:16px;border:1px solid #344456;border-radius:12px;background:#101b2b}.regional-scroll{overflow:auto;max-height:320px}.regional-card table{width:100%;border-collapse:collapse;font-size:12px}.regional-card th,.regional-card td{padding:9px;text-align:left;border-bottom:1px solid #344456;white-space:nowrap}.regional-card th{color:#a6b8ca}.regional-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:220px;overflow:auto}.regional-card details{margin:14px 0}.regional-card summary{cursor:pointer;color:#69cce1}#place-results .btn{white-space:normal;text-align:left;margin:5px 0;line-height:1.5}#run-warnings p{font-size:12px;color:#e5cda7}

#place-query{display:block;width:100%;box-sizing:border-box;margin:7px 0;padding:11px;border:1px solid #344456;border-radius:8px;background:#0d1625;color:#e8eef5;font:inherit}.analysis-note label{display:block;margin-top:12px}#run-weather{line-height:1.65}
