*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#050a14;color:#e8eef8;font:14px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow:hidden;overscroll-behavior:none}
#globe{position:fixed;left:0;right:0;top:calc(env(safe-area-inset-top) + 92px);height:calc(100% - env(safe-area-inset-top) - 92px - var(--sheet,36vh) + 18px);transition:height .22s}
.cesium-viewer-bottom,.cesium-widget-credits{opacity:.55}
.cesium-widget-credits{font-size:9px!important}
#top{position:fixed;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top) + 8px) 10px 6px;display:flex;gap:8px;align-items:center;background:linear-gradient(#050a14e6,#050a1400);z-index:5}
.brand{font-weight:700;letter-spacing:.3px;white-space:nowrap;font-size:15px}
#searchForm{flex:1;display:flex;background:#0d1626ee;border:1px solid #24344f;border-radius:22px;overflow:hidden;min-width:0}
#q{flex:1;min-width:0;background:none;border:0;color:#fff;padding:9px 12px;font-size:15px;outline:none}
#searchForm button{background:none;border:0;color:#9fc2ff;padding:0 12px;font-size:16px}
#sugg{position:absolute;top:calc(env(safe-area-inset-top) + 52px);right:10px;left:10px;background:#0d1626f5;border:1px solid #24344f;border-radius:12px;max-height:50vh;overflow:auto}
#sugg div{padding:10px 14px;border-bottom:1px solid #1a2740}
#chips{position:fixed;top:calc(env(safe-area-inset-top) + 52px);left:0;right:0;display:flex;gap:6px;padding:0 10px;overflow-x:auto;z-index:4;scrollbar-width:none}
#chips::-webkit-scrollbar{display:none}
.chip{flex:none;background:#0d1626dd;color:#b8c8e4;border:1px solid #24344f;border-radius:16px;padding:6px 12px;font-size:13px}
.chip.on{background:#1b6bff;border-color:#4f90ff;color:#fff}
#legend{position:fixed;bottom:calc(var(--sheet,36vh) + 6px);left:8px;right:8px;z-index:4;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;pointer-events:none;align-items:flex-end}
.lgbtn{pointer-events:auto;background:#0d1626dd;color:#b8c8e4;border:1px solid #24344f;border-radius:14px;padding:5px 11px;font-size:12px}
.lg{background:#0d1626cc;border:1px solid #24344f;border-radius:10px;padding:4px 8px;font-size:10px;width:112px;line-height:1.25}
.lg b{display:block;font-weight:600;margin-bottom:3px}
.lg i{display:block;height:7px;border-radius:4px;margin-bottom:2px}
.lg span{display:flex;justify-content:space-between;gap:3px;color:#9fb0cc;font-size:9px}.lg .muted{font-size:9px}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--sheet,40vh) + 12px);background:#0d1626f2;border:1px solid #3a5385;border-radius:12px;padding:8px 14px;z-index:9;max-width:90%}
#sheet{position:fixed;left:0;right:0;bottom:0;background:#0a1322f5;border-top:1px solid #24344f;border-radius:18px 18px 0 0;z-index:6;display:flex;flex-direction:column;transition:height .22s ease;backdrop-filter:blur(10px)}
#sheet.low{height:78px}#sheet.mid{height:36vh}#sheet.high{height:84vh}
#grab{padding:8px 0 2px;text-align:center;touch-action:none}
#grab span{display:inline-block;width:42px;height:4px;border-radius:2px;background:#3a4d70}
#tabs{display:flex;gap:2px;overflow-x:auto;padding:0 8px;scrollbar-width:none;flex:none}
#tabs::-webkit-scrollbar{display:none}
#tabs button{flex:none;background:none;border:0;color:#8ea2c4;padding:8px 12px;font-size:14px;border-bottom:2px solid transparent}
#tabs button.on{color:#fff;border-color:#4f90ff}
#panes{flex:1;overflow:auto;padding:6px 14px calc(env(safe-area-inset-bottom) + 18px);-webkit-overflow-scrolling:touch}
.pane{display:none}.pane.on{display:block}
h3{margin:10px 0 6px;font-size:15px}
.muted{color:#8ea2c4;font-size:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:8px 0}
.tile{background:#101c31;border:1px solid #1f2f4d;border-radius:10px;padding:8px}
.tile .v{font-size:20px;font-weight:700}.tile .l{font-size:11px;color:#8ea2c4}
.row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #16233b}
.row b{font-weight:600}
.btn{background:#1b6bff;color:#fff;border:0;border-radius:10px;padding:9px 14px;font-size:14px;margin:4px 6px 4px 0}
.btn.alt{background:#16233b;border:1px solid #2c4268}
.tag{display:inline-block;border-radius:6px;padding:1px 6px;font-size:11px;margin-left:4px;background:#16233b;color:#9fc2ff}
.tag.obs{background:#0f3d2a;color:#7ff0b0}.tag.mod{background:#3a2a0b;color:#ffd27a}.tag.fc{background:#2b1a40;color:#d0a8ff}
canvas.ch{width:100%;height:130px;background:#0d182b;border-radius:10px;margin:6px 0}
select{background:#101c31;color:#fff;border:1px solid #2c4268;border-radius:8px;padding:7px;font-size:14px}
a{color:#7fb0ff}
.srcrow{padding:8px 0;border-bottom:1px solid #16233b}

#aibtn{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #5b8cff;background:linear-gradient(135deg,#1b6bff,#7a3cff);color:#fff;font-weight:800;font-size:14px;letter-spacing:.3px;box-shadow:0 2px 10px #0008}

.aibox{border:1px solid #5b4bff;background:#141a3a;border-radius:12px;padding:10px;margin:4px 0 14px}.aibox h3{margin-top:0}.aicaution{margin-top:8px;font-size:13px;color:#ffd58a;background:#2a2112;border-radius:8px;padding:6px 8px}.factsbox{border-top:2px dashed #2c4268;padding-top:8px}
