*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#1a2430;font-family:Segoe UI,Helvetica Neue,sans-serif;color:#e8eef4}.drs-root{position:relative;width:100%;height:100%}canvas{display:block;width:100%;height:100%}.hud{position:absolute;left:1rem;bottom:1rem;z-index:1;padding:.65rem .85rem;max-width:min(22rem,calc(100vw - 2rem));border:1px solid rgba(232,238,244,.18);background:#0c121a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.8rem;line-height:1.4;pointer-events:none}.hud strong{display:block;margin-bottom:.25rem;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;color:#9eb6c9}.drs-actions{position:absolute;left:1rem;bottom:5.25rem;z-index:2;display:flex;flex-wrap:wrap;gap:.5rem;max-width:min(22rem,calc(100vw - 2rem))}.drs-action{appearance:none;margin:0;padding:.45rem .75rem;border:1px solid rgba(232,238,244,.28);border-radius:.25rem;background:#121c28e0;color:#e8eef4;font:inherit;font-size:.8rem;cursor:pointer}.drs-action:hover{border-color:#e8eef480;background:#1c2a3af2}.drs-action:focus-visible{outline:2px solid #7eb6d6;outline-offset:2px}.drs-action[hidden]{display:none}.drs-load{position:absolute;left:50%;top:1rem;z-index:2;transform:translate(-50%);width:min(18rem,calc(100vw - 2rem));padding:.55rem .75rem;border:1px solid rgba(232,238,244,.18);background:#0c121ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.78rem;line-height:1.35;pointer-events:none}.drs-load[hidden]{display:none}.drs-load[data-phase=error],.drs-load[data-phase=fallback]{border-color:#f0b45073}.drs-load-label{margin-bottom:.35rem;color:#d5e2ec}.drs-load-track{height:.28rem;overflow:hidden;background:#e8eef41f}.drs-load-bar{height:100%;width:0;background:#7eb6d6;transition:width .15s ease-out}.drs-load-bar--indeterminate{width:35%!important;animation:drs-load-pulse 1.1s ease-in-out infinite}@keyframes drs-load-pulse{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media(prefers-reduced-motion:reduce){.drs-load-bar--indeterminate{animation:none}}.drs-readout{position:absolute;top:1rem;right:1rem;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;max-width:min(20rem,calc(100vw - 2rem));padding:.55rem .8rem;border:1px solid rgba(232,238,244,.18);background:#0c121a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:right;font-size:.8rem;line-height:1.35;pointer-events:none}.drs-readout-speed{font-size:1.6rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.drs-readout-mode{color:#9eb6c9;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.drs-readout-road{color:#cfdbe6}.drs-readout-place{color:#9eb6c9;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.drs-readout-prompt{margin-top:.15rem;color:#b8d7ea;font-weight:600}.drs-readout-prompt[hidden]{display:none}.drs-readout-notice{margin-top:.2rem;color:#d8e6f2}.drs-readout-notice[data-tone=warn]{color:#ffcf7a}.drs-readout-notice[hidden]{display:none}.drs-readout .drs-action{margin-top:.3rem;pointer-events:auto}.drs-radar{position:absolute;top:1rem;left:1rem;z-index:3;display:flex;flex-direction:column;gap:.45rem;width:min(20rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:.65rem .75rem .75rem;border:1px solid rgba(232,238,244,.22);background:#0c121aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.78rem;line-height:1.35}.drs-radar[hidden]{display:none}.drs-radar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.drs-radar-title{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9eb6c9}.drs-radar-status{margin:0;color:#d5e2ec}.drs-radar-status[data-freshness=stale]{color:#ffcf7a}.drs-radar-status[data-freshness=missing]{color:#9eb6c9}.drs-radar-comms{margin:0 0 .35rem;font-size:.72rem;color:#9ec9a8}.drs-radar-comms[data-online="0"]{color:#ffcf7a}.drs-radar-frame{position:relative;width:100%;aspect-ratio:1;border:1px solid rgba(232,238,244,.2);background:#121820}.drs-radar-canvas,.drs-radar-overlay{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.drs-radar-overlay{pointer-events:none}.drs-radar-north{position:absolute;top:.35rem;left:50%;z-index:1;transform:translate(-50%);padding:.1rem .35rem;border:1px solid rgba(232,238,244,.35);background:#0c121abf;font-size:.7rem;font-weight:600;letter-spacing:.08em;pointer-events:none}.drs-radar-readout{display:flex;flex-direction:column;gap:.15rem;color:#cfdbe6;font-variant-numeric:tabular-nums}.drs-radar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .55rem}.drs-radar-legend-stop{display:grid;grid-template-columns:.7rem auto auto;gap:.3rem;align-items:center;color:#cfdbe6}.drs-radar-swatch{display:inline-block;width:.7rem;height:.7rem;border:1px solid rgba(232,238,244,.25)}.drs-radar-legend-num{color:#9eb6c9;font-size:.68rem}.drs-radar-controls{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.drs-radar-history{display:flex;align-items:center;gap:.35rem;color:#cfdbe6}.drs-radar-history select{max-width:9rem;padding:.3rem .4rem;border:1px solid rgba(232,238,244,.28);border-radius:.25rem;background:#121c28f2;color:#e8eef4;font:inherit;font-size:.75rem}.drs-radar-history select:focus-visible{outline:2px solid #7eb6d6;outline-offset:2px}.drs-radar-hint{margin:0;color:#9eb6c9;font-size:.7rem}.drs-radar-motion{color:#9eb6c9;font-size:.7rem}.drs-radar-desk{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(232,238,244,.12)}.drs-radar-desk-title{margin:0 0 .25rem;font-size:.85rem;font-weight:600}.drs-radar-desk-hint{margin:0 0 .4rem;color:#9eb6c9;font-size:.65rem;line-height:1.35}.drs-radar-desk-list{margin:0 0 .4rem;padding:0;list-style:none;max-height:5rem;overflow:auto}.drs-radar-desk-list li{margin:.15rem 0}.drs-radar-warn-item[data-selected="1"]{outline:2px solid #f0c230;outline-offset:1px}.drs-radar-desk-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.drs-radar-desk-actions select{background:#121c28f2;color:#e8eef4;font:inherit;font-size:.75rem;border:1px solid rgba(232,238,244,.2);padding:.2rem .35rem}.drs-radar-desk-status{margin:.35rem 0 0;font-size:.7rem;color:#9eb6c9}.drs-radar-legend-note{margin-top:.25rem;font-size:.65rem;color:#9eb6c9}.drs-map{position:absolute;top:1rem;left:1rem;z-index:3;display:flex;flex-direction:column;gap:.4rem;width:min(18rem,calc(100vw - 2rem));padding:.55rem .65rem .65rem;border:1px solid rgba(232,238,244,.22);background:#0c121ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.78rem;line-height:1.35;pointer-events:none}.drs-map[hidden]{display:none}.drs-map-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;pointer-events:auto}.drs-map-title{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9eb6c9}.drs-map-frame{position:relative;width:100%;aspect-ratio:1;border:1px solid rgba(232,238,244,.2);background:#121820}.drs-map-canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.drs-map-north{position:absolute;top:.35rem;left:50%;z-index:1;transform:translate(-50%);padding:.1rem .35rem;border:1px solid rgba(232,238,244,.35);background:#0c121abf;font-size:.7rem;font-weight:600;letter-spacing:.08em;pointer-events:none}.drs-map-scale{position:absolute;right:.4rem;bottom:.4rem;z-index:1;box-sizing:content-box;height:0;border-bottom:2px solid rgba(232,238,244,.85);padding-bottom:.15rem;color:#e8eef4;font-size:.62rem;letter-spacing:.04em;text-align:center;pointer-events:none}.drs-map-hint{margin:0;color:#9eb6c9;font-size:.68rem}.drs-map-legend{display:flex;flex-wrap:wrap;gap:.3rem .7rem;margin:0;padding:0;list-style:none;color:#c5d4e0;font-size:.62rem}.drs-map-legend li{display:flex;align-items:center;gap:.28rem}.drs-map-swatch{flex-shrink:0;box-sizing:border-box}.drs-map-swatch-flood{width:.55rem;height:.55rem;border-radius:50%;background:#3ec6ff}.drs-map-swatch-fire{width:.45rem;height:.45rem;background:#ff5a2a;transform:rotate(45deg)}.drs-map-swatch-closed{width:.7rem;height:0;border-bottom:2px dashed #ffcf7a}.drs-map-swatch-outage{position:relative;width:.55rem;height:.55rem}.drs-map-swatch-outage:before,.drs-map-swatch-outage:after{position:absolute;background:#e8d44a;content:""}.drs-map-swatch-outage:before{top:0;left:45%;width:2px;height:100%}.drs-map-swatch-outage:after{top:45%;left:0;width:100%;height:2px}.drs-evidence{position:absolute;right:1rem;top:1rem;z-index:2;width:min(18rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:.65rem .75rem;border:1px solid rgba(232,238,244,.18);background:#0c121ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.75rem;line-height:1.35}.drs-objectives{margin:0 0 .5rem;padding:0;list-style:none}.drs-objectives li{margin:.2rem 0;color:#c5d4e0}.drs-objectives li[data-status=complete]{color:#b7e0b2}.drs-evidence-score{margin-bottom:.4rem;color:#9eb6c9;font-weight:600}.drs-evidence-notice{margin-bottom:.45rem;color:#f0d9a8}.drs-report-form{display:grid;gap:.4rem;margin:.5rem 0;padding:.5rem;border:1px solid rgba(232,238,244,.16);background:#080c128c}.drs-report-form[hidden]{display:none}.drs-report-title{margin:0;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:#9eb6c9}.drs-report-form label{display:grid;gap:.2rem}.drs-report-form select{font:inherit;color:#e8eef4;background:#121c28f2;border:1px solid rgba(232,238,244,.28);border-radius:.2rem;padding:.25rem .35rem}.drs-report-correct{display:flex!important;flex-direction:row;align-items:center;gap:.4rem}.drs-report-actions{display:flex;flex-wrap:wrap;gap:.4rem}.drs-photo-list{display:grid;gap:.4rem;margin-top:.5rem}.drs-photo-card{padding:.35rem;border:1px solid rgba(232,238,244,.12);background:#080c1266}.drs-photo-card img{display:block;margin-top:.3rem;width:100%;height:auto;object-fit:cover}.drs-photo-missing{margin-top:.25rem;color:#f0b4a8;font-style:italic}.drs-debrief{margin-top:.6rem;padding:.55rem;border:1px solid rgba(232,238,244,.22);background:#0a1018e0}.drs-debrief[hidden]{display:none}.drs-debrief h2{margin:0 0 .35rem;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:#9eb6c9}.drs-debrief-summary{margin:0 0 .45rem}.drs-debrief-factors{margin:0 0 .45rem;padding-left:1.1rem}.drs-debrief-total{font-weight:700;color:#b7e0b2}.drs-storm{position:absolute;right:1rem;bottom:1rem;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;max-width:min(20rem,calc(100vw - 2rem));font-size:.8rem;pointer-events:none}.drs-storm-row{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:.5rem;pointer-events:auto}.drs-storm-caption{padding:.35rem .65rem;border:1px solid rgba(232,238,244,.18);background:#0c121ab8;color:#e8eef4;font-style:italic}.drs-storm-caption[hidden]{display:none}.drs-storm-caption[data-kind=roar]{border-color:#f0b4508c;color:#ffcf7a}.drs-storm-fx{position:relative}.drs-storm-fx>summary{list-style:none}.drs-storm-fx>summary::-webkit-details-marker{display:none}.drs-storm-panel{position:absolute;right:0;bottom:calc(100% + .4rem);display:flex;flex-direction:column;gap:.45rem;min-width:13rem;padding:.6rem .75rem;border:1px solid rgba(232,238,244,.22);background:#0c121ae6}.drs-storm-panel label{display:flex;align-items:center;gap:.4rem}.drs-storm-panel select{margin-left:auto;font:inherit}.drs-storm-panel select:focus-visible,.drs-storm-panel input:focus-visible{outline:2px solid #7eb6d6;outline-offset:2px}.drs-shell{position:absolute;inset:0;z-index:5;pointer-events:none}.drs-shell[data-phase=chase]{z-index:3}.drs-shell-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(165deg,#0c1622eb,#122030e0 45%,#0a1018f0);pointer-events:auto}.drs-shell-overlay[hidden]{display:none}.drs-shell-panel{width:min(28rem,calc(100vw - 2rem));max-height:min(36rem,calc(100vh - 2rem));overflow:auto;padding:1.1rem 1.25rem 1.2rem;border:1px solid rgba(232,238,244,.22);background:#0e1620f0;box-shadow:0 12px 40px #00000059}.drs-shell-debrief-bar{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;width:min(28rem,calc(100vw - 2rem));padding:.65rem .85rem;border:1px solid rgba(232,238,244,.22);background:#0e1620f0;pointer-events:auto;font-size:.85rem;line-height:1.4}.drs-shell-debrief-bar[hidden]{display:none}.drs-shell-debrief-bar p{margin:0;flex:1 1 12rem;color:#c5d4e0}.drs-shell-title{margin:0 0 .65rem;font-size:1.15rem;letter-spacing:.03em;color:#d7e6f2}.drs-shell-body{font-size:.88rem;line-height:1.45;color:#c5d4e0}.drs-shell-body p{margin:0 0 .65rem}.drs-shell-controls{margin:0 0 .75rem;padding-left:1.15rem}.drs-shell-controls li{margin:.25rem 0}.drs-shell-notice{margin:.5rem 0 0;padding:.4rem .5rem;border:1px solid rgba(240,180,80,.4);background:#281c0a8c;color:#f0d9a8;font-size:.8rem}.drs-shell-notice[hidden]{display:none}.drs-shell-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.drs-shell-field,.drs-shell-check{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.65rem;font-size:.85rem}.drs-shell-check{flex-direction:row;align-items:center;gap:.45rem}.drs-shell-field select{font:inherit;color:#e8eef4;background:#121c28f2;border:1px solid rgba(232,238,244,.28);border-radius:.2rem;padding:.3rem .4rem}.drs-shell-help{margin:.35rem 0 0;color:#9eb6c9;font-size:.78rem}.drs-tutorial{position:absolute;left:50%;top:1rem;transform:translate(-50%);z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;width:min(34rem,calc(100vw - 2rem));padding:.55rem .75rem;border:1px solid rgba(126,182,214,.45);background:#0c1622e0;pointer-events:auto;font-size:.82rem;line-height:1.4}.drs-tutorial[hidden]{display:none}.drs-tutorial p{margin:0;flex:1 1 12rem}.drs-tutorial-dismiss{flex:0 0 auto}.drs-debrief .drs-action{margin-top:.55rem}@media(max-width:640px){.drs-shell-panel{padding:.9rem 1rem}.drs-actions{max-width:calc(100vw - 1.5rem)}}@media(min-resolution:2dppx){.hud,.drs-shell-panel,.drs-tutorial{-webkit-font-smoothing:antialiased}}
