:root{--bg:#0a0e11;--panel:#111820;--panel-2:#0d1319;--border:#223038;--text:#dfe7ea;--text-dim:#7c8f97;--accent:#ff8a3d;--accent-2:#3ddc84;--danger:#ff5a5a;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;font:15px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text);margin:0;font-weight:600}p{margin:0}button{font-family:inherit}a{color:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#29393f;border-radius:4px}.canada-map{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex;position:relative}.canada-map__header{letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.canada-map__legend{text-transform:none;letter-spacing:normal;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:flex}.canada-map__legend i{border-radius:50%;width:8px;height:8px;margin-right:2px;display:inline-block}.canada-map__toolbar{align-items:center;gap:6px;display:flex}.canada-map__toolbar-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:#0f171b;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;line-height:1;display:inline-flex}.canada-map__toolbar-btn:hover:not([aria-disabled=true]){color:#f3f6f7;border-color:var(--accent)}.canada-map__toolbar-btn[aria-disabled=true]{opacity:.35;cursor:default}.canada-map__toolbar-btn--reset{text-transform:uppercase;letter-spacing:.06em;width:auto;padding:0 8px;font-size:10px}.canada-map__toolbar-scale{color:var(--text-dim);text-align:center;min-width:32px;font-size:10px}.canada-map__svg{aspect-ratio:900/560;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#060b0e;border-radius:6px;width:100%;height:auto}.canada-map__svg--panning{cursor:grabbing}.canada-map__bg{fill:#070d10}.canada-map__grid{stroke:#16232a;stroke-width:1px}.canada-map__landmass{fill:#112420;stroke:#3a6a5c;stroke-width:1.25px;stroke-linejoin:round;pointer-events:none}.canada-map__province{fill:#6f8f86;letter-spacing:.08em;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#060b0e;stroke-width:3px;font-size:15px;font-weight:700}.canada-map__city-dot{fill:#3a4a52;stroke:#0d1417;stroke-width:1px}.canada-map__city{cursor:pointer}.canada-map__city:hover .canada-map__city-dot,.canada-map__city:focus .canada-map__city-dot{fill:var(--accent)}.canada-map__tooltip{fill:#cfe0e6;pointer-events:none;font-size:11px}.canada-map__fire{cursor:pointer}.canada-map__fire-dot{stroke:#0d1417;stroke-width:1.5px;transition:r .2s}.canada-map__fire:hover .canada-map__fire-dot,.canada-map__fire:focus .canada-map__fire-dot{stroke:#fff}.canada-map__pulse{fill:none;stroke-width:1.5px;opacity:.55;animation:2.2s ease-out infinite mapPulse}@keyframes mapPulse{0%{r:4;opacity:.7}to{r:20;opacity:0}}.canada-map__tooltip-bg{fill:#0b1216;stroke:#223038;rx:4}.canada-map__tooltip-title{fill:#f3f6f7;font-size:11px;font-weight:600}.canada-map__tooltip-sub{fill:#9db0b8;font-size:10px}.canada-map__tracked-ring{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:3 3}.canada-map__tracked-cross{stroke:var(--accent);stroke-width:2px}.canada-map__confirm{z-index:20;border:1px solid var(--border);background:#0b1216;border-radius:6px;width:220px;padding:10px 12px;position:absolute;box-shadow:0 6px 18px #00000073}.canada-map__confirm-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:0 0 2px;font-size:10px}.canada-map__confirm-place{color:#f3f6f7;margin:0 0 8px;font-size:13px;font-weight:600}.canada-map__confirm-actions{gap:6px;display:flex}.canada-map__confirm-btn{border:1px solid var(--border);cursor:pointer;color:#cfe0e6;background:#101a1f;border-radius:4px;flex:1;padding:5px 8px;font-size:11px}.canada-map__confirm-btn--confirm{background:var(--accent);border-color:var(--accent);color:#06110a;font-weight:600}.canada-map__confirm-btn--confirm:hover{filter:brightness(1.08)}.canada-map__confirm-btn--cancel:hover{border-color:var(--accent);color:#f3f6f7}.canada-map__hint{color:var(--text-dim);margin:0;font-size:11px}.phone{background:#05070a;border-radius:34px;width:100%;max-width:380px;margin:0 auto;padding:14px 10px;position:relative;box-shadow:0 0 0 1px #1b2a30,0 20px 50px #0000008c}.phone__notch{z-index:2;background:#05070a;border:1px solid #1b2a30;border-radius:10px;width:110px;height:16px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.phone__screen{background:var(--panel);border:1px solid var(--border);border-radius:24px;flex-direction:column;height:640px;display:flex;overflow:hidden}.phone__statusbar{letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase;border-bottom:1px solid var(--border);justify-content:space-between;padding:20px 16px 8px;font-size:11px;display:flex}.phone__statusbar-right{color:var(--accent)}.phone__thread{background:radial-gradient(circle at 20% 0%, #ff8a3d0a, transparent 60%), var(--bg);flex-direction:column;flex:1;gap:10px;padding:14px 12px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:88%;padding:9px 11px;font-size:12.5px;line-height:1.45}.bubble--user{background:var(--accent);color:#12130f;border-bottom-right-radius:3px;align-self:flex-end}.bubble--bot{color:var(--text);border:1px solid var(--border);background:#142127;border-bottom-left-radius:3px;align-self:flex-start}.bubble--bot.bubble--urgent{border-color:#ff5a5a;box-shadow:0 0 0 1px #ff5a5a59}.bubble--contact{color:#c9c9ec;background:#1a1a2c;border:1px dashed #454570;align-self:flex-start;font-style:italic}.bubble--system{text-align:center;color:var(--text-dim);background:0 0;align-self:center;max-width:100%;font-size:11px}.bubble__system-text{padding:4px 8px}.bubble__text{white-space:pre-wrap}.bubble__meta{opacity:.6;letter-spacing:.04em;margin-top:5px;font-size:9.5px}.phone__quickbar{gap:6px;padding:8px 10px 0;display:flex;overflow-x:auto}.phone__quickbtn{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.03em;cursor:pointer;white-space:nowrap;background:#101a1e;border-radius:999px;flex:none;padding:5px 10px;font-size:10.5px}.phone__quickbtn:hover{border-color:var(--accent);color:var(--accent)}.phone__composer{border-top:1px solid var(--border);gap:8px;padding:10px;display:flex}.phone__input{border:1px solid var(--border);color:var(--text);background:#0c1316;border-radius:999px;outline:none;flex:1;padding:9px 14px;font-size:12.5px}.phone__input:focus{border-color:var(--accent)}.phone__send{background:var(--accent);color:#12130f;cursor:pointer;border:none;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:600}.phone__send:hover{filter:brightness(1.08)}.statepanel{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:14px;font-size:12px;display:flex}.statepanel__header{letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;margin-bottom:2px;font-size:11px}.statepanel__note{color:var(--text-dim);margin:0 0 8px;font-size:11px;line-height:1.4}.statepanel__row{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding:5px 0;display:flex}.statepanel__label{color:var(--text-dim)}.statepanel__value{color:var(--text);text-align:right;font-weight:600}.statepanel__value--on{color:var(--accent-2)}.statepanel__value--off{color:var(--danger)}.statepanel__value--muted{color:var(--text-dim);font-weight:400}.timectl{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.timectl__header{letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;display:flex}.timectl__reset{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-transform:none;letter-spacing:normal;background:0 0;border-radius:6px;padding:3px 8px;font-size:10px}.timectl__reset:hover{color:var(--danger);border-color:var(--danger)}.timectl__readout{align-items:baseline;gap:10px;display:flex}.timectl__day{color:var(--accent);font-size:24px;font-weight:700}.timectl__date{color:var(--text-dim);font-size:12px}.timectl__slider{width:100%;accent-color:var(--accent)}.timectl__scale{color:var(--text-dim);justify-content:space-between;margin-top:-6px;font-size:10px;display:flex}.timectl__advance{background:var(--accent);color:#12130f;cursor:pointer;border:none;border-radius:6px;padding:10px 14px;font-size:12.5px;font-weight:600}.timectl__advance:hover:not([aria-disabled=true]){filter:brightness(1.08)}.timectl__advance[aria-disabled=true]{color:var(--text-dim);cursor:not-allowed;background:#2a3438}.timectl__hint{color:var(--text-dim);margin:0;font-size:11px;line-height:1.4}.app{flex-direction:column;gap:22px;max-width:1280px;margin:0 auto;padding:28px 20px 40px;display:flex}.app__header{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding-bottom:18px;display:flex}.app__title{align-items:center;gap:10px;display:flex}.app__title h1{letter-spacing:-.01em;font-size:22px;font-family:var(--mono)}.app__badge{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:2px 6px;font-size:10px}.app__subtitle{color:var(--text-dim);max-width:780px;font-size:13px;line-height:1.5}.app__grid{grid-template-columns:400px 1fr;align-items:start;gap:22px;display:grid}.app__phone-col{position:sticky;top:20px}.app__side-col{flex-direction:column;gap:16px;display:flex}.app__footer{border-top:1px solid var(--border);color:var(--text-dim);max-width:900px;padding-top:16px;font-size:11.5px;line-height:1.5}@media (width<=900px){.app__grid{grid-template-columns:1fr}.app__phone-col{order:2;position:static}.app__side-col{order:1}}
