@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700;900&family=Rajdhani:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&family=Rajdhani:wght@600;700&family=JetBrains+Mono:wght@400;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=JetBrains+Mono:wght@400;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap);:root{--abyss:#020810;--deep:#060e1c;--midnight:#0b1525;--navy:#0f1e35;--ocean:#142540;--surface:#1a2e50;--cyan:#00e5ff;--cyan-dim:#00e5ff1f;--cyan-glow:#00e5ff4d;--green:#00ff9d;--green-dim:#00ff9d1a;--amber:#fa0;--amber-dim:#ffaa001a;--red:#f35;--red-dim:#ff33551a;--gold:gold;--violet:#7c4dff;--ai-blue:#7cdcff;--text-1:#f0f8ff;--text-2:#8ab4d0;--text-3:#3d6a8a;--text-accent:#00e5ff;--border:#00e5ff14;--border-mid:#00e5ff2e;--border-hi:#00e5ff59;--border-sub:#ffffff0a;--font-display:"Orbitron",monospace;--font-ui:"Rajdhani",sans-serif;--font-mono:"JetBrains Mono",monospace;--font-label:"JetBrains Mono",monospace;--text-primary:var(--text-1);--text-secondary:var(--text-2);--text-muted:var(--text-3);--t-fast:var(--t1);--topbar-h:62px;--panel-w:320px;--detail-w:380px;--ease:cubic-bezier(0.4,0,0.2,1);--t1:120ms;--t2:240ms;--t3:400ms}.app-right-panel.open:before{background:#00e5ff40;border-radius:2px;content:"";display:block;flex-shrink:0;height:4px;margin:10px auto 2px;width:36px}@media (min-width:769px){.app-right-panel.open:before{display:none}}#root,body,html{background:#020810;background:var(--abyss)}body{-webkit-font-smoothing:antialiased;-webkit-touch-callout:none;color:#f0f8ff;color:var(--text-1);font-family:Rajdhani,sans-serif;font-family:var(--font-ui);touch-action:manipulation;-webkit-user-select:none;user-select:none}.selectable,[contenteditable],input,textarea{-webkit-user-select:text;user-select:text}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#00e5ff2e;background:var(--border-mid);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00e5ff;background:var(--cyan)}.gm-style div[style*="z-index: 1000000"],.gm-style div[style*="z-index:1000000"],div[style*="For development"]{display:none!important;opacity:0!important}body:after{background:repeating-linear-gradient(0deg,#0000,#0000 2px,rgba(0,0,0,.025) 0,rgba(0,0,0,.025) 4px);content:"";inset:0;pointer-events:none;position:fixed;z-index:9999}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes pulseGlow{0%,to{box-shadow:0 0 6px #00e5ff4d;box-shadow:0 0 6px var(--cyan-glow)}50%{box-shadow:0 0 20px #00e5ff4d;box-shadow:0 0 20px var(--cyan-glow)}}@keyframes radarSweep{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(2.5)}}@keyframes slideLeft{0%{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{0%{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes gradShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.mono{font-family:var(--font-mono)}.orb{font-family:Orbitron,monospace;font-family:var(--font-display)}.pred-lane-legend{align-items:center;background:#6366f114;border:1px solid #6366f133;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:9px;margin:4px 0 6px;padding:6px 10px}.pred-lane-title{color:#94a3b8;letter-spacing:.08em;margin-right:4px}.pred-lane-tag{letter-spacing:.05em}.pred-lane-tss{color:#60a5fa}.pred-lane-ais{color:#a78bfa}.pred-lane-dwr{color:#2dd4bf}.auth-root{align-items:center;background:var(--abyss);display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.auth-bg{pointer-events:none}.auth-bg,.auth-grid{inset:0;position:absolute}.auth-grid{animation:gradShift 20s ease infinite;background-image:linear-gradient(#00e5ff0a 1px,#0000 0),linear-gradient(90deg,#00e5ff0a 1px,#0000 0);background-size:60px 60px}.auth-radar{align-items:center;display:flex;height:320px;justify-content:center;left:8%;position:absolute;top:50%;transform:translateY(-50%);width:320px}.radar-ring{animation:radarSweep 3s ease-out infinite;border:1.5px solid #00e5ff33;border-radius:50%;inset:0;opacity:0;position:absolute}.radar-center{animation:pulseGlow 2s infinite;background:var(--cyan);border-radius:50%;box-shadow:0 0 20px var(--cyan),0 0 40px var(--cyan-glow);height:12px;width:12px}.auth-ships{inset:0;position:absolute}.auth-ship{animation:fadeUp 3s ease-in-out infinite alternate;color:var(--cyan);font-size:14px;opacity:.15;position:absolute}.auth-card{animation:fadeUp .5s ease both;background:linear-gradient(145deg,var(--deep) 0,var(--midnight) 100%);border:1px solid var(--border-mid);border-radius:20px;box-shadow:0 32px 80px #000c,0 0 0 1px #00e5ff0d,inset 0 1px 0 #ffffff0a;padding:36px;position:relative;width:420px;z-index:10}.auth-logo{gap:14px;margin-bottom:28px}.auth-logo,.auth-logo-icon{align-items:center;display:flex}.auth-logo-icon{font-size:22px;height:52px;justify-content:center;position:relative;width:52px}.logo-sonar-ring{animation:radarSweep 2.5s ease-out infinite;border:1.5px solid var(--cyan);border-radius:50%;inset:0;opacity:0;position:absolute}.auth-logo-text{color:var(--text-1);font-family:var(--font-display);font-size:20px;font-weight:900;letter-spacing:.12em;line-height:1}.auth-logo-text span{color:var(--cyan)}.auth-logo-sub{color:var(--text-3);font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;margin-top:4px}.auth-tabs{background:#0000004d;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:24px;overflow:hidden;padding:4px;position:relative}.auth-tab{background:none;border:none;border-radius:7px;color:var(--text-3);cursor:pointer;font-family:var(--font-display);font-size:11px;letter-spacing:.1em;padding:10px;position:relative;transition:color var(--t2) var(--ease);z-index:2}.auth-tab.active{color:var(--abyss)}.auth-tab-indicator{background:linear-gradient(135deg,var(--cyan),#0090ff);border-radius:7px;box-shadow:0 4px 16px #00e5ff4d;height:calc(100% - 8px);left:4px;position:absolute;top:4px;transition:transform var(--t2) var(--ease);width:calc(50% - 4px);z-index:1}.auth-form{gap:16px;margin-bottom:24px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{color:var(--text-3);font-family:var(--font-mono);font-size:9px;letter-spacing:.2em}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{align-items:center;color:var(--text-3);display:flex;left:12px;pointer-events:none;position:absolute;transition:color var(--t1)}.auth-input{background:#ffffff08;border:1px solid var(--border);border-radius:10px;color:var(--text-1);font-family:var(--font-ui);font-size:14px;font-weight:500;outline:none;padding:12px 14px 12px 38px;transition:border-color var(--t1),background var(--t1),box-shadow var(--t1);width:100%}.auth-input::placeholder{color:var(--text-3);font-size:13px}.auth-input:focus{background:#00e5ff0a;border-color:var(--border-hi);box-shadow:0 0 0 3px var(--cyan-dim)}.auth-input-wrap:focus-within .auth-input-icon,.auth-input:focus+.auth-input-icon{color:var(--cyan)}.auth-error{animation:fadeUp .2s ease both;background:var(--red-dim);border:1px solid #ff33554d;border-radius:8px;color:var(--red);font-size:13px;font-weight:600;gap:8px;padding:10px 14px}.auth-error,.auth-submit{align-items:center;display:flex}.auth-submit{background:linear-gradient(135deg,#00b8cc,#0060ff);border:none;border-radius:10px;box-shadow:0 8px 24px #0064ff4d;color:#fff;cursor:pointer;font-family:var(--font-display);font-size:12px;font-weight:700;gap:10px;justify-content:center;letter-spacing:.12em;margin-top:4px;padding:14px;transition:all var(--t2) var(--ease)}.auth-submit:hover:not(:disabled){box-shadow:0 12px 32px #0064ff73;transform:translateY(-2px)}.auth-submit:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.auth-stats{grid-gap:8px;background:#0000004d;border:1px solid var(--border);border-radius:12px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:16px;padding:16px}.auth-stat{text-align:center}.auth-stat-val{color:var(--cyan);font-family:var(--font-display);font-size:14px;font-weight:700;line-height:1}.auth-stat-label{font-size:8px;margin-top:4px}.auth-footer,.auth-stat-label{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.1em}.auth-footer{font-size:9px;text-align:center}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.topbar{background:linear-gradient(180deg,#081525,#060e18);border-bottom:1px solid #00e5ff1a;box-shadow:0 2px 20px #0006;display:flex;flex-direction:column;flex-shrink:0;overflow:visible;position:relative;z-index:100}.topbar:before{background:linear-gradient(90deg,#0000,#00e5ff66,#0000);content:"";height:1px;left:0;pointer-events:none;position:absolute;right:0;top:0}.tb-row{align-items:center;box-sizing:border-box;display:flex;gap:10px;padding:0 14px;width:100%}.tb-row-top{height:52px;min-height:52px}.tb-row-bottom{display:none}.tb-logo{flex-shrink:0;gap:10px}.tb-logo,.tb-sonar{align-items:center;display:flex}.tb-sonar{height:28px;justify-content:center;position:relative;width:28px}.tb-sonar-ring{animation:sonarPulse 2.4s ease-out infinite;border:1px solid #00e5ff59;border-radius:50%;height:100%;position:absolute;width:100%}@keyframes sonarPulse{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}.tb-sonar-dot{background:#00e5ff;border-radius:50%;box-shadow:0 0 8px #00e5ff;height:6px;width:6px;z-index:1}.tb-logo-text{color:#f0f8ff;font-family:Orbitron,monospace;font-size:14px;font-weight:900;letter-spacing:.06em}.tb-logo-text span{color:#00e5ff}.tb-logo-sub{color:#2a5070;font-family:JetBrains Mono,monospace;font-size:7px;letter-spacing:.18em;margin-top:1px}.tb-search-wrap{align-items:center;background:#00e5ff0d;border:1px solid #00e5ff21;border-radius:8px;display:flex;flex:1 1;gap:7px;height:32px;max-width:280px;min-width:140px;padding:0 10px;transition:border-color .2s}.tb-search-wrap:focus-within{border-color:#00e5ff66}.tb-search-icon{color:#2a5070;flex-shrink:0}.tb-search{background:none;border:none;color:#c8dff0;flex:1 1;font-family:Rajdhani,sans-serif;font-size:12px;min-width:0;outline:none}.tb-clear,.tb-search::placeholder{color:#2a5070}.tb-clear{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:10px;padding:2px;transition:color .15s}.tb-clear:hover{color:#f57}.tb-filter-group{display:flex;flex-direction:column;flex-shrink:0;gap:1px}.tb-filter-label{color:#2a5070;font-family:JetBrains Mono,monospace;font-size:7px;letter-spacing:.12em}.tb-select{background:#00e5ff0d;border:1px solid #00e5ff1f;border-radius:6px;color:#8ab4d0;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:11px;height:26px;padding:3px 6px;transition:border-color .2s}.tb-select:focus,.tb-select:hover{border-color:#00e5ff4d;outline:none}.tb-stats{align-items:center;display:flex;flex-shrink:0;gap:4px}.tb-divider{background:#00e5ff14;height:22px;width:1px}.tb-stat{align-items:center;border-radius:6px;display:flex;flex-direction:column;padding:2px 8px}.tb-stat-val{font-size:12px;font-weight:700}.tb-stat-lbl,.tb-stat-val{font-family:JetBrains Mono,monospace}.tb-stat-lbl{font-size:7px;letter-spacing:.1em;opacity:.6}.tb-stat.cyan .tb-stat-val{color:#00e5ff}.tb-stat.green .tb-stat-val{color:#00ff9d}.tb-stat.amber .tb-stat-val{color:#fa0}.tb-stat.red .tb-stat-val{color:#f35}.tb-stat.blue .tb-stat-val{color:#6af}.tb-stat.purple .tb-stat-val{color:#c8f}.tb-status-group{flex-shrink:0;gap:6px;margin-left:auto}.tb-live,.tb-status-group{align-items:center;display:flex}.tb-live{color:#00ff9d;font-family:JetBrains Mono,monospace;font-size:9px;gap:5px;letter-spacing:.12em;white-space:nowrap}.tb-live.loading{color:#fa0}.tb-live-dot{animation:livePulse 1.4s ease-in-out infinite;background:#00ff9d;border-radius:50%;box-shadow:0 0 6px #00ff9d;flex-shrink:0;height:6px;width:6px}.tb-live.loading .tb-live-dot{animation:none;background:#fa0;box-shadow:0 0 6px #fa0}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}.tb-timer{color:#3d6a8a}.tb-timer,.tb-updated{align-items:center;display:flex;font-family:JetBrains Mono,monospace;font-size:10px;gap:4px;white-space:nowrap}.tb-updated{color:#00e5ff;opacity:.7}.tb-updated svg{color:#00e5ff;flex-shrink:0}.tb-right{gap:5px;margin-left:auto}.tb-btn,.tb-right{align-items:center;display:flex;flex-shrink:0}.tb-btn{background:#00e5ff0d;border:1px solid #00e5ff21;border-radius:7px;color:#5a8aaa;cursor:pointer;height:30px;justify-content:center;touch-action:manipulation;transition:all .2s;width:30px}.tb-btn:hover{background:#00e5ff1f;border-color:#00e5ff4d;color:#00e5ff}.tb-btn.active{background:#00e5ff26;border-color:#00e5ff59;color:#00e5ff}.tb-btn.spin svg{animation:spin .8s linear infinite}.tb-btn-port.active{background:#ffaa001f;border-color:#ffaa004d;color:#fa0}.tb-btn-port:hover{background:#ffaa001a;border-color:#ffaa0040;color:#fa0}.tb-btn-compare.active{background:#26de811a;border-color:#26de8173;color:#26de81}.tb-btn-alerts.active{background:#ff33551a;border-color:#ff335573;color:#f35}.tb-btn-heatmap.active{background:#fd96441a;border-color:#fd964473;color:#fd9644}.tb-btn-prefs.active{background:#7cdcff1a;border-color:#7cdcff73;color:#7cdcff}.tb-divider-v{background:#00e5ff1f;flex-shrink:0;height:18px;margin:0 1px;width:1px}.tb-user-wrap{position:relative}.tb-avatar{align-items:center;background:#00e5ff1a;border:1.5px solid #00e5ff40;border-radius:50%;color:#00e5ff;cursor:pointer;display:flex;font-family:Orbitron,monospace;font-size:11px;height:30px;justify-content:center;touch-action:manipulation;transition:all .2s;width:30px}.tb-avatar.active,.tb-avatar:hover{background:#00e5ff2e;border-color:#00e5ff;box-shadow:0 0 10px #00e5ff33}.tb-user-menu{animation:menuDrop .15s ease;background:#0b1c2e;border:1px solid #00e5ff33;border-radius:10px;box-shadow:0 20px 50px #000000b3;min-width:200px;padding:12px;position:absolute;right:0;top:calc(100% + 8px);z-index:9999}@keyframes menuDrop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.tb-user-name{color:#d0e8f8;font-size:13px;font-weight:700;margin-bottom:2px}.tb-user-email{color:#3d6a8a;font-size:9px;margin-bottom:3px}.tb-user-email,.tb-user-role{font-family:JetBrains Mono,monospace}.tb-user-role{color:#00e5ff;font-size:8px;letter-spacing:.12em}.tb-user-hr{border:none;border-top:1px solid #00e5ff14;margin:8px 0}.tb-dbt-info{color:#3d6a8a;font-family:JetBrains Mono,monospace;font-size:8px}.tb-dbt-row{margin-bottom:2px}.tb-dbt-row b{color:#5a8aaa}.tb-user-logout{align-items:center;background:none;border:none;border-radius:6px;color:#f57;cursor:pointer;display:flex;font-family:Rajdhani,sans-serif;font-size:12px;gap:7px;padding:5px 0;transition:color .2s;width:100%}.tb-user-logout:hover{color:#f24}.tb-alert-badge{animation:badgePop .25s cubic-bezier(.34,1.56,.64,1);background:#f35;border:1px solid #07111e;border-radius:8px;color:#fff;font-family:JetBrains Mono,monospace;font-size:7px;font-weight:800;line-height:1.2;padding:1px 4px;pointer-events:none;position:absolute;right:-4px;top:-4px}@keyframes badgePop{0%{transform:scale(.5)}to{transform:scale(1)}}@media (max-width:1100px){.tb-filter-group:last-of-type,.tb-stats .tb-divider:nth-child(n+6),.tb-stats .tb-stat:nth-child(n+4),.tb-updated{display:none}}@media (max-width:900px){.tb-filter-group,.tb-stats .tb-divider:nth-child(n+4),.tb-stats .tb-stat:nth-child(n+3){display:none}}@media (max-width:600px){.tb-row-top{border-bottom:1px solid #00e5ff0f;gap:8px;height:44px;min-height:44px;padding:0 12px}.tb-row-top .tb-filter-group,.tb-row-top .tb-stats{display:none}.tb-status-group{gap:5px;margin-left:auto}.tb-live{font-size:8px;gap:4px}.tb-live-dot{height:5px;width:5px}.tb-timer{display:none}.tb-updated{font-size:8px;opacity:.65}.tb-logo-sub{display:none}.tb-logo-text{font-size:13px}.tb-sonar{height:22px;width:22px}.tb-row-bottom{display:flex;gap:5px;height:42px;min-height:42px;padding:0 8px}.tb-search-wrap{flex:1 1;height:30px;margin:0;max-width:none;min-width:0;padding:0 8px}.tb-search{font-size:11px}.tb-right{flex-shrink:0;gap:3px;margin-left:0}.tb-btn{border-radius:6px;height:30px;width:30px}.tb-btn svg{height:13px;width:13px}.tb-divider-v{margin:0}.tb-avatar{font-size:10px;height:30px;width:30px}.tb-user-menu{max-width:calc(100vw - 16px);min-width:190px;right:0}.tb-alert-badge{font-size:6px;padding:1px 3px;right:-3px;top:-3px}}@media (max-width:360px){.tb-row-bottom,.tb-row-top{height:40px;min-height:40px}.tb-logo-text{font-size:11px}.tb-btn{height:27px;width:27px}.tb-btn svg{height:12px;width:12px}.tb-avatar{height:27px;width:27px}.tb-btn-compare,.tb-btn-heatmap{display:none}}.wp-bubble{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#040a16e6;border:1px solid #00e5ff38;border-radius:24px;bottom:56px;box-shadow:0 4px 20px #0009;cursor:pointer;display:flex;flex-direction:row;font-family:JetBrains Mono,monospace;gap:8px;left:14px;padding:8px 14px;position:absolute;transition:border-color .2s,box-shadow .2s;z-index:25}.wp-bubble:hover{border-color:#00e5ff80;box-shadow:0 6px 24px #000000b3,0 0 16px #00e5ff1f}.wp-bubble-danger{animation:wpDangerPulse 2s ease-in-out infinite;border-color:#ff224480}.wp-bubble-warn{border-color:#ff880073}.wp-bubble-ok{border-color:#00e5ff38}.wp-bubble-icon{flex-shrink:0;font-size:18px;line-height:1}.wp-bubble-wind{font-size:11px;font-weight:800;letter-spacing:.05em}.wp-bubble-label{color:#3d6a8a;font-size:8px;letter-spacing:.12em}.wp-bubble-ping{animation:wpPing 1.5s ease-in-out infinite;background:#f24;border-radius:50%;box-shadow:0 0 8px #f24;height:8px;position:absolute;right:6px;top:6px;width:8px}.wp-panel{animation:wpSlideUp .22s cubic-bezier(.34,1.2,.64,1) both;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#040a16f2;border:1px solid #00e5ff33;border-radius:16px;bottom:56px;box-shadow:0 12px 48px #000000b3,0 0 0 0 #00e5ff00,inset 0 1px 0 #ffffff0a;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;left:14px;max-height:min(520px,calc(100vh - 120px));overflow:hidden;position:absolute;transform:none;width:300px;z-index:25}.wp-header{border-bottom:1px solid #00e5ff1a;flex-shrink:0;justify-content:space-between;padding:12px 14px 10px}.wp-header,.wp-header-left{align-items:center;display:flex}.wp-header-left{gap:10px}.wp-icon{font-size:20px}.wp-title{color:#00e5ff;font-size:11px;font-weight:800;letter-spacing:.12em}.wp-subtitle{color:#3d6a8a;font-size:9px;margin-top:2px}.wp-header-right{align-items:center;display:flex;gap:6px}.wp-close,.wp-refresh{align-items:center;background:#00e5ff0f;border:1px solid #00e5ff26;border-radius:7px;color:#4a8aaa;cursor:pointer;display:flex;font-size:13px;height:26px;justify-content:center;transition:all .15s;width:26px}.wp-close:hover,.wp-refresh:hover{background:#00e5ff1a;border-color:#00e5ff66;color:#00e5ff}.wp-alert{animation:wpBlink 2s ease-in-out infinite;flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.08em;padding:7px 14px;text-align:center}.wp-alert-danger{background:#ff22442e;border-bottom:1px solid #ff22444d;color:#f68}.wp-alert-warn{background:#ff880026;border-bottom:1px solid #ff880040;color:#fa4}.wp-hero{align-items:center;border-bottom:1px solid #00e5ff14;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px}.wp-hero-speed{font-size:38px;font-weight:900;letter-spacing:-.02em;line-height:1}.wp-hero-unit{font-size:14px;font-weight:500;opacity:.7}.wp-hero-ms{color:#5a8aaa;font-size:10px;margin-top:2px}.wp-hero-beaufort{font-size:9px;font-weight:700;letter-spacing:.06em;margin-top:4px}.wp-hero-right{text-align:right}.wp-hero-dir{color:#c0d8f0;font-size:15px;font-weight:800;margin-bottom:4px}.wp-hero-arrow{font-style:normal}.wp-hero-rain{color:#44c8ff;font-size:11px;margin-bottom:4px}.wp-hero-station{color:#3d6a8a;font-size:8px;max-width:120px;text-align:right}.wp-loading{align-items:center;color:#3d6a8a;display:flex;font-size:10px;gap:10px;padding:18px 16px}.wp-spin{animation:wpSpin .8s linear infinite;border:2px solid #00e5ff26;border-radius:50%;border-top-color:#00e5ff;flex-shrink:0;height:16px;width:16px}.wp-error{color:#f68;font-size:10px;padding:10px 14px}.wp-tabs{border-bottom:1px solid #00e5ff1a;display:flex;flex-shrink:0;gap:0}.wp-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#3d6a8a;cursor:pointer;flex:1 1;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.06em;padding:8px 4px;transition:all .15s}.wp-tab:hover{color:#6ab0cc}.wp-tab-active{background:#00e5ff0a;border-bottom-color:#00e5ff;color:#00e5ff}.wp-forecast-list,.wp-fourday,.wp-station-list{flex:1 1;overflow-y:auto;scrollbar-color:#00e5ff33 #0000;scrollbar-width:thin}.wp-forecast-list::-webkit-scrollbar,.wp-fourday::-webkit-scrollbar,.wp-station-list::-webkit-scrollbar{width:4px}.wp-forecast-list::-webkit-scrollbar-thumb,.wp-fourday::-webkit-scrollbar-thumb,.wp-station-list::-webkit-scrollbar-thumb{background:#00e5ff33;border-radius:2px}.wp-station{align-items:center;border-bottom:1px solid #00e5ff0d;cursor:default;display:flex;justify-content:space-between;padding:8px 14px;transition:background .12s}.wp-station:hover{background:#00e5ff0a}.wp-station-danger{background:#ff22440f}.wp-station-warn{background:#ff88000d}.wp-st-name{color:#c0d8f0;font-size:10px;font-weight:700}.wp-st-id{color:#3d6a8a;font-size:8px;margin-top:1px}.wp-st-right{align-items:center;display:flex;gap:6px}.wp-st-speed{font-size:12px;font-weight:800}.wp-st-dir{background:#00e5ff14;border-radius:4px;color:#7aaabb;font-size:10px;font-weight:700;padding:1px 5px}.wp-st-rain{color:#44c8ff;font-size:9px}.wp-st-alert{font-size:11px}.wp-st-alert-d{animation:wpBlink 1.2s ease-in-out infinite}.wp-section-label{border-top:1px solid #00e5ff14;color:#3d6a8a;font-size:8px;font-weight:700;letter-spacing:.12em;padding:8px 14px 4px}.wp-twhr-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(3,1fr);padding:4px 14px 6px}.wp-twhr-cell{align-items:center;background:#00e5ff0a;border:1px solid #00e5ff14;border-radius:7px;display:flex;flex-direction:column;gap:2px;padding:6px 4px}.wp-twhr-icon{font-size:16px}.wp-twhr-area{color:#4a8aaa;font-size:7px;line-height:1.2;text-align:center}.wp-twhr-period{color:#3d6a8a;font-size:8px;padding:0 14px 8px;text-align:center}.wp-period-card{border:1px solid #00e5ff1a;border-radius:10px;margin:6px 10px;overflow:hidden}.wp-pc-header{align-items:center;display:flex;gap:10px;padding:10px 12px 6px}.wp-pc-icon{font-size:22px}.wp-pc-period{color:#c0d8f0;font-size:10px;font-weight:700}.wp-pc-text{color:#5a8aaa;font-size:9px;margin-top:2px}.wp-pc-grid{grid-gap:0;border-top:1px solid #00e5ff12;display:grid;gap:0;grid-template-columns:repeat(3,1fr)}.wp-pc-cell{align-items:center;border-right:1px solid #00e5ff0f;display:flex;flex-direction:column;padding:7px 4px}.wp-pc-cell:last-child{border-right:none}.wp-pc-label{color:#3d6a8a;font-size:7px;letter-spacing:.1em;margin-bottom:3px}.wp-pc-val{color:#a0c8e0;font-size:9px;font-weight:700}.wp-pc-regions{border-top:1px solid #00e5ff0f;display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px 8px}.wp-pc-region{background:#00e5ff0d;border:1px solid #00e5ff1a;border-radius:4px;color:#5a8aaa;font-size:8px;padding:2px 6px}.wp-fourday{padding:4px 0}.wp-day-card{border:1px solid #00e5ff1a;border-radius:10px;display:flex;flex-direction:column;margin:6px 10px;overflow:hidden;transition:border-color .15s}.wp-day-card:hover{border-color:#00e5ff40}.wp-day-top{align-items:center;display:flex;gap:10px;padding:10px 12px 6px}.wp-day-icon{font-size:26px}.wp-day-name{color:#c0d8f0;font-size:11px;font-weight:800}.wp-day-summary{color:#5a8aaa;font-size:9px;margin-top:2px}.wp-day-stats{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px 10px}.wp-day-stat{align-items:center;background:#00e5ff0a;border:1px solid #00e5ff14;border-radius:6px;display:flex;gap:4px;padding:4px 8px}.wp-ds-label{font-size:11px}.wp-ds-val{color:#a0c8e0;font-size:9px;font-weight:700}.wp-empty{color:#3d6a8a;font-size:10px;padding:20px;text-align:center}.wp-footer{align-items:center;border-top:1px solid #00e5ff14;color:#2a5a7a;display:flex;flex-shrink:0;font-size:8px;gap:6px;letter-spacing:.08em;padding:7px 14px}.wp-footer-dot{color:#1a3a5a}@keyframes wpSlideUp{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wpPing{0%,to{box-shadow:0 0 4px #f24;opacity:1}50%{box-shadow:0 0 14px #f24;opacity:.7}}@keyframes wpDangerPulse{0%,to{box-shadow:0 6px 28px #0009,0 0 0 0 #ff22444d}50%{box-shadow:0 6px 28px #0009,0 0 20px #ff22444d}}@keyframes wpBlink{0%,to{opacity:1}50%{opacity:.5}}@keyframes wpSpin{to{transform:rotate(1turn)}}@media (max-width:768px){.wp-panel{bottom:70px;width:calc(100vw - 28px)}.wp-bubble{bottom:100px;left:14px}}.dp-dbt-status{border-bottom:1px solid #00e5ff14;border-left:3px solid #0000;flex-shrink:0;gap:10px;justify-content:space-between;padding:8px 14px;transition:all .3s ease}.dp-dbt-left,.dp-dbt-status{align-items:center;display:flex}.dp-dbt-left{flex:1 1;gap:8px;min-width:0}.dp-dbt-dot{animation:dp-pulse 2.2s ease-in-out infinite;border-radius:50%;flex-shrink:0;height:9px;width:9px}.dp-dbt-label{font-size:10px;font-weight:700;letter-spacing:.1em}.dp-dbt-label,.dp-dbt-port-time{font-family:JetBrains Mono,monospace}.dp-dbt-port-time{background:#ffaa0012;border:1px solid #ffaa002e;border-radius:4px;color:#fa0;font-size:8px;padding:2px 7px;white-space:nowrap}.dp-dq-wrap{align-items:center;display:flex;flex-shrink:0;gap:5px}.dp-dq-label{color:#5a8cb480;font-family:JetBrains Mono,monospace}.dp-dq-bar{height:3px;width:44px}.dp-dq-fill{transition:width 1s ease}.dp-dq-val{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;min-width:18px;text-align:right}.dp-dq-full{background:rgba(0,229,255,.022);border:1px solid #00e5ff14;border-radius:10px;margin:4px 14px 12px;padding:12px 13px}.dp-dq-full-top{align-items:center;color:#7ab4d4;display:flex;font-family:Rajdhani,sans-serif;font-size:11px;justify-content:space-between;margin-bottom:8px}.dp-dq-full-bar{border-radius:2px;height:4px;margin-bottom:12px}.dp-dq-full-fill{border-radius:2px;transition:width 1s ease}.dp-dq-checklist{display:flex;flex-direction:column;gap:4px}.dp-dq-check{background:#ffffff05;border:1px solid #ffffff0a;border-radius:7px;color:#7ab4d4;font-family:Rajdhani,sans-serif;font-size:10.5px;padding:6px 9px;transition:background .12s}.dp-dq-check:hover{background:#ffffff08}.dp-dq-check.ok{background:#00ff9d08;border-color:#00ff9d1a}.dp-dq-pts{color:#5a8cb473;width:26px}.dp-dq-icon,.dp-dq-pts{font-family:JetBrains Mono,monospace}.dp-dq-icon{font-size:10px}.dp-dq-icon.ok{color:#00ff9d}.dp-dq-icon.na{color:#5a8cb459}.dp-root{--navy:#030c18;--panel:#050f1c;--card:#071522;--border:#00e5ff12;--border2:#00e5ff38;--cyan:#00e5ff;--amber:#fa0;--green:#00ff9d;--red:#f35;--text1:#e8f6ff;--text2:#7ab4d4;--text3:#5a8cb480;--mono:"JetBrains Mono",monospace;--disp:"Barlow Condensed",sans-serif;background:var(--navy);color:var(--text1);display:flex;flex-direction:column;font-family:Rajdhani,sans-serif;height:100%;overflow:hidden;position:relative}.dp-root:before{background:repeating-linear-gradient(0deg,#0000,#0000 2px,rgba(0,229,255,.005) 0,rgba(0,229,255,.005) 3px);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.dp-root>*{position:relative;z-index:1}.dp-head{align-items:flex-start;background:linear-gradient(160deg,#00e5ff12,#00e5ff05 40%,#0000);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:12px;padding:16px 14px 13px;position:relative}.dp-head-corner{background:linear-gradient(180deg,var(--cyan),#0000);height:100%;left:0;position:absolute;top:0;width:3px}.dp-head-flag{filter:drop-shadow(0 2px 12px rgba(0,0,0,.7));flex-shrink:0;font-size:32px;line-height:1;margin-top:3px}.dp-head-info{flex:1 1;min-width:0}.dp-name{color:var(--text1);font-family:var(--disp);font-size:19px;font-weight:900;letter-spacing:.05em;line-height:1.1;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-sub-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px}.dp-cs-badge,.dp-imo-badge,.dp-mmsi-badge{border-radius:3px;font-family:var(--mono);font-size:8px;font-weight:700;padding:2px 6px}.dp-imo-badge{background:#00e5ff1f;border:1px solid #00e5ff4d;color:var(--cyan)}.dp-mmsi-badge{background:#ffffff0d;border:1px solid #ffffff1a;color:var(--text2)}.dp-cs-badge{background:#ffaa0014;border:1px solid #fa03;color:var(--amber)}.dp-badge-row{display:flex;flex-wrap:wrap;gap:5px}.dp-flag-badge,.dp-region-badge,.dp-type-badge{border-radius:4px;font-size:10px;font-weight:600;padding:2px 8px}.dp-type-badge{background:#00e5ff14;border:1px solid #00e5ff33;color:#00e5ffe6}.dp-region-badge{background:#ffaa0014;border:1px solid #fa03;color:#ffaa00e6}.dp-flag-badge{background:#ffffff0d;border:1px solid #ffffff1a;color:var(--text2)}.dp-close{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:7px;color:var(--text3);cursor:pointer;display:flex;flex-shrink:0;font-size:11px;height:28px;justify-content:center;transition:all .15s;width:28px}.dp-close:hover{background:#ff3c501f;border-color:#ff3c5040;color:#f57}.dp-status-strip{background:color-mix(in srgb,#607d8b 6%,#0000);background:color-mix(in srgb,var(--sc,#607d8b) 6%,#0000);border-bottom:1px solid color-mix(in srgb,#607d8b 20%,#0000);border-bottom:1px solid color-mix(in srgb,var(--sc,#607d8b) 20%,#0000);flex-shrink:0;justify-content:space-between;padding:7px 14px}.dp-ss-left,.dp-status-strip{align-items:center;display:flex}.dp-ss-left{gap:8px}.dp-ss-dot{animation:ss-blink 2s ease-in-out infinite;background:#607d8b;background:var(--sc,#607d8b);border-radius:50%;box-shadow:0 0 8px #607d8b;box-shadow:0 0 8px var(--sc,#607d8b);flex-shrink:0;height:7px;width:7px}@keyframes ss-blink{0%,to{opacity:1}50%{opacity:.4}}.dp-ss-label{color:#607d8b;color:var(--sc,#607d8b);font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.08em}.dp-ss-time{color:#ffaa00b3}.dp-ss-ping,.dp-ss-time{font-family:var(--mono);font-size:8px}.dp-ss-ping{color:#00e5ff80}.dp-dq-strip{align-items:center;display:flex;gap:5px}.dp-dq-label{color:var(--text3);font-family:var(--mono);font-size:7px;letter-spacing:.1em}.dp-dq-bar{background:#ffffff0f;border-radius:2px;height:4px;overflow:hidden;width:55px}.dp-dq-fill{border-radius:2px;height:100%;transition:width .8s}.dp-dq-num{font-family:var(--mono);font-size:9px;font-weight:700}.dp-hero{align-items:center;background:linear-gradient(180deg,#00e5ff05,#0000);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:0;padding:14px 14px 12px}.dp-speed-block{flex:1 1;min-width:0}.dp-speed-num{font-family:var(--disp);font-size:48px;font-weight:900;letter-spacing:-.01em;line-height:1}.dp-speed-unit{color:var(--text3);font-family:var(--disp);font-size:10px;font-weight:700;letter-spacing:.18em;margin-top:1px}.dp-speed-kmh{font-family:var(--mono)}.dp-speed-cat,.dp-speed-kmh{font-size:9px;margin-top:3px}.dp-speed-cat{font-family:var(--disp);font-weight:700;letter-spacing:.1em}.dp-gauge-wrap{flex-shrink:0}.dp-metrics-col{flex-shrink:0;gap:6px;padding-left:12px}.dp-metric,.dp-metrics-col{display:flex;flex-direction:column}.dp-metric{align-items:flex-end}.dp-metric-val{color:var(--text1);font-family:var(--disp);font-size:14px;font-weight:800;line-height:1}.dp-metric-val.mono{font-family:var(--mono);font-size:10px}.dp-metric-label{color:var(--text3);font-family:var(--mono);font-size:7px;letter-spacing:.1em}.dp-voyage-ribbon{align-items:center;background:#00000026;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:10px 14px}.dp-vr-port{align-items:flex-start;display:flex;flex:1 1;gap:6px;min-width:80px}.dp-vr-icon{flex-shrink:0;font-size:14px;margin-top:1px}.dp-vr-text{min-width:0}.dp-vr-lbl{color:var(--text3);font-family:var(--mono);font-size:7px;letter-spacing:.1em}.dp-vr-val{color:var(--text1);font-family:var(--disp);font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-vr-time{color:var(--text3);font-family:var(--mono);font-size:7.5px;margin-top:2px}.dp-vr-from .dp-vr-val{color:#78c8e6cc}.dp-vr-to .dp-vr-val{color:var(--cyan)}.dp-vr-berth .dp-vr-val{color:var(--amber)}.dp-vr-arrow{flex-shrink:0}.dp-berth-prog,.dp-vr-arrow{align-items:center;display:flex}.dp-berth-prog{gap:5px;margin-top:4px}.dp-bp-bar{background:#ffffff14;border-radius:2px;height:3px;overflow:hidden;width:40px}.dp-bp-fill{background:var(--amber);border-radius:2px;height:100%;transition:width .7s}.dp-berth-prog span{color:#fa09;font-family:var(--mono);font-size:7px}.dp-trail-bar{align-items:center;background:#0000001f;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;padding:8px 14px}.dp-tl-label{color:var(--text3);flex-shrink:0;font-family:var(--disp);font-size:9px;font-weight:700;letter-spacing:.14em}.dp-tl-hours{display:flex;flex:1 1;gap:3px}.dp-tl-h{background:#ffffff0a;border:1px solid #ffffff12;border-radius:5px;color:var(--text3);cursor:pointer;font-family:var(--mono);font-size:9px;padding:4px 8px;transition:all .12s}.dp-tl-h:hover{background:#00e5ff14;color:var(--cyan)}.dp-tl-h.active{background:#00e5ff1f;border-color:#00e5ff59;color:var(--cyan)}.dp-tl-btn{align-items:center;background:#00e5ff14;border:1px solid #00e5ff40;border-radius:6px;color:var(--cyan);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--disp);font-size:10px;font-weight:700;gap:5px;letter-spacing:.08em;padding:5px 12px;transition:all .15s}.dp-tl-btn:hover{background:#00e5ff26;border-color:#00e5ff73}.dp-tl-btn.on{background:#ff50501a;border-color:#ff50504d;color:#f68}.dp-tl-btn:disabled{cursor:not-allowed;opacity:.45}@keyframes dp-spin{to{transform:rotate(1turn)}}.dp-spin{animation:dp-spin .7s linear infinite;border:2px solid #00e5ff33;border-radius:50%;border-top:2px solid var(--cyan);display:inline-block;height:10px;width:10px}.dp-trail-stats{border-bottom:1px solid var(--border);display:grid;flex-shrink:0;grid-template-columns:repeat(4,1fr)}.dp-trail-stat{align-items:center;border-right:1px solid #ffffff0a;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:7px 4px}.dp-trail-stat:last-child{border-right:none}.dp-ts-icon{font-size:12px}.dp-ts-val{color:var(--cyan);font-family:var(--disp);font-size:13px;font-weight:800}.dp-ts-label{color:var(--text3);font-family:var(--mono);font-size:7px}.dp-tabs{background:#00000026;border-bottom:1px solid var(--border);display:flex;flex-shrink:0}.dp-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#5a8cb473;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:center;padding:8px 3px;transition:all .15s}.dp-tab:hover{background:hsla(0,0%,100%,.015);color:#c8e6ffa6}.dp-tab--on{background:#00e5ff08;border-bottom-color:var(--cyan);color:var(--cyan)}.dp-tab--ai.dp-tab--on{background:#a78bfa0a;border-bottom-color:#a78bfa;color:#a78bfa}.dp-tab-icon{font-size:12px;line-height:1}.dp-tab-lbl{font-family:var(--disp);font-size:8px;font-weight:700;letter-spacing:.07em}.dp-body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.dp-body::-webkit-scrollbar{width:3px}.dp-body::-webkit-scrollbar-thumb{background:#00e5ff1f;border-radius:2px}.dp-section{display:flex;flex-direction:column;gap:6px;padding:8px}.dp-info-card{background:#050e1ccc;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 12px #0000004d;overflow:hidden}.dp-ic-header{background:#00e5ff05;border-bottom:1px solid #00e5ff0f;color:#00e5ff66;font-family:var(--disp);font-size:8.5px;font-weight:900;letter-spacing:.18em;padding:9px 12px 7px}.dp-row{align-items:center;border-bottom:1px solid #ffffff08;display:flex;gap:10px;justify-content:space-between;padding:6px 12px;transition:background .12s}.dp-row:last-child{border-bottom:none}.dp-row--hi,.dp-row:hover{background:rgba(0,229,255,.025)}.dp-row--hi:hover{background:#00e5ff0a}.dp-row-k{color:var(--text3);flex-shrink:0}.dp-row-k,.dp-row-v{font-size:11px;white-space:nowrap}.dp-row-v{color:var(--text1);font-weight:600;overflow:hidden;text-align:right;text-overflow:ellipsis}.dp-row-v.mono{color:var(--text2);font-family:var(--mono);font-size:9.5px}.dp-row-v--hi{color:var(--cyan);font-weight:700}.dp-row-v--null{color:var(--text3);font-weight:400}.dp-cap-grid{grid-gap:1px;background:#ffffff0a;display:grid;gap:1px;grid-template-columns:repeat(3,1fr)}.dp-cap-cell{background:var(--card);padding:10px 10px 8px;transition:background .12s}.dp-cap-cell:hover{background:#00e5ff08}.dp-cap-cell--hi{background:#00e5ff0a}.dp-cap-code{color:var(--text3);font-family:var(--disp);font-size:10px;font-weight:900;letter-spacing:.12em}.dp-cap-val{color:var(--text1);font-family:var(--mono);font-size:11px;font-weight:700;margin:3px 0}.dp-cap-cell--hi .dp-cap-val{color:var(--cyan)}.dp-cap-desc{color:var(--text3);font-size:9px}.dp-voyage-boxes{align-items:center;display:flex;gap:10px;padding:12px}.dp-vb{background:#0000004d;border:1px solid #ffffff0d;border-radius:8px;flex:1 1;padding:10px}.dp-vb--from .dp-vb-val{color:#78c8e6e6}.dp-vb--to .dp-vb-val{color:var(--cyan)}.dp-vb-divider{align-items:center;display:flex;flex-shrink:0;justify-content:center}.dp-vb-icon{font-size:16px;margin-bottom:5px}.dp-vb-title{color:var(--text3);font-family:var(--mono);font-size:7px;letter-spacing:.12em;margin-bottom:4px}.dp-vb-val{color:var(--text1);font-family:var(--disp);font-size:13px;font-weight:800;margin-bottom:4px}.dp-vb-time{color:var(--text3);font-family:var(--mono);font-size:7.5px;margin-top:2px}.dp-port-time-block{padding:12px}.dp-pt-nums{align-items:baseline;display:flex;gap:5px;margin-bottom:8px}.dp-pt-current{color:var(--amber);font-family:var(--disp);font-size:28px;font-weight:900}.dp-pt-sep{font-size:16px}.dp-pt-sep,.dp-pt-total{color:var(--text3);font-family:var(--disp)}.dp-pt-total{font-size:14px}.dp-pt-bar{background:#ffffff0f;border-radius:3px;height:6px;margin-bottom:6px;overflow:visible;position:relative}.dp-pt-fill{background:linear-gradient(90deg,#ffaa0080,var(--amber));border-radius:3px;height:100%;transition:width .8s}.dp-pt-dot{background:var(--amber);border:2px solid var(--navy);border-radius:50%;box-shadow:0 0 10px var(--amber);height:14px;position:absolute;top:-4px;transform:translateX(-50%);width:14px}.dp-pt-label{color:#ffaa0080;font-family:var(--mono);font-size:8px}.dp-src-badges{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.dp-src-badge{align-items:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;color:var(--text3);display:flex;font-size:11px;gap:8px;padding:6px 10px;transition:all .12s}.dp-src-badge--on{background:#00e5ff0f;border-color:#00e5ff33;color:#00e5ffd9}.dp-src-tick{font-size:10px;font-weight:700;margin-left:auto}.dp-src-badge--on .dp-src-tick{color:var(--green)}.dp-status-card{align-items:center;background:color-mix(in srgb,#607d8b 6%,#0000);background:color-mix(in srgb,var(--sc,#607d8b) 6%,#0000);border:1px solid color-mix(in srgb,#607d8b 20%,#0000);border:1px solid color-mix(in srgb,var(--sc,#607d8b) 20%,#0000);border-radius:8px;display:flex;gap:10px;margin:10px 12px 8px;padding:12px}.dp-sc-dot{animation:ss-blink 2s ease-in-out infinite;background:#607d8b;background:var(--sc,#607d8b);border-radius:50%;box-shadow:0 0 10px #607d8b;box-shadow:0 0 10px var(--sc,#607d8b);flex-shrink:0;height:10px;width:10px}.dp-sc-body{flex:1 1}.dp-sc-label{color:#607d8b;color:var(--sc,#607d8b);font-family:var(--disp);font-size:14px;font-weight:700}.dp-sc-sub{color:var(--text3);margin-top:2px}.dp-sc-badge,.dp-sc-sub{font-family:var(--mono);font-size:7.5px}.dp-sc-badge{background:color-mix(in srgb,#607d8b 14%,#0000);background:color-mix(in srgb,var(--sc,#607d8b) 14%,#0000);border:1px solid color-mix(in srgb,#607d8b 35%,#0000);border:1px solid color-mix(in srgb,var(--sc,#607d8b) 35%,#0000);border-radius:4px;color:#607d8b;color:var(--sc,#607d8b);flex-shrink:0;font-weight:700;padding:3px 8px}.dp-dq-full-block{padding:10px 12px}.dp-dq-score-row{align-items:baseline;display:flex;gap:3px;margin-bottom:8px}.dp-dq-score-num{font-family:var(--disp);font-size:40px;font-weight:900;line-height:1}.dp-dq-score-den{color:var(--text3);font-family:var(--disp);font-size:16px}.dp-dq-full-bar{background:#ffffff0f;border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.dp-dq-full-fill{border-radius:3px;height:100%;transition:width .9s}.dp-dq-checks{display:flex;flex-direction:column;gap:4px}.dp-dq-check{align-items:center;border-bottom:1px solid #ffffff0a;display:flex;font-size:11px;gap:8px;padding:5px 0}.dp-dq-check:last-child{border-bottom:none}.dp-dq-check.ok{color:#c8f0ffcc}.dp-dq-check.na,.dp-dq-pts{color:var(--text3)}.dp-dq-pts{flex-shrink:0;font-family:var(--mono);font-size:8px;width:24px}.dp-dq-icon{flex-shrink:0;font-size:11px;font-weight:700}.dp-dq-check.ok .dp-dq-icon{color:var(--green)}.dp-dq-check.na .dp-dq-icon{color:var(--red)}.dp-trail-stat-grid{grid-gap:1px;background:#ffffff0a;display:grid;gap:1px;grid-template-columns:repeat(4,1fr);margin-bottom:8px}.dp-trail-stat-grid .dp-trail-stat{background:var(--card);padding:10px 6px}.dp-trail-ctrl{align-items:center;display:flex;gap:8px;padding:10px 12px}.dp-trail-hours{display:flex;flex:1 1;gap:4px}.dp-trail-show-btn{align-items:center;background:#00e5ff14;border:1px solid #00e5ff40;border-radius:6px;color:var(--cyan);cursor:pointer;display:flex;font-family:var(--disp);font-size:10px;font-weight:700;gap:5px;letter-spacing:.07em;padding:6px 14px;transition:all .15s}.dp-trail-show-btn:hover{background:#00e5ff26}.dp-trail-show-btn.on{background:#ff50501a;border-color:#ff50504d;color:#f68}.dp-trail-show-btn:disabled{cursor:not-allowed;opacity:.45}.pred-hero{align-items:center;display:flex;flex-direction:column;gap:10px;padding:32px 20px 24px;text-align:center}.pred-hero-orb{filter:drop-shadow(0 0 20px rgba(167,139,250,.6));font-size:40px}.pred-hero-title{color:var(--text1);font-family:var(--disp);font-size:18px;font-weight:900;letter-spacing:.06em}.pred-hero-sub{color:var(--text2);font-size:12px;line-height:1.5;max-width:240px}.pred-caps{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pred-cap{background:#a78bfa14;border:1px solid #a78bfa33;border-radius:4px;color:#a78bfacc;font-family:var(--mono);font-size:8px;padding:3px 8px}.pred-run-btn{background:linear-gradient(135deg,#a78bfa40,#a78bfa1f);border:1px solid #a78bfa66;border-radius:9px;color:#c4b5fd;cursor:pointer;font-family:var(--disp);font-size:14px;font-weight:700;letter-spacing:.1em;margin-top:8px;padding:11px 32px;transition:all .2s}.pred-run-btn:hover{background:linear-gradient(135deg,#a78bfa59,#a78bfa33);box-shadow:0 0 20px #a78bfa33}.pred-loading{align-items:center;display:flex;flex-direction:column;gap:14px;padding:32px 20px}.pred-spinner-wrap{height:48px;position:relative;width:48px}.pred-spinner{animation:dp-spin .9s linear infinite;border:3px solid #a78bfa26;border-radius:50%;border-top-color:#a78bfa;inset:0;position:absolute}.pred-spinner-core{animation:dp-spin .6s linear infinite reverse;border:2px solid #00e5ff33;border-radius:50%;border-top:2px solid var(--cyan);inset:8px;position:absolute}.pred-loading-title{color:var(--text1);font-family:var(--disp);font-size:13px;font-weight:700;letter-spacing:.08em}.pred-steps{display:flex;flex-direction:column;gap:6px}.pred-step{align-items:center;animation:pred-step-in .4s ease both;color:var(--text3);display:flex;font-size:10px;gap:8px}@keyframes pred-step-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}.pred-step-dot{background:#a78bfa;border-radius:50%;box-shadow:0 0 6px #a78bfa;flex-shrink:0;height:5px;width:5px}.pred-error-block{align-items:center;display:flex;flex-direction:column;gap:10px;padding:32px 20px}.pred-error-icon{font-size:32px}.pred-error-msg{color:#f89;font-size:12px;text-align:center}.pred-retry-btn{background:#ff505014;border:1px solid #ff50504d;border-radius:7px;color:#f89;cursor:pointer;font-family:var(--disp);font-size:12px;font-weight:700;padding:8px 20px;transition:all .15s}.pred-retry-btn:hover{background:#ff505024}.pred-result-card{background:linear-gradient(135deg,#0a1428e6,#050f1ef2);border:1px solid #a78bfa33;border-radius:12px;margin-bottom:6px;padding:16px}.pred-rc-eyebrow{align-items:center;color:#a78bfa80;display:flex;font-family:var(--mono);font-size:7.5px;gap:8px;letter-spacing:.14em;margin-bottom:6px}.pred-declared{background:#00ff9d1a;border:1px solid #00ff9d4d;border-radius:3px;color:var(--green);font-size:7px;padding:1px 6px}.pred-rc-port{color:#e9d5ff;font-family:var(--disp);font-size:26px;font-weight:900;letter-spacing:.04em;margin-bottom:4px}.pred-rc-meta{color:#a78bfa8c;font-family:var(--mono);font-size:9px;margin-bottom:12px}.pred-eta-row{align-items:center;display:flex;gap:10px;margin-bottom:12px}.pred-eta-main{flex:1 1}.pred-eta-label{color:#a78bfa73;font-family:var(--mono);font-size:7.5px;letter-spacing:.1em;margin-bottom:3px}.pred-eta-val{color:#c4b5fd;font-family:var(--disp);font-size:22px;font-weight:900}.pred-eta-date{color:#a78bfa8c;font-family:var(--mono);font-size:8px;margin-top:3px}.pred-dist-big{text-align:center}.pred-dist-num{color:#e9d5ff;font-family:var(--disp);font-size:28px;font-weight:900;line-height:1}.pred-dist-unit{color:#a78bfa66;font-family:var(--mono);font-size:7.5px}.pred-conf-block{margin-bottom:10px}.pred-conf-hdr{color:#a78bfa73;display:flex;font-family:var(--mono);font-size:8px;justify-content:space-between;margin-bottom:5px}.pred-conf-pct{font-size:10px;font-weight:700}.pred-conf-bar{background:#ffffff0f;border-radius:3px;height:5px;overflow:hidden}.pred-conf-fill{border-radius:3px;height:100%;transition:width .8s}.pred-method{color:#a78bfa66;font-family:var(--mono);font-size:8px;margin-bottom:8px}.pred-lane-legend{display:flex;gap:8px;margin-bottom:12px}.pred-lane-tag{border-radius:3px;font-family:var(--mono);font-size:8px;font-weight:700;padding:2px 8px}.pred-tss{background:#ff4d4d1f;border:1px solid #ff4d4d4d;color:#f66}.pred-ais{background:#e040fb1f;border:1px solid #e040fb4d;color:#e040fb}.pred-dwr{background:#ffc8001f;border:1px solid #ffc8004d;color:#ffe040}.pred-map-btn{background:#a78bfa1a;border:1px solid #a78bfa4d;border-radius:8px;color:#c4b5fd;cursor:pointer;font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.08em;padding:10px;transition:all .15s;width:100%}.pred-map-btn:hover{background:#a78bfa2e}.pred-map-btn.on{background:#ff50501a;border-color:#ff50504d;color:#f89}.pred-alt{align-items:center;border-bottom:1px solid #ffffff0a;display:flex;gap:10px;padding:9px 12px}.pred-alt:last-child{border-bottom:none}.pred-alt-rank{color:var(--text3);flex-shrink:0;font-family:var(--mono);font-size:8px;width:20px}.pred-alt-body{flex:1 1;min-width:0}.pred-alt-port{color:var(--text1);font-family:var(--disp);font-size:12px;font-weight:700}.pred-alt-meta{color:var(--text3);font-family:var(--mono);font-size:8px}.pred-alt-right{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.pred-alt-conf{font-family:var(--mono);font-size:10px;font-weight:700}.pred-alt-brng{color:var(--text3);font-family:var(--mono);font-size:8px}.pred-wps{display:flex;flex-direction:column}.pred-wp{align-items:flex-start;display:flex;gap:10px;padding:8px 12px}.pred-wp-spine{align-items:center;display:flex;flex-direction:column;flex-shrink:0;margin-top:4px}.pred-wp-dot{border:2px solid;border-radius:50%;flex-shrink:0;height:10px;width:10px}.pred-wp-dot--current{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 8px var(--cyan)}.pred-wp-dot--destination{background:#a78bfa;border-color:#a78bfa;box-shadow:0 0 8px #a78bfa}.pred-wp-dot--TSS{background:#ff4d4d4d;border-color:#f66}.pred-wp-dot--DWR{background:#ffe0404d;border-color:#ffe040}.pred-wp-dot--waypoint{background:#ffffff1a;border-color:#ffffff4d}.pred-wp-line{background:#ffffff14;flex:1 1;margin:3px 0;min-height:16px;width:1px}.pred-wp-body{flex:1 1}.pred-wp-label{color:var(--text1);font-family:var(--disp);font-size:12px;font-weight:700}.pred-wp-coords,.pred-wp-eta{color:var(--text3);font-family:var(--mono);font-size:8px;margin-top:2px}.pred-rerun-wrap{padding:8px 12px 14px}.pred-rerun-btn{background:#ffffff08;border:1px solid #ffffff1a;border-radius:7px;color:var(--text3);cursor:pointer;font-family:var(--disp);font-size:11px;font-weight:700;padding:8px;transition:all .15s;width:100%}.pred-rerun-btn:hover{background:#ffffff12;color:var(--text1)}@media(max-width:768px){.dp-hero{padding:10px 12px}.dp-speed-num{font-size:38px}}.mv-root{contain:layout style;overflow:hidden;position:relative}.mv-map,.mv-root{height:100%;transform:translateZ(0);-webkit-transform:translateZ(0);width:100%}.mv-map{backface-visibility:hidden;-webkit-backface-visibility:hidden;display:block;touch-action:pan-x pan-y;will-change:transform}.gm-style a[href*="maps.google"],.gm-style-cc,.gmnoscreen,a[title="Report a map error"],img[src*=watermark]{display:none!important}.gm-style .gm-style-iw-c{background:#0000!important;border:none!important;border-radius:14px!important;box-shadow:none!important}.gm-style .gm-style-iw-d{overflow:visible!important;padding:0!important}.gm-style .gm-style-iw-ch,.gm-style .gm-style-iw-chr{display:none!important;padding:0!important}.gm-style .gm-ui-hover-effect{display:none!important}.gm-style .gm-style-iw-tc:after{background:#00e5ff26!important}.mv-icon-strip{align-items:stretch;gap:6px;max-height:calc(100% - 160px);position:absolute;right:12px;top:calc(50% - 80px);transform:translateY(-50%);z-index:20}.mv-icon-strip,.mv-strip-btn{display:flex;flex-direction:column}.mv-strip-btn{-webkit-tap-highlight-color:rgba(0,229,255,.12);align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#040a16e6;border:1px solid #00e5ff26;border-radius:12px;box-shadow:0 4px 20px #0009,inset 0 1px 0 #ffffff0a;color:#7aaacc;cursor:pointer;gap:3px;justify-content:center;min-height:56px;padding:11px 8px 9px;position:relative;touch-action:manipulation;transform:translateZ(0);transition:border-color .18s,color .18s,background .18s;user-select:none;-webkit-user-select:none;width:68px;will-change:auto}.mv-strip-btn:hover{background:#000e20f0;border-color:#00e5ff73;box-shadow:0 4px 24px #000000a6,0 0 18px #00e5ff1a;color:#00e5ff}.mv-strip-btn:active{background:#00e5ff24;border-color:#00e5ff99;color:#00e5ff;transform:scale(.94) translateZ(0);transition:transform .08s ease,background .08s ease}.mv-strip-btn.mv-strip-active{background:#00e5ff12;border-color:#00e5ff80;box-shadow:0 4px 20px #0000008c,0 0 22px #00e5ff24;color:#00e5ff}.mv-strip-btn.mv-strip-port.mv-strip-active{background:#ffaa0012;border-color:#ffaa0080;box-shadow:0 4px 20px #00000080,0 0 20px #ffaa001f;color:#fa0}.mv-strip-btn.mv-strip-weather.mv-strip-active{background:#00b4ff12;border-color:#00e5ff73;color:#7cdcff}.mv-strip-btn.mv-strip-alert{animation:mvStripAlertPulse 2.2s ease-in-out infinite;border-color:#ff325080!important}@keyframes mvStripAlertPulse{0%,to{box-shadow:0 4px 20px #0000008c,0 0 0 0 #ff32504d}50%{box-shadow:0 4px 20px #0000008c,0 0 0 6px #ff325000}}.mv-strip-icon{font-size:20px;line-height:1}.mv-strip-lbl{color:inherit;font-size:7.5px;font-weight:700;letter-spacing:.1em;opacity:.7}.mv-strip-lbl,.mv-strip-wind{font-family:JetBrains Mono,monospace}.mv-strip-wind{color:#00ff9d;font-size:9px;font-weight:800;line-height:1}.mv-strip-ping{animation:mvStripAlertPulse 1.8s ease-in-out infinite;background:#f35;height:7px;width:7px}.mv-strip-dot,.mv-strip-ping{border-radius:50%;position:absolute;right:7px;top:7px}.mv-strip-dot{animation:mvBlink 1.2s infinite;background:#00e5ff;height:6px;width:6px}.mv-strip-zoom{display:flex;gap:3px}.mv-strip-zoom-btn{-webkit-tap-highlight-color:rgba(0,229,255,.15);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#040a16e6;border:1px solid #00e5ff26;border-radius:10px;color:#7aaacc;cursor:pointer;flex:1 1;font-size:18px;font-weight:700;line-height:1;min-height:44px;min-width:44px;padding:9px 0;touch-action:manipulation;transition:all .15s ease;user-select:none;-webkit-user-select:none}.mv-strip-zoom-btn:hover{background:#00e5ff12;border-color:#00e5ff73;color:#00e5ff}.mv-strip-zoom-btn:active{background:#00e5ff2e;border-color:#00e5ffb3;color:#00e5ff;transform:scale(.93);transition:transform .08s ease,background .08s ease}.mv-layer-panel{animation:mvSlideIn .2s cubic-bezier(.34,1.56,.64,1) both;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#040a16f7;border:1px solid #00b4ff47;border-radius:14px;box-shadow:0 12px 48px #000000d9,0 0 0 1px #00e5ff0d;overflow:hidden;padding:0;position:absolute;right:92px;top:50%;transform:translateY(-50%);width:230px;z-index:30}.mv-lp-head{align-items:center;background:#00e5ff08;border-bottom:1px solid #00b4ff26;display:flex;justify-content:space-between;padding:12px 14px 10px}.mv-lp-title{color:#00e5ff;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.1em}.mv-lp-close{background:#0000;border:none;border-radius:4px;color:#3d6a8a;cursor:pointer;font-size:12px;padding:2px 4px;transition:color .15s}.mv-lp-close:hover{color:#f46}.mv-lp-row{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.025);cursor:pointer;display:flex;gap:10px;padding:9px 14px;transition:background .15s}.mv-lp-row:last-child{border-bottom:none}.mv-lp-row:hover{background:#00b4ff0f}.mv-lp-row.mv-lp-on{background:#00e5ff08}.mv-lp-icon{flex-shrink:0;font-size:13px}.mv-lp-label{color:#6a9ab0;flex:1 1;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em;transition:color .15s}.mv-lp-row.mv-lp-on .mv-lp-label{color:#cde}.mv-lp-toggle{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:7px;flex-shrink:0;height:14px;position:relative;transition:background .2s,border-color .2s;width:28px}.mv-lp-row.mv-lp-on .mv-lp-toggle{background:color-mix(in srgb,var(--tc) 25%,#0000);border-color:var(--tc);box-shadow:0 0 6px color-mix(in srgb,var(--tc) 40%,#0000)}.mv-lp-knob{background:#3d6a8a;border-radius:50%;height:10px;left:1px;position:absolute;top:1px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s;width:10px}.mv-lp-knob.mv-lp-knob-on{background:#00e5ff;background:var(--tc,#00e5ff);box-shadow:0 0 6px #00e5ff;box-shadow:0 0 6px var(--tc,#00e5ff);transform:translateX(14px)}.mv-alert-panel{animation:mvAlertIn .3s cubic-bezier(.34,1.56,.64,1) both,mvAlertPulse 4s ease-in-out 1s infinite;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:linear-gradient(160deg,#0a0214f7,#12041cf7);border:1px solid #ff224480;border-radius:14px;box-shadow:0 0 0 1px #ff224414,0 8px 40px #ff22444d,0 2px 8px #000c;left:14px;max-width:320px;min-width:270px;overflow:hidden;position:absolute;top:14px;z-index:25}.mv-ap-radar{height:36px;pointer-events:none;position:absolute;right:12px;top:10px;width:36px}.mv-ap-radar-sweep{animation:radarSpin 2.5s linear infinite;background:conic-gradient(from 0deg,#0000 70%,#f249 100%);border-radius:50%;inset:0;position:absolute}.mv-ap-radar-ring{border:1px solid #ff22444d;border-radius:50%;position:absolute}.mv-ap-radar-r1{inset:4px}.mv-ap-radar-r2{inset:10px}.mv-ap-radar-dot{background:#f24;border-radius:50%;box-shadow:0 0 6px #f24;height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:4px}@keyframes radarSpin{to{transform:rotate(1turn)}}.mv-ap-head{align-items:flex-start;background:linear-gradient(90deg,#ff22441a,#0000);border-bottom:1px solid #ff224426;display:flex;justify-content:space-between;padding:12px 14px 10px;position:relative}.mv-ap-head:before{background:linear-gradient(90deg,#f24,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.mv-ap-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.mv-ap-title{color:#f57;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.12em}.mv-ap-badges{display:flex;gap:5px}.mv-ap-badge{border-radius:4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 7px}.mv-ap-danger{background:#f243;border:1px solid #ff224473;color:#f46}.mv-ap-warn{background:#ffaa0026;border:1px solid #fa06;color:#fc3}.mv-ap-close{background:#ffffff0a;border:1px solid #ffffff14;border-radius:5px;color:#78a0c880;cursor:pointer;flex-shrink:0;font-size:11px;margin-left:6px;padding:3px 6px;transition:all .15s}.mv-ap-close:hover{background:#ff224426;border-color:#f246;color:#f46}.mv-ap-list{display:flex;flex-direction:column;gap:3px;max-height:320px;overflow-y:auto;padding:6px}.mv-ap-list::-webkit-scrollbar{width:2px}.mv-ap-list::-webkit-scrollbar-thumb{background:#ff22444d;border-radius:1px}.mv-ap-item{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;overflow:hidden;padding:8px 10px;position:relative;transition:all .15s}.mv-ap-item:before{border-radius:2px 0 0 2px;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.mv-ap-item.mv-ap-danger{background:#ff22440f;border-color:#ff22441a}.mv-ap-item.mv-ap-danger:before{background:#f24;box-shadow:0 0 6px #ff224488}.mv-ap-item.mv-ap-warning{background:#ffaa000d;border-color:#ffaa001a}.mv-ap-item.mv-ap-warning:before{background:#fa0}.mv-ap-item:hover{transform:translateX(2px)}.mv-ap-item.mv-ap-danger:hover{background:#ff22441f;border-color:#ff22444d}.mv-ap-item.mv-ap-warning:hover{background:#ffaa001a;border-color:#ffaa0040}.mv-ap-item-left{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.mv-ap-level-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.mv-ap-dot-danger{animation:dotBlink 1.5s ease-in-out infinite;background:#f24;box-shadow:0 0 6px #ff2244aa}.mv-ap-dot-warning{background:#fa0}@keyframes dotBlink{0%,to{opacity:1}50%{opacity:.3}}.mv-ap-vessel{color:#e8f4ff;font-size:10px;font-weight:700}.mv-ap-detail,.mv-ap-vessel{font-family:JetBrains Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-ap-detail{color:#78a0c880;font-size:8px;margin-top:2px}.mv-ap-arrow{color:#78a0c840;flex-shrink:0;font-size:14px;padding-left:4px;transition:color .15s}.mv-ap-item:hover .mv-ap-arrow{color:#f249}.mv-ap-more-btn{background:#ffffff08;border:1px dashed #f243;border-radius:6px;color:#f249;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.06em;padding:6px;transition:all .15s;width:100%}.mv-ap-more-btn:hover{background:#ff224414;border-color:#f246;color:#f57}.mv-ap-footer{align-items:center;background:#ff224408;border-top:1px solid #ff22441a;color:#ff224459;display:flex;font-family:JetBrains Mono,monospace;font-size:8px;gap:6px;letter-spacing:.1em;padding:6px 14px 8px}.mv-ap-footer:before{animation:dotBlink 1.5s ease-in-out infinite;background:#f24;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.mv-ap-bubble{align-items:center;animation:bubblePop .3s cubic-bezier(.34,1.56,.64,1) both;background:linear-gradient(135deg,#ff2244e6,#b40a28e6);border:1px solid #f249;border-radius:24px;box-shadow:0 4px 20px #ff224480;color:#fff;cursor:pointer;display:flex;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;gap:6px;left:14px;padding:8px 14px;position:absolute;position:relative;top:14px;z-index:25}.mv-ap-bubble-ping{animation:bubblePing 1.5s ease-out infinite;border:2px solid #ff224480;border-radius:28px;inset:-4px;position:absolute}@keyframes bubblePing{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.mv-ap-bubble-label{font-size:8px;letter-spacing:.12em;opacity:.8}@keyframes bubblePop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.mv-ai-badge{align-items:center;animation:mvFadeUp .3s ease both;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#000e24eb;border:1px solid #7cdcff66;border-radius:10px;bottom:90px;box-shadow:0 4px 20px #0009,0 0 16px #7cdcff1a;display:flex;gap:10px;left:14px;padding:8px 14px;position:absolute;z-index:20}.mv-ai-icon{font-size:18px}.mv-ai-title{color:#7cdcff;font-weight:700;letter-spacing:.1em}.mv-ai-sub,.mv-ai-title{font-family:JetBrains Mono,monospace;font-size:9px}.mv-ai-sub{color:#4a8a9a;margin-top:2px}.mv-bottom-hud{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#040a16e6;border-radius:24px;bottom:14px;box-shadow:0 4px 24px #0009;display:flex;font-family:JetBrains Mono,monospace;gap:6px;left:50%;max-width:calc(100vw - 28px);overflow:hidden;padding:7px 16px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:20}.mv-live-dot{animation:mvPulse 2.2s ease-in-out infinite;background:#00ff9d;border-radius:50%;box-shadow:0 0 8px #00ff9d;flex-shrink:0;height:7px;width:7px}.mv-bh-count{color:#00e5ff;font-size:13px;font-weight:700}.mv-bh-label{color:#3d6a8a;font-size:9px;letter-spacing:.1em;margin-right:8px}.mv-bh-trail{align-items:center;border-left:1px solid #00e5ff1a;color:#6a9ab0;display:flex;font-size:10px;gap:5px;padding-left:8px}.mv-bh-tname{color:#00e5ff;max-width:120px;overflow:hidden;text-overflow:ellipsis}.mv-bh-coords{border-left:1px solid #00e5ff1a;color:#3d6a8a;font-size:10px;padding-left:8px}.mv-bh-region{color:#00e5ff}.mv-range-legend{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#040a16e0;border:1px solid #00b4ff26;border-radius:10px;bottom:14px;font-family:JetBrains Mono,monospace;left:14px;padding:8px 12px;pointer-events:none;position:absolute;transform:translateZ(0);z-index:15}.mv-rl-row{align-items:center;color:#6a9ab0;display:flex;font-size:9px;gap:7px;letter-spacing:.06em;padding:3px 0}.mv-rl-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}@keyframes mvPulse{0%,to{box-shadow:0 0 4px #00ff9d;opacity:1}50%{box-shadow:0 0 14px #00ff9d;opacity:.8}}@keyframes mvBlink{0%,to{opacity:1}50%{opacity:.2}}@keyframes mvFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes mvSlideIn{0%{opacity:0;transform:translateX(12px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes mvAlertIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes mvAlertPulse{0%,to{box-shadow:0 8px 32px #f243}50%{box-shadow:0 8px 40px #ff224473}}@media (max-width:768px){.mv-alert-panel{max-width:calc(100vw - 28px)}.mv-layer-panel{bottom:130px;max-width:calc(100vw - 16px);right:8px;top:auto;transform:none;width:220px}.mv-ctrl-cluster{right:10px;top:10px}.mv-ctrl-btn{font-size:9px;padding:7px 10px}.mv-bh-coords{display:none}.mv-ai-badge{bottom:100px;left:14px}.mv-range-legend{bottom:14px;left:14px}.mv-bottom-hud{bottom:10px}.mv-icon-strip{gap:5px;max-height:calc(100% - 120px);right:6px;top:50%;transform:translateY(-55%);will-change:transform}.mv-strip-btn{border-radius:10px;min-height:52px;padding:8px 5px 7px;transform:translateZ(0);-webkit-transform:translateZ(0);width:52px;will-change:border-color,color}.mv-strip-icon{font-size:18px}.mv-strip-lbl{font-size:6.5px;letter-spacing:.08em}.mv-strip-wind{font-size:8px}.mv-strip-zoom{gap:4px}.mv-strip-zoom-btn{border-radius:9px;font-size:16px;min-height:44px;min-width:22px;padding:8px 0}.mv-layer-panel{left:auto;right:66px}}.gm-style .gm-style-iw-c{border-radius:10px!important;box-shadow:0 8px 32px #a78bfa66!important;padding:0!important}.gm-style .gm-style-iw-c,.gm-style .gm-style-iw-d{overflow:hidden!important}.gm-style .gm-style-iw-t:after{background:#1a0a2e!important}.mv-ctrl-cluster{filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}.mv-ctrl-btn{background:linear-gradient(135deg,#040a16f0,#081223e6);border:1px solid #00e5ff2e;box-shadow:0 4px 20px #0000008c,inset 0 1px 0 #ffffff0a,inset 0 -1px 0 #0003}.mv-bottom-hud{background:linear-gradient(90deg,#040a16f2,#060e1eeb);border:1px solid #00e5ff1f;border-bottom:none;border-radius:14px 14px 0 0;box-shadow:0 -4px 24px #00000080,inset 0 1px 0 #00e5ff0f;padding:8px 16px}.mv-alert-panel{background:linear-gradient(180deg,#100404f7,#080202f2);border:1px solid #ff224440;box-shadow:0 8px 40px #f243,0 2px 8px #000c}.mv-layer-panel{background:linear-gradient(180deg,#040a16f7,#060e1ef2);border:1px solid #00e5ff2e;box-shadow:0 12px 48px #000000b3,inset 0 1px 0 #ffffff08}.mv-range-legend{background:linear-gradient(135deg,#040a16eb,#060e1ee0);border:1px solid #00b4ff1f;box-shadow:0 4px 20px #00000080}@keyframes mvSelectedGlow{0%,to{filter:drop-shadow(0 0 6px rgba(0,229,255,.6))}50%{filter:drop-shadow(0 0 18px rgba(0,229,255,.9))}}.mv-root:after{background:radial-gradient(circle at bottom left,#00e5ff0f 0,#0000 70%);bottom:0;content:"";height:200px;left:0;pointer-events:none;position:absolute;width:200px;z-index:2}.mv-ai-badge{background:linear-gradient(135deg,#040a16f2,#081223eb);border:1px solid #7cdcff40;box-shadow:0 4px 20px #00000080,0 0 20px #7cdcff14}.mv-compass{animation:mvCompassSpin 120s linear infinite;bottom:110px;filter:drop-shadow(0 0 8px rgba(0,229,255,.3));font-size:48px;line-height:1;opacity:.18;pointer-events:none;position:absolute;right:16px;z-index:5}@keyframes mvCompassSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mv-zoom-btn{background:linear-gradient(135deg,#040a16f0,#081223e6);border:1px solid #00e5ff2e;box-shadow:0 2px 10px #00000080,inset 0 1px 0 #ffffff0a}.mv-zoom-btn:hover{background:#00e5ff1a;border-color:#00e5ff66;box-shadow:0 0 12px #00e5ff26}.speed-legend-wrap{background:linear-gradient(135deg,#040a16f0,#081223e6);border:1px solid #00e5ff24;box-shadow:0 4px 20px #0000008c}.speed-legend{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04080fd9;border:1px solid #00d4ff1f;border-radius:10px;box-shadow:0 8px 32px #00000080;min-width:140px;overflow:hidden;pointer-events:all}.sl-toggle{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:8px 12px;transition:color var(--t-fast);width:100%}.sl-toggle:hover{color:var(--cyan)}.sl-toggle-label{font-family:var(--font-label);font-size:9px;letter-spacing:.2em}.sl-items{animation:fadeInUp .2s ease both;display:flex;flex-direction:column;gap:7px;padding:2px 10px 10px}.sl-item{align-items:center;display:flex;gap:8px}.sl-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.sl-info{display:flex;flex-direction:column;gap:1px}.sl-label{color:var(--text-primary);font-family:var(--font-display);font-size:11px;font-weight:600;line-height:1}.sl-range{color:var(--text-muted);font-family:var(--font-mono);font-size:9px}.sl-dots-row{align-items:center;display:flex;gap:5px;padding:0 12px 8px}.sl-mini-dot{border-radius:50%;cursor:help;height:8px;transition:transform var(--t-fast);width:8px}.sl-mini-dot:hover{transform:scale(1.4)}.error-banner{align-items:center;animation:fadeInUp .3s ease both;background:#ff456014;border-bottom:1px solid #ff45604d;display:flex;flex-shrink:0;gap:10px;padding:10px 16px}.eb-icon{color:var(--red);flex-shrink:0;font-size:16px}.eb-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.eb-label{color:var(--red);font-family:var(--font-label);font-size:9px;letter-spacing:.2em}.eb-message{color:var(--text-secondary);font-size:12px}.eb-actions{flex-shrink:0;gap:8px}.eb-actions,.eb-retry{align-items:center;display:flex}.eb-retry{background:#ff45601a;border:1px solid #ff45604d;border-radius:6px;color:var(--red);cursor:pointer;font-family:var(--font-display);font-size:12px;font-weight:600;gap:5px;padding:5px 12px;transition:all var(--t-fast)}.eb-retry:hover{background:#ff45602e;border-color:var(--red)}.eb-dismiss{align-items:center;background:none;border:1px solid #ffffff14;border-radius:5px;color:var(--text-muted);cursor:pointer;display:flex;font-size:11px;height:26px;justify-content:center;transition:all var(--t-fast);width:26px}.eb-dismiss:hover{background:#ffffff0d;color:var(--text-secondary)}.pa-card--fetching{pointer-events:none}.pa-card-fetch-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060f1dbf;border-radius:10px;color:#00e5ff;display:flex;font-family:JetBrains Mono,monospace;font-size:9px;gap:8px;inset:0;justify-content:center;letter-spacing:.08em;position:absolute;z-index:10}.pa-fetch-spinner{animation:pa-spin-anim .7s linear infinite;border:2px solid #00e5ff33;border-radius:50%;border-top-color:#00e5ff;flex-shrink:0;height:12px;width:12px}.pa-trigger{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07111eeb;border:1px solid #00e5ff2e;border-radius:10px;box-shadow:0 4px 20px #0006;color:#00e5ffb3;cursor:pointer;display:flex;flex-direction:column;gap:3px;height:52px;justify-content:center;position:relative;transition:all .2s;width:48px}.pa-trigger:hover{background:#00e5ff14;border-color:#00e5ff66;color:#00e5ff;transform:translateY(-1px)}.pa-trigger--open{background:#00e5ff1a;border-color:#00e5ff80;box-shadow:0 0 20px #00e5ff33;color:#00e5ff}.pa-trigger-label{font-family:Barlow Condensed,sans-serif;font-size:7px;font-weight:700;letter-spacing:.12em}.pa-trigger-badge{align-items:center;animation:badge-pulse 2s ease-in-out infinite;background:#00e5ff;border-radius:9px;box-shadow:0 0 8px #00e5ff80;color:#060e18;display:flex;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700;height:17px;justify-content:center;min-width:17px;padding:0 4px;position:absolute;right:-5px;top:-5px}@keyframes badge-pulse{0%,to{box-shadow:0 0 8px #00e5ff80}50%{box-shadow:0 0 16px #00e5ffe6}}.pa-panel{background:#070f1d;border:1px solid #00e5ff14;border-radius:14px;border-top:2px solid #00e5ff59;box-shadow:0 32px 80px #000000d9,0 0 0 1px #00e5ff0a,inset 0 1px 0 hsla(0,0%,100%,.025);display:flex;flex-direction:column;max-height:calc(100vh - 72px);opacity:0;overflow:hidden;pointer-events:none;position:fixed;right:12px;top:56px;transform:translateY(-12px) scale(.96);transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;width:390px;z-index:200}.pa-panel--open{opacity:1;pointer-events:all;transform:translateY(0) scale(1)}.pa-header{background:linear-gradient(135deg,#002850b3,#00e5ff08);border-bottom:1px solid #00e5ff12;flex-shrink:0;justify-content:space-between;padding:13px 14px 12px}.pa-header,.pa-header-left{align-items:center;display:flex}.pa-header-left{gap:10px}.pa-port-emblem{align-items:center;background:#00e5ff12;border:1px solid #00e5ff38;border-radius:8px;display:flex;height:32px;justify-content:center;position:relative;width:32px}.pa-emblem-ring{animation:emblem-spin 12s linear infinite;border:1px solid #00e5ff1f;border-radius:11px;inset:-3px;position:absolute}@keyframes emblem-spin{0%{border-top-color:#00e5ff66;transform:rotate(0deg)}to{border-top-color:#00e5ff66;transform:rotate(1turn)}}.pa-title-main{align-items:center;color:#e8f4ff;display:flex;font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:900;gap:5px;letter-spacing:.1em}.pa-flag-sg{font-size:13px}.pa-title-sub{align-items:center;color:#00e5ff73;display:flex;font-family:JetBrains Mono,monospace;font-size:8px;gap:5px;margin-top:3px}.pa-locode{background:#00e5ff1a;border:1px solid #00e5ff33;border-radius:3px;color:#00e5ff;font-size:8px;font-weight:700;padding:1px 5px}.pa-dot-sep{color:#00e5ff33}.pa-live-dot-inline{animation:live-blink 1.8s ease-in-out infinite;background:#00ff9d;border-radius:50%;box-shadow:0 0 6px #00ff9d;display:inline-block;height:5px;width:5px}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.3}}.pa-header-right{align-items:center;display:flex;gap:5px}.pa-refresh-ts{color:#648cb459;font-family:JetBrains Mono,monospace;font-size:8px}.pa-icon-btn{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;color:#648cb499;cursor:pointer;display:flex;font-size:10px;height:26px;justify-content:center;transition:all .15s;width:26px}.pa-icon-btn:hover{background:#00e5ff14;border-color:#00e5ff33;color:#00e5ff}.pa-icon-btn:disabled{cursor:not-allowed;opacity:.35}.pa-close-btn{font-size:9px}.pa-close-btn:hover{background:#ff3c501a;border-color:#ff3c5033;color:#f57}@keyframes pa-spin-anim{to{transform:rotate(1turn)}}.pa-spin{animation:pa-spin-anim .7s linear infinite}.pa-ticker{border-bottom:1px solid #00e5ff0f;display:grid;flex-shrink:0;grid-template-columns:repeat(4,1fr)}.pa-stat-pill{align-items:center;background:#0000;border:none;border-right:1px solid #ffffff0a;cursor:pointer;display:flex;flex-direction:column;gap:2px;justify-content:center;overflow:hidden;padding:9px 4px 8px;position:relative;transition:background .15s}.pa-stat-pill:last-child{border-right:none}.pa-stat-pill:hover{background:#ffffff08}.pa-stat-pill--active{background:color-mix(in srgb,var(--sc) 6%,#0000)}.pa-stat-pill--active:after{background:var(--sc);bottom:0;box-shadow:0 0 8px var(--sc);content:"";height:2px;left:0;position:absolute;right:0}.pa-stat-dot{animation:live-blink 2s ease-in-out infinite;background:var(--sc);border-radius:50%;box-shadow:0 0 6px var(--sc);height:5px;width:5px}.pa-stat-val{color:var(--sc);font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:900;line-height:1;text-shadow:0 0 20px color-mix(in srgb,var(--sc) 40%,#0000)}.pa-stat-lbl{color:#78a0c873;font-family:JetBrains Mono,monospace;font-size:6.5px;letter-spacing:.1em;text-transform:uppercase}.pa-search-row{border-bottom:1px solid #00e5ff0d;flex-shrink:0;gap:6px;padding:8px 10px}.pa-search-row,.pa-search-wrap{align-items:center;display:flex}.pa-search-wrap{background:#ffffff08;border:1px solid #ffffff12;border-radius:7px;flex:1 1;position:relative;transition:border-color .15s}.pa-search-wrap:focus-within{background:rgba(0,229,255,.025);border-color:#00e5ff4d}.pa-search-icon{color:#648cb459;left:9px;pointer-events:none;position:absolute}.pa-search-input{background:none;border:none;color:#c8dff0;flex:1 1;font-family:JetBrains Mono,monospace;font-size:9px;outline:none;padding:7px 8px 7px 28px}.pa-search-input::placeholder{color:#648cb44d}.pa-search-clear{background:none;border:none;color:#648cb466;cursor:pointer;font-size:9px;padding:4px 9px;transition:color .15s}.pa-search-clear:hover{color:#f57}.pa-sort-select{background:#ffffff08;border:1px solid #ffffff12;border-radius:6px;color:#78a0c8a6;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:8px;outline:none;padding:6px 8px;transition:border-color .15s}.pa-sort-select:focus{border-color:#00e5ff4d}.pa-tabs{background:#0000001a;border-bottom:1px solid #00e5ff0f;display:flex;flex-shrink:0}.pa-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#648cb466;cursor:pointer;display:flex;flex:1 1;font-family:Barlow Condensed,sans-serif;font-size:8px;font-weight:700;gap:3px;justify-content:center;letter-spacing:.07em;padding:9px 2px;transition:all .15s}.pa-tab:hover{background:hsla(0,0%,100%,.015);color:#c8e6ffa6}.pa-tab--on{background:rgba(0,229,255,.025);border-bottom-color:#00e5ff;border-bottom-color:var(--tc,#00e5ff);color:#00e5ff;color:var(--tc,#00e5ff)}.pa-tab-icon{font-size:11px;line-height:1}.pa-tab-lbl{font-size:8px}.pa-tab-ct{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;color:#648cb473;font-family:JetBrains Mono,monospace;font-size:7px;padding:1px 5px;transition:all .15s}.pa-body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.pa-body::-webkit-scrollbar{width:3px}.pa-body::-webkit-scrollbar-thumb{background:#00e5ff1a;border-radius:2px}.pa-list{gap:4px;padding:6px}.pa-list,.pa-overview{display:flex;flex-direction:column}.pa-overview{gap:0;padding:0}.pa-ov-identity{align-items:flex-start;background:linear-gradient(135deg,#00285080,#00e5ff05);border-bottom:1px solid #00e5ff12;display:flex;justify-content:space-between;padding:14px 14px 12px}.pa-ov-port-name{color:#e8f4ff;font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:900;letter-spacing:.06em;margin-bottom:5px}.pa-ov-port-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:5px}.pa-ov-tag{background:#00e5ff12;border:1px solid #00e5ff26;border-radius:4px;color:#00e5ffb3;font-size:8px;padding:2px 7px}.pa-ov-aliases,.pa-ov-tag{font-family:JetBrains Mono,monospace}.pa-ov-aliases{color:#648cb459;font-size:7.5px;line-height:1.5}.pa-rank-badge{background:linear-gradient(135deg,#ffaa001f,#ffaa000d);border:1px solid #ffaa004d;border-radius:10px;flex-shrink:0;padding:8px 12px;text-align:center}.pa-rank-num{color:#fa0;font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:900;line-height:1;text-shadow:0 0 20px #ffaa0080}.pa-rank-lbl{color:#fa09;font-family:JetBrains Mono,monospace;font-size:7px;margin-top:3px}.pa-ov-grid{border-bottom:1px solid #00e5ff12;display:grid;grid-template-columns:1fr 1fr}.pa-ov-cell{border-bottom:1px solid #00e5ff0f;border-right:1px solid #00e5ff0f;cursor:pointer;overflow:hidden;padding:16px 14px;position:relative;transition:background .15s}.pa-ov-cell:nth-child(2),.pa-ov-cell:nth-child(4){border-right:none}.pa-ov-cell:nth-child(3),.pa-ov-cell:nth-child(4){border-bottom:none}.pa-ov-cell:hover{filter:brightness(1.15)}.pa-ov-cell--green{background:#00ff9d08}.pa-ov-cell--amber{background:#ffaa0008}.pa-ov-cell--cyan{background:#38bdf808}.pa-ov-cell--purple{background:#a78bfa08}.pa-ov-cell-val{font-family:Barlow Condensed,sans-serif;font-size:36px;font-weight:900;line-height:1;margin-bottom:3px}.pa-ov-cell--green .pa-ov-cell-val{color:#00ff9d;text-shadow:0 0 30px #00ff9d66}.pa-ov-cell--amber .pa-ov-cell-val{color:#fa0;text-shadow:0 0 30px #fa06}.pa-ov-cell--cyan .pa-ov-cell-val{color:#38bdf8;text-shadow:0 0 30px #38bdf866}.pa-ov-cell--purple .pa-ov-cell-val{color:#a78bfa;text-shadow:0 0 30px #a78bfa66}.pa-ov-cell-label{color:#c8e1f5b3;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em}.pa-ov-cell-sub{color:#648cb466;font-family:JetBrains Mono,monospace;font-size:7.5px;margin-top:2px}.pa-ov-cell-arrow{bottom:10px;color:#ffffff1a;font-size:14px;position:absolute;right:12px}.pa-ov-section{border-bottom:1px solid #00e5ff0f;padding:12px 14px}.pa-ov-section-title{color:#00e5ff66;font-family:Barlow Condensed,sans-serif;font-size:8.5px;font-weight:900;letter-spacing:.18em;margin-bottom:9px}.pa-ov-section-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:9px}.pa-ov-see-all{background:none;border:none;color:#00e5ff80;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:8px;padding:0;transition:color .15s}.pa-ov-see-all:hover{color:#00e5ff}.pa-type-breakdown{display:flex;flex-direction:column;gap:5px}.pa-type-row{align-items:center;display:flex;gap:8px}.pa-type-icon{flex-shrink:0;font-size:12px;text-align:center;width:16px}.pa-type-name{color:#b4d2e699;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:8px;width:60px}.pa-type-bar-wrap{background:#ffffff0d;border-radius:3px;flex:1 1;height:5px;overflow:hidden}.pa-type-bar-fill{border-radius:3px;height:100%;opacity:.85;transition:width .9s cubic-bezier(.4,0,.2,1)}.pa-type-cnt{flex-shrink:0;font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;text-align:right;width:26px}.pa-heatmap-list{display:flex;flex-direction:column;gap:5px}.pa-hm-row{align-items:center;display:flex;gap:8px}.pa-hm-rank{color:#00e5ff4d;font-size:7.5px;width:18px}.pa-hm-name,.pa-hm-rank{flex-shrink:0;font-family:JetBrains Mono,monospace}.pa-hm-name{color:#b4d2e699;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:105px}.pa-hm-bar{background:#ffffff0d;border-radius:3px;flex:1 1;height:5px;overflow:hidden}.pa-hm-fill{background:linear-gradient(90deg,#00e5ff4d,#00e5ff);border-radius:3px;height:100%;transition:width .9s}.pa-hm-val{color:#00e5ff;flex-shrink:0;font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;text-align:right;width:24px}.pa-terminals{display:flex;flex-wrap:wrap;gap:6px}.pa-terminal-chip{align-items:center;background:color-mix(in srgb,var(--tc) 7%,#0000);border:1px solid color-mix(in srgb,var(--tc) 25%,#0000);border-radius:6px;cursor:default;display:flex;gap:5px;padding:5px 9px}.pa-terminal-dot{background:var(--tc);border-radius:50%;box-shadow:0 0 5px var(--tc);flex-shrink:0;height:5px;width:5px}.pa-terminal-name{color:#dcf0ffd9;font-family:Barlow Condensed,sans-serif;font-size:9px;font-weight:700}.pa-terminal-type{color:#78a0c873;font-family:JetBrains Mono,monospace;font-size:7px}.pa-preview-list{display:flex;flex-direction:column;gap:3px}.pa-preview-row{align-items:center;background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;cursor:pointer;display:flex;gap:7px;padding:5px 8px;transition:background .12s}.pa-preview-row:hover{background:#00e5ff0d;border-color:#00e5ff1f}.pa-preview-flag{flex-shrink:0;font-size:13px}.pa-preview-name{color:#c8dff0;flex:1 1;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pa-preview-from{color:#78a0c873}.pa-preview-from,.pa-preview-time{flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:7.5px}.pa-preview-time{color:#00e5ff80}.pa-card{align-items:stretch;background:hsla(0,0%,100%,.022);border:1px solid #ffffff0f;border-radius:10px;cursor:pointer;display:flex;overflow:hidden;position:relative;transition:all .16s}.pa-card:hover{background:hsla(0,0%,100%,.038);border-color:color-mix(in srgb,var(--dc) 30%,#0000);transform:translateX(2px)}.pa-card--sel{background:#00e5ff0f;border-color:#00e5ff47;box-shadow:0 0 0 1px #00e5ff14}.pa-card--upcoming{border-color:#a78bfa33}.pa-card--inport{border-color:#38bdf81a}.pa-card-accent{background:#00e5ff;background:var(--dc,#00e5ff);border-radius:10px 0 0 10px;flex-shrink:0;opacity:.75;width:3px}.pa-card-body{flex:1 1;min-width:0;padding:10px 10px 9px}.pa-card-top{align-items:flex-start;display:flex;gap:8px;margin-bottom:7px}.pa-card-flag{flex-shrink:0;font-size:18px;line-height:1;margin-top:1px}.pa-card-id{flex:1 1;min-width:0}.pa-card-name{align-items:center;color:#daeeff;display:flex;font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;gap:5px;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pa-type-pip{border-radius:50%;flex-shrink:0;height:6px;width:6px}.pa-card-imo{color:#648cb473;font-family:JetBrains Mono,monospace;font-size:8px;margin-top:2px}.pa-card-badges{align-items:center;display:flex;flex-shrink:0;gap:4px}.pa-badge-dir,.pa-badge-inport,.pa-badge-src{border:1px solid;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:7px;font-weight:700;letter-spacing:.06em;padding:2px 6px}.pa-badge-inport{background:#38bdf81a;border-color:#38bdf84d;color:#38bdf8}.pa-route-row{align-items:center;display:flex;gap:5px;margin-bottom:7px}.pa-route-port{border-radius:4px;font-family:JetBrains Mono,monospace;font-size:8.5px;font-weight:500;max-width:115px;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.pa-route-from{background:#ffffff0a;border:1px solid #ffffff14;color:#b4d2e699}.pa-route-to{background:#00e5ff0a;border:1px solid;font-weight:700}.pa-route-arrow{flex-shrink:0}.pa-card-chips,.pa-route-arrow{align-items:center;display:flex}.pa-card-chips{flex-wrap:wrap;gap:5px}.pa-chip-time{background:#ffffff0a;border:1px solid #ffffff12;border-radius:4px;color:#b4d2e6b3;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700;padding:2px 7px}.pa-chip-urgent{animation:chip-blink 1.6s ease-in-out infinite;background:#a78bfa14;border-color:#a78bfa40;color:#a78bfa}@keyframes chip-blink{0%,to{opacity:1}50%{opacity:.55}}.pa-chip{background:#ffffff08;border:1px solid #ffffff0f;border-radius:4px;color:#9bc3dc80;font-family:JetBrains Mono,monospace;font-size:7.5px;padding:2px 6px;white-space:nowrap}.pa-expander{align-self:center;background:none;border:none;color:#648cb440;cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;padding:0 10px 0 5px;transition:all .2s}.pa-expander:hover{color:#00e5ff99}.pa-expander.open{color:#00e5ffcc;transform:rotate(90deg)}.pa-drawer{background:#00000040;border:1px solid #ffffff0f;border-radius:7px;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:9px 10px 6px}.pa-drawer-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.pa-drawer-k{color:#648cb473;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:7.5px}.pa-drawer-v{color:#c8dff0;font-family:Barlow Condensed,sans-serif;font-size:11px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.pa-dq-row{align-items:center;display:flex;gap:7px}.pa-dq-bar{background:#ffffff0f;border-radius:2px;height:4px;overflow:hidden;width:55px}.pa-dq-fill{border-radius:2px;height:100%}.pa-dq-num{font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700}.pa-track-btn{background:#00e5ff12;border:1px solid #00e5ff40;border-radius:6px;color:#00e5ff;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;padding:7px;transition:all .15s;width:100%}.pa-track-btn:hover{background:#00e5ff24;border-color:#00e5ff73}.pa-bprogress{margin-top:8px}.pa-bp-bar{background:#ffffff0f;border-radius:3px;height:4px;margin-bottom:4px;overflow:visible;position:relative}.pa-bp-fill{background:linear-gradient(90deg,#38bdf880,#38bdf8);border-radius:3px;height:100%;transition:width .7s}.pa-bp-head{background:#38bdf8;border:2px solid #070f1d;border-radius:50%;box-shadow:0 0 10px #38bdf8;height:12px;position:absolute;top:-4px;transform:translateX(-50%);width:12px}.pa-bp-lbl{color:#38bdf873}.pa-bp-lbl,.pa-statusbar{font-family:JetBrains Mono,monospace;font-size:7.5px}.pa-statusbar{background:#0000004d;border-top:1px solid #00e5ff0d;flex-shrink:0;gap:7px;padding:6px 12px}.pa-sb-live,.pa-statusbar{align-items:center;display:flex}.pa-sb-live{color:#00ff9d;font-weight:700;gap:5px}.pa-sb-dot{animation:live-blink 1.8s ease-in-out infinite;background:#00ff9d;border-radius:50%;box-shadow:0 0 6px #00ff9d;height:5px;width:5px}.pa-sb-info{color:#648cb466}.pa-sb-sep{color:#648cb433}.pa-sb-right{margin-left:auto}.pa-skel-list{display:flex;flex-direction:column;gap:5px;padding:8px}.pa-skel{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,hsla(0,0%,100%,.025) 25%,#ffffff0d 50%,hsla(0,0%,100%,.025) 75%);background-size:200% 100%;border-radius:10px}@keyframes shimmer{to{background-position:-200% 0}}.pa-empty{align-items:center;color:#648cb440;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:55px 20px}.pa-empty-glyph{font-size:36px;opacity:.2}.pa-empty p{font-family:Barlow Condensed,sans-serif;font-size:13px;letter-spacing:.08em;margin:0}@media (max-width:768px){.pa-panel{left:8px;max-height:calc(100vh - 120px);right:8px;top:60px;width:auto}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{-webkit-overflow-scrolling:touch;background:#060e18;color:#c8dff0;font-family:Rajdhani,sans-serif;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;width:100%}.app-root{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-top:env(safe-area-inset-top,0);width:100vw}.app-body{display:flex;min-height:0}.app-body,.app-map-area{flex:1 1;overflow:hidden;position:relative}.app-map-area{min-width:0}.app-right-panel{background:#07111e;border-left:1px solid #00e5ff1a;flex-shrink:0;height:100%;min-width:0;overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1),min-width .28s cubic-bezier(.4,0,.2,1);width:0;z-index:20}.app-right-panel.open{min-width:300px;width:300px}.app-detail-panel{background:#07111e;border-left:1px solid #00e5ff26;bottom:0;overflow:hidden;position:absolute;right:0;top:0;transition:width .28s cubic-bezier(.4,0,.2,1);width:0;z-index:30}.app-detail-panel.open{width:320px}.map-legend-overlay{bottom:30px;pointer-events:none;position:absolute;right:12px;z-index:5}.map-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060e18e0;border:1px solid #00e5ff33;border-radius:12px;color:#00e5ff;display:flex;flex-direction:column;font-family:Orbitron,monospace;font-size:11px;gap:10px;left:50%;letter-spacing:.12em;padding:20px 30px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:20}.map-loading-spinner{animation:spin .7s linear infinite;border:2px solid #00e5ff26;border-radius:50%;border-top-color:#00e5ff;height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.mono{font-family:JetBrains Mono,monospace}@media (max-width:1100px){.app-detail-panel.open{width:300px}.app-right-panel.open{min-width:270px;width:270px}}@media (max-width:768px){.app-right-panel{bottom:0;box-shadow:-10px 0 40px #000000b3;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .28s ease,width 0s .28s;width:0;z-index:50}.app-right-panel.open{max-width:360px!important;min-width:280px!important;padding-bottom:env(safe-area-inset-bottom,0);transform:translateX(0);transition:transform .28s ease;width:90vw!important}.app-detail-panel{bottom:0;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .28s ease;width:0;z-index:55}.app-detail-panel.open{max-width:380px!important;transform:translateX(0);width:92vw!important}.app-left-panel{bottom:0;box-shadow:10px 0 40px #000000b3;left:0;max-width:320px!important;position:absolute!important;top:0;transform:translateX(-100%);transition:transform .28s ease;width:88vw!important;z-index:45}.app-left-panel.open{transform:translateX(0)}.app-mobile-backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#00000073;inset:0;position:absolute;z-index:44}.free-timer-badge{bottom:80px;font-size:11px}}.free-timer-badge{align-items:center;animation:ftSlideUp .5s cubic-bezier(.4,0,.2,1) both;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#040a16eb;border:1px solid #00e5ff59;border-radius:40px;bottom:72px;box-shadow:0 4px 24px #0009,0 0 20px #00e5ff1a;display:flex;gap:10px;left:50%;padding:8px 16px 8px 12px;position:absolute;transform:translateX(-50%);z-index:30}@keyframes ftSlideUp{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.free-timer-dot{animation:ftPulse 1.5s ease-in-out infinite;background:#00e5ff;border-radius:50%;box-shadow:0 0 8px #00e5ffcc;flex-shrink:0;height:8px;width:8px}@keyframes ftPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}.free-timer-info{display:flex;flex-direction:column;gap:1px}.free-timer-label{color:#3d6a8a;font-size:7px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.free-timer-count,.free-timer-label{font-family:JetBrains Mono,monospace}.free-timer-count{color:#00e5ff;font-size:16px;font-weight:800;letter-spacing:.05em;line-height:1;transition:color .5s}.free-timer-badge.urgent .free-timer-count,.free-timer-badge[data-urgent=true] .free-timer-count{color:#f46}.free-timer-badge.urgent,.free-timer-badge[data-urgent=true]{animation:ftSlideUp .5s cubic-bezier(.4,0,.2,1) both,ftUrgentPulse 1.4s ease-in-out infinite;border-color:#ff325066;box-shadow:0 4px 24px #0009,0 0 20px #ff325026}.free-timer-badge.urgent .free-timer-dot,.free-timer-badge[data-urgent=true] .free-timer-dot{background:#f46;box-shadow:0 0 8px #ff3250cc}@keyframes ftUrgentPulse{0%,to{box-shadow:0 4px 24px #0009,0 0 0 0 #ff32504d}50%{box-shadow:0 4px 24px #0009,0 0 0 8px #ff325000}}.free-timer-signin{background:linear-gradient(135deg,#0097b2,#00e5ff);border:none;border-radius:20px;color:#030a14;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:800;letter-spacing:.1em;padding:5px 12px;transition:all .18s;white-space:nowrap}.free-timer-signin:hover{background:linear-gradient(135deg,#00b4d8,#7cdcff);box-shadow:0 4px 14px #00e5ff59;transform:scale(1.04)}.app-bottom-dock{background:#07111e;border-top:1px solid #0000;flex-shrink:0;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:35}.app-bottom-dock.open{border-top-color:#00e5ff1f;max-height:480px;overflow-y:auto;scrollbar-color:#00e5ff33 #0000;scrollbar-width:thin}.app-bottom-dock::-webkit-scrollbar{height:3px}.app-bottom-dock::-webkit-scrollbar-thumb{background:#00e5ff33;border-radius:2px}@media (max-width:768px){.app-bottom-dock.open{max-height:400px}}
/*# sourceMappingURL=main.2411c777.css.map*/