/* NEBO · a quiet control surface over a precise map */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color-scheme:dark;--ink:#edf3f8;--muted:#a4b5c4;--line:#ffffff14;--glass:#18232fe8;--surface:#202e3c;--blue:#9bcff4;--accent:#ee886d;background:#0c141d;color:var(--ink)}
*{box-sizing:border-box;margin:0}html,body{height:100%;overflow:hidden}button,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:default}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button:active{filter:brightness(1.18)}a{color:var(--blue)}svg.ui-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button>svg{pointer-events:none}[hidden]{display:none!important}
.phone{position:relative;width:100%;height:100dvh;overflow:hidden;isolation:isolate;background:#151e28}#map{position:absolute;inset:0}.top-fade{position:absolute;inset:0 0 auto;height:200px;background:linear-gradient(#0c141de6,#0c141d60,transparent);pointer-events:none}.glass{background:var(--glass);border:1px solid #a6c6e125;box-shadow:0 8px 30px #0003,inset 0 1px 0 #ffffff07;backdrop-filter:blur(22px) saturate(1.15);-webkit-backdrop-filter:blur(22px) saturate(1.15)}
.topbar{position:absolute;top:calc(16px + env(safe-area-inset-top));left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.topbar>*{pointer-events:auto}.identity{display:flex;gap:10px;align-items:center}.brand-mark{height:40px;width:40px;display:grid;place-items:center;border:1px solid #9bcff448;border-radius:14px;background:linear-gradient(145deg,#31475a,#172531);color:#c9e7ff;box-shadow:inset 0 1px 0 #ffffff1c}.brand-mark svg{width:25px;height:25px}.identity h1{font-size:28px;letter-spacing:-1.1px;font-weight:750;line-height:1.1;color:#f0f6fc}.identity h1 span{font-size:10px;letter-spacing:1px;font-weight:600;color:#a7c8df;vertical-align:middle;margin-left:6px}.identity p{font-size:8px;letter-spacing:1.65px;color:#a4b8c9;margin-top:5px;font-weight:650}.icon-button{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;flex-shrink:0}.topbar .icon-button{border-radius:50%}
.live-bar{position:absolute;top:calc(76px + env(safe-area-inset-top));left:18px;height:36px;display:flex;gap:9px;align-items:center;padding:0 3px 0 12px;border-radius:22px;max-width:calc(100% - 100px);font-size:11px;font-weight:550}.live-dot{width:6px;height:6px;flex-shrink:0;background:#d4a369;border-radius:50%;box-shadow:0 0 0 4px #d4a36912}.live-dot.connected{background:#9bd8ba;box-shadow:0 0 0 4px #9bd8ba12}.live-dot.stale{background:#f2b277}.live-bar .divider{width:1px;height:11px;background:#ffffff20}.live-bar time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.live-bar button{display:grid;place-items:center;width:32px;min-height:34px}.live-bar svg{width:14px;height:14px}#connection{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alerts-chip{position:absolute;right:18px;top:calc(76px + env(safe-area-inset-top));height:36px;min-height:36px;min-width:58px;border-radius:22px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:650}.alerts-chip svg{width:15px;height:15px}.alerts-chip.has-alerts{color:#ffb3a5;background:#39272fea;border-color:#d88f8f35}
.mode-switch{position:absolute;left:18px;top:calc(126px + env(safe-area-inset-top));display:flex;gap:3px;border-radius:25px;padding:4px}.mode-switch button{border-radius:21px;padding:0 16px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;min-height:38px;color:#b9c7d4;transition:background .2s,color .2s}.mode-switch button.active{color:#122839;background:#b0d4ec;box-shadow:0 2px 8px #0002}.mode-switch svg{width:15px;height:15px}.scope-chip{position:absolute;left:18px;top:calc(182px + env(safe-area-inset-top));padding:0 13px;border-radius:20px;min-height:34px;font-size:11px;color:#b9ddf6}
.map-tools{position:absolute;right:14px;top:calc(192px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:8px;color:#c8d9e7}.zoom-tools{display:flex;flex-direction:column;align-items:center;border-radius:15px;overflow:hidden}.zoom-tools button{width:44px;display:grid;place-items:center}.zoom-tools span{width:22px;height:1px;background:var(--line)}.perspective-button{font-size:12px;font-weight:750;letter-spacing:-.5px;color:#c6e5fc}.perspective-button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #9bcff447,0 8px 30px #0003}
.overview{position:absolute;left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom));padding:20px 18px 14px;border-radius:26px}.overview>.handle{display:none}.overview-collapse{position:absolute;top:0;left:35%;width:30%;height:22px;min-height:22px}.overview-collapse:after{content:"";display:block;width:30px;height:3px;background:#91a6b94d;border-radius:3px;margin:auto}.overview-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#9cb6ca;margin-bottom:8px}.overview h2{font-size:21px;letter-spacing:-.6px;font-weight:650;line-height:1.3}.round-button{display:grid;place-items:center;width:44px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0}.stats button{text-align:left;padding-left:15px;border-right:1px solid var(--line);min-width:0}.stats button:first-child{padding-left:0}.stats button:last-child{border:0}.stats span{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:11px}.stats svg{width:14px;height:14px}.stats strong{display:block;font-size:28px;font-weight:550;letter-spacing:-1px;line-height:1.2;margin-top:6px;font-variant-numeric:tabular-nums}.stats strong small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:2px}#alertsStat strong{color:#f4afa5}.zone-cta{display:flex;gap:11px;align-items:center;text-align:left;background:#29405378;padding:13px;border-radius:17px;width:100%}.zone-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:12px;background:#44668059;color:#b9ddf5}.zone-cta>span:nth-child(2){flex:1}.zone-cta b{font-size:13px;font-weight:600;display:block}.zone-cta small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.zone-cta>svg{width:16px}.quiet-note{font-size:10px;line-height:1.5;color:#9bb0c0;text-align:center;margin-top:12px}.overview.collapsed{padding:19px 18px 13px}.overview.collapsed .overview-heading,.overview.collapsed .zone-cta,.overview.collapsed .quiet-note{display:none}.overview.collapsed .stats{margin:0}.overview.collapsed .stats strong{font-size:25px;margin-top:4px}.overview.collapsed .stats button{min-height:47px}
.bottom-nav{position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:66px;padding:5px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:25px}.bottom-nav button{height:54px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:600;color:#a1b6c7;transition:background .18s,color .18s}.bottom-nav button.selected{background:#9bcff41c;color:#d0ebff}.bottom-nav b{font-size:9px;background:#a7d3f025;padding:1px 4px;border-radius:5px;margin-left:3px;font-weight:600}.bottom-nav svg{width:21px;height:21px}.map-caption{position:absolute;bottom:calc(354px + env(safe-area-inset-bottom));left:21px;display:flex;gap:10px;flex-wrap:wrap;max-width:calc(100% - 80px);font-size:10px;font-weight:500;pointer-events:none;color:#d5e0e8;text-shadow:0 1px 3px #000,0 0 5px #000}.map-caption span{display:flex;gap:5px;align-items:center}.legend-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#ee886d}.legend-dot.jet{background:#9bcff4}.legend-dot.unknown{background:#c5d0db}.legend-dot.danger{background:#fb5c55;box-shadow:0 0 0 3px #fb5c5525}.phone.overview-small .map-caption{bottom:calc(187px + env(safe-area-inset-bottom))}.maplibregl-ctrl-bottom-right{bottom:2px!important;right:4px!important}.maplibregl-ctrl-attrib{font:9px/15px -apple-system,sans-serif!important;background:#152330bf!important;color:#9eb2c3!important;border-radius:5px!important}.maplibregl-ctrl-attrib a{color:#b8cddd!important}.maplibregl-ctrl-attrib-button{opacity:.65}.maplibregl-ctrl-scale{background:#172632cc!important;color:#b9ccdb!important;border-color:#91a4b9!important;font:10px/14px system-ui!important}
.target-marker{position:absolute;top:0;left:0;margin:0;padding:0;border:0;width:44px;height:44px;border-radius:50%;background:transparent;transition:none}.target-marker .rotator{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px .7px #000b)}.target-marker .rotator svg,.target-marker .rotator img{width:100%;height:100%;display:block;overflow:visible}.target-marker .group{position:absolute;left:36px;top:35px;min-width:19px;height:15px;line-height:13px;border-radius:5px;padding:0 3px;font-size:9px;font-weight:750;color:#f5c4b5;background:#263541f0;border:1px solid #be9f8659;box-shadow:0 1px 4px #0004;pointer-events:none}.target-marker.selected:before{content:"";position:absolute;inset:5px;border:1px solid #d7ebff7a;border-radius:50%;background:#b8dfff0a;box-shadow:0 0 0 4px #abcfff0a}.target-marker:focus-visible{outline-offset:-2px}.target-preview{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border-radius:18px;background:#293d4f}.target-preview span{display:block;width:35px;height:35px}.target-preview svg,.target-preview img{display:block;width:100%;height:100%;overflow:visible}.gps-dot{width:15px;height:15px;background:#72bdfa;border:3px solid white;border-radius:50%;box-shadow:0 0 0 7px #72bdfa22,0 2px 8px #0005}.danger-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#sheetBackdrop{position:absolute;inset:0;background:#050c1466;z-index:25;backdrop-filter:blur(2px)}.sheet{position:absolute;bottom:0;left:0;right:0;max-height:88%;overflow:hidden;z-index:30;background:#18232ffb;border:1px solid #a6c6e12e;border-bottom:0;border-radius:28px 28px 0 0;box-shadow:0 -12px 80px #0006;padding-bottom:env(safe-area-inset-bottom);animation:slide-up .25s cubic-bezier(.2,.8,.2,1)}.sheet-head{height:40px;position:relative}.sheet-drag{position:absolute;inset:0 54px 0 54px;display:flex;justify-content:center;align-items:flex-start;min-height:36px;cursor:ns-resize;touch-action:none}.handle{display:block;background:#90a8ba5c;width:34px;height:4px;border-radius:3px;margin:12px auto}.close-sheet{position:absolute;right:10px;top:2px;width:40px;height:36px;min-height:36px;border-radius:50%;color:#b1c4d3}.close-sheet svg{width:18px}#sheetBody{overflow-y:auto;max-height:calc(88dvh - 42px - env(safe-area-inset-bottom));padding:5px 22px 25px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#526879 transparent}.sheet h2{font-size:28px;font-weight:650;letter-spacing:-.9px;line-height:1.2}.sheet h3{font-size:15px;font-weight:650;margin:24px 0 12px}.subline{font-size:13px;line-height:1.65;color:var(--muted);margin-top:10px}.sheet-title{display:flex;gap:13px;align-items:center}.sheet-title .eyebrow{font-size:9px;margin-bottom:6px}.sheet-title h2{font-size:26px}.pill{display:inline-flex;gap:6px;align-items:center;font-size:10px;line-height:1.5;padding:6px 10px;border-radius:20px;background:#273b4c;color:#b7ccdd;margin-top:12px}.pill svg{width:13px;height:13px}.badge-line{display:flex;gap:6px;flex-wrap:wrap}.tabs{display:flex;gap:3px;background:#0f1b27;padding:4px;border-radius:15px;margin:20px 0}.tabs button{flex:1;border-radius:12px;min-height:40px;font-size:12px;font-weight:600;color:#9fb6c9}.tabs button.active{color:#dfF2ff;background:#30495e;box-shadow:0 2px 5px #0003}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-tile{border:1px solid #a6c6e112;background:#223343;padding:15px;border-radius:17px;min-height:90px}.detail-tile small{display:block;font-size:9px;letter-spacing:.7px;color:#a6bfd2;margin-bottom:10px}.detail-tile b{display:block;font-size:14px;font-weight:600;line-height:1.5}.detail-tile em{display:block;font-size:11px;line-height:1.5;color:#9eb4c5;font-style:normal;margin-top:5px}.data-row{display:flex;gap:14px;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.data-row>span{color:var(--muted)}.data-row>b{font-weight:550;text-align:right;max-width:62%;overflow-wrap:anywhere}.helper{font-size:12px;line-height:1.75;color:var(--muted);margin-top:14px}.primary,.secondary{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:15px;min-height:48px;padding:12px 15px;font-size:13px;font-weight:600;margin-top:16px}.primary{background:#add4ee;color:#132b3d}.secondary{background:#2a3e50;color:#d6e8f5;margin-top:10px}.primary svg,.secondary svg{width:18px;height:18px}.search,.input-line input{width:100%;min-width:0;background:#101d29;border:1px solid #92b7d22e;border-radius:14px;padding:13px 14px;font-size:14px;outline-offset:1px}.search{margin:0 0 7px}.search::placeholder{color:#7f9bb1}.field-label{display:block;font-size:11px;font-weight:600;color:#a7bfd1;margin:20px 0 9px}.input-line{display:flex;gap:8px}.input-line input{flex:1}.input-line button{border-radius:14px;background:#2a3e50;padding:0 15px;font-size:12px;font-weight:600}.chips{display:flex;gap:8px;margin-top:14px}.chips button{flex:1;border:1px solid #a6c6e129;border-radius:14px;font-size:13px}.chips button.active{background:#add4ee;color:#132b3d}.switch-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.switch-row>div{flex:1;min-width:0}.switch-row b{font-size:14px;font-weight:550;display:block}.switch-row small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}.switch{position:relative;width:46px;min-width:46px;height:44px}.switch:before{content:"";position:absolute;inset:8px 0;background:#3b5061;border-radius:25px;transition:background .2s}.switch:after{content:"";position:absolute;left:3px;top:11px;width:22px;height:22px;border-radius:50%;background:#edf5fa;box-shadow:0 1px 4px #0004;transition:transform .2s}.switch[aria-checked=true]:before{background:#82b5d9}.switch[aria-checked=true]:after{transform:translateX(18px)}.target-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:15px 0;border-bottom:1px solid var(--line)}.target-row .target-preview{width:44px;height:44px;border-radius:15px}.target-row .target-preview span{width:29px;height:29px}.target-row>div:nth-child(2){flex:1;min-width:0}.target-row b{display:block;font-size:14px;font-weight:550}.target-row small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}.target-row>svg{width:17px;height:17px;color:#8ba7bd}.count,.list-count{font-size:12px;color:#9db6c9;font-variant-numeric:tabular-nums}.list-count{margin-left:8px}.analysis-box{background:linear-gradient(145deg,#2a4053,#213242);border:1px solid #91b5cf1c;border-radius:20px;padding:20px;margin-top:16px}.analysis-box p{font-size:14px;line-height:1.85}.analysis-box .eyebrow{font-size:10px}.source-link{display:block;font-size:12px;line-height:1.8;color:#b6d7ef;margin-top:12px;text-decoration:none}.message-card,.event{padding:16px 0;border-bottom:1px solid var(--line)}.message-card .meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#a1b9cb;margin-bottom:9px}.message-card p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.message-card a{display:inline-block;margin-top:8px;font-size:12px;text-decoration:none}.event{font-size:13px;line-height:1.7}.event time{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.status-card{border:1px solid #a6c6e129;background:#223343;border-radius:18px;padding:17px;margin-top:20px;font-size:13px;line-height:1.8}.status-card b{display:block;font-weight:600}.status-card span{color:var(--muted);font-size:12px}.note-panel{padding:15px;background:#2b343c;border-radius:15px;font-size:12px;line-height:1.7;color:#c5c4b8;margin-top:14px}.empty{text-align:center;padding:35px 10px}.empty svg{width:36px;height:36px;color:#9fbdd3;margin-bottom:15px}.empty b{display:block;font-size:16px;font-weight:550}.empty p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px}details{margin-top:15px}summary{font-size:12px;color:#a5c5dc;min-height:44px;display:flex;align-items:center;cursor:pointer}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#101c28;padding:14px;border-radius:14px;font:11px/1.7 ui-monospace,monospace}.map-style-preview{display:none}
.compact-summary{display:none}.sheet.compact{height:217px}.sheet.compact #sheetBody{max-height:177px;padding-top:0;overflow:hidden}.sheet.compact .target-preview{width:43px;height:43px;border-radius:14px}.sheet.compact .target-preview span{width:29px;height:29px}.sheet.compact .sheet-title h2{font-size:22px}.sheet.compact .pill,.sheet.compact [role=tabpanel]{display:none}.sheet.compact .compact-summary{display:block;font-size:12px;color:#adc4d6;line-height:1.65;padding-top:10px}.sheet.compact .tabs{margin:12px 0 0}.sheet.compact .tabs button{min-height:34px;font-size:11px}.phone.target-sheet-open .overview,.phone.target-sheet-open .bottom-nav{opacity:0;pointer-events:none}.phone.target-sheet-open .map-caption{bottom:calc(230px + env(safe-area-inset-bottom))}
.region-row{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:50px;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer;padding:10px 0}.region-row input{accent-color:#a7d4f3;width:20px;height:20px;flex-shrink:0;cursor:pointer}.region-list{margin-bottom:14px}.region-actions{position:sticky;bottom:-25px;background:#18232ff5;backdrop-filter:blur(18px);padding:12px 0 18px;border-top:1px solid var(--line)}#regionCount{font-size:12px;color:var(--muted)}.region-actions .primary{margin-top:10px}#regionGPS{font-size:12px}
#toast{position:absolute;z-index:45;left:20px;right:20px;bottom:calc(225px + env(safe-area-inset-bottom));background:#304558f5;color:#e6f3fc;border:1px solid #9fc5df40;box-shadow:0 8px 30px #0003;border-radius:16px;padding:13px 16px;font-size:12px;line-height:1.6;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}#alarmBanner{position:absolute;z-index:50;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top));display:flex;align-items:center;gap:10px;background:#843e3cf5;color:#fff2ed;border:1px solid #ffb5a568;border-radius:22px;padding:17px;box-shadow:0 8px 40px #0005}#alarmBanner>div{flex:1}#alarmBanner b{font-size:14px}#alarmBanner p{font-size:12px;line-height:1.7;margin-top:4px}#alarmBanner button{width:36px;min-width:36px;display:grid;place-items:center}.map-failure{position:absolute;top:240px;left:25px;right:75px;background:#263e50ed;padding:18px;border-radius:17px;font-size:13px;line-height:1.8}.map-credit{position:absolute;bottom:3px;left:10px;font-size:9px;background:#152330aa;padding:2px 5px;border-radius:4px;color:var(--muted)}
/* Optional daylight mode is explicitly selected, never the initial experience. */
.phone:not(.night){--ink:#223748;--muted:#526c80;--glass:#f3f8fced;--surface:#e4edf4;--line:#233b501a;color:var(--ink)}.phone:not(.night) .top-fade{background:linear-gradient(#eaf3fbea,transparent)}.phone:not(.night) .identity h1{color:#213b50}.phone:not(.night) .sheet{background:#f4f8fc;color:#233b50}.phone:not(.night) .detail-tile,.phone:not(.night) .status-card,.phone:not(.night) .target-preview{background:#e2edf5}.phone:not(.night) .tabs,.phone:not(.night) .search,.phone:not(.night) .input-line input{background:#e1ecf4}.phone:not(.night) .tabs button.active{background:#325a78;color:white}.phone:not(.night) .secondary{background:#dce9f3;color:#304e68}.phone:not(.night) .analysis-box{background:#e1edf5}.phone:not(.night) .region-actions{background:#f4f8fcf5}.phone:not(.night) .stats strong{color:#294b66}.phone:not(.night) .map-caption{color:#244b66;text-shadow:0 1px 3px white}.phone:not(.night) .mode-switch button{color:#41657e}.phone:not(.night) .mode-switch button.active{background:#2d506c;color:white}.phone:not(.night) .bottom-nav button{color:#526f85}.phone:not(.night) .bottom-nav button.selected{background:#c9dfef;color:#234966}
@keyframes slide-up{from{transform:translateY(8%);opacity:.6}to{transform:translateY(0);opacity:1}}
@media(min-width:760px){.topbar{left:28px;right:28px;top:24px}.live-bar{left:28px;top:88px}.alerts-chip{right:28px;top:88px}.mode-switch{left:28px;top:140px}.scope-chip{left:28px;top:196px}.map-tools{right:28px;top:156px}.overview{left:24px;right:auto;width:360px;bottom:105px}.bottom-nav{left:24px;right:auto;width:360px;bottom:25px}.map-caption,.phone.overview-small .map-caption{left:auto;right:28px;bottom:32px;max-width:50%}.sheet{left:24px;right:auto;bottom:25px;width:390px;max-height:calc(100% - 230px);border-radius:26px;border-bottom:1px solid #a6c6e12e}.sheet #sheetBody{max-height:calc(100dvh - 300px)}.sheet.compact{height:217px}.sheet.compact #sheetBody{max-height:177px}.phone.target-sheet-open .map-caption{bottom:32px}#toast{left:24px;right:auto;width:360px;bottom:260px}#alarmBanner{left:50%;transform:translateX(-50%);width:min(500px,80%)}.map-credit{left:auto;right:200px}}
@media(max-width:359px){.topbar,.live-bar,.mode-switch,.scope-chip{left:12px}.topbar,.alerts-chip{right:12px}.mode-switch button{padding:0 12px;font-size:11px}.overview{padding-inline:15px}.stats span{font-size:10px}.stats strong small{font-size:10px}#sheetBody{padding-inline:17px}.sheet h2{font-size:25px}.map-caption{font-size:9px;gap:9px}}
@media(max-height:740px){.map-tools{top:180px;gap:6px}.zoom-tools{display:none}.topbar{top:calc(12px + env(safe-area-inset-top))}.live-bar,.alerts-chip{top:calc(67px + env(safe-area-inset-top))}.mode-switch{top:calc(112px + env(safe-area-inset-top))}.scope-chip{top:calc(165px + env(safe-area-inset-top))}.overview{bottom:calc(81px + env(safe-area-inset-bottom))}.bottom-nav{height:60px;bottom:calc(10px + env(safe-area-inset-bottom))}.bottom-nav button{height:48px}.phone.overview-small .map-caption{bottom:calc(177px + env(safe-area-inset-bottom))}.sheet.compact{height:210px}.sheet.compact #sheetBody{max-height:170px}}
@media(max-height:500px){.identity p,.live-bar,.alerts-chip,.map-caption,.overview{display:none}.mode-switch{top:18px;left:180px}.topbar{top:18px}.map-tools{top:80px}.map-tools .icon-button{height:40px;min-height:40px}.bottom-nav{width:340px;left:12px;right:auto}.sheet{left:12px;right:auto;width:360px;max-height:95%}.sheet #sheetBody{max-height:calc(95dvh - 42px)}.scope-chip{top:75px;left:180px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-reduced-transparency:reduce){.glass,.sheet{backdrop-filter:none;-webkit-backdrop-filter:none;background:#18232f}}

/* Mobile review refinements */
.identity p{display:none}.identity{min-height:40px}.map-caption{font-size:11px;gap:12px}.sheet[data-type=target]:not(.compact){max-height:58dvh}.sheet[data-type=target]:not(.compact) #sheetBody{max-height:calc(58dvh - 42px - env(safe-area-inset-bottom))}.overlap-next{margin-left:auto;display:flex;align-items:center;gap:2px;min-width:52px;min-height:44px;color:#bfe2fa;background:#2a4052;border-radius:15px;font-size:12px;font-variant-numeric:tabular-nums;padding:0 8px}.overlap-next svg{width:15px;height:15px}

@media(max-height:500px){.sheet.compact{max-height:95dvh}.sheet[data-type=target]:not(.compact){max-height:85dvh}.sheet[data-type=target]:not(.compact) #sheetBody{max-height:calc(85dvh - 42px)}}

.course-guide{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden}.course-guide path{fill:none;stroke:#bcdcf2;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #071421)}#courseGuideLine{stroke-dasharray:4 5;opacity:.85}


.course-reference{display:block;font-size:11px;line-height:1.45;color:#a8c4d8;margin-top:3px}.sheet.compact{height:230px}.sheet.compact #sheetBody{max-height:190px}

.region-select{width:100%;min-height:48px;padding:12px 36px 12px 14px;border-radius:14px;background:#132332;border:1px solid #89b4d044;font:inherit;font-size:14px;color:var(--ink);color-scheme:dark}.channel-catalog{margin:18px 0 6px;border:1px solid var(--line);border-radius:18px;padding:0 14px}.channel-catalog summary{font-size:13px;min-height:46px;color:#c5def0}.channel-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:12px 0;text-decoration:none;border-top:1px solid var(--line);color:var(--ink)}.channel-link b{display:block;font-size:13px;font-weight:600}.channel-link small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.channel-link svg{width:17px;height:17px;color:#a6c9e1}.feed-heading{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.feed-heading h3{margin:0}.briefing-card{border:1px solid #9abfd11b;background:#223344;border-radius:17px;padding:17px;margin-top:12px}.briefing-card.lead{background:linear-gradient(145deg,#2d485e,#243646);border-color:#a6d4f02e}.briefing-card>p:not(.eyebrow){font-size:14px;line-height:1.8}.briefing-card .eyebrow{font-size:10px;margin-bottom:9px}.evidence-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.evidence-links a{font-size:11px;line-height:1.6;color:#add4ef;text-decoration:none;padding:4px 0}.analysis-coverage{font-size:11px;color:var(--muted);line-height:1.6;margin-top:12px}.phone:not(.night) .region-select,.phone:not(.night) .briefing-card{background:#e1edf5;color:#233b50}.phone:not(.night) .channel-link{color:#24465f}

#courseGuideCaption{fill:#c3dfef;font-size:10px;font-family:inherit;paint-order:stroke;stroke:#152a3d;stroke-width:3px;stroke-linejoin:round}

/* Official legacy silhouettes are white on the source map; keep their paths intact. */
.target-marker [data-original-monochrome],.target-preview [data-original-monochrome]{filter:brightness(0) invert(.97)}

.legend-dot:not(.jet):not(.danger):not(.unknown){background:#e58d55}.legend-dot.jet{background:#86c8fa}.legend-dot.unknown{background:#9aa4ae}
.history-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:1}
.history-overlay path{fill:none;stroke:#83b9f0;stroke-width:1.6;stroke-opacity:.85;stroke-dasharray:4.8 6.4;stroke-linecap:round;stroke-linejoin:round}
.phone:not(.night) .history-overlay path{stroke:#345e94}
