:root{--bg: #04070f;--panel: rgba(7, 15, 24, .82);--panel-solid: #071018;--line: rgba(143, 214, 255, .16);--line-strong: rgba(143, 214, 255, .3);--text: #e8f1f6;--muted: #7e97a6;--amber: #ffb454;--ice: #8fd6ff;--mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--ui);-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit;color:inherit}#cesiumContainer{position:fixed;inset:0;width:100%;height:100%}.cesium-viewer-toolbar,.cesium-viewer-animationContainer,.cesium-viewer-timelineContainer{display:none!important}.topbar{position:fixed;top:22px;left:26px;right:26px;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.brand{display:flex;align-items:center;gap:12px}.brand-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px #ffb454e6}.brand h1{font-family:Georgia,Times New Roman,Songti SC,serif;font-size:19px;font-weight:400;letter-spacing:.22em;color:#f4f8fa}.brand-tag{font-size:10px;letter-spacing:.12em;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}.compare-chip{padding:5px 10px;border:1px solid var(--line);border-radius:20px;background:#070f1899;font-size:10.5px;letter-spacing:.05em;color:var(--muted);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#panel{position:fixed;top:96px;left:26px;z-index:30;width:300px;max-height:calc(100vh - 160px);overflow-y:auto;padding:16px 16px 14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 22px 60px #00000073}#panel::-webkit-scrollbar{width:4px}#panel::-webkit-scrollbar-thumb{background:#8fd6ff40;border-radius:2px}.block{padding:12px 0;border-top:1px solid rgba(143,214,255,.08)}.block:first-child{padding-top:0;border-top:0}.block>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9.5px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.block>label span{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--ice);text-transform:none}.search-wrap{position:relative}#searchInput{width:100%;height:38px;padding:0 11px;background:#ffffff09;border:1px solid var(--line);border-radius:9px;outline:none;font-size:12.5px;transition:border-color .18s ease,box-shadow .18s ease}#searchInput::placeholder{color:#6d8496}#searchInput:focus{border-color:#ffb4548c;box-shadow:0 0 0 3px #ffb45414}#searchResults{position:absolute;top:44px;left:0;right:0;z-index:5;overflow:hidden;list-style:none;background:#060e16f7;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 40px #00000080}#searchResults li{display:flex;align-items:center;gap:8px;padding:9px 11px;border-top:1px solid rgba(143,214,255,.08);cursor:pointer}#searchResults li:first-child{border-top:0}#searchResults li:hover{background:#ffb45417}#searchResults li.empty{cursor:default;color:var(--muted);font-size:11.5px}.r-name{font-size:12.5px;font-weight:600}.r-country{font-size:11px;color:var(--muted)}.r-coord{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ice)}.row{display:flex;gap:8px}.row button,.time-row button{flex:1;height:32px;background:#ffffff0a;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:12px;letter-spacing:.03em;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.row button:hover,.time-row button:hover{background:#ffb4541a;border-color:#ffb45466}.row button.active,.time-row button.active{background:#ffb45429;border-color:#ffb45499;color:var(--amber)}select{width:100%;height:34px;padding:0 9px;background:#ffffff0a;border:1px solid var(--line);border-radius:8px;outline:none;font-size:12px;cursor:pointer}select option{background:var(--panel-solid);color:var(--text)}.time-row{display:flex;align-items:center;gap:8px}.time-row input[type=range]{flex:1;min-width:0;height:4px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#8fd6ff59,#ffb4548c);border-radius:2px;outline:none;cursor:pointer}.time-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px #ffb454cc}.time-row button{flex:none;width:48px;height:28px;font-size:11px}.check{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;flex:1;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--text);cursor:pointer}.check input{accent-color:var(--amber);cursor:pointer}.note{margin-top:8px;font-size:10.5px;line-height:1.55;color:#7e97a6e6}#cityCard{position:fixed;top:96px;right:26px;z-index:30;width:292px;padding:18px 18px 15px;background:var(--panel);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 22px 60px #00000080;animation:card-in .24s ease both}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#cardClose{position:absolute;top:11px;right:11px;width:27px;height:27px;border:0;border-radius:7px;background:#ffffff0a;color:var(--muted);font-size:17px;line-height:1;cursor:pointer}#cardClose:hover{background:#ffffff17;color:var(--text)}.card-kicker{font-size:9.5px;letter-spacing:.2em;color:var(--muted)}#cardName{margin:7px 0 3px;padding-right:24px;font-size:23px;font-weight:600;letter-spacing:.02em}.card-sub{font-size:11.5px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 10px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card-grid span{display:block;font-size:9.5px;letter-spacing:.14em;color:var(--muted)}.card-grid strong{display:block;margin-top:4px;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ice)}.card-grid em{display:block;margin-top:2px;font-style:normal;font-size:10px;color:#7e97a6e6;white-space:nowrap}.card-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:11.5px;color:var(--muted)}.card-row strong{font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--text)}.card-foot{margin-top:12px;font-size:10px;line-height:1.55;color:#7e97a6bf}.statusbar{position:fixed;left:26px;right:26px;bottom:18px;z-index:25;display:flex;align-items:center;gap:12px;padding:9px 14px;background:#050b13b8;border:1px solid var(--line);border-radius:10px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:11px;color:var(--muted);pointer-events:none}#statusCoords,#statusHeight{font-family:var(--mono);font-size:10.5px;color:var(--ice);white-space:nowrap}.sep{width:1px;height:12px;background:var(--line)}#statusHint{margin-left:auto;text-align:right;color:#e8f1f6b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#credit{position:fixed;right:26px;bottom:54px;z-index:24;max-width:420px;text-align:right;font-size:10px;color:#7e97a6bf}#credit a{color:#8fd6ffcc;text-decoration:none}#loading{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 50% 44%,#0a1624,#04070f 58%,#02040a);font-size:12px;letter-spacing:.08em;color:var(--muted);transition:opacity .42s ease}#loading.is-hidden{opacity:0;pointer-events:none}.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 14px #ffb454e6;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1);opacity:1}}body.measuring #cesiumContainer canvas{cursor:crosshair!important}@media(max-width:760px){.topbar{top:16px;left:16px;right:16px}.brand h1{font-size:16px}.brand-tag,.compare-chip{display:none}#panel{top:62px;left:16px;width:calc(100vw - 32px);max-height:42vh;padding:12px 14px 10px}.block{padding:9px 0}#cityCard{inset:auto 16px 74px;width:auto}.statusbar{left:16px;right:16px;bottom:12px;gap:8px;padding:8px 11px}#statusHint{display:none}#credit{right:16px;bottom:48px}}
