:root{
  --bg:#07111e;--panel:rgba(7,17,30,.82);--panel2:rgba(8,22,37,.72);--line:rgba(122,224,255,.12);
  --cyan:#28dcf4;--cyan2:#87f2ff;--text:#d9edf7;--muted:#7892a6;--red:#ff4e72;--amber:#ffc04e;--green:#48e39c;
}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text)}
button,input{font:inherit}.hidden{display:none!important}.glass{background:linear-gradient(180deg,rgba(10,23,39,.97),rgba(4,13,24,.95));border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.28)}
#viewport{position:absolute;inset:0;background:#06111d}#viewport canvas{display:block;width:100%;height:100%;outline:none}
.topbar{position:absolute;z-index:30;left:18px;right:18px;top:16px;height:60px;border-radius:14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px 0 12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(40,220,244,.3);background:rgba(40,220,244,.08);color:var(--cyan);font-weight:900;font-size:11px;letter-spacing:.08em;box-shadow:inset 0 0 20px rgba(40,220,244,.05)}
.brand strong{display:block;font-size:12px;letter-spacing:.1em}.brand small{display:block;color:#668399;font-size:8px;letter-spacing:.13em;margin-top:2px}
.top-center{display:flex;align-items:center;gap:9px;color:#91aaba;font-size:10px;letter-spacing:.06em}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.status-dot.paused{background:var(--amber);box-shadow:0 0 12px var(--amber)}.divider{width:1px;height:14px;background:var(--line)}#timeTop{color:var(--cyan);font-variant-numeric:tabular-nums}
.top-actions{display:flex;justify-content:flex-end;gap:7px}.top-btn{width:36px;height:36px;border-radius:9px;border:1px solid rgba(126,225,255,.12);background:rgba(2,10,18,.62);color:#aac4d5;cursor:pointer}.top-btn:hover{color:white;border-color:rgba(40,220,244,.42)}
.panel{position:absolute;z-index:20;top:91px;bottom:92px;width:278px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(40,220,244,.35) transparent;transition:transform .25s ease,opacity .25s ease}.left-panel{left:18px;border-radius:14px}.right-panel{right:18px;border-radius:14px}.panels-hidden .left-panel{transform:translateX(-310px);opacity:0;pointer-events:none}.panels-hidden .right-panel{transform:translateX(310px);opacity:0;pointer-events:none}
.panel-heading{position:relative;padding:16px 16px 12px;border-bottom:1px solid var(--line)}.panel-heading strong{display:block;font-size:13px;margin-top:3px}.eyebrow,.section-title{color:#68869c;font-size:8px;letter-spacing:.18em;text-transform:uppercase}.control-section{padding:0;border-bottom:1px solid rgba(126,225,255,.07)}.section-title{margin-bottom:11px}.panel-heading-actions{position:absolute;right:10px;bottom:10px;display:flex;gap:4px}.panel-heading-actions button{padding:3px 5px;border:0;border-radius:5px;background:rgba(255,255,255,.035);color:#668397;font-size:6px;text-transform:uppercase;cursor:pointer}.panel-heading-actions button:hover{color:var(--cyan);background:rgba(40,220,244,.08)}
.collapsible-section{display:block!important;overflow:hidden;transition:border-color .2s ease}.collapsible-trigger{width:100%;min-height:48px;padding:10px 14px;border:0;background:transparent;color:#8da7b8;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.collapsible-trigger:hover{background:rgba(40,220,244,.035);color:#dffaff}.collapsible-trigger:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}.collapsible-trigger span{min-width:0}.collapsible-trigger b{display:block;color:inherit;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.collapsible-trigger small{display:block;margin-top:3px;color:#58758a;font-size:7px;letter-spacing:.03em}.collapsible-trigger i{font-style:normal;color:#5e7f93;font-size:16px;line-height:1;transform:rotate(-90deg);transition:transform .2s,color .2s}.collapsible-section.is-open>.collapsible-trigger{background:linear-gradient(90deg,rgba(40,220,244,.055),transparent);color:var(--cyan)}.collapsible-section.is-open>.collapsible-trigger i{transform:rotate(0);color:var(--cyan)}.collapsible-content{display:none;padding:1px 15px 13px}.collapsible-section.is-open>.collapsible-content{display:block;animation:sectionReveal .18s ease-out}.events.is-open>.collapsible-content{display:grid;gap:7px}.right-panel>.collapsible-section{margin:0;padding:0;border:0;border-bottom:1px solid rgba(126,225,255,.07);border-radius:0;background:transparent}.right-panel>.collapsible-section>.collapsible-content{margin:0;padding:1px 12px 12px}.right-panel .metrics-grid>.collapsible-content{display:none;grid-template-columns:1fr 1fr;gap:7px}.right-panel .metrics-grid.is-open>.collapsible-content{display:grid}.right-panel .urban-card>.collapsible-content{display:none;grid-template-columns:1fr 1fr;gap:6px}.right-panel .urban-card.is-open>.collapsible-content{display:grid}.right-panel .gauge-card>.collapsible-content{padding-bottom:0;text-align:center}@keyframes sectionReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.range-row{display:block;margin:12px 0 14px}.range-row span{display:flex;justify-content:space-between;color:#92a9b8;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.range-row b{color:var(--cyan)}input[type=range]{width:100%;accent-color:var(--cyan);cursor:pointer}.range-row.compact{margin-bottom:2px}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:10px;background:#06111e;border:1px solid rgba(126,225,255,.09)}.segmented button{border:0;border-radius:7px;background:transparent;color:#748fa3;padding:7px 3px;font-size:8px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.segmented button.active{background:var(--cyan);color:#04131c;font-weight:900;box-shadow:0 0 20px rgba(40,220,244,.18)}
.signal-planner{margin-top:10px;padding:10px;border:1px solid rgba(126,225,255,.09);border-radius:11px;background:linear-gradient(145deg,rgba(22,48,64,.34),rgba(5,17,28,.48))}.signal-planner-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#7591a4;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.signal-planner-head b{color:#9bdcea;font-size:7px}.signal-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.signal-tool-grid button{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px;min-height:43px;padding:6px;border:1px solid rgba(126,225,255,.1);border-radius:8px;background:rgba(255,255,255,.025);color:#9bb4c4;text-align:left;cursor:pointer;transition:.2s}.signal-tool-grid button:hover{border-color:rgba(40,220,244,.35);background:rgba(40,220,244,.07)}.signal-tool-grid button.active{border-color:rgba(40,220,244,.7);background:rgba(40,220,244,.14);color:#e9fbff;box-shadow:0 0 18px rgba(40,220,244,.1)}.signal-tool-grid button#removeSignal.active{border-color:rgba(255,78,114,.65);background:rgba(255,78,114,.12)}.signal-tool-grid i{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(40,220,244,.12);color:var(--cyan);font-style:normal;font-size:16px}.signal-tool-grid #removeSignal i{background:rgba(255,78,114,.1);color:#ff839a}.signal-tool-grid span{font-size:8px;font-weight:800;text-transform:uppercase}.signal-tool-grid small{display:block;margin-top:2px;color:#5f7b90;font-size:6px;font-weight:500}.signal-planner p{margin:8px 0 0;color:#668397;font-size:7px;line-height:1.45}.signal-planner p.active{color:#b9edf5}
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#91a9b8;font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin:13px 0}.switch input{display:none}.switch span{display:block;width:34px;height:18px;border-radius:99px;background:#23394b;position:relative;cursor:pointer}.switch span:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;left:3px;top:3px;background:#91a8b9;transition:.2s}.switch input:checked+span{background:rgba(40,220,244,.3);box-shadow:inset 0 0 0 1px rgba(40,220,244,.25)}.switch input:checked+span:after{left:19px;background:var(--cyan);box-shadow:0 0 9px rgba(40,220,244,.7)}.hint{color:#5e7a8f;font-size:9px;line-height:1.5}
.events{display:grid;gap:7px}.events .section-title{margin-bottom:4px}.action-btn{width:100%;border-radius:9px;padding:9px 10px;border:1px solid transparent;font-size:9px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;font-weight:800}.action-btn.primary{background:linear-gradient(90deg,#1ecbe2,#40e8f7);color:#04202a}.action-btn.danger{color:#ff9db0;background:rgba(255,78,114,.08);border-color:rgba(255,78,114,.28)}.action-btn.ghost{color:#88a3b5;background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.06)}.action-btn:hover{filter:brightness(1.12)}
.action-btn.fire{color:#ffb07b;background:rgba(255,111,45,.1);border-color:rgba(255,125,61,.35)}.action-btn.fire-primary{color:#281006;background:linear-gradient(90deg,#ff7a32,#ffb14b);border-color:rgba(255,166,72,.55)}
.action-btn.police-primary{color:#e8f3ff;background:linear-gradient(90deg,#175aa0,#347fca);border-color:rgba(92,164,255,.48)}.action-btn.police-primary.motorcycle{background:linear-gradient(90deg,#214b78,#3d6f9f)}.action-btn.rescue-primary{color:#291306;background:linear-gradient(90deg,#e86c28,#ffc04e);border-color:rgba(255,192,78,.5)}
.action-btn:disabled{filter:none!important;cursor:not-allowed;color:#567184!important;background:rgba(255,255,255,.025)!important;border-color:rgba(126,225,255,.06)!important;box-shadow:none!important;opacity:.72}.next-action-card{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:9px;border:1px solid rgba(72,227,156,.22);border-radius:10px;background:linear-gradient(135deg,rgba(72,227,156,.1),rgba(7,22,32,.42))}.next-action-card>i{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:rgba(72,227,156,.15);color:var(--green);font-style:normal;font-size:14px}.next-action-card span{min-width:0}.next-action-card b{display:block;color:#d9edf7;font-size:9px}.next-action-card small{display:block;overflow:hidden;margin-top:3px;color:#7190a2;font-size:7px;line-height:1.35;text-overflow:ellipsis}.next-action-card button{padding:6px 7px;border:1px solid rgba(40,220,244,.18);border-radius:7px;background:rgba(40,220,244,.07);color:var(--cyan);font-size:7px;cursor:pointer}.next-action-card.urgent{border-color:rgba(255,78,114,.38);background:linear-gradient(135deg,rgba(255,78,114,.13),rgba(7,22,32,.45))}.next-action-card.urgent>i{background:rgba(255,78,114,.16);color:#ff7c96;animation:actionPulse 1.3s ease-in-out infinite}.next-action-card.responding{border-color:rgba(255,192,78,.28);background:linear-gradient(135deg,rgba(255,192,78,.1),rgba(7,22,32,.42))}.next-action-card.responding>i{background:rgba(255,192,78,.14);color:var(--amber)}.next-action-card.cleanup{border-color:rgba(72,227,156,.34)}.next-action-card.waiting{border-color:rgba(126,146,162,.2);background:linear-gradient(135deg,rgba(126,146,162,.08),rgba(7,22,32,.42))}.next-action-card.waiting>i{background:rgba(126,146,162,.12);color:#8ea8b8}@keyframes actionPulse{50%{transform:scale(1.08);box-shadow:0 0 14px rgba(255,78,114,.28)}}
.emergency-action-label{display:flex;align-items:center;justify-content:space-between;margin-top:3px;padding:5px 2px 1px;color:#829cae;font-size:8px;letter-spacing:.06em;text-transform:uppercase}.emergency-action-label b{color:#b6cbd7;font-size:8px}.emergency-action-label span{font-size:7px}.emergency-action-label.response{margin-top:7px;border-top:1px solid rgba(122,169,192,.12);padding-top:8px}
.layers-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.layers-grid label{font-size:9px;color:#7f99ab;display:flex;gap:6px;align-items:center}.layers-grid input{accent-color:var(--cyan)}
.gauge-card,.event-card,.mini-card,.urban-card{margin:12px;border:1px solid rgba(126,225,255,.08);border-radius:12px;background:rgba(3,10,18,.3)}.gauge-card{padding:11px 11px 0;text-align:center}.gauge-card .collapsible-content>span{color:#6e899d;text-transform:uppercase;letter-spacing:.13em;font-size:8px}.gauge-wrap{position:relative;height:101px}.gauge-wrap svg{width:170px;height:100px}.gauge-bg,.gauge-fg{fill:none;stroke-width:10;stroke-linecap:round}.gauge-bg{stroke:#153047}.gauge-fg{stroke:var(--cyan);stroke-dasharray:0 100;filter:drop-shadow(0 0 6px rgba(40,220,244,.5));transition:.25s}.gauge-value{position:absolute;left:0;right:0;top:52px;display:grid;place-items:center}.gauge-value b{font-size:27px;line-height:1}.gauge-value span{font-size:8px;margin-top:4px;letter-spacing:.14em;color:var(--cyan)}
.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px}.metrics-grid article{padding:9px;min-height:54px;border-radius:9px;background:rgba(255,255,255,.025);border:1px solid rgba(126,225,255,.055)}.metrics-grid span{display:block;color:#647f93;font-size:7px;text-transform:uppercase;letter-spacing:.09em}.metrics-grid b{display:block;margin-top:5px;color:#d8edf7;font-size:15px}.metrics-grid i{font-style:normal}
.event-card{padding:11px}.event-title{display:flex;justify-content:space-between;color:#829bad;text-transform:uppercase;letter-spacing:.1em;font-size:8px;padding-bottom:8px;border-bottom:1px solid rgba(126,225,255,.07)}.event-line{display:grid;grid-template-columns:12px 1fr auto;align-items:center;color:#7b95a7;font-size:9px;padding-top:8px}.event-line b{color:#d9edf7}.dot{width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px currentColor}.dot.red{color:var(--red);background:var(--red)}.dot.cyan{color:var(--cyan);background:var(--cyan)}.dot.green{color:var(--green);background:var(--green)}
.dot.orange{color:#ff6b2d;background:#ff6b2d}.dot.amber{color:#ffb43f;background:#ffb43f}
.dot.blue{color:#5ca4ff;background:#5ca4ff}
.mini-card{padding:10px}.mini-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.mini-title span{color:#839faf;font-size:8px;letter-spacing:.12em}.mini-title small{color:#4f697e;font-size:7px}#minimap{display:block;width:100%;height:150px;border-radius:8px;background:#06111d;border:1px solid rgba(126,225,255,.06)}
.urban-card{padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.urban-card .collapsible-content>div{padding:8px;border-radius:8px;background:rgba(255,255,255,.02)}.urban-card span{display:block;color:#5e788d;font-size:7px;text-transform:uppercase}.urban-card b{display:block;margin-top:3px;font-size:13px}
.camera-bar{position:absolute;z-index:31;left:50%;bottom:20px;transform:translateX(-50%);border-radius:14px;padding:7px;display:flex;gap:5px}.camera-btn{min-width:118px;height:52px;border-radius:10px;border:1px solid transparent;background:rgba(3,10,18,.36);color:#7995a8;display:grid;grid-template-columns:28px 1fr;grid-template-rows:1fr 1fr;text-align:left;align-items:center;cursor:pointer;padding:5px 9px}.camera-btn>span{grid-row:1/3;font-size:9px;color:#4b687e}.camera-btn b{font-size:9px;letter-spacing:.08em;color:#9bb4c4}.camera-btn small{font-size:7px;color:#526e82}.camera-btn.active{border-color:rgba(40,220,244,.38);background:rgba(40,220,244,.1);box-shadow:0 0 24px rgba(40,220,244,.08)}.camera-btn.active b,.camera-btn.active>span{color:var(--cyan)}.camera-btn.narrow{min-width:76px;grid-template-columns:1fr;text-align:center}.camera-btn.narrow b{font-size:16px}.camera-btn.narrow small{font-size:7px}
.selection-card{position:absolute;z-index:32;left:50%;bottom:92px;transform:translateX(-50%);width:300px;padding:12px 14px;border-radius:12px}.selection-card>button#closeSelection{position:absolute;right:8px;top:7px;border:0;background:transparent;color:#6e8799;font-size:18px;cursor:pointer}.selection-card>span{display:block;color:var(--cyan);font-size:7px;letter-spacing:.14em}.selection-card strong{display:block;margin-top:4px;font-size:13px}.selection-card p{margin:5px 0 10px;color:#7892a4;font-size:9px;line-height:1.45}.mini-action{border:1px solid rgba(40,220,244,.24);background:rgba(40,220,244,.08);color:var(--cyan);border-radius:7px;padding:6px 9px;font-size:8px;text-transform:uppercase;cursor:pointer}
.walk-hint{position:absolute;z-index:18;left:50%;top:94px;transform:translateX(-50%);padding:9px 13px;border-radius:10px;background:rgba(2,9,17,.72);border:1px solid rgba(40,220,244,.16);backdrop-filter:blur(10px);pointer-events:none;text-align:center}.walk-hint b{display:block;color:var(--cyan);font-size:8px;letter-spacing:.12em}.walk-hint span{display:block;color:#7994a7;font-size:8px;margin-top:3px}.crosshair{display:none;position:absolute;z-index:17;left:50%;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;color:transparent}.crosshair:before,.crosshair:after{content:"";position:absolute;background:rgba(121,239,255,.65);box-shadow:0 0 6px rgba(40,220,244,.5)}.crosshair:before{left:6px;top:0;width:1px;height:14px}.crosshair:after{left:0;top:6px;width:14px;height:1px}.walk-mode .crosshair{display:block}
.walk-hint button{display:none;margin:8px auto 0;padding:6px 10px;border:1px solid rgba(40,220,244,.3);border-radius:7px;background:rgba(40,220,244,.12);color:#d9faff;font-size:8px;font-weight:800;cursor:pointer;pointer-events:auto}.walk-hint button:hover{background:rgba(40,220,244,.24)}
.loading-card{position:absolute;z-index:80;width:min(410px,calc(100% - 36px));left:50%;top:50%;transform:translate(-50%,-50%);padding:25px;border-radius:15px;text-align:center;transition:opacity .35s,transform .35s}.loading-card.done{opacity:0;pointer-events:none;transform:translate(-50%,-47%)}.loader-ring{width:38px;height:38px;border-radius:50%;border:3px solid rgba(40,220,244,.13);border-top-color:var(--cyan);margin:0 auto 13px;animation:spin .9s linear infinite}.loading-kicker{font-size:7px;letter-spacing:.18em;color:#55758b;margin-bottom:8px}.loading-card strong{display:block;font-size:14px;letter-spacing:.05em}.loading-card>span{display:block;color:#718da1;font-size:9px;line-height:1.5;margin:8px 0 15px}.progress{height:3px;background:#102437;border-radius:99px;overflow:hidden}.progress i{display:block;width:8%;height:100%;background:linear-gradient(90deg,#23cee5,#86f3ff);transition:width .3s}
.toast{position:absolute;z-index:70;left:50%;bottom:93px;transform:translate(-50%,12px);opacity:0;padding:9px 13px;border-radius:9px;background:rgba(3,12,20,.93);border:1px solid rgba(126,225,255,.12);color:#cfe7f2;font-size:9px;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:absolute;z-index:100;inset:0;background:rgba(2,7,13,.62);display:grid;place-items:center;backdrop-filter:blur(5px)}.modal-card{width:min(680px,calc(100% - 32px));border-radius:16px;padding:25px;position:relative}.modal-card h2{font-size:21px;margin:7px 0 18px}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#7895a9;font-size:24px;cursor:pointer}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-grid div{padding:13px;border:1px solid rgba(126,225,255,.07);background:rgba(255,255,255,.018);border-radius:10px}.help-grid b{display:block;color:var(--cyan);font-size:9px;letter-spacing:.1em;margin-bottom:6px}.help-grid span{font-size:9px;line-height:1.55;color:#819aac}.help-grid kbd{padding:2px 5px;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:#06111c;color:#cce8f4}.help-foot{color:#617e92;font-size:8px;margin:13px 0 0}
.attribution{position:absolute;z-index:16;bottom:5px;right:18px;border-radius:7px;padding:5px 8px;color:#506c81;font-size:7px;letter-spacing:.03em}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.panel{width:245px}.camera-btn{min-width:104px}.top-center{display:none}}
@media(max-width:860px){.right-panel{display:none}.left-panel{width:226px}.camera-btn{min-width:76px;grid-template-columns:1fr;text-align:center}.camera-btn>span{display:none}.camera-btn small{display:none}.camera-btn.narrow{min-width:55px}.brand small{display:none}}
@media(max-width:600px){.topbar{left:8px;right:8px;top:8px}.left-panel{left:8px;top:78px;bottom:82px;width:210px}.camera-bar{bottom:12px;max-width:calc(100% - 16px)}.camera-btn{min-width:58px;height:44px;padding:5px}.camera-btn b{font-size:7px}.camera-btn.narrow{min-width:42px}.attribution{display:none}.help-grid{grid-template-columns:1fr}.selection-card{width:min(300px,calc(100% - 20px))}}

.mini-title button{border:0;background:transparent;color:#7192a8;cursor:pointer;font-size:14px}
.mini-card.expanded{position:fixed;z-index:60;width:min(720px,calc(100vw - 40px));height:min(70vh,620px);left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:16px;background:rgba(4,13,24,.96);box-shadow:0 30px 100px #000}
.mini-card.expanded #minimap{height:calc(100% - 28px)}
.audio-btn{position:absolute;z-index:35;right:20px;bottom:28px;width:34px;height:34px;border-radius:9px;color:#8ba8b9;border:1px solid var(--line);cursor:pointer}
.rain-layer{position:absolute;z-index:14;inset:-20%;pointer-events:none;opacity:.3;background-image:repeating-linear-gradient(105deg,transparent 0 18px,rgba(190,225,245,.45) 19px,transparent 20px 34px);background-size:40px 140px;animation:rainfall .45s linear infinite;mix-blend-mode:screen}
.drive-mode .crosshair{display:block}.drive-mode .walk-hint{display:block!important;pointer-events:auto}.drive-mode .walk-hint b:after{content:" · CONDUCCIÓN"}.drive-mode .walk-hint button{display:block}
@keyframes rainfall{to{transform:translate3d(-40px,140px,0)}}

/* Portada de acceso */
.sim-dormant{visibility:hidden;pointer-events:none}
.landing{position:fixed;inset:0;z-index:500;overflow-x:hidden;overflow-y:auto;background:#050b14;color:#eef8fc;scroll-behavior:smooth;transition:opacity .42s ease,transform .42s ease}
.landing-leaving{opacity:0;transform:scale(1.015);pointer-events:none}
.landing-hero{position:relative;min-height:100svh;isolation:isolate;overflow:hidden;background-image:linear-gradient(90deg,rgba(3,8,15,.96) 0%,rgba(4,10,18,.82) 36%,rgba(4,9,16,.26) 68%,rgba(2,7,13,.2) 100%),linear-gradient(0deg,rgba(4,10,18,.94) 0%,transparent 35%,rgba(3,8,15,.32) 100%),url('assets/chanco-hero-real.png');background-size:cover;background-position:center 48%}
.landing-hero:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px);mix-blend-mode:overlay;opacity:.5}
.landing-hero:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;box-shadow:inset 0 0 160px rgba(0,0,0,.55)}
.landing-grid{position:absolute;z-index:-1;inset:0;opacity:.15;background-image:linear-gradient(rgba(40,220,244,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(40,220,244,.12) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 58%)}
.landing-nav{position:absolute;z-index:2;top:0;left:50%;width:min(1380px,calc(100% - 64px));height:92px;transform:translateX(-50%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(139,221,239,.13)}
.landing-brand{display:flex;align-items:center;gap:13px;color:#edf8fc;text-decoration:none;width:max-content}.landing-brand-mark{position:relative;width:37px;height:37px;display:block;transform:rotate(30deg);border:1px solid rgba(75,230,247,.7);box-shadow:inset 0 0 18px rgba(40,220,244,.16),0 0 18px rgba(40,220,244,.08)}.landing-brand-mark:before,.landing-brand-mark:after,.landing-brand-mark i{content:"";position:absolute;border:1px solid rgba(116,104,255,.7)}.landing-brand-mark:before{inset:6px;transform:rotate(60deg)}.landing-brand-mark:after{inset:11px;transform:rotate(-30deg);background:rgba(40,220,244,.15)}.landing-brand-mark i:nth-child(1){left:50%;top:-5px;height:46px;border-width:0 0 0 1px}.landing-brand-mark i:nth-child(2){top:50%;left:-5px;width:46px;border-width:1px 0 0}.landing-brand-mark i:nth-child(3){inset:4px;transform:rotate(-60deg)}
.landing-brand b{display:block;font-size:15px;letter-spacing:.05em}.landing-brand small{display:block;margin-top:3px;color:#5f8194;font-size:7px;letter-spacing:.2em}
.landing-links{height:100%;display:flex;align-items:center;gap:40px}.landing-links a,.landing-links button{position:relative;border:0;background:transparent;color:#8193a6;text-decoration:none;font-size:14px;cursor:pointer;padding:10px 0}.landing-links a:hover,.landing-links button:hover,.landing-links .active{color:#fff}.landing-links .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.landing-nav-cta,.landing-primary{border:0;border-radius:999px;background:linear-gradient(100deg,#26d9e9,#55f1ee);color:#03141d;font-weight:850;cursor:pointer;box-shadow:0 12px 35px rgba(25,213,230,.2);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.landing-nav-cta{justify-self:end;padding:13px 22px;font-size:13px}.landing-nav-cta span,.landing-primary span{font-size:.8em;margin-right:7px}.landing-nav-cta:hover,.landing-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(25,213,230,.32);filter:brightness(1.07)}.landing-nav-cta:disabled,.landing-primary:disabled{cursor:wait;filter:saturate(.6);transform:none}
.landing-copy{position:relative;z-index:1;width:min(1380px,calc(100% - 64px));margin:auto;padding-top:clamp(180px,24vh,255px);padding-bottom:126px}.landing-copy>*{max-width:790px}.landing-live{display:inline-flex;align-items:center;gap:11px;width:auto;max-width:none;padding:10px 17px;border:1px solid rgba(123,220,240,.17);border-radius:999px;background:rgba(3,10,18,.53);backdrop-filter:blur(9px);color:#859bad;font:500 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.17em}.landing-live i{width:6px;height:6px;border-radius:50%;background:#45e5bd;box-shadow:0 0 12px #45e5bd}.landing-live span{color:#415d70}
.landing-copy h1{margin:28px 0 22px;color:#f5fbfe;font-size:clamp(48px,6.15vw,94px);line-height:.93;letter-spacing:-.055em;font-weight:900;text-wrap:balance;text-shadow:0 5px 38px rgba(0,0,0,.48)}.landing-copy h1 em{font-style:normal;color:transparent;background:linear-gradient(95deg,#2ce1ee 2%,#69b9ff 48%,#8978ff 93%);background-clip:text;-webkit-background-clip:text}
.landing-copy>p{margin:0;color:#9bb0bd;font-size:clamp(15px,1.35vw,19px);line-height:1.7;max-width:690px;text-shadow:0 2px 15px #02070c}
.landing-actions{display:flex;align-items:center;gap:16px;margin-top:34px}.landing-primary{min-height:55px;padding:0 28px;font-size:15px}.landing-secondary{min-height:55px;padding:0 25px;display:flex;align-items:center;gap:20px;border:1px solid rgba(182,225,239,.14);border-radius:999px;background:rgba(5,12,22,.58);backdrop-filter:blur(10px);color:#d5e3e9;text-decoration:none;font-size:14px;font-weight:700;transition:.2s}.landing-secondary:hover{background:rgba(20,35,50,.72);border-color:rgba(70,222,239,.35)}.landing-secondary span{color:var(--cyan)}
.landing-start-error{max-width:620px;margin-top:16px;padding:12px 16px;border:1px solid rgba(255,78,114,.45);border-radius:10px;background:rgba(74,14,30,.82);color:#ffdce5;font-size:13px;line-height:1.45}.landing-start-error[hidden]{display:none}
.landing-stats{display:flex;gap:0;margin-top:50px;color:#667f91;font:500 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}.landing-stats span{padding:0 20px;border-right:1px solid rgba(135,211,228,.14)}.landing-stats span:first-child{padding-left:0}.landing-stats span:last-child{border:0}.landing-stats b{color:#a8bfca}
.landing-scroll{position:absolute;right:38px;bottom:35px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#5e788b;font:600 8px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.18em;writing-mode:vertical-rl}.landing-scroll i{position:relative;width:1px;height:54px;background:rgba(115,192,211,.19);overflow:hidden}.landing-scroll i:after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--cyan);animation:landing-scroll 2s ease-in-out infinite}
.landing-how{position:relative;min-height:720px;padding:110px max(32px,calc((100% - 1380px)/2));text-align:center;background:radial-gradient(circle at 50% 0,rgba(22,92,110,.2),transparent 42%),#060d17;border-top:1px solid rgba(90,212,234,.1)}.landing-section-head>span{color:var(--cyan);font:600 10px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.2em}.landing-section-head h2{margin:17px auto 12px;color:#eef8fc;font-size:clamp(30px,4vw,52px);letter-spacing:-.035em}.landing-section-head p{margin:0;color:#71899a;font-size:15px}.landing-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:58px auto 40px;max-width:1380px;text-align:left}.landing-feature-grid article{min-height:220px;padding:25px;border:1px solid rgba(116,213,232,.1);border-radius:16px;background:linear-gradient(145deg,rgba(17,35,49,.62),rgba(7,17,29,.42));transition:.25s}.landing-feature-grid article:hover{transform:translateY(-5px);border-color:rgba(40,220,244,.28);background:linear-gradient(145deg,rgba(20,49,63,.72),rgba(7,17,29,.5))}.landing-feature-grid i{display:block;color:#3b6073;font:700 11px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em}.landing-feature-grid b{display:block;margin-top:44px;color:#dcecf2;font-size:17px}.landing-feature-grid p{margin:10px 0 0;color:#748b9b;font-size:13px;line-height:1.65}.landing-final-cta{margin-top:8px}.landing-button-loader{display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid rgba(3,20,29,.3);border-top-color:#03141d;border-radius:50%;vertical-align:-2px;animation:spin .7s linear infinite}
@keyframes landing-scroll{0%{transform:translateY(0)}100%{transform:translateY(300%)}}
@media(max-width:900px){.landing-nav{width:calc(100% - 36px);grid-template-columns:1fr auto}.landing-links{display:none}.landing-copy{width:calc(100% - 44px)}.landing-feature-grid{grid-template-columns:1fr 1fr}.landing-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.landing-stats span,.landing-stats span:first-child{padding:0;border:0}.landing-scroll{display:none}}
@media(max-width:600px){.landing-nav{height:74px}.landing-brand small{display:none}.landing-brand-mark{width:30px;height:30px}.landing-nav-cta{padding:11px 15px;font-size:11px}.landing-copy{padding-top:145px;padding-bottom:76px}.landing-copy h1{font-size:clamp(42px,13vw,62px);line-height:.97}.landing-live{font-size:8px;letter-spacing:.1em}.landing-live span{display:none}.landing-actions{align-items:stretch;flex-direction:column}.landing-actions>*{justify-content:center;width:100%}.landing-stats{margin-top:38px;font-size:8px}.landing-how{padding:82px 22px}.landing-feature-grid{grid-template-columns:1fr;margin-top:40px}.landing-feature-grid article{min-height:175px}.landing-feature-grid b{margin-top:28px}}
@media(prefers-reduced-motion:reduce){.landing,.landing-feature-grid article,.landing-primary,.landing-nav-cta{transition:none}.landing-scroll i:after{animation:none}}

/* Parámetros manuales, gravedad y Centro de Operaciones */
.population-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:5px 0 8px}.population-grid label{min-width:0}.population-grid span{display:block;margin-bottom:5px;color:#678397;font-size:7px;letter-spacing:.07em;text-transform:uppercase}.population-grid input{width:100%;height:31px;padding:0 8px;border:1px solid rgba(126,225,255,.11);border-radius:7px;outline:0;background:#06111d;color:#d9edf7;font-size:11px;font-weight:800}.population-grid input:focus{border-color:rgba(40,220,244,.45);box-shadow:0 0 0 2px rgba(40,220,244,.07)}.population-apply{margin-bottom:8px;color:var(--cyan);border-color:rgba(40,220,244,.2);background:rgba(40,220,244,.07)}
.fleet-intro,.fleet-availability{margin:2px 0 9px;color:#668397;font-size:7px;line-height:1.45}.fleet-grid{grid-template-columns:repeat(2,1fr)}.fleet-grid label:last-child{grid-column:1/-1}.fleet-availability{margin:0;padding:7px 8px;border-radius:7px;background:rgba(92,164,255,.07);color:#8fbce4}.fleet-availability strong{color:#d9edf7}
.response-explainer{display:grid;gap:5px;margin:8px 0 10px;padding:9px;border:1px solid rgba(40,220,244,.1);border-radius:8px;background:rgba(40,220,244,.035)}.response-explainer>b{color:#a9c5d1;font-size:8px}.response-explainer>span{display:flex;align-items:center;gap:6px;color:#668498;font-size:7px}.response-explainer i{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:rgba(40,220,244,.11);color:var(--cyan);font-style:normal;font-weight:900}.repair-action{color:#071a13!important;border-color:rgba(72,227,156,.5)!important;background:#48e39c!important}.route-active .selection-card{box-shadow:0 0 0 1px rgba(40,220,244,.26),0 16px 50px rgba(0,0,0,.38)}
.street-search-box label{display:block;margin-bottom:6px;color:#678397;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.street-search-box>div{position:relative}.street-search-box input{width:100%;height:34px;padding:0 34px 0 10px;border:1px solid rgba(126,225,255,.13);border-radius:8px;outline:0;background:#06111d;color:#d9edf7;font-size:10px}.street-search-box input::placeholder{color:#456276}.street-search-box input:focus{border-color:rgba(40,220,244,.5);box-shadow:0 0 0 2px rgba(40,220,244,.07)}.street-search-box button{position:absolute;right:3px;top:3px;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#58768a;font-size:16px;cursor:pointer}.street-search-box button:hover{color:#dffaff;background:rgba(40,220,244,.08)}.street-search-results{display:grid;gap:4px;max-height:190px;margin-top:7px;overflow:auto}.street-search-results:empty{display:none}.street-search-result{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;width:100%;padding:7px;border:1px solid transparent;border-radius:7px;background:rgba(255,255,255,.025);color:#9db5c2;text-align:left;cursor:pointer}.street-search-result:hover,.street-search-result.active,.street-search-result:focus-visible{border-color:rgba(40,220,244,.25);outline:0;background:rgba(40,220,244,.08);color:#e1f7fa}.street-search-result i{display:grid;width:25px;height:25px;place-items:center;border-radius:6px;background:rgba(40,220,244,.08);color:var(--cyan);font-size:11px;font-style:normal}.street-search-result span{min-width:0;overflow:hidden;font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.street-search-result small{color:#58778b;font-size:6px;text-transform:uppercase}.street-search-hint{margin:7px 0 0;color:#567487;font-size:7px;line-height:1.4}.street-search-hint.error{color:#ff9aab}
.severity-caption{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#7f99ab;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.severity-caption b{color:#9db4c2;font-size:7px}.severity-segmented{margin-bottom:3px}.severity-segmented button[data-severity=mild].active{background:#48e39c;color:#062016}.severity-segmented button[data-severity=grave].active{background:#ffc04e;color:#211606}.severity-segmented button[data-severity=critical].active{background:#ff4e72;color:#25060d}
.ops-modal-card{width:min(1120px,calc(100% - 32px));max-height:calc(100vh - 34px);overflow:auto;padding:24px}.ops-modal-card h2{margin-bottom:16px}.ops-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.ops-summary article{padding:12px 14px;border:1px solid rgba(126,225,255,.08);border-radius:10px;background:rgba(255,255,255,.025)}.ops-summary span{display:block;color:#668397;font-size:7px;letter-spacing:.1em;text-transform:uppercase}.ops-summary b{display:block;margin-top:5px;color:#e0f0f7;font-size:17px}.ops-summary i{font-style:normal}.ops-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:10px}.ops-block{padding:13px;border:1px solid rgba(126,225,255,.08);border-radius:11px;background:rgba(3,10,18,.32)}.ops-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px}.ops-title>span{color:#9db5c4;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ops-title small{color:#4f6b7f;font-size:7px}.mode-comparison{display:grid;gap:7px}.mode-comparison article{display:grid;grid-template-columns:1.3fr repeat(3,1fr);align-items:center;gap:6px;padding:10px;border:1px solid rgba(126,225,255,.06);border-radius:8px;background:rgba(255,255,255,.02)}.mode-comparison article.current{border-color:rgba(40,220,244,.28);background:rgba(40,220,244,.06)}.mode-comparison article div b{display:block;color:#d6e9f2;font-size:10px}.mode-comparison article div small{display:block;margin-top:3px;color:#587489;font-size:7px}.mode-comparison article>span{color:#607d90;font-size:7px}.mode-comparison article>span i{display:block;margin-bottom:3px;color:#c9e2ec;font-size:11px;font-style:normal;font-weight:800}.ops-block canvas{display:block;width:100%;height:208px;border-radius:8px;background:#06111d}.ops-history-block{margin-top:10px}.ops-history-head,.ops-history-row{display:grid;grid-template-columns:1.25fr .8fr .7fr .75fr 1fr;align-items:center;gap:8px}.ops-history-head{padding:7px 10px;color:#506e82;font-size:7px;text-transform:uppercase;letter-spacing:.08em}.ops-history{max-height:190px;overflow:auto}.ops-history-row{padding:9px 10px;border-top:1px solid rgba(126,225,255,.055);color:#809aaa;font-size:8px}.ops-history-row>span:first-child{display:flex;align-items:center;gap:7px;color:#b8cfda;font-weight:700}.ops-event-dot{width:6px;height:6px;border-radius:50%}.ops-event-dot.accidente{background:#ff4e72;box-shadow:0 0 7px #ff4e72}.ops-event-dot.incendio{background:#ff792f;box-shadow:0 0 7px #ff792f}.severity-mild{color:#48e39c}.severity-grave{color:#ffc04e}.severity-critical{color:#ff4e72}.status-active{color:#ff9db0}.status-responding{color:#28dcf4}.status-resolved{color:#48e39c}.status-cancelled{color:#6c8495}.ops-empty{margin:18px;color:#5c788b;font-size:9px;text-align:center}
@media(max-width:800px){.ops-layout{grid-template-columns:1fr}.ops-summary{grid-template-columns:1fr 1fr}.ops-title small{display:none}.mode-comparison article{grid-template-columns:1.2fr repeat(3,1fr)}.ops-history-head,.ops-history-row{grid-template-columns:1.15fr .8fr .7fr .8fr}.ops-history-head span:nth-child(4),.ops-history-row span:nth-child(4){display:none}}

/* Monitoreo vial y equipamiento urbano */
.traffic-watch-card,.poi-card{margin:12px;padding:11px 12px;border:1px solid rgba(126,225,255,.08);border-radius:12px;background:rgba(3,10,18,.3)}.traffic-watch-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#7894a6;font-size:7px;letter-spacing:.1em;text-transform:uppercase}.traffic-watch-title b{display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:10px;background:rgba(255,192,78,.1);color:#ffc04e;font-size:9px}.slow-street-list,.poi-list{display:grid;gap:5px}.slow-street-list p,.poi-list p{margin:0;color:#587487;font-size:7px;line-height:1.35}.slow-street{display:grid;width:100%;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 8px;border:1px solid transparent;border-radius:7px;background:rgba(255,255,255,.025);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.slow-street:hover,.slow-street:focus-visible{border-color:rgba(40,220,244,.55);outline:0;background:rgba(40,220,244,.075);transform:translateX(2px)}.slow-street b{overflow:hidden;color:#bfd4dd;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.slow-street span{color:#ffc04e;font-size:8px;font-weight:800}.slow-street small,.slow-street em{grid-column:1/-1}.slow-street small{color:#587488;font-size:6px}.slow-street em{margin-top:2px;color:#38ddef;font-size:6px;font-style:normal;letter-spacing:.02em}.slow-street.severe span{color:#ff4e72}.poi-list{grid-template-columns:1fr 1fr}.poi-item{display:flex;min-width:0;align-items:center;gap:6px;padding:6px;border-radius:7px;background:rgba(255,255,255,.025);color:#91abb8;font-size:7px}.poi-item i{display:grid;flex:0 0 21px;height:21px;place-items:center;border-radius:6px;background:rgba(40,220,244,.08);font-size:11px;font-style:normal}.poi-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Modo desafío */
.game-top-btn{color:#ffd262}.game-hud{position:absolute;z-index:29;top:88px;left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 620px));min-width:330px;height:48px;border-radius:11px;display:grid;grid-template-columns:1fr auto;overflow:hidden}.game-hud>button{min-width:0;padding:7px 12px;border:0;background:transparent;text-align:left;cursor:pointer}.game-hud>button span{display:block;color:#47dded;font-size:7px;letter-spacing:.14em}.game-hud>button b{display:block;overflow:hidden;margin-top:2px;color:#b9d0db;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.game-hud>button>i{display:block;width:100%;height:2px;margin-top:5px;background:#173044}.game-hud>button>i em{display:block;width:0;height:100%;background:linear-gradient(90deg,#28dcf4,#8b78ff);transition:width .4s}.score-hud{min-width:86px;padding:7px 11px;border-left:1px solid var(--line);text-align:right}.score-hud span{display:block;color:#617f92;font-size:6px;letter-spacing:.12em}.score-hud b{color:#e8f5f9;font-size:12px}.score-hud small{display:block;color:#ffd262;font-size:8px;letter-spacing:.06em}
.radio-toast{position:absolute;z-index:45;left:18px;bottom:24px;width:278px;padding:9px 12px;border-radius:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.radio-toast.show{opacity:1;transform:none}.radio-toast span{color:#28dcf4;font:700 7px/1 ui-monospace,monospace;letter-spacing:.15em}.radio-toast p{margin:5px 0 0;color:#a7bdc9;font-size:9px;line-height:1.35}
.game-modal-card{width:min(1160px,calc(100% - 32px));max-height:calc(100vh - 28px);overflow:auto;padding:23px}.game-modal-card h2{margin-bottom:15px}.scenario-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.scenario-grid button{min-height:92px;padding:10px;border:1px solid rgba(126,225,255,.08);border-radius:10px;background:rgba(255,255,255,.02);color:#6e899b;text-align:left;cursor:pointer;transition:.2s}.scenario-grid button:hover,.scenario-grid button.active{border-color:rgba(40,220,244,.34);background:rgba(40,220,244,.07);transform:translateY(-2px)}.scenario-grid button i{display:block;color:#3fddeb;font:700 8px/1 ui-monospace,monospace}.scenario-grid button b{display:block;margin-top:15px;color:#cfe1e9;font-size:9px}.scenario-grid button span{display:block;margin-top:4px;font-size:7px;line-height:1.35}.game-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.game-block{min-height:180px;padding:14px;border:1px solid rgba(126,225,255,.08);border-radius:11px;background:rgba(3,10,18,.34)}.game-block-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;color:#7792a4;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.game-block-title b{color:#ffd262}.game-block-title i{font-style:normal}.game-block-title label{display:flex;align-items:center;gap:5px;color:#7290a2;font-size:7px}.game-block-title input{accent-color:#28dcf4}.game-block h3{margin:7px 0 5px;color:#dcecf2;font-size:15px}.game-block>p{min-height:34px;margin:0;color:#708b9e;font-size:9px;line-height:1.5}.mission-meter{height:5px;margin:13px 0 7px;overflow:hidden;border-radius:99px;background:#13283a}.mission-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#28dcf4,#8a78ff);transition:width .4s}.game-block>small{color:#567386;font-size:7px}.game-event-btn{margin-top:12px;color:#ffd262;border-color:rgba(255,210,98,.2);background:rgba(255,210,98,.06)}.city-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:18px}.city-score-grid div{padding:11px 6px;border-radius:8px;background:rgba(255,255,255,.025);text-align:center}.city-score-grid span{display:block;color:#597588;font-size:6px;text-transform:uppercase}.city-score-grid b{display:block;margin-top:7px;color:#d5e9f1;font-size:16px}.unlock-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.unlock-item{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(126,225,255,.06);border-radius:8px;color:#597587;font-size:8px}.unlock-item i{display:grid;width:23px;height:23px;place-items:center;border-radius:6px;background:#102638;font-style:normal}.unlock-item.unlocked{color:#b8ced8;border-color:rgba(72,227,156,.18)}.unlock-item.unlocked i{color:#48e39c;background:rgba(72,227,156,.09)}.radio-log{height:112px;overflow:auto;padding:8px;border-radius:8px;background:#06111d}.radio-log p{margin:0;padding:5px 3px;border-bottom:1px solid rgba(126,225,255,.04);color:#7894a6;font-size:8px;line-height:1.4}.radio-log p:first-child{color:#b5ced8}.radio-block kbd{padding:2px 5px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#071521;color:#d8edf7}
@media(max-width:1100px){.game-hud{display:none}.scenario-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.scenario-grid{grid-template-columns:1fr 1fr}.game-dashboard{grid-template-columns:1fr}.city-score-grid{grid-template-columns:repeat(5,1fr)}.game-modal-card{padding:18px}.radio-toast{left:8px;bottom:68px;width:calc(100% - 16px)}}
.unlock-item i{flex:0 0 23px}.unlock-item span{min-width:0}.unlock-item span small{display:block;margin-top:3px;color:#405f73;font-size:6px}.unlock-item.unlocked span small{color:#48a879}
.ops-history-row>span:first-child b{min-width:0;color:#b8cfda;font-size:8px}.ops-history-row>span:first-child small{display:block;max-width:180px;margin-top:2px;overflow:hidden;color:#547286;font-size:6px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}

/* Experiencia infantil, guía y limpieza urbana */
.guide-top-btn{color:#ffe26e}.coach-card{position:absolute;z-index:48;left:50%;bottom:82px;width:min(560px,calc(100% - 38px));min-height:92px;padding:14px 14px 13px 78px;border-radius:16px;transform:translateX(-50%);display:grid;grid-template-columns:1fr auto;gap:7px 12px}.coach-avatar{position:absolute;left:15px;top:15px;display:grid;width:49px;height:49px;place-items:center;border:2px solid rgba(79,231,240,.62);border-radius:50%;background:linear-gradient(145deg,#6d70ed,#26dce6);color:#fff;font-size:23px;font-weight:900;box-shadow:0 0 24px rgba(40,220,244,.25)}.coach-card span{color:#36deec;font:700 7px/1 ui-monospace,monospace;letter-spacing:.13em}.coach-card b{display:block;margin-top:5px;color:#e1f0f5;font-size:13px}.coach-card p{margin:4px 0 0;color:#829ba9;font-size:9px;line-height:1.4}.coach-card>button{align-self:end;padding:8px 12px;border:1px solid rgba(40,220,244,.2);border-radius:8px;background:rgba(40,220,244,.08);color:#bdebf0;font-size:8px;font-weight:800;cursor:pointer}.coach-card #coachNext{grid-column:2}.coach-card #coachClose{position:absolute;right:7px;top:6px;padding:2px 6px;border:0;background:transparent;color:#587587;font-size:17px}.coach-card.highlight{animation:coach-pop .5s ease}@keyframes coach-pop{50%{transform:translateX(-50%) scale(1.025)}}
.welcome-card{width:min(760px,calc(100% - 30px));padding:31px;text-align:center}.welcome-card>p{margin:-8px auto 22px;color:#849daa;font-size:11px}.welcome-mascot{position:relative;margin:0 auto 14px;width:72px;height:72px}.welcome-mascot span{display:grid;width:66px;height:66px;place-items:center;border:3px solid rgba(73,232,241,.62);border-radius:50%;background:linear-gradient(145deg,#7568ef,#22d8e8);color:#fff;font-size:31px;font-weight:900;box-shadow:0 0 35px rgba(40,220,244,.25)}.welcome-mascot i{position:absolute;right:-1px;top:-4px;color:#ffe26e;font-size:21px;font-style:normal}.welcome-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.welcome-options button{position:relative;min-height:154px;padding:18px 14px;border:1px solid rgba(126,225,255,.1);border-radius:14px;background:rgba(255,255,255,.025);color:#7894a4;cursor:pointer;transition:.2s}.welcome-options button:hover{transform:translateY(-4px);border-color:rgba(40,220,244,.4);background:rgba(40,220,244,.07)}.welcome-options i{display:block;font-size:29px;font-style:normal}.welcome-options b{display:block;margin-top:14px;color:#d9eaf0;font-size:12px}.welcome-options span{display:block;margin-top:7px;font-size:9px;line-height:1.45}.welcome-options small{position:absolute;right:9px;top:9px;padding:4px 6px;border-radius:8px;background:#38de9b;color:#062017;font-size:6px;font-weight:900}.cleanup-primary{color:#062019;background:linear-gradient(90deg,#43d88b,#92e76f);border-color:rgba(108,231,131,.5)}
.dot.lime{color:#94e85f;background:#94e85f}.dot.teal{color:#35d9c0;background:#35d9c0}.cleanliness-card{margin:12px;padding:11px;border:1px solid rgba(126,225,255,.08);border-radius:12px;background:rgba(3,10,18,.3)}.cleanliness-card .collapsible-content>div{display:flex;align-items:center;justify-content:space-between}.cleanliness-card span{color:#718da0;font-size:8px;letter-spacing:.09em;text-transform:uppercase}.cleanliness-card .collapsible-content>div b{font-size:19px}.cleanliness-card .collapsible-content>strong{display:block;margin-top:2px;color:#a9ef83;font-size:20px}.cleanliness-card .collapsible-content>i{display:block;height:5px;margin:7px 0;overflow:hidden;border-radius:9px;background:#162a35}.cleanliness-card .collapsible-content>i em{display:block;width:100%;height:100%;background:linear-gradient(90deg,#ff6a50,#ffd357,#65e69b);transition:width .35s}.cleanliness-card small{color:#567488;font-size:7px}.cleanliness-card small b{color:#68e2a2}.garbage-pulse{animation:garbage-pulse 1.5s ease-in-out infinite}@keyframes garbage-pulse{50%{opacity:.55;transform:scale(1.08)}}
.scenario-grid{grid-template-columns:repeat(9,1fr)}
.improvement-intro{margin:0 0 9px;color:#668397;font-size:7px;line-height:1.45}.improvement-grid{display:grid;gap:6px}.improvement-grid button{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:7px;min-height:45px;padding:6px 7px;border:1px solid rgba(126,225,255,.09);border-radius:9px;background:rgba(255,255,255,.025);color:#9bb4c4;text-align:left;cursor:pointer;transition:.2s}.improvement-grid button:hover{border-color:rgba(72,227,156,.34);background:rgba(72,227,156,.06)}.improvement-grid button.active{border-color:rgba(72,227,156,.58);background:linear-gradient(135deg,rgba(72,227,156,.13),rgba(5,17,28,.36));box-shadow:0 0 16px rgba(72,227,156,.08)}.improvement-grid i{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:rgba(72,227,156,.1);color:#68e2a2;font-style:normal;font-size:14px}.improvement-grid span{min-width:0}.improvement-grid b{display:block;color:#d8e9ef;font-size:8px}.improvement-grid small{display:block;margin-top:2px;color:#607e91;font-size:6px}.improvement-grid em{color:#66dba0;font-style:normal;font-size:6px;text-transform:uppercase}.improvement-grid button.active em{color:#ff9aaa}.improvement-status{margin:8px 0;color:#7898aa;font-size:7px;line-height:1.45}.improvement-status strong{color:#a9ef83}
@media(max-width:900px){.welcome-options{grid-template-columns:1fr}.welcome-card{max-height:calc(100vh - 24px);overflow:auto}.coach-card{bottom:70px}.scenario-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.coach-card{padding-left:62px;grid-template-columns:1fr}.coach-avatar{width:39px;height:39px;font-size:18px}.coach-card>button,.coach-card #coachNext{grid-column:1}.welcome-card{padding:22px}.scenario-grid{grid-template-columns:1fr 1fr}}
.poi-list button.poi-item{width:100%;border:0;text-align:left;cursor:pointer}.poi-list button.poi-item:hover,.poi-list button.poi-item:focus-visible{background:rgba(40,220,244,.09);color:#dffaff;outline:1px solid rgba(40,220,244,.24)}
