@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=DM+Mono:wght@400;500&display=swap);body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f0f2f6;--bg2:#fff;--bg3:#f7f8fb;--border:#00000012;--border-hover:#00000021;--text:#1a1d2e;--text-2:#5a5f7a;--text-3:#aab0c8;--accent:#4f8eff;--accent-dim:#4f8eff14;--green:#21c97a;--red:#ff5a5a;--amber:#f5a623;--panel-radius:10px;--topbar-h:48px}body{-webkit-font-smoothing:antialiased;background:#f0f2f6;background:var(--bg);color:#1a1d2e;color:var(--text);font-family:DM Sans,-apple-system,sans-serif;font-size:13px;line-height:1.5}body.dark{--bg:#0b0d11;--bg2:#111318;--bg3:#181b22;--border:#ffffff0f;--border-hover:#ffffff1f;--text:#e8eaf0;--text-2:#8b8fa8;--text-3:#4a4f68;--accent-dim:#4f8eff1f}.topbar{align-items:center;background:#1a1d27;border-bottom:1px solid #2d3148;box-shadow:0 1px 8px #0000004d;display:flex;height:48px;height:var(--topbar-h);justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:1000}.logo{color:#f8fafc!important;font-size:14px;font-weight:700;letter-spacing:-.3px}.logo,.tagline{line-height:1.2}.tagline{color:#64748b!important;font-size:6.5px;letter-spacing:.06em;text-transform:uppercase}.topbar-left{align-items:center;display:flex;gap:10px}.topbar-logo{flex-shrink:0;height:32px;object-fit:contain;transition:opacity .15s,transform .2s;width:32px}.topbar-logo:hover{opacity:.8;transform:rotate(-8deg) scale(1.05)}.topbar-brand{display:flex;flex-direction:column;gap:1px}.topbar-right{gap:6px}.live-btn,.topbar-right{align-items:center;display:flex}.live-btn{background:#21c97a14;border:1px solid #21c97a40;border-radius:6px;color:#21c97a;color:var(--green);cursor:pointer;font-size:11px;font-weight:600;gap:5px;padding:4px 10px;transition:all .15s}.live-btn:before{animation:pulse-dot 2s infinite;background:#21c97a;background:var(--green);border-radius:50%;content:"";height:6px;width:6px}.live-btn:hover{background:#21c97a26}.live-btn-on{background:#21c97a26!important}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 #21c97a66;opacity:1}50%{box-shadow:0 0 0 4px #21c97a00;opacity:.7}}.manage-btn,.theme-btn{background:#2d3148;border:1px solid #3d4266;border-radius:5px;color:#cbd5e1;cursor:pointer;font-size:11px;font-weight:500;padding:5px 12px;transition:all .15s}.manage-btn:hover,.theme-btn:hover{background:#3d4266;color:#f8fafc}.date-filter-bar{align-items:center;background:#fff;background:var(--bg2);border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:5px;padding:6px 16px;position:sticky;top:48px;top:var(--topbar-h);-webkit-user-select:none;user-select:none;z-index:900}.df-label{color:#aab0c8;color:var(--text-3);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.df-btn{background:#0000;border:1px solid #00000012;border:1px solid var(--border);border-radius:5px;color:#5a5f7a;color:var(--text-2);cursor:pointer;font-family:DM Sans,sans-serif;font-size:11px;padding:3px 10px;transition:all .15s}.df-btn:hover{background:#4f8eff14;background:var(--accent-dim);border-color:#4f8eff;border-color:var(--accent);color:#4f8eff;color:var(--accent)}.df-active{background:#4f8eff!important;background:var(--accent)!important;border-color:#4f8eff!important;border-color:var(--accent)!important;color:#fff!important}.df-clear{border-color:#ff5a5a4d;color:#ff5a5a;color:var(--red)}.df-clear:hover{background:#ff5a5a1a}.df-sep{background:#00000012;background:var(--border);flex-shrink:0;height:14px;margin:0 2px;width:1px}.df-input{background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:5px;color:#1a1d2e;color:var(--text);font-family:DM Mono,monospace;font-size:11px;padding:3px 7px}.df-input:focus{border-color:#4f8eff;border-color:var(--accent);outline:none}.df-arrow{font-size:11px;opacity:.3}.df-active-label{color:#aab0c8;color:var(--text-3);font-size:10px;font-style:italic}.layout{--layout-bg:var(--bg);background:#f0f2f6;background:var(--bg);min-height:calc(100vh - 84px);min-height:calc(100vh - var(--topbar-h) - 36px);width:100%}.empty-state{align-items:center;color:#aab0c8;color:var(--text-3);display:flex;font-size:14px;justify-content:center;padding:80px}.panel{background:#fff;background:var(--bg2);border:1px solid #00000012;border:1px solid var(--border);border-radius:10px;border-radius:var(--panel-radius);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:border-color .2s,box-shadow .2s}.panel:hover{border-color:#00000021;border-color:var(--border-hover)}.panel-header{align-items:center;background:#f7f8fb;background:var(--bg3);border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);cursor:grab;display:flex;flex-shrink:0;justify-content:space-between;padding:9px 12px;-webkit-user-select:none;user-select:none}.panel-header:active{cursor:grabbing}.panel-title{color:#1a1d27;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}body.dark .panel-title{color:#94a3b8}.x-btn{background:none;border:none;border-radius:4px;color:#aab0c8;color:var(--text-3);cursor:pointer;font-size:12px;line-height:1;padding:2px 5px;transition:all .12s}.x-btn:hover{background:#00000012;background:var(--border);color:#1a1d2e;color:var(--text)}.panel-content{display:flex;flex:1 1;flex-direction:column}.panel-body,.panel-content{min-height:0;overflow:hidden}.panel-body{-webkit-overflow-scrolling:touch;flex:1 1;overscroll-behavior:contain}.panel-map{flex:1 1;min-height:0;overflow:hidden}#leaflet-map{height:100%;width:100%}.tab{background:#0000;border:1px solid #00000012;border:1px solid var(--border);border-radius:5px;color:#5a5f7a;color:var(--text-2);cursor:pointer;font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;padding:4px 10px;transition:all .15s}.tab:hover{border-color:#00000021;border-color:var(--border-hover);color:#1a1d2e;color:var(--text)}.tab-active{background:#4f8eff14;background:var(--accent-dim);border-color:#4f8eff4d;color:#4f8eff;color:var(--accent);font-weight:600}.news-controls{align-items:center;border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:5px;padding:7px 10px}.search-input{background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:5px;color:#1a1d2e;color:var(--text);flex:1 1;font-family:DM Sans,sans-serif;font-size:11px;outline:none;padding:4px 8px;transition:border-color .15s}.search-input:focus{border-color:#4f8eff;border-color:var(--accent)}.search-input::placeholder{color:#aab0c8;color:var(--text-3)}.sort-btn{flex-shrink:0}.source-dropdown-wrap{position:relative}.source-btn{background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:5px;color:#5a5f7a;color:var(--text-2);cursor:pointer;font-family:DM Sans,sans-serif;font-size:11px;padding:4px 8px;white-space:nowrap}.source-btn:hover{border-color:#00000021;border-color:var(--border-hover);color:#1a1d2e;color:var(--text)}.source-menu{background:#fff;background:var(--bg2);border:1px solid #00000012;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0006;max-height:180px;min-width:150px;overflow-y:auto;position:absolute;right:0;top:30px;z-index:200}.source-item{color:#5a5f7a;color:var(--text-2);cursor:pointer;font-size:11px;padding:7px 12px;transition:background .1s}.source-item:hover{background:#f7f8fb;background:var(--bg3);color:#1a1d2e;color:var(--text)}.source-item-active{background:#4f8eff14;background:var(--accent-dim);color:#4f8eff;color:var(--accent)}.headline{border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);color:inherit;display:block;padding:9px 12px;text-decoration:none;transition:background .1s}.headline:hover{background:#f7f8fb;background:var(--bg3)}.headline-title{color:#1a1d2e;color:var(--text);font-size:12px;font-weight:500;line-height:1.45}.headline-source,.headline:hover .headline-title{color:#4f8eff;color:var(--accent)}.headline-source{font-size:10px;font-weight:500;margin-top:3px;opacity:.8}.headline-time{color:#aab0c8;color:var(--text-3);font-size:10px}.load-more-wrap{border-top:1px solid #00000012;border-top:1px solid var(--border);flex-shrink:0;padding:8px 12px}.load-more-btn{background:#0000;border:1px solid #00000021;border:1px solid var(--border-hover);border-radius:6px;color:#5a5f7a;color:var(--text-2);cursor:pointer;font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;padding:7px;transition:all .15s;width:100%}.load-more-btn:hover{background:#4f8eff14;background:var(--accent-dim);border-color:#4f8eff;border-color:var(--accent);color:#4f8eff;color:var(--accent)}.market-tabs{flex-shrink:0;gap:4px;padding:7px 10px}.market-tabs,.ticker-row{align-items:center;border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);display:flex}.ticker-row{padding:9px 12px;transition:background .1s}.ticker-row:hover{background:#f7f8fb;background:var(--bg3)}.ticker-name{color:#5a5f7a;color:var(--text-2);flex:1 1;font-size:12px;font-weight:500}.ticker-price{color:#1a1d2e;color:var(--text);font-size:13px;margin-right:12px}.ticker-change,.ticker-price{font-family:DM Mono,monospace;font-weight:600}.ticker-change{color:#aab0c8;color:var(--text-3);font-size:11px;min-width:65px;text-align:right}.ticker-change.up{color:#21c97a;color:var(--green)}.ticker-change.down{color:#ff5a5a;color:var(--red)}.market-note{clear:both;color:#aab0c8;color:var(--text-3);flex-shrink:0;font-size:10px;padding:7px 12px;text-align:center}.flight-tabs{border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:4px;padding:7px 10px}.stat-row{display:flex;gap:8px;padding:10px 12px}.stat-box{background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:7px;flex:1 1;padding:10px;text-align:center}.stat-val{color:#4f8eff;color:var(--accent);font-family:DM Mono,monospace;font-size:24px;font-weight:700}.stat-lbl{font-size:9px;margin-top:2px}.chart-title,.stat-lbl{color:#aab0c8;color:var(--text-3);letter-spacing:.05em;text-transform:uppercase}.chart-title{font-size:10px;padding:8px 12px 4px}.route-row{align-items:center;border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);display:flex;padding:6px 12px}.route-name{color:#5a5f7a;color:var(--text-2);flex:1 1;font-size:11px}.route-count{color:#4f8eff;color:var(--accent);font-family:DM Mono,monospace;font-size:11px;font-weight:700}.intel-note{border-top:1px solid #00000012;border-top:1px solid var(--border);color:#aab0c8;color:var(--text-3);font-size:10px;font-style:italic;padding:8px 12px}.map-controls{padding:7px 10px}.map-controls,.map-layers{border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:4px}.map-layers{padding:5px 10px}.layer-btn{background:#0000;border:1px solid #00000012;border:1px solid var(--border);border-radius:4px;color:#5a5f7a;color:var(--text-2);cursor:pointer;font-family:DM Sans,sans-serif;font-size:10px;padding:3px 9px;transition:all .15s}.layer-btn:hover{border-color:#4f8eff;border-color:var(--accent)}.layer-active,.layer-btn:hover{color:#4f8eff;color:var(--accent)}.layer-active{background:#4f8eff14;background:var(--accent-dim);border-color:#4f8eff4d;font-weight:600}.sidai-wrap{display:flex;flex-direction:column;height:100%}.sidai-intro{align-items:center;border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);color:#5a5f7a;color:var(--text-2);display:flex;flex-shrink:0;flex-wrap:wrap;font-size:11px;gap:6px;padding:8px 12px}.sidai-ctx-badge{background:#21c97a14;border:1px solid #21c97a33;border-radius:10px;color:#21c97a;color:var(--green);font-size:10px;font-weight:600;padding:1px 7px}.sidai-ctx-badge.muted{background:#f7f8fb;background:var(--bg3);border-color:#00000012;border-color:var(--border);color:#aab0c8;color:var(--text-3)}.sidai-history{flex:1 1;gap:10px;overflow-y:auto;padding:10px 12px}.sidai-hints,.sidai-history{display:flex;flex-direction:column}.sidai-hints{gap:5px}.hint{background:#4f8eff14;background:var(--accent-dim);border:1px solid #4f8eff33;border-radius:6px;color:#4f8eff;color:var(--accent);cursor:pointer;font-size:11px;line-height:1.4;padding:7px 10px;transition:all .12s}.hint:hover{background:#4f8eff2e;border-color:#4f8eff66}.chat-msg{display:flex;flex-direction:column;gap:3px}.msg-label{color:#aab0c8;color:var(--text-3);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.msg-user .msg-label{color:#4f8eff;color:var(--accent)}.msg-ai .msg-label{color:#21c97a;color:var(--green)}.msg-text{color:#1a1d2e;color:var(--text);font-size:12px;line-height:1.65;white-space:pre-wrap}.typing{color:#aab0c8!important;color:var(--text-3)!important;font-style:italic}.sidai-input-row{border-top:1px solid #00000012;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:6px;padding:8px 12px}.sidai-input{background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:7px;color:#1a1d2e;color:var(--text);flex:1 1;font-family:DM Sans,sans-serif;font-size:12px;outline:none;padding:7px 10px;transition:border-color .15s}.sidai-input:focus{border-color:#4f8eff;border-color:var(--accent)}.sidai-input::placeholder{color:#aab0c8;color:var(--text-3)}.sidai-send{background:#4f8eff;background:var(--accent);border:none;border-radius:7px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;padding:7px 14px;transition:all .15s}.sidai-send:hover{background:#3a7aef;transform:translateY(-1px)}.sidai-send:disabled{cursor:not-allowed;opacity:.4;transform:none}.overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:999}.overlay-landing{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#080a0ecc!important}.overlay-manage{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#080a0eb3!important}.ps-modal{background:#fff;background:var(--bg2);border:1px solid #00000012;border:1px solid var(--border);border-radius:16px;box-shadow:0 32px 80px #0009;display:flex;flex-direction:column;height:500px;max-width:500px;overflow:hidden;width:100%}.ps-header{flex-shrink:0;gap:12px;justify-content:space-between;padding:22px 22px 0}.ps-header,.ps-header-left{align-items:center;display:flex}.ps-header-left{gap:11px;min-width:0}.ps-title{color:#1a1d2e;color:var(--text);font-size:16px;font-weight:600;letter-spacing:-.3px}.ps-subtitle{color:#aab0c8;color:var(--text-3);font-size:11px;margin-top:2px}.ps-count-badge{background:#21c97a1a;border:1px solid #21c97a40;border-radius:20px;color:#21c97a;color:var(--green);flex-shrink:0;font-size:11px;font-weight:600;padding:3px 11px;white-space:nowrap}.ps-divider{background:#00000012;background:var(--border);flex-shrink:0;height:1px;margin:18px 0 0}.ps-pills-wrap{-webkit-overflow-scrolling:touch;align-content:flex-start;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;overflow-y:auto;padding:16px 22px}.ps-pill{-webkit-tap-highlight-color:transparent;align-items:center;background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:100px;color:#5a5f7a;color:var(--text-2);cursor:pointer;display:inline-flex;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;gap:6px;padding:7px 14px;transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.ps-pill:hover{background:#21c97a14;border-color:#21c97a;border-color:var(--green);color:#21c97a;color:var(--green)}.ps-pill-on{background:#21c97a1a!important;color:#21c97a!important;color:var(--green)!important;font-weight:600!important}.ps-pill-on,.ps-pill-on:hover{border-color:#21c97a!important;border-color:var(--green)!important}.ps-pill-on:hover{background:#21c97a26!important}.ps-pill-icon{font-size:13px;line-height:1}.ps-pill-label{font-size:12px}.ps-footer{align-items:center;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:14px 22px 20px}.ps-cancel{background:#0000;border:1px solid #00000012;border:1px solid var(--border);border-radius:8px;color:#5a5f7a;color:var(--text-2);cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;padding:8px 16px;transition:all .15s}.ps-cancel:hover{border-color:#00000021;border-color:var(--border-hover);color:#1a1d2e;color:var(--text)}.ps-confirm{background:#4f8eff;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;padding:9px 22px;transition:all .15s}.ps-confirm:hover{background:#3a7aef;transform:translateY(-1px)}.ps-confirm:disabled{background:#f7f8fb;background:var(--bg3);cursor:not-allowed;transform:none}.empty,.ps-confirm:disabled{color:#aab0c8;color:var(--text-3)}.empty{font-size:12px;padding:30px 12px;text-align:center}.error-msg{color:#ff5a5a;color:var(--red);font-size:11px;padding:8px 12px}.recharts-text tspan{fill:#aab0c8!important;fill:var(--text-3)!important}.live-news-panel{padding:0}.live-controls{border-bottom:1px solid #00000012;border-bottom:1px solid var(--border);flex-shrink:0;gap:6px;padding:7px 10px}.live-controls,.live-filter-group{align-items:center;display:flex;flex-wrap:wrap}.live-filter-group{gap:4px}.live-section{padding:8px 10px 4px}.live-section-title{align-items:center;color:#aab0c8;color:var(--text-3);display:flex;font-size:10px;font-weight:700;gap:5px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.live-dot-red{color:#ff5a5a;color:var(--red);font-size:8px}.live-dot-blue{color:#4f8eff;color:var(--accent);font-size:8px}.live-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));margin-bottom:8px}.live-card{background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:7px;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:8px 10px;text-decoration:none;transition:all .15s}.live-card:hover{border-color:#4f8eff;border-color:var(--accent);box-shadow:0 2px 12px #4f8eff1f;transform:translateY(-1px)}.live-card-name{color:#1a1d2e;color:var(--text);font-size:12px;font-weight:600}.live-card-region{border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.05em;padding:2px 6px;text-transform:uppercase;width:fit-content}.expand-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1200}.expand-modal{animation:expand-in .2s cubic-bezier(.16,1,.3,1);border:1px solid #00000012;border:1px solid var(--border);border-radius:12px;box-shadow:0 32px 80px #0009;height:85vh;max-width:1100px;overflow:hidden;width:90vw}@keyframes expand-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.expand-modal .panel{border-radius:12px;height:100%}.expand-modal .panel-body{overflow-y:auto}.react-grid-item.react-grid-placeholder{background:#0000!important;border:none!important;box-shadow:none!important;opacity:0!important}.react-grid-item.react-draggable-dragging{box-shadow:none!important;opacity:1!important;z-index:100!important}.panel-dragging .panel{box-shadow:none!important}[draggable=true]:active{cursor:grabbing}.cl-toast{animation:cl-slide-up .3s cubic-bezier(.16,1,.3,1);background:#fff;background:var(--bg2);border:1px solid #00000012;border:1px solid var(--border);border-radius:12px;bottom:20px;box-shadow:0 16px 48px #0006;left:50%;max-width:520px;overflow:hidden;position:fixed;transform:translateX(-50%);width:calc(100% - 48px);z-index:1100}@keyframes cl-slide-up{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.cl-toast-bar{gap:10px;padding:12px 14px}.cl-toast-bar,.cl-toast-icon{align-items:center;display:flex}.cl-toast-icon{background:#f7f8fb;background:var(--bg3);border-radius:7px;color:#1a1d2e;color:var(--text);flex-shrink:0;font-size:12px;height:28px;justify-content:center;width:28px}.cl-toast-text{flex:1 1;min-width:0}.cl-toast-title{color:#1a1d2e;color:var(--text);font-size:12px;font-weight:600;margin-bottom:1px}.cl-toast-preview{color:#aab0c8;color:var(--text-3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-toast-see{background:#f7f8fb;background:var(--bg3);border:1px solid #00000012;border:1px solid var(--border);border-radius:6px;color:#5a5f7a;color:var(--text-2);cursor:pointer;flex-shrink:0;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;padding:4px 10px;transition:all .15s}.cl-toast-see:hover{border-color:#00000021;border-color:var(--border-hover);color:#1a1d2e;color:var(--text)}.cl-toast-close{background:#0000;border:none;color:#aab0c8;color:var(--text-3);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:0 2px}.cl-toast-close:hover{color:#1a1d2e;color:var(--text)}.cl-toast-list{border-top:1px solid #00000012;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:7px;list-style:none;padding:10px 14px 14px}.cl-toast-item{align-items:flex-start;color:#5a5f7a;color:var(--text-2);display:flex;font-size:12px;gap:8px;line-height:1.5}.cl-toast-dot{color:#aab0c8;color:var(--text-3);flex-shrink:0;font-size:9px;margin-top:3px}.cl-toast-done{background:#f7f8fb;background:var(--bg3);border:none;border-radius:7px;color:#1a1d2e;color:var(--text);cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;padding:8px;width:100%}.cl-toast-done:hover{background:#00000012;background:var(--border)}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-thumb{background:#00000012;background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000021;background:var(--border-hover)}@media (max-width:600px){.topbar{flex-wrap:wrap;gap:4px;height:auto;min-height:48px;min-height:var(--topbar-h);padding:8px 10px}.tagline{display:block}.logo{font-size:13px}.theme-btn{display:none}.date-filter-bar{gap:4px;padding:6px 8px;position:relative!important;top:0!important}.df-label,.df-sep{display:none}.df-input{font-size:10px;width:100px}.df-btn{font-size:10px;padding:3px 7px}.layout{grid-template-columns:1fr!important}.layout>div{grid-column:1/-1!important}.ps-modal{border-radius:14px;height:auto;max-height:92vh}.ps-header{padding:16px 16px 0}.ps-title{font-size:14px}.ps-pills-wrap{gap:7px;padding:14px 16px}.ps-pill{font-size:11px;padding:6px 12px}.ps-footer{padding:12px 16px 16px}.ps-confirm{font-size:12px;padding:9px 18px}.expand-overlay{padding:10px}.expand-modal{border-radius:10px;height:92vh;width:100%}.cl-toast{border-radius:10px;bottom:12px;width:calc(100% - 24px)}}@media (max-width:360px){.ps-pill{font-size:11px;padding:5px 10px}.ps-title{font-size:13px}}@keyframes topbar-drop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.topbar{animation:topbar-drop .45s cubic-bezier(.22,1,.36,1) both}@keyframes bar-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.date-filter-bar{animation:bar-fade .35s ease both;animation-delay:.28s}@keyframes panel-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.layout>div{animation:panel-up .5s cubic-bezier(.22,1,.36,1) both;will-change:transform}.layout>div:first-child{animation-delay:.18s}.layout>div:nth-child(2){animation-delay:.23s}.layout>div:nth-child(3){animation-delay:.28s}.layout>div:nth-child(4){animation-delay:.33s}.layout>div:nth-child(5){animation-delay:.38s}.layout>div:nth-child(6){animation-delay:.43s}.layout>div:nth-child(7){animation-delay:.48s}.layout>div:nth-child(8){animation-delay:.53s}.layout>div:nth-child(9){animation-delay:.58s}.layout>div:nth-child(10){animation-delay:.63s}.layout>div:nth-child(11){animation-delay:.68s}.layout>div:nth-child(12){animation-delay:.73s}.layout>div{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s cubic-bezier(.22,1,.36,1),opacity .2s ease}.layout>div:hover{box-shadow:0 20px 60px #00000021,0 4px 16px #00000012,0 0 0 1px #4f8eff12;transform:translateY(-4px)!important}.layout>div:hover .panel{border-color:#4f8eff1f!important}.layout>div:active{box-shadow:0 20px 60px #00000021,0 4px 16px #00000012,0 0 0 1px #4f8eff12!important;transform:translateY(-4px)!important;transition:none!important}.layout>div.dragging,.layout>div[draggable=true]:active:not(:hover){box-shadow:none!important;cursor:grabbing!important;transform:none!important;transition:none!important}.layout>div[draggable=true]:active .panel{border-color:var(--border)!important}.drag-over{background:rgba(79,142,255,.025)!important;border-radius:10px;outline:1.5px dashed #4f8eff59!important;outline-offset:-2px}.panel-header{transition:background .18s ease!important}.panel-header:hover{background:rgba(79,142,255,.035)!important}.panel-title{transition:letter-spacing .25s ease,color .2s!important}.panel:hover .panel-title{color:var(--text-2)!important;letter-spacing:1.1px}@keyframes radar-pulse{0%{box-shadow:0 0 0 0 #21c97ab3}60%{box-shadow:0 0 0 7px #21c97a00}to{box-shadow:0 0 0 0 #21c97a00}}.live-btn:before{animation:radar-pulse 2s ease-out infinite!important}@keyframes headline-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.headline{animation:headline-in .28s cubic-bezier(.22,1,.36,1) both;position:relative;transition:background .1s,padding-left .22s cubic-bezier(.22,1,.36,1)!important}.headline:first-child{animation-delay:0s}.headline:nth-child(2){animation-delay:.04s}.headline:nth-child(3){animation-delay:.08s}.headline:nth-child(4){animation-delay:.12s}.headline:nth-child(5){animation-delay:.16s}.headline:nth-child(6){animation-delay:.2s}.headline:nth-child(7){animation-delay:.24s}.headline:nth-child(8){animation-delay:.28s}.headline:nth-child(9){animation-delay:.32s}.headline:before{background:var(--accent);border-radius:2px;bottom:12%;content:"";left:0;position:absolute;top:12%;transform:scaleY(0);transform-origin:center;transition:transform .2s cubic-bezier(.22,1,.36,1);width:2.5px}.headline:hover:before{transform:scaleY(1)}.headline:hover{padding-left:18px!important}.ticker-row{position:relative;transition:background .1s,padding-left .22s cubic-bezier(.22,1,.36,1)!important}.ticker-row:before{background:var(--accent);border-radius:2px;bottom:15%;content:"";left:0;position:absolute;top:15%;transform:scaleY(0);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1);width:2px}.ticker-row:hover:before{transform:scaleY(1)}.ticker-row:hover{padding-left:16px!important}@keyframes flash-up{0%{color:var(--green)}to{color:inherit}}@keyframes flash-down{0%{color:var(--red)}to{color:inherit}}.ticker-change.up{animation:flash-up 1.2s ease-out}.ticker-change.down{animation:flash-down 1.2s ease-out}@keyframes chart-up{0%{opacity:0;transform:scaleY(.92);transform-origin:bottom}to{opacity:1;transform:scaleY(1)}}.recharts-wrapper{animation:chart-up .45s cubic-bezier(.22,1,.36,1) both}.recharts-tooltip-wrapper{transition:transform .06s ease,opacity .06s ease!important}.manage-btn,.theme-btn{transition:all .15s cubic-bezier(.22,1,.36,1)!important}.manage-btn:hover,.theme-btn:hover{box-shadow:0 4px 14px #00000040;transform:translateY(-1px)}.manage-btn:active,.theme-btn:active{box-shadow:none!important;transform:scale(.95) translateY(1px)!important}.x-btn{align-items:center!important;display:inline-flex!important;justify-content:center!important;transition:transform .22s cubic-bezier(.22,1,.36,1),background .12s,color .12s!important}.x-btn:hover{background:#ff5a5a1a!important;color:var(--text)!important;transform:rotate(90deg) scale(1.1)!important}.x-btn:active{transform:rotate(90deg) scale(.9)!important}.topbar-logo{transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .15s!important}.topbar-logo:hover{opacity:1!important;transform:rotate(-15deg) scale(1.12)!important}.topbar-logo:active{transform:scale(.9)!important}.df-btn,.layer-btn{transition:all .15s cubic-bezier(.22,1,.36,1)!important}.layer-btn:not(.layer-active):hover{transform:translateY(-1px)}.df-btn:active,.layer-btn:active{transform:scale(.95)!important}.layer-active{box-shadow:0 0 0 3px #4f8eff26!important}.flight-tabs .tab,.map-controls .tab,.market-tabs .tab{transform:none!important;transition:background .15s,color .15s,border-color .15s!important}.flight-tabs .tab:active,.map-controls .tab:active,.market-tabs .tab:active{transform:none!important}.load-more-btn{transition:all .2s cubic-bezier(.22,1,.36,1)!important}.load-more-btn:hover{transform:translateY(-2px)}.load-more-btn:active{transform:scale(.97)}.search-input{transition:border-color .2s,box-shadow .2s!important}.search-input:focus{box-shadow:0 0 0 3px #4f8eff24!important}.sidai-input{transition:border-color .2s,box-shadow .2s!important}.sidai-input:focus{box-shadow:0 0 0 3px #4f8eff24!important}.df-input{transition:border-color .2s,box-shadow .2s!important}.df-input:focus{box-shadow:0 0 0 3px #4f8eff24!important}@keyframes hint-in{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.sidai-hints .hint{animation:hint-in .32s cubic-bezier(.22,1,.36,1) both;transition:transform .15s cubic-bezier(.22,1,.36,1),background .12s,border-color .12s!important}.sidai-hints .hint:first-child{animation-delay:.06s}.sidai-hints .hint:nth-child(2){animation-delay:.12s}.sidai-hints .hint:nth-child(3){animation-delay:.18s}.sidai-hints .hint:nth-child(4){animation-delay:.24s}.sidai-hints .hint:nth-child(5){animation-delay:.3s}.sidai-hints .hint:nth-child(6){animation-delay:.36s}.sidai-hints .hint:nth-child(7){animation-delay:.42s}.sidai-hints .hint:nth-child(8){animation-delay:.48s}.sidai-hints .hint:hover{transform:translateX(6px)}.sidai-hints .hint:active{transform:scale(.97)}@keyframes msg-right{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes msg-left{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}.msg-user{animation:msg-right .28s cubic-bezier(.22,1,.36,1) both}.msg-ai{animation:msg-left .28s cubic-bezier(.22,1,.36,1) both}@keyframes dot-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.typing{align-items:center;color:#0000!important;display:inline-flex!important;font-style:normal!important;gap:4px;padding:2px 0}.typing:after,.typing:before{background:var(--text-3);border-radius:50%;content:"";display:inline-block;flex-shrink:0;height:5px;width:5px}.typing:before{animation:dot-bounce 1.3s ease-in-out 0s infinite}.typing:after{animation:dot-bounce 1.3s ease-in-out .2s infinite}.sidai-send{transition:all .18s cubic-bezier(.22,1,.36,1)!important}.sidai-send:hover:not(:disabled){box-shadow:0 8px 24px #4f8eff6b;transform:translateY(-2px)}.sidai-send:active:not(:disabled){box-shadow:none;transform:scale(.95)}@keyframes modal-drop{0%{opacity:0;transform:scale(.93) translateY(-18px)}to{opacity:1;transform:scale(1) translateY(0)}}.ps-modal{animation:modal-drop .4s cubic-bezier(.22,1,.36,1) both!important}.ps-pill{transition:all .18s cubic-bezier(.22,1,.36,1)!important}.ps-pill:hover{transform:translateY(-2px) scale(1.02)}.ps-pill:active{transform:scale(.95)}.ps-confirm{transition:all .18s cubic-bezier(.22,1,.36,1)!important}.ps-confirm:hover:not(:disabled){box-shadow:0 8px 24px #4f8eff59;transform:translateY(-2px)}.ps-confirm:active:not(:disabled){box-shadow:none;transform:scale(.96)}.ps-footer .ps-cancel{transition:all .15s cubic-bezier(.22,1,.36,1)!important}.ps-footer .ps-cancel:hover{transform:translateY(-1px)}.ps-footer .ps-cancel:active{transform:scale(.96)}@keyframes expand-spring{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.expand-modal{animation:expand-spring .32s cubic-bezier(.22,1,.36,1)!important}.stat-box{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s!important}.stat-box:hover{box-shadow:0 8px 24px #4f8eff1f;transform:translateY(-3px)}.stat-val{transition:color .2s!important}.stat-box:hover .stat-val{color:#3a7aef}.route-row{transition:background .1s,padding-left .2s cubic-bezier(.22,1,.36,1)!important}.route-row:hover{background:var(--bg3);padding-left:18px}#leaflet-map{animation:panel-up .6s cubic-bezier(.22,1,.36,1) both;animation-delay:.3s}@keyframes badge-pop{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.live-card{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .15s!important}.live-card:hover{box-shadow:0 8px 24px #0000001a!important;transform:translateY(-3px)!important}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.empty{animation:shimmer 1.8s linear infinite!important;background:linear-gradient(90deg,#0000 30%,#64748b12 50%,#0000 70%)!important;background-size:600px 100%!important}@keyframes toast-up{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.cl-toast{animation:toast-up .4s cubic-bezier(.22,1,.36,1)!important}.cl-toast-done,.cl-toast-see{transition:all .15s cubic-bezier(.22,1,.36,1)!important}.cl-toast-done:hover,.cl-toast-see:hover{transform:translateY(-1px)}::-webkit-scrollbar{height:3px;width:3px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#64748b38;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#64748b73}.expand-modal .panel-body,.panel-body,.sidai-history{scroll-behavior:smooth}.headline-source{transition:opacity .15s!important}.headline:hover .headline-source{opacity:1!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-delay:.01ms!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.8fbb8f99.css.map*/