:root{color-scheme:dark;--bg:#070d16;--line:rgba(157,192,221,.14);--text:#eaf3fa;--muted:#8096ab;--blue:#6cd8f9;--glass:rgba(10,18,29,.89);--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #7cddfa;outline-offset:3px}.hidden{display:none!important}#map,#globe{position:absolute;inset:0;z-index:0}#vignette{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(3,7,15,.48),transparent 27%,transparent 75%,rgba(3,7,15,.36))}a{color:#a5e9ff}kbd{color:#8a9baa;border:1px solid var(--line);padding:3px 6px;border-radius:5px;font-size:10px}.topbar,.sidebar,.context,.drawer,.summary,.utility,.coordinate-bar,.map-controls,.toast{position:absolute;z-index:5}.topbar{top:0;left:0;right:0;height:70px;padding:0 25px;display:flex;align-items:center;gap:18px;background:linear-gradient(180deg,rgba(5,10,18,.96),rgba(6,11,19,.73));border-bottom:1px solid var(--line);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap;letter-spacing:.12em;font-weight:700;font-size:15px;text-decoration:none;color:white}.brand strong{font-weight:400;color:#8edcf0}.brand-symbol{display:grid;place-items:center;background:linear-gradient(145deg,#76eaff,#5385bb);color:#06101c;border-radius:7px;width:30px;height:30px;font-size:23px;line-height:1}.beta{color:#7db6c9;border:1px solid rgba(113,205,237,.23);padding:5px 7px;border-radius:4px;font-size:8px;letter-spacing:.13em;margin-left:3px}.separator{height:23px;width:1px;background:var(--line)}.top-status{display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:10px;letter-spacing:.13em;color:#a7bdc9}.utc{margin-left:12px;color:#728ca0;font-variant-numeric:tabular-nums}.live-light{width:7px;height:7px;border-radius:50%;background:#d99d4c;box-shadow:0 0 10px #d99d4c70}.live-light.good{background:#67d6ad;box-shadow:0 0 10px #67d6ad80}.top-actions{margin-left:auto;display:flex;align-items:center;gap:11px}.search-trigger,.circle-btn,.subtle-btn,.switch,.map-controls button{border:1px solid var(--line);background:rgba(23,35,50,.78);border-radius:9px}.search-trigger{display:flex;align-items:center;gap:10px;padding:9px 12px;color:#a9c0cf;font-size:12px;min-width:220px}.search-trigger>span:first-child{font-size:20px;line-height:13px}.search-trigger kbd{margin-left:auto}.switch{display:flex;padding:3px;gap:3px}.switch button{background:transparent;border:0;padding:8px 11px;border-radius:6px;font-size:11px;color:#92a6b4}.switch .selected{background:#23394a;color:#d9f9ff}.circle-btn{width:35px;height:35px;font-size:19px}.summary{top:86px;left:350px;display:flex;gap:6px}.stat{display:flex;align-items:center;gap:9px;background:rgba(9,18,30,.83);border:1px solid var(--line);border-radius:11px;padding:10px 13px;backdrop-filter:blur(16px);min-width:126px}.stat-icon{font-size:20px}.stat strong{display:block;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;line-height:18px}.stat small{display:block;font-size:9px;color:#91a3b4;letter-spacing:.08em;white-space:nowrap;margin-top:3px}.sidebar{top:86px;bottom:82px;left:17px;width:313px;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--glass);border-radius:var(--radius);box-shadow:0 18px 60px rgba(0,0,0,.26);backdrop-filter:blur(24px);overflow:hidden}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:19px 20px 15px}.panel-heading h2{font-size:17px;letter-spacing:-.025em;margin:5px 0 0;font-weight:600}.panel-heading h2 span{color:#7893a8;font-size:12px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#7cd0e7;font-weight:650}.subtle-btn{padding:6px 9px;color:#abbfcc}.sidebar-search{margin:0 14px 10px;background:#142332;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:8px;padding:8px 10px}.sidebar-search span{font-size:19px;color:#78a4b7;line-height:14px}.sidebar-search input{background:transparent;border:0;outline:0;color:white;width:100%;font-size:12px}.sidebar-tools{display:flex;padding:0 14px 12px;gap:6px}.sidebar-tools button{background:#1a2b39;border:1px solid var(--line);padding:8px 11px;border-radius:7px;color:#acbdc8;font-size:11px;flex:1}.sidebar-tools button:hover,.utility button:hover,.map-controls button:hover{background:#234257}.layer-list{overflow:auto;flex:1;scrollbar-color:#233e52 transparent;scrollbar-width:thin}.category-head{padding:14px 18px 9px;border-top:1px solid var(--line);color:#91b0c4;font-size:10px;font-weight:700;letter-spacing:.1em;display:flex;justify-content:space-between;align-items:center}.category-head span{color:#6e899b}.layer-row{display:flex;align-items:center;gap:10px;padding:10px 15px 10px 18px;min-height:50px;border-left:2px solid transparent}.layer-row:hover{background:#152536}.layer-row.active{border-left-color:#65d9f5;background:#14293a}.layer-symbol{height:29px;width:29px;border-radius:8px;display:grid;place-items:center;font-size:16px;flex-shrink:0;background:#1a2b3a}.layer-text{min-width:0;flex:1}.layer-title{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-sub{font-size:10px;color:#748ea1;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{border-radius:4px;font-size:9px;padding:3px 5px;background:#24313b;color:#9ca9b6}.pill.on{color:#8cf0ca;background:#174238}.pill.pred{color:#96c3f4;background:#253c53}.layer-row input{accent-color:#6ddcfb;width:16px;height:16px;cursor:pointer}.layer-row input:disabled{cursor:not-allowed}.provider-note{padding:12px 16px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:#839aae}.provider-note button{color:#97e3f6;border:0;background:none;padding:0;display:block;margin-top:5px;font-size:11px}.context{right:17px;top:86px;width:340px;max-height:calc(100% - 170px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(22px);box-shadow:0 16px 48px #0006}.context .panel-heading h2{font-size:18px;line-height:1.35}.coordinate{margin:0 20px 17px;font-size:11px;color:#7fc8df;font-variant-numeric:tabular-nums}.field{margin:0 20px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-top:1px solid var(--line);padding:11px 0;font-size:12px}.field dt{color:#829aac}.field dd{margin:0;max-width:62%;text-align:right;overflow-wrap:anywhere}.context-footer{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);font-size:11px}.context-footer button{border:1px solid var(--line);background:#1b3343;padding:8px;border-radius:8px}.map-controls{right:18px;bottom:87px;display:grid;gap:5px}.map-controls button{width:39px;height:38px;font-size:18px}.coordinate-bar{bottom:22px;left:349px;background:#07111acb;border:1px solid var(--line);border-radius:9px;padding:9px 12px;display:flex;align-items:center;gap:8px;color:#93aabd;backdrop-filter:blur(14px);font-size:10px;letter-spacing:.05em;font-variant-numeric:tabular-nums}.pulse-ring{height:6px;width:6px;border-radius:50%;background:#75ddb9}.coordinate-separator{color:#567084}.utility{display:flex;gap:5px;bottom:19px;left:50%;transform:translateX(-50%);background:rgba(8,17,28,.91);padding:6px;border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(18px)}.utility button{display:flex;align-items:center;gap:6px;border:0;background:none;color:#93aabd;padding:9px 12px;border-radius:9px;font-size:11px;white-space:nowrap}.utility button span{font-size:15px}.utility button.active{background:#20364a;color:#a3e9fc}.drawer{left:50%;transform:translateX(-50%);bottom:85px;width:min(600px,calc(100% - 30px));max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#0b1825f5;box-shadow:0 20px 60px #0009;backdrop-filter:blur(20px)}#drawer-body{padding:0 20px 20px}.drawer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0;font-size:12px}.drawer-row small{color:#8299ac;display:block;margin-top:4px;line-height:1.5}.drawer-row button{border:1px solid var(--line);border-radius:7px;background:#1a3445;padding:7px 10px}.drawer-empty{color:#7c95a7;font-size:12px;line-height:1.8}.search-modal{position:fixed;inset:0;background:#02060bbb;z-index:15;display:flex;justify-content:center;align-items:flex-start;padding:15vh 16px 0;backdrop-filter:blur(9px)}.search-box{width:min(600px,100%);background:#0e1b29;border:1px solid #315061;border-radius:17px;box-shadow:0 35px 90px #000a;overflow:hidden}.search-entry{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.large-icon{font-size:27px;color:#79d4ea}.search-entry input{flex:1;background:transparent;border:0;outline:0;color:white;font-size:16px;min-width:0}.search-entry button{background:#243747;border:1px solid var(--line);border-radius:6px;font-size:10px;padding:5px;color:#a9becc}.search-hint{padding:12px 18px;color:#839aad;font-size:11px}.search-result{padding:12px 18px;display:flex;justify-content:space-between;gap:14px;cursor:pointer;font-size:13px;border-top:1px solid var(--line)}.search-result:hover{background:#193146}.search-result small{color:#84a4b7}.toast{bottom:85px;left:50%;transform:translateX(-50%);background:#19384a;border:1px solid #3d7188;border-radius:9px;padding:12px 15px;font-size:12px;max-width:90vw;box-shadow:0 10px 35px #0009}.mobile-close{display:none}.maplibregl-control-container .maplibregl-ctrl-attrib{font-size:9px!important;background:#0b1422d8!important;color:#aabccc}.maplibregl-ctrl-attrib a{color:#b3ddeb}.cesium-widget-credits{font-size:10px!important}
@media(max-width:1180px){.summary{left:350px;right:15px}.stat{min-width:0;flex:1}.stat small{font-size:8px}.utc{display:none}.search-trigger{min-width:160px}}
@media(max-width:850px){.topbar{padding:0 12px;height:61px;gap:8px}.separator,.top-status,.beta{display:none}.brand{font-size:12px;gap:6px}.brand-symbol{width:26px;height:26px}.search-trigger{min-width:0;width:38px;height:36px;justify-content:center;padding:0}.search-title,.search-trigger kbd{display:none}.top-actions{gap:5px}.summary{left:10px;right:10px;top:73px;gap:4px}.stat{padding:8px;gap:5px;min-width:0}.stat-icon{font-size:14px}.stat strong{font-size:14px}.stat small{font-size:7px;letter-spacing:0}.sidebar{top:auto;left:0;right:0;bottom:0;width:100%;height:79dvh;max-height:79dvh;border-radius:20px 20px 0 0;z-index:12;transform:translateY(105%);transition:transform .25s ease}.sidebar.open{transform:translateY(0)}.mobile-close{display:block}.context{left:0;right:0;top:auto;bottom:0;width:auto;max-height:65dvh;border-radius:19px 19px 0 0;z-index:11}.utility{bottom:calc(12px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 12px);gap:0;padding:5px;left:50%}.utility button{font-size:9px;padding:9px 8px;display:flex;flex-direction:column;gap:1px}.utility button span{font-size:17px}.map-controls{bottom:95px;right:11px}.coordinate-bar{left:10px;bottom:calc(90px + env(safe-area-inset-bottom));font-size:9px;max-width:calc(100% - 70px);overflow:hidden;white-space:nowrap}.drawer{bottom:calc(94px + env(safe-area-inset-bottom))}.toast{bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.utility button{padding:8px 6px}.stat{padding:7px 4px;gap:3px}.stat-icon{display:none}.stat small{font-size:7px}.coordinate-separator:nth-of-type(2),#updated-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* XYQEN GLOBAL precision utility tools */
.tool-description{font-size:12px;color:#a3bdca;line-height:1.65;margin:3px 0 15px}.tool-action{border:1px solid #28475b;background:#162b3b;color:#cbe6ef;border-radius:8px;padding:9px 12px;margin:4px 5px 7px 0;font-size:11px;cursor:pointer}.tool-action:hover,.tool-action.chosen{border-color:#73d8ef;background:#24485a;color:#ecfdff}.tool-input{display:flex;flex-direction:column;font-size:11px;color:#a9c5d3;gap:5px;margin:10px 0}.tool-input input{border:1px solid #2d4b5d;background:#0d1a27;border-radius:7px;padding:10px;color:#e8faff;max-width:100%;font-size:13px}.tool-input input[type=range]{width:100%;padding:4px}.segmented-tools{display:flex;flex-wrap:wrap;gap:5px}.inline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px}.inline-actions .tool-action{font-size:10px;padding:6px 8px}.tool-banner{position:absolute;z-index:8;top:142px;left:50%;transform:translateX(-50%);background:#102739ef;border:1px solid #4a879f;color:#b5f7f5;border-radius:9px;padding:10px 14px;font-size:12px;box-shadow:0 10px 30px #0007;pointer-events:none}.utility{max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none}.utility::-webkit-scrollbar{display:none}.utility button{flex-shrink:0}.drawer{z-index:13}button:focus-visible,input:focus-visible{outline:2px solid #91ecff;outline-offset:2px}
@media(max-width:850px){.utility{width:auto;max-width:calc(100vw - 16px);left:50%;justify-content:flex-start}.utility button{min-width:46px}.tool-banner{top:145px;max-width:calc(100% - 18px);text-align:center}.inline-actions .tool-action{font-size:10px}}

.ops-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ops-filters input,.ops-filters select{background:#152a39;color:#d4e7ef;border:1px solid #35586c;padding:9px 10px;border-radius:8px;font-size:11px;min-width:125px;flex:1}.ops-item{align-items:center}.ops-item .tool-action{margin:0}.ops-table{max-height:45vh;overflow:auto}.summary{max-width:calc(100vw - 366px);overflow-x:auto;scrollbar-width:none}.summary::-webkit-scrollbar{display:none}@media(max-width:850px){.summary{max-width:calc(100vw - 20px);overflow-x:auto}.summary .stat{flex:0 0 auto;min-width:77px}.ops-filters{flex-direction:column}}

/* v0.6 responsive interface and interaction hardening */
html,body,#app{height:100%;height:100dvh;overscroll-behavior:none}
#map,#globe{touch-action:none}
button,select,input{ -webkit-tap-highlight-color:transparent }
.sheet-backdrop{position:fixed;inset:0;z-index:9;background:rgba(3,9,16,.46);backdrop-filter:blur(3px)}
.connectivity-banner{position:fixed;z-index:15;top:calc(76px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);padding:9px 14px;border:1px solid #8e7761;border-radius:12px;background:rgba(39,27,19,.95);color:#ffdfb5;max-width:min(92vw,420px);font-size:12px;text-align:center}
.mobile-nav-only{display:none!important}
.search-result{width:100%;color:var(--text);text-align:left;background:transparent;border:0;font:inherit;align-items:center}
.search-result:focus-visible{background:#254256;outline-offset:-3px}
.panel-heading{position:sticky;top:0;z-index:2;background:rgba(9,20,33,.96)}
.drawer,.context,.sidebar{overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:850px){
  :root{--nav-bottom:calc(8px + env(safe-area-inset-bottom, 0px));--nav-height:64px;--keyboard-inset:0px}
  #app{height:100dvh}
  .topbar{top:0;height:calc(57px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 12px 0;z-index:7;background:linear-gradient(180deg,#060e1af5,#081421e8)}
  .brand{font-size:12px;letter-spacing:.065em}.brand-symbol{width:28px;height:28px}
  .search-trigger,.circle-btn{min-width:44px;min-height:44px}
  .switch{min-height:44px;align-items:center}.switch button{min-width:40px;min-height:38px}
  .summary{top:calc(67px + env(safe-area-inset-top,0px));left:8px;right:8px;max-width:none;display:flex;gap:7px;padding-bottom:5px;scroll-snap-type:x proximity;touch-action:pan-x;overscroll-behavior-x:contain}
  .summary .stat{min-width:112px;padding:9px 10px;min-height:48px;scroll-snap-align:start;border-radius:12px;flex:0 0 auto}
  .summary .stat small{font-size:9px;letter-spacing:0;line-height:1.2}.summary .stat strong{font-size:15px}
  .summary .stat-icon{display:block;font-size:14px}
  .utility{position:fixed;left:8px;right:8px;transform:none;bottom:var(--nav-bottom);height:var(--nav-height);max-width:none;width:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;border-radius:17px;padding:4px;gap:2px;box-shadow:0 10px 30px #000a;background:#091724f5;z-index:8}
  .utility button{width:100%;height:54px;min-width:0;padding:4px 2px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;line-height:1;font-size:11px;font-weight:550;touch-action:manipulation}
  .utility button span{font-size:20px;line-height:22px}
  .utility button:not(#layers-open):not(#events-open):not(#watch-open):not(#mobile-search):not(#mobile-more){display:none}
  .utility .mobile-nav-only{display:flex!important}
  .utility button:active{background:rgba(91,190,222,.18)}
  .map-controls{position:fixed;bottom:calc(var(--nav-height) + var(--nav-bottom) + 11px);right:11px;gap:6px;z-index:5}
  .map-controls button{width:44px;height:44px;border-radius:13px}
  .coordinate-bar{left:10px;right:66px;bottom:calc(var(--nav-height) + var(--nav-bottom) + 11px);max-width:none;min-height:34px;overflow:hidden;font-size:10px;white-space:nowrap}
  .drawer,.sidebar,.context{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;transform:none;max-height:calc(86dvh - env(safe-area-inset-top,0px));border-radius:22px 22px 0 0;border-left:0;border-right:0;border-bottom:0;box-shadow:0 -15px 65px #000c;backdrop-filter:blur(26px);padding-bottom:env(safe-area-inset-bottom,0px);touch-action:pan-y}
  .sidebar{height:min(78dvh,720px);max-height:none;bottom:0;transform:translateY(105%);transition:transform .26s cubic-bezier(.2,.8,.2,1);overflow-y:auto;z-index:12}
  .sidebar.open{transform:translateY(0)}
  .context{max-height:78dvh;overflow-y:auto;z-index:11}
  .drawer{height:auto;max-height:78dvh;overflow-y:auto;z-index:13}
  .panel-heading{padding-top:16px;touch-action:pan-y}
  .panel-heading:before{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:42px;height:4px;border-radius:10px;background:#557284;pointer-events:none}
  .panel-heading .subtle-btn{min-width:44px;min-height:44px;display:grid;place-items:center}
  .layer-row{min-height:58px;padding:10px 17px}.layer-row input{width:22px;height:22px;min-width:22px}
  .layer-title{font-size:13px}.layer-sub{font-size:11px}
  .sidebar-search input,.search-entry input,.tool-input input,.ops-filters input,.ops-filters select{font-size:16px!important}
  .drawer-row{gap:8px;flex-wrap:wrap}.drawer-row .inline-actions{justify-content:flex-start;min-width:100%}
  .drawer-row button,.tool-action{min-height:44px;font-size:13px;padding:10px 12px}
  .search-modal{padding:calc(10px + env(safe-area-inset-top,0px)) 10px 0;align-items:flex-start;z-index:22}
  .search-box{border-radius:17px;max-height:calc(100dvh - var(--keyboard-inset) - 20px - env(safe-area-inset-top,0px));overflow:auto}
  .search-entry{padding:9px 12px;gap:8px;min-height:58px}.search-entry button{min-width:44px;min-height:44px}
  .search-result{min-height:52px;align-items:flex-start;flex-direction:column;gap:2px;padding:10px 16px}
  .search-hint{font-size:12px}
  .tool-banner{top:calc(137px + env(safe-area-inset-top,0px));max-width:calc(100vw - 24px);font-size:12px}
  .toast{bottom:calc(var(--nav-height) + var(--nav-bottom) + 14px)}
  .connectivity-banner{top:calc(64px + env(safe-area-inset-top,0px))}
  .more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 0 10px}
  .more-grid .tool-action{margin:0;min-height:56px;text-align:left;font-size:13px}
}
@media(max-width:380px){.brand{font-size:11px}.summary .stat{min-width:104px}.utility button{font-size:10px}}
@media(max-width:850px) and (orientation:landscape) and (max-height:480px){
  .summary{display:none}.topbar{height:50px}.utility{--nav-height:55px}.utility button{height:46px}.sidebar,.context,.drawer{max-height:90dvh}.map-controls{bottom:calc(var(--nav-height) + var(--nav-bottom) + 8px)}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none!important}}

@media(max-width:850px){.drawer:focus-within,.sidebar:focus-within{bottom:var(--keyboard-inset,0px);max-height:calc(80dvh - var(--keyboard-inset,0px));}.drawer:focus-within{max-height:calc(78dvh - var(--keyboard-inset,0px))}}

@media(max-width:850px){.utility #layers-open{order:1}.utility #events-open{order:2}.utility #mobile-search{order:3}.utility #watch-open{order:4}.utility #mobile-more{order:5}}
