:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-color:#d1dfe8;--card-bg:#fff;--accent:#3b82f6;--accent-hover:#2563eb;--text-primary:#1e293b;--text-secondary:#64748b;--border:#e2e8f0;--border-focus:#3b82f6;--success:#10b981;--danger:#ef4444;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}*{box-sizing:border-box}html{overscroll-behavior-y:none;scrollbar-gutter:stable;background:#fff;height:100%}body{background-color:var(--bg-color);color:var(--text-primary);overscroll-behavior-y:none;min-height:100dvh;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}.main-content{padding-top:0;padding-bottom:0}@media (width<=767px){body{background-color:#fff}.main-content{background:var(--card-bg);padding-bottom:4rem}}.container{width:95%;margin:0 auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:1rem}th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:#f8fafc;font-size:.75rem;font-weight:600;position:sticky;top:0}tr:hover{background:#00000005}td.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), #8b5cf6);color:#fff;box-shadow:0 4px 12px #3b82f640}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3b82f659}.btn-primary:active:not(:disabled){transform:translateY(0)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes fade-opacity{0%{opacity:0}to{opacity:1}}.hd-btn{cursor:pointer;background:#fff;border:1px solid #ececec;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hd-chip{color:#101010;white-space:nowrap;background:#c8c8f426;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;display:inline-flex}.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);background:#1e293bb3;border:1px solid #ffffff1a;border-radius:1rem;padding:1.5rem}.bottom-tab-bar{height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:200;background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;align-items:stretch;width:100%;max-width:480px;margin:0 auto;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #00000014}.bottom-tab{color:#94a3b8;letter-spacing:.02em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px 8px;font-size:.7rem;font-weight:700;text-decoration:none;transition:color .2s;display:flex}.bottom-tab.active{color:var(--accent)}.bottom-tab.active svg{filter:drop-shadow(0 2px 4px #22c55e59)}@media (width<=768px){.card{padding:1rem}.map-info-box{display:none!important}}.node-circle-wrapper{justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.node-circle{z-index:2;background-color:#fff;border-radius:50%;width:32px;height:32px;transition:transform .2s}.node-pulse{z-index:1;border-radius:50%;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse;position:absolute;inset:-12px}@keyframes pulse{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.city-node-group:hover .node-circle{transform:scale(1.3)}@keyframes dealShine{0%{transform:translate(-100%)skew(-15deg)}to{transform:translate(300%)skew(-15deg)}}.deal-cta-shine{pointer-events:none;background:linear-gradient(90deg,#0000,#fff6,#0000);width:50%;animation:2.5s infinite dealShine;position:absolute;top:0;bottom:0;left:0}@keyframes xiaoyu-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.xiaoyu-dot{background:var(--text-secondary);border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite xiaoyu-dot-bounce}@keyframes xiaoyu-dot-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes xiaoyu-star-pop{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes xiaoyu-online-pulse{0%,to{opacity:1}50%{opacity:.35}}
