:root{color-scheme:dark;--bg:#041426;--panel:#041c2d;--line:#147aa2;--cyan:#00d8ff;--text:#f5fbff;--muted:#85acc3;--top-size:158px;--bottom-size:128px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font:14px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #8bf1ff;outline-offset:4px}button{color:var(--text)}[hidden]{display:none!important}.icon{height:23px;width:23px;object-fit:contain;vertical-align:middle;pointer-events:none;flex-shrink:0}.map-shell,#map{position:absolute;inset:0;background:#0a2737}#map{z-index:0}.map-vignette{position:absolute;inset:0;box-shadow:inset 0 0 75px #00101f45;pointer-events:none;z-index:400}.leaflet-container{font-family:inherit;background:#0b2836}.leaflet-control-attribution{font-size:8px!important;background:#031828e8!important;color:#86afc5!important}.leaflet-control-attribution a{color:#a3e2f9!important}.leaflet-tile-pane{filter:brightness(.78) saturate(.72)}.top-dock{position:absolute;z-index:700;top:calc(var(--safe-top) + 10px);left:12px;right:12px;padding:9px 11px 10px;border:1px solid #1c91bb;border-radius:17px;background:linear-gradient(145deg,#06263a,#031423);box-shadow:0 0 0 1px #032c48,0 6px 24px #0006;transform:translateY(0);transition:transform .24s ease,visibility .24s}.top-hidden .top-dock{transform:translateY(calc(-100% - var(--safe-top) - 24px));visibility:hidden;pointer-events:none}.app-header{display:flex;align-items:center;gap:10px;min-height:41px;margin-bottom:7px}.brand{text-decoration:none;display:flex;align-items:center;gap:5px;color:white;letter-spacing:-.5px;font-size:23px;font-weight:650;margin-right:auto}.brand span{color:#12d7ff}.brand small{font-size:6px;color:#b4d7e9;letter-spacing:1.8px;display:block;margin-top:1px}.brand-logo{width:43px;height:43px}.demo-badge{display:flex;align-items:center;gap:5px;border:1px solid #3f86ab;padding:5px 9px;border-radius:16px;font-size:8px;letter-spacing:.6px;color:#e5f6ff;background:#092f45}.demo-badge i,.state-pill i{background:#ffd541;width:5px;height:5px;border-radius:50%;box-shadow:0 0 6px #ffce3260}.icon-button{border:0;background:none;display:grid;place-items:center;padding:6px;width:34px;height:34px;border-radius:50%;flex-shrink:0}.icon-button:hover{background:#0b3b54}.icon-button .icon{height:22px;width:22px}.project-bar{display:flex;align-items:center;gap:4px;border:1px solid #19779b;background:linear-gradient(#0a3147,#041d30);border-radius:9px;padding:2px 4px}.project-button{border:0;background:none;display:flex;gap:7px;align-items:center;flex:1;min-width:0;padding:5px;text-align:left}.project-button .icon{height:20px;width:20px}.project-button strong{font-size:12px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550}.project-button strong:after{content:'⌄';font-size:11px;color:#7bdef5;margin-left:9px}.project-code{font:8px Consolas,monospace;color:#b5d6e9;padding:3px 6px;background:#0e3b53;border-radius:8px;margin-left:auto}.project-bar .icon-button{height:27px;width:27px}.quick-layers{display:flex;gap:6px;margin-top:9px}.quick-layers button{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;padding:5px 6px;border-radius:15px;background:linear-gradient(#0f435e,#062638);border:1px solid #287b9c;font-size:9px;white-space:nowrap;box-shadow:inset 0 1px #ffffff12}.quick-layers .icon{height:14px;width:14px}.mini-switch{width:16px;height:9px;border-radius:6px;background:#03bce7;margin-left:auto;position:relative}.mini-switch:before{content:'';position:absolute;width:6px;height:6px;background:white;border-radius:50%;top:1.5px;right:2px}.quick-layers button[aria-pressed=false]{color:#748e9f;border-color:#20465b;background:#082133}.quick-layers button[aria-pressed=false] .mini-switch{background:#34576c}.quick-layers button[aria-pressed=false] .mini-switch:before{right:8px;background:#aec7d8}.search-panel{margin-top:9px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #1680a7;border-radius:8px;padding:8px;background:#031424}.search-box .icon{width:18px;height:18px}.search-box input{width:100%;min-width:0;background:none;border:0;color:white;outline:none;font-size:11px}.search-box input::placeholder{color:#719caf}#searchResults{max-height:190px;overflow:auto}#searchResults button{display:block;width:100%;border:0;border-bottom:1px solid #153d53;background:#082439;text-align:left;padding:10px;color:#bbecff;font-size:11px}#searchResults p{font-size:10px;color:var(--muted);padding:0 6px}.dock-handle{position:absolute;z-index:710;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:6px;height:29px;padding:0 12px;background:linear-gradient(#0b354b,#041b2c);border:1px solid #298bb1;border-radius:0 0 12px 12px;box-shadow:0 3px 12px #0006;font-size:9px;color:#bdeaff;touch-action:none;transition:top .24s ease,bottom .24s ease}.dock-handle .icon{height:14px;width:14px}.dock-handle b{font-size:13px;font-weight:400}.handle-line{display:none}.top-handle{top:calc(var(--safe-top) + var(--top-size) + 10px);border-top-color:#0c405a}.top-hidden .top-handle{top:var(--safe-top);border-radius:0 0 12px 12px}.bottom-handle{bottom:calc(var(--safe-bottom) + var(--bottom-size) + 9px);border-radius:12px 12px 0 0;border-bottom-color:#103d54}.bottom-hidden .bottom-handle{bottom:var(--safe-bottom)}.bottom-dock{position:absolute;z-index:700;bottom:calc(var(--safe-bottom) + 9px);left:12px;right:12px;border:1px solid #1b90b8;border-radius:16px;background:linear-gradient(145deg,#05273b,#031422);box-shadow:0 0 0 1px #03273b,0 -3px 25px #0005;padding:9px 10px 8px;transition:transform .24s ease,visibility .24s}.bottom-hidden .bottom-dock{transform:translateY(calc(100% + var(--safe-bottom) + 22px));visibility:hidden;pointer-events:none}.status-row{display:flex;gap:9px;align-items:center;margin-bottom:8px}.gps-status-card{display:flex;gap:8px;align-items:center;min-height:42px;flex:1;border:1px solid #185477;border-radius:9px;background:#06253a;padding:6px 10px}.gps-status-card>.icon{height:26px;width:26px}.gps-status-card small{display:block;font-size:8px;color:#acc8df}.gps-status-card strong{font-size:15px;letter-spacing:.2px;color:#00deff;font-weight:650;display:block;margin-top:1px}.signal-bars{color:#476f87;margin-left:auto;font:21px Consolas;letter-spacing:-3px}.signal-bars.active{color:#25e795}.compact-location{height:40px;width:40px;display:grid;place-items:center;background:radial-gradient(circle,#008db8,#042e4b 70%);border:1px solid #3fcaff;border-radius:50%;box-shadow:0 0 12px #00bfff30}.compact-location .icon{height:23px;width:23px}.mobile-nav{display:flex;gap:6px}.mobile-nav button{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:8px;padding:6px 2px;border:1px solid #1a5778;border-radius:10px;background:linear-gradient(#0c3249,#051b2b);color:#c2dfef;min-height:48px}.mobile-nav .icon{height:22px;width:22px}.mobile-nav .chosen{background:linear-gradient(#0b5b7c,#06324d);color:#e3ffff;border-color:#00c9f5;box-shadow:inset 0 0 10px #00b6e22b,0 0 7px #00c8ff1a}.controls{position:absolute;right:13px;top:50%;transform:translateY(-50%);z-index:500;display:flex;flex-direction:column;gap:12px}.control{display:grid;place-items:center;width:41px;height:41px;border-radius:11px;background:linear-gradient(135deg,#103d54,#031729);border:1px solid #479cb9;box-shadow:0 3px 13px #0005}.control .icon{height:24px;width:24px}.zoom-controls{border:1px solid #53a5bf;border-radius:11px;overflow:hidden;box-shadow:0 3px 14px #0006}.zoom-controls .control{border:0;border-radius:0;box-shadow:none}.zoom-controls .control:first-child{border-bottom:1px solid #245974}.location-glow{border-radius:50%;background:radial-gradient(#077fa4,#042a46 74%);border-color:#71e6ff;box-shadow:0 0 15px #00bdff40}.control.active{background:radial-gradient(#00a8dd,#07558a)}.compass{position:absolute;right:25px;bottom:80px;z-index:450;color:#e7f8ff;font:9px Consolas;text-shadow:0 0 4px #000;display:flex;flex-direction:column;align-items:center;gap:4px;transition:bottom .24s}.compass i{display:block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:17px solid #d9f9ff;filter:drop-shadow(0 0 3px #005376)}.map-footer{position:absolute;left:12px;right:12px;bottom:calc(var(--safe-bottom) + 36px);display:flex;justify-content:space-between;gap:5px;z-index:450;pointer-events:none;transition:bottom .24s}.coordinate-pill,.state-pill{border:1px solid #27657e;background:#052438eb;display:flex;align-items:center;gap:5px;border-radius:14px;padding:5px 8px;font:8px Consolas;color:#c3e5f5;box-shadow:0 2px 8px #0003}.coordinate-pill .icon{height:13px;width:13px}.state-pill{color:#b1ccdc;font-size:7px}.state-pill i{display:block;flex-shrink:0}.state-pill:empty{display:none}body:not(.bottom-hidden) .map-footer{bottom:calc(var(--safe-bottom) + var(--bottom-size) + 47px)}body:not(.bottom-hidden) .compass{bottom:calc(var(--safe-bottom) + var(--bottom-size) + 85px)}.drawer-backdrop{position:absolute;inset:0;z-index:800;background:#00101d85;border:0}.drawer{position:absolute;z-index:850;top:calc(var(--safe-top) + 10px);bottom:calc(var(--safe-bottom) + 10px);right:10px;width:340px;max-width:calc(100% - 20px);background:linear-gradient(160deg,#062538,#031423 70%);border:1px solid #00b9eb;border-radius:20px;box-shadow:0 0 0 1px #003b5b,0 0 28px #001b2c,0 0 10px #00adff25;transform:translateX(calc(100% + 30px));visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility .24s;overflow:hidden;display:flex;flex-direction:column}.sheet-open .drawer{transform:translateX(0);visibility:visible;pointer-events:auto}.drawer-heading{display:flex;align-items:center;gap:7px;flex-shrink:0;border-bottom:1px solid #13445e;padding:15px 12px 12px;min-height:64px}.drawer-heading h1{font-size:19px;font-weight:550;margin:0;letter-spacing:-.4px}.drawer-logo{width:31px;height:31px;margin-left:auto;opacity:.8}.drawer-content{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#1e6380 transparent;padding:18px 16px 0;flex:1;position:relative}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}.section-title h2{font-size:11px;color:#b2d2e5;margin:0;font-weight:500}.section-title span{font-size:9px;color:#729eb6}.layers{display:grid;gap:7px}.layer{display:flex;align-items:center;gap:10px;border:1px solid #1e5975;background:linear-gradient(110deg,#0d354d,#042134);border-radius:9px;padding:8px 10px;cursor:pointer;min-height:53px;box-shadow:inset 0 1px #ffffff08}.layer:has(input:checked){border-color:#267d9e;background:linear-gradient(110deg,#0d3d56,#05283c)}.layer-icon{border-right:1px solid #22556b;padding-right:9px;display:flex}.layer-icon .icon{height:23px;width:23px}.layer b{display:block;font-size:12px;font-weight:500}.layer small{display:block;font-size:8px;color:#81a3ba;margin-top:3px}.power .icon{filter:sepia(1) saturate(8) hue-rotate(350deg)}.gas .icon,.heat .icon{filter:sepia(1) saturate(8) hue-rotate(325deg)}.green .icon{filter:sepia(1) saturate(5) hue-rotate(55deg)}.layer input{appearance:none;-webkit-appearance:none;width:32px;height:18px;flex-shrink:0;border-radius:12px;background:#375b70;border:1px solid #4c7b94;margin-left:auto;position:relative;cursor:pointer}.layer input:before{content:'';width:12px;height:12px;background:#c3e0ef;border-radius:50%;position:absolute;left:2px;top:2px;box-shadow:0 1px 3px #0004}.layer input:checked{background:#00b8e5;border-color:#1ed8ff;box-shadow:0 0 7px #00d5ff35}.layer input:checked:before{left:16px;background:#fff}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:11px;padding:11px 12px;border:1px solid #248ab1;background:linear-gradient(#0b3a53,#052034);color:white;text-decoration:none;font-size:11px;font-weight:500;min-height:40px}.btn .icon{width:18px;height:18px}.btn.primary{background:linear-gradient(#08a9e1,#0876ba);border-color:#4bd6ff;box-shadow:inset 0 1px #ffffff30,0 0 13px #008cff1a}.btn.outline{background:linear-gradient(#0a3046,#041a2b)}.layer-section>.btn{margin-top:15px}.note{font-size:10px;line-height:1.6;color:#82a9bf;margin:13px 0}.file-card{display:flex;align-items:center;gap:11px;border:1px solid #1c6686;border-radius:11px;padding:14px;background:linear-gradient(140deg,#0a3852,#052136);margin-bottom:24px}.file-card-icon .icon{width:38px;height:38px}.file-card b{display:block;font-size:13px;font-weight:500}.file-card small{display:block;color:#86b1c6;font-size:9px;margin-top:5px}.field-label{display:block;font-size:10px;color:#84b0c8;margin:15px 0 7px}.field{display:block;width:100%;padding:11px 10px;border:1px solid #287b9c;color:#daf4ff;background:#062034;border-radius:9px;font-size:11px}.data-section .primary{margin-top:12px}.data-help{display:flex;gap:10px;background:#06273b;border:1px solid #1c4b64;border-radius:10px;padding:13px;margin:20px 0}.data-help>.icon{width:24px;height:24px}.data-help p{font-size:10px;line-height:1.5;margin:0;color:#98bdd3}progress{width:100%;height:6px;accent-color:#00d8ff;margin-top:18px}#progressText{font-size:10px;color:#8ed5ea}.mode{display:flex;gap:5px;padding:4px;border:1px solid #1b6a8c;border-radius:11px;background:#031827}.mode button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:none;color:#79a0b8;border-radius:8px;padding:10px;font-size:11px}.mode .icon{width:20px;height:20px}.mode .selected{background:linear-gradient(#0b688e,#074260);color:#d9f9ff;box-shadow:inset 0 0 0 1px #2395ba}.range-label{display:flex;justify-content:space-between;font-size:10px;color:#9bc3d9;margin:24px 0 16px}.range-label output{color:#00d8ff}input[type=range]{width:100%;accent-color:#00d8ff;height:4px}.settings-block{border-top:1px solid #1a4b63;margin-top:25px;padding-top:19px}.settings-block h2{font-size:12px;font-weight:500;color:#c3e8f9;margin:0}.settings-block .btn{margin-top:15px}.version{font-size:9px;color:#79bed9;margin-left:8px}.wave-art{pointer-events:none;margin:25px -16px 0;height:100px;overflow:hidden;opacity:.6}.wave-art svg{width:100%;height:130px}.detail{position:absolute;z-index:750;left:13px;top:calc(var(--safe-top) + 50px);max-width:calc(100% - 82px);width:270px;border:1px solid #00cfff;background:linear-gradient(140deg,#063047f5,#031627fa);border-radius:14px;padding:18px;box-shadow:0 0 15px #00d4ff20,0 8px 30px #0005}.detail-icon{float:left;margin-right:8px}.detail-icon .icon{height:25px;width:25px}.eyebrow{font-size:8px;color:#99c1d5;letter-spacing:.6px}.detail h2{font:650 26px 'Segoe UI',sans-serif;color:#00ddff;margin:4px 0 14px;overflow-wrap:anywhere}.close-detail{position:absolute;right:7px;top:6px;font-size:20px;line-height:24px;width:27px;height:27px;border:0;background:none;color:#9cdef3}.row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #1a536e;padding:9px 0;font-size:10px}.row span{color:#81b5ca}.row b{font-weight:500;max-width:65%;overflow-wrap:anywhere}.toast{position:absolute;z-index:1300;left:50%;bottom:calc(var(--safe-bottom) + 56px);transform:translateX(-50%);padding:12px 16px;max-width:90%;width:max-content;border:1px solid #00b8e4;border-radius:11px;background:#06263e;color:#d9f7ff;font-size:11px;box-shadow:0 5px 22px #0005;pointer-events:none}.splash{position:fixed;inset:0;background:#041426;z-index:2000;display:grid;place-items:center}.splash video{height:100%;width:100%;object-fit:contain;background:#041426}.splash>button{position:absolute;bottom:calc(var(--safe-bottom) + 25px);right:20px;border:1px solid #2380a2;background:#041b2cda;color:#b4ecfa;border-radius:20px;padding:9px 14px;font-size:11px;display:flex;align-items:center;gap:8px}.splash>button .icon{width:16px;height:16px;transform:rotate(180deg)}button:disabled{opacity:.5;cursor:wait}.splash-done .splash{display:none}.map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#00d8ff}
@media(min-width:701px){.top-dock{left:20px;right:auto;width:400px;top:20px;padding:12px 14px}.top-handle{left:220px;top:calc(var(--top-size) + 20px)}.top-hidden .top-handle{top:0}.bottom-dock{width:400px;left:20px;right:auto;bottom:20px;padding:11px 12px}.bottom-handle{left:220px;bottom:calc(var(--bottom-size) + 20px)}.bottom-hidden .bottom-handle{bottom:0}.drawer{width:360px;right:20px;top:20px;bottom:20px}.controls{right:22px}.control{width:45px;height:45px}.compass{right:36px}.map-footer{left:20px;right:20px;bottom:38px}.coordinate-pill,.state-pill{font-size:10px;padding:7px 11px}.coordinate-pill .icon{height:17px;width:17px}.detail{left:auto;right:86px;top:30px;width:290px}.mobile-nav button{font-size:9px;padding:8px 2px}.status-row{margin-bottom:9px}.gps-status-card strong{font-size:17px}.brand{font-size:26px}.brand-logo{height:48px;width:48px}.brand small{font-size:7px}.quick-layers button{font-size:10px}.top-hidden .top-dock{transform:translateY(calc(-100% - 35px))}body:not(.bottom-hidden) .map-footer{bottom:calc(var(--bottom-size) + 58px)}}
@media(max-width:359px){.top-dock,.bottom-dock{left:8px;right:8px;padding-left:8px;padding-right:8px}.quick-layers{gap:4px}.quick-layers button{font-size:8px;padding:5px}.brand{font-size:21px}.demo-badge{font-size:7px;padding:4px 6px}.drawer{max-width:calc(100% - 14px);right:7px}.coordinate-pill{font-size:7px;padding:5px 6px}.state-pill{font-size:6px;padding:5px 6px}.controls{right:10px}.control{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.top-dock,.bottom-dock,.dock-handle,.drawer,.map-footer,.compass{transition:none}}

.app-header,.gps-status-card{touch-action:pan-x}.leaflet-control-scale{margin-bottom:65px!important;margin-left:15px!important}.leaflet-control-scale-line{background:#042032d9!important;color:#dff9ff!important;border-color:#a4def0!important;font-size:8px!important;text-shadow:none!important}.sheet-open .detail{visibility:hidden}

.drawer-shell{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:850}.drawer-shell .drawer{pointer-events:none}.sheet-open .drawer-shell .drawer{pointer-events:auto}
/* Compact phone controls */
.top-dock{border-color:#22637d;border-radius:14px;background:linear-gradient(155deg,#08273cfa,#061c2df5);box-shadow:0 4px 18px #00101b35;padding:8px 10px 9px;left:10px;right:10px;top:calc(var(--safe-top) + 10px)}.app-header{margin-bottom:5px;min-height:37px;gap:8px}.brand{font-size:21px;font-weight:650;gap:4px;letter-spacing:-.6px}.brand-logo{height:36px;width:36px}.brand small{font-size:5.5px;letter-spacing:1.4px}.demo-badge{font-size:7px;padding:4px 7px;border-color:#326077;background:#103047}.app-header>.icon-button{width:28px;height:28px;padding:4px}.app-header>.icon-button .icon{width:19px;height:19px}.project-bar{border-color:#1b4c65;border-radius:8px;background:#092538;padding:1px 4px}.project-button{padding:5px 3px;gap:5px}.project-button strong{font-size:11px}.project-button .icon{height:17px;width:17px}.project-code{font-size:7px;padding:3px 5px;background:#15374c}.project-bar .icon-button{width:25px;height:25px}.project-bar .icon-button .icon{width:18px;height:18px}.quick-layers{gap:5px;margin-top:7px}.quick-layers button{background:#0a344a;border-color:#1d5f7a;box-shadow:none;border-radius:8px;padding:6px;font-size:9px;min-height:27px}.quick-layers .icon{height:14px;width:14px}.mini-switch{background:#18b9d8;width:13px;height:8px}.mini-switch:before{height:5px;width:5px;right:1.5px;top:1.5px}.quick-layers button[aria-pressed=false] .mini-switch:before{right:6px}.dock-handle{background:#0a293e;border-color:#2a6b85;box-shadow:0 3px 9px #00101b30;height:23px;font-size:8px;padding:0 10px;gap:5px;border-radius:0 0 8px 8px}.dock-handle .icon{width:12px;height:12px}.dock-handle b{font-size:10px}.bottom-handle{border-radius:8px 8px 0 0}.bottom-dock{left:10px;right:10px;border-color:#21627d;border-radius:14px;background:linear-gradient(150deg,#092b40fa,#051b2df5);box-shadow:0 -3px 18px #00101b35;padding:8px 9px 9px}.status-row{gap:8px;margin-bottom:7px}.gps-status-card{background:#0a293d;border-color:#1b4c65;border-radius:8px;padding:5px 8px;min-height:34px;gap:8px}.gps-status-card>.icon{height:21px;width:21px}.gps-status-card small{font-size:7px;color:#91b0c5}.gps-status-card strong{font-size:13px;letter-spacing:0;color:#adc9da;font-weight:550}.gps-status-card.active strong{color:#38e0f2}.signal-bars{letter-spacing:0;line-height:0}.signal-bars:not(.active){display:none}.signal-bars svg{fill:#36dba5}.compact-location{width:33px;height:33px;background:#0c3b54;border-color:#4da8c4;box-shadow:none}.compact-location .icon{height:20px;width:20px}.mobile-nav{gap:4px}.mobile-nav button{padding:6px 3px;min-height:47px;background:transparent;border:1px solid transparent;border-radius:9px;font-size:8px;gap:4px;color:#91b2c8}.mobile-nav .icon{height:21px;width:21px;opacity:.8}.mobile-nav .chosen{background:#0d3b55;border-color:#257b9c;box-shadow:none;color:#e9fcff}.mobile-nav .chosen .icon{opacity:1}.control{width:36px;height:36px;border-radius:10px;border-color:#357d97;background:#082a3f;box-shadow:0 3px 10px #00101b35}.control .icon{width:21px;height:21px}.controls{right:12px;top:auto;bottom:calc(var(--safe-bottom) + 82px);transform:none;gap:9px;transition:bottom .24s ease}.location-glow{background:#0b5f7a;border-color:#47c1db;box-shadow:0 0 0 3px #02bcd315}.zoom-controls{border-color:#357d97;border-radius:10px;box-shadow:0 3px 10px #00101b35}.zoom-controls .control{background:#082a3f}.zoom-controls .control:first-child{border-bottom-color:#24526b}body:not(.bottom-hidden) .controls{bottom:calc(var(--safe-bottom) + var(--bottom-size) + 54px)}.compass{right:22px;bottom:auto;top:calc(var(--safe-top) + 48px);gap:3px;font-size:8px;transition:top .24s ease}.compass i{border-left-width:4px;border-right-width:4px;border-bottom-width:13px}body:not(.top-hidden) .compass{top:calc(var(--safe-top) + var(--top-size) + 48px);bottom:auto}.map-footer{left:10px;right:10px;bottom:calc(var(--safe-bottom) + 33px)}.coordinate-pill,.state-pill{border-color:#265d75;border-radius:8px;background:#052338e8;padding:5px 7px;box-shadow:none}.coordinate-pill{font-size:7px}.state-pill{font-size:6px}.coordinate-pill .icon{width:11px;height:11px}.map-vignette{box-shadow:inset 0 0 65px #00142630}.leaflet-tile-pane{filter:none}.satellite-view .leaflet-tile-pane{filter:brightness(.85) saturate(.85)}.detail{width:200px;padding:13px;left:12px;top:calc(var(--safe-top) + 44px);border-color:#179cc2;border-radius:12px;box-shadow:0 6px 20px #00111c45;background:#07273ded}.detail h2{font-size:24px;margin-bottom:9px}.detail-icon .icon{height:22px;width:22px}.row{padding:7px 0;font-size:9px;border-color:#1c4c65}.eyebrow{font-size:7px}.drawer{border-color:#2784a6;background:linear-gradient(150deg,#08283e,#041827 85%);border-radius:17px;box-shadow:0 6px 30px #00101b70}.drawer-heading{padding:11px 12px;min-height:54px;border-color:#18435c}.drawer-heading h1{font-size:17px}.drawer-logo{height:27px;width:27px}.drawer-content{padding:15px 14px 0}.layer{border-color:#1c4c65;background:#0a2a40;min-height:48px;padding:7px 9px;border-radius:8px;gap:9px;box-shadow:none}.layer:has(input:checked){background:#0c334a;border-color:#276780}.layer b{font-size:11px}.layer small{font-size:8px}.layer-icon{border-color:#245169;padding-right:8px}.layer-icon .icon{height:21px;width:21px}.layer input{width:28px;height:16px;background:#36586c;border-color:#466a7f}.layer input:before{height:10px;width:10px;top:2px;left:2px}.layer input:checked{background:#13b9da;box-shadow:none;border-color:#33cbe7}.layer input:checked:before{left:14px}.btn{box-shadow:none;border-radius:9px;font-size:10px;min-height:37px;padding:10px}.btn.primary{background:linear-gradient(#1099c9,#087ba8);box-shadow:none;border-color:#33b9db}.btn.outline{background:#092d43;border-color:#2c7290}.field{background:#08253a;border-color:#245e78}.settings-block{border-color:#1b425a}.file-card{border-color:#245f79;background:#0b3048;border-radius:10px}.mode{border-color:#1d4c67;background:#061b2c}.mode .selected{background:#13435d;box-shadow:none}.wave-art{opacity:.4}.section-title h2{font-size:10px}.note{font-size:9px}.toast{border-color:#268aac;border-radius:9px;background:#082b42;box-shadow:0 4px 20px #00111c50}
@media(min-width:701px){.top-dock,.bottom-dock{width:370px;left:14px;right:auto;padding:9px 10px}.brand{font-size:21px}.brand-logo{height:36px;width:36px}.brand small{font-size:5.5px}.quick-layers button{font-size:9px}.mobile-nav button{font-size:8px;padding:6px 3px}.gps-status-card strong{font-size:13px}.top-handle,.bottom-handle{left:199px}.top-handle{top:calc(var(--top-size) + 10px)}.bottom-handle{bottom:calc(var(--bottom-size) + 9px)}.bottom-dock{bottom:9px}.top-dock{top:10px}.coordinate-pill,.state-pill{font-size:8px;padding:6px 8px}.coordinate-pill .icon{width:13px;height:13px}.detail{left:auto;right:65px}.control{width:36px;height:36px}.compass{right:22px}.map-footer{left:14px;right:14px}.controls{right:14px}.drawer{width:340px;top:12px;bottom:12px;right:12px}}

.leaflet-tile-pane{filter:invert(.93) hue-rotate(180deg) saturate(.45) brightness(.82) contrast(.95)}.satellite-view .leaflet-tile-pane{filter:brightness(.85) saturate(.85)}

.map-footer{right:60px}

.brand{flex-direction:column;align-items:flex-start;gap:0}.brand-wordmark{width:138px;height:43px;object-fit:contain;object-position:left center}.brand small{font-size:5px;letter-spacing:1.4px;margin-left:5px;margin-top:-4px}.drawer-logo{width:95px;height:34px;object-fit:contain}.company-logo{display:block;width:150px;height:50px;object-fit:contain;margin:10px 0}.render-hint{position:absolute;z-index:550;left:10px;right:62px;bottom:calc(var(--safe-bottom) + 61px);font-size:9px;line-height:1.5;color:#c5e9f5;background:#082b40e8;border:1px solid #28617b;border-radius:8px;padding:7px 9px;pointer-events:none}body:not(.bottom-hidden) .render-hint{bottom:calc(var(--safe-bottom) + var(--bottom-size) + 79px)}.indexed-vectors{position:absolute;pointer-events:none}

/* One bottom menu; basemap styling is unchanged. */
.bottom-dock{z-index:900}.bottom-handle{z-index:920}.bottom-dock .app-header{margin-bottom:8px}.bottom-dock .project-bar{margin-bottom:8px}.bottom-dock .search-panel{margin-bottom:8px}.drawer-shell{z-index:880}.drawer{left:10px;right:10px;top:auto;bottom:calc(var(--safe-bottom) + var(--bottom-size) + 15px);width:auto;max-width:none;max-height:calc(100dvh - var(--bottom-size) - var(--safe-bottom) - var(--safe-top) - 55px);height:560px;transform:translateY(calc(100vh + 30px));border-radius:18px 18px 12px 12px}.sheet-open .drawer{transform:translateY(0)}.sheet-open .bottom-handle{visibility:hidden}.drawer-heading{min-height:45px;padding:5px 10px}.drawer-content{padding-top:12px}.sheet-open .controls,.sheet-open .map-footer{visibility:hidden}.bottom-dock .brand-wordmark{width:125px;height:34px}.bottom-dock .brand small{margin-top:-2px}.bottom-dock .status-row{margin-top:7px}.bottom-dock .gps-status-card{min-height:29px}.sheet-open .bottom-dock .app-header,.sheet-open .bottom-dock .project-bar,.sheet-open .bottom-dock .status-row,.sheet-open .bottom-dock .search-panel{display:none}.sheet-open .bottom-dock{padding-top:5px}.sheet-open .drawer-backdrop{z-index:800}@media(min-width:701px){.drawer{left:14px;right:auto;width:370px;bottom:calc(var(--bottom-size) + 15px);top:auto}}

.airport-tools{border-bottom:1px solid #245169;padding-bottom:5px;margin-bottom:15px}.airport-toggle{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.5;margin-top:12px}.airport-toggle input{accent-color:#00c7ed;width:18px;height:18px}.taxiway-label{color:#fff1ad;background:#122330ed;border:1px solid #e4bd56;border-radius:4px;font:bold 12px/22px sans-serif;text-align:center;box-shadow:0 1px 4px #0008;white-space:nowrap;pointer-events:none}

.splash:not(.intro-playing)>button{display:none}.aip-overlay{position:fixed;inset:0;z-index:1900;background:#041426;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 10px env(safe-area-inset-bottom);color:#edfaff}.aip-bar{display:flex;align-items:center;gap:12px;min-height:55px}.aip-bar h2{font-size:18px;margin:0;flex:1}.aip-bar button{border:1px solid #257b9c;border-radius:9px;background:#0a293e;color:#00d8ff;padding:9px 15px}.aip-overlay input{width:100%;background:#0a293e;border:1px solid #257b9c;border-radius:9px;padding:13px;color:white}.aip-note{font-size:11px;line-height:1.5;color:#9ebed0;margin:8px 0 12px}.aip-list{overflow:auto;flex:1;overscroll-behavior:contain}.aip-list button{display:block;width:100%;text-align:left;color:#eefaff;background:#092b40;border:1px solid #1b4f69;border-radius:9px;padding:13px;margin:7px 0;font-size:12px}.aip-list strong{color:#00d8ff;margin-right:8px}.aip-list small{display:block;color:#9ebed0;font-size:10px;margin-top:5px}.aip-overlay iframe{flex:1;min-height:0;width:100%;border:1px solid #27546c;background:#071b2c}.aip-overlay a{color:#00d8ff;font-size:12px;display:inline-block;padding:10px}.aip-overlay .aip-source{max-width:100%;overflow-wrap:anywhere}@media(min-width:701px){.aip-overlay{inset:12px;max-width:1000px;margin:auto;border:1px solid #2784a6;border-radius:15px;padding:0 18px 12px}}

.aip-preview{flex:1;min-height:0;width:100%;background:#071b2c;border:1px solid #27546c}.aip-preview .leaflet-control-zoom a{padding:0;font-size:20px;background:#0a293e;color:#00d8ff}

.measure-panel{position:absolute;z-index:760;left:10px;right:60px;bottom:calc(var(--safe-bottom) + 48px);max-width:350px;padding:13px;border:1px solid #caad65;border-radius:13px;background:#062438f5;box-shadow:0 5px 20px #00111c55}.measure-panel>small{font-size:8px;letter-spacing:1px;color:#afcbdc}.measure-panel>strong{display:block;font-size:28px;color:#ffe08a;margin:6px 0}.measure-panel>p{font-size:11px;line-height:1.5;margin:6px 0 12px;color:#afcbdc}.measure-actions{display:flex;gap:8px}.measure-actions button{flex:1;border:1px solid #39718b;border-radius:8px;padding:10px 5px;color:#eefaff;background:#0b344a;font-size:11px}.measure-point{border:2px solid #ffe08a;border-radius:50%;background:#07283d;color:#ffe08a;text-align:center;font:bold 14px/30px sans-serif;box-shadow:0 2px 9px #0008}.measuring .leaflet-container{cursor:crosshair}#navMeasure[aria-pressed=true]{border-color:#caad65;color:#ffe08a;background:#0d3b55}body:not(.bottom-hidden) .measure-panel{bottom:calc(var(--safe-bottom) + var(--bottom-size) + 49px)}.sheet-open .measure-panel{display:none}

.contact-mail,.license-card a{display:inline-block;color:#00d8ff;font-size:12px;line-height:1.5;padding:5px 0}.license-card{border-top:1px solid #1b425a;padding:20px 0;margin-top:22px}.license-card h2{margin:0;color:#dff8ff;font-size:17px}.license-card #licenseStatus{color:#ffe08a;font-size:13px;line-height:1.5}.license-card .btn{margin-top:10px}.license-card textarea{resize:vertical;font:11px monospace;word-break:break-all;min-height:100px}.license-card input{font:12px monospace}.license-gate{position:fixed;inset:0;z-index:2500;background:#041426;overflow:auto;padding:24px 18px;display:flex;align-items:center;flex-direction:column;overscroll-behavior:contain}.license-gate .license-card{width:100%;max-width:520px}.license-brand{width:190px;height:65px;object-fit:contain;flex-shrink:0}

#folderImportDialog {
  box-sizing: border-box;
  width: min(540px, calc(100% - 24px));
  max-height: 88dvh;
  padding: 16px;
  color: #e9faff;
  background: #071c2a;
  border: 1px solid #287b98;
  border-radius: 16px;
}
#folderImportDialog::backdrop { background: #010a11bb; }
#folderImportTitle { margin-top: 0; font-size: 1.2rem; }
#folderImportRows { padding-bottom: 8px; }

.help-guide summary { min-height: 44px; padding-block: 10px; cursor: pointer; font-weight: 700; }
.help-guide h3 { margin: 12px 0 5px; font-size: 1rem; }
.help-guide ol, .help-guide ul { margin: 6px 0 10px; padding-left: 1.4rem; }
.help-guide li { margin-bottom: 8px; line-height: 1.45; }

.tutorial-card { margin-block: 10px 18px; padding: 12px; border: 1px solid #287b98; border-radius: 12px; background: #082033; }
.tutorial-card p { line-height: 1.45; }
.tutorial-card h3:focus { outline: none; }
.tutorial-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tutorial-nav button:disabled { opacity: .5; }
