@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-main:#0b0f17;--bg-panel:#111827;--bg-panel-light:#1f2937;--text-primary:#fff;--text-secondary:#9ca3af;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--accent-red:#ef4444;--accent-orange:#f97316;--accent-green:#10b981;--border-color:#ffffff14;--border-light:#ffffff26;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--header-height:90px;--timeline-height:120px;--footer-height:40px}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background-color:var(--bg-main);color:var(--text-primary);width:100vw;height:100vh;overflow:hidden}#root{flex-direction:column;width:100%;height:100%;display:flex}.glass-panel{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);background-color:#11182799}.scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow:hidden auto}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:500}button{color:inherit;cursor:pointer;background:0 0;border:none;outline:none}.layout{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.main-content{flex-grow:1;gap:24px;min-height:0;padding:16px;display:flex;overflow:hidden}.main-scroll-area{flex-grow:1;gap:24px;min-height:0;padding-right:8px;display:flex}.header{height:var(--header-height);background-color:#0000;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.header-left{align-items:center;gap:32px;display:flex}.logo-container{-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.logo-icon{font-size:24px}.logo-text{letter-spacing:.05em;color:var(--text-primary);flex-direction:column;font-size:14px;font-weight:600;line-height:1.1;display:flex}.header-nav{gap:8px;display:flex}.nav-button{border-radius:var(--radius-sm);color:var(--text-secondary);padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.nav-button:hover{color:var(--accent-blue);background:#3b82f60d}.nav-button.active{color:var(--text-primary);background:#ffffff0d;box-shadow:inset 0 1px #ffffff1a}.header-center{flex-grow:1;justify-content:center;max-width:600px;margin:0 40px;display:flex}.search-bar{align-items:center;gap:12px;width:100%;height:44px;padding:0 16px;transition:all .2s;display:flex}.search-bar:focus-within{border-color:var(--border-light);box-shadow:0 0 0 1px var(--border-light);background-color:#1f2937cc}.search-icon{color:var(--text-secondary)}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:14px}.search-input::placeholder{color:var(--text-secondary);opacity:.7}.header-right{align-items:center;gap:12px;display:flex}.icon-button{width:40px;height:40px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-button:hover{color:var(--text-primary);background:#ffffff0d}.timeline-container{height:var(--timeline-height);border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);background-color:#0f141e;flex-direction:column;flex-shrink:0;width:100%;display:flex}.timeline-header{justify-content:space-between;align-items:center;padding:12px 24px 0;display:flex}.timeline-date{color:var(--text-secondary);font-size:13px;font-weight:500}.timeline-controls{align-items:center;gap:16px;font-size:12px;font-weight:500;display:flex}.timeline-interval{color:var(--text-secondary);cursor:pointer}.timeline-live{color:var(--text-primary);align-items:center;gap:6px;display:flex}.live-dot{background-color:var(--accent-green);width:8px;height:8px;box-shadow:0 0 8px var(--accent-green);border-radius:50%}.timeline-track{flex-grow:1;width:100%;position:relative}.timeline-canvas{width:100%;height:100%;display:block}.left-panel{flex-shrink:0;width:280px;height:100%;transform:translateZ(0)}.panel-section{padding:24px}.panel-divider{background-color:var(--border-color);width:100%;height:1px}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:16px;font-size:11px;font-weight:600}.search-box-container{margin-bottom:16px;position:relative}.search-box{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0003;align-items:center;gap:8px;padding:8px 12px;transition:all .2s;display:flex}.search-box:focus-within{border-color:var(--border-light);background:#0006}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:13px}.search-box input::placeholder{color:var(--text-secondary);opacity:.5}.autocomplete-dropdown{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);z-index:100;-webkit-backdrop-filter:blur(10px);flex-direction:column;width:100%;max-height:150px;margin-top:4px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000080}.autocomplete-item{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:all .2s;display:flex}.autocomplete-item:hover{color:var(--text-primary);background-color:#ffffff14}.region-list{flex-direction:column;gap:4px;display:flex}.region-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:12px;padding:8px 12px;font-size:13px;transition:all .2s;display:flex;position:relative}.region-icon-sub{opacity:.5}.region-item:hover{background:#ffffff0d}.region-item.selected{color:var(--text-primary);background:#3b82f61a;font-weight:500}.custom-locations-container{border-top:1px dashed var(--border-color);flex-direction:column;gap:4px;margin-top:12px;padding-top:12px;display:flex}.custom-city{color:var(--text-primary);background:#ffffff0d;padding-left:12px}.remove-city-hint{opacity:0;color:var(--accent-red);font-size:16px;transition:opacity .2s;position:absolute;right:12px}.custom-city:hover .remove-city-hint{opacity:1}.tags-grid{flex-wrap:wrap;gap:8px;display:flex}.tag-pill{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .2s;display:flex}.tag-dot{background-color:var(--tag-color);width:6px;height:6px;box-shadow:0 0 6px var(--tag-color);border-radius:50%}.tag-pill:hover{color:var(--text-primary);border-color:var(--border-light);background:#ffffff14;transform:scale(1.02)}.tag-pill:active{transform:scale(.98)}.center-panel{flex-direction:column;flex-grow:1;gap:24px;min-width:600px;display:flex}.map-container{flex-shrink:0;width:100%;height:400px;position:relative;overflow:hidden}.map-canvas{width:100%;height:100%;display:block}.news-grid{grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:24px;display:grid}.news-card{cursor:pointer;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.news-card:hover{border-color:var(--border-light);transform:translateY(-4px);box-shadow:0 10px 30px -10px #00000080}.news-image-placeholder{border-bottom:1px solid var(--border-color);background:linear-gradient(#ffffff0d 0%,#fff0 100%);height:140px;position:relative}.youtube-overlay{background-color:#0000004d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.play-button{color:#fff;background-color:#f00c;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding-left:4px;font-size:20px;transition:transform .2s;display:flex;box-shadow:0 4px 12px #0000004d}.news-card:hover .play-button{background-color:red;transform:scale(1.1)}.news-content{flex-direction:column;flex-grow:1;padding:16px;display:flex}.news-tag{letter-spacing:.1em;margin-bottom:8px;font-size:10px;font-weight:700}.news-title{-webkit-line-clamp:3;color:var(--text-primary);-webkit-box-orient:vertical;margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.news-summary{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:12px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.news-meta{color:var(--text-secondary);opacity:.8;align-items:center;gap:6px;margin-bottom:16px;font-size:11px;display:flex}.news-footer{color:var(--text-secondary);border-top:1px solid var(--border-color);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;font-size:11px;display:flex}.footer-label{text-transform:uppercase;letter-spacing:.05em;opacity:.5;margin-bottom:2px;font-size:10px;display:block}.right-panel{flex-direction:column;flex-shrink:0;gap:16px;width:360px;display:flex}.panel-graph{flex-direction:column;flex-shrink:0;height:250px;display:flex}.graph-header{padding:24px 24px 12px}.graph-container{flex-grow:1;width:100%;position:relative}.graph-canvas{width:100%;height:100%;display:block}.panel-hot{flex-direction:column;display:flex}.hot-header{border-bottom:1px solid var(--border-color);padding:24px 24px 16px}.hot-header .section-title{margin-bottom:4px}.hot-update{color:var(--text-secondary);letter-spacing:.05em;font-size:10px}.hot-list{flex-direction:column;padding:12px 0;display:flex}.hot-item{cursor:pointer;border-bottom:1px solid #ffffff05;flex-shrink:0;align-items:center;height:70px;transition:background-color .2s;display:flex}.hot-item:hover{background-color:#ffffff08}.hot-color-bar{width:3px;height:100%}.hot-content{flex-direction:column;flex-grow:1;gap:6px;padding:0 24px;display:flex}.hot-top{align-items:center;gap:12px;display:flex}.hot-time{color:var(--text-secondary);font-size:11px}.hot-tag{letter-spacing:.1em;font-size:9px;font-weight:700}.hot-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.footer{height:var(--footer-height);background-color:var(--bg-main);border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;align-items:center;padding:0 24px;display:flex}.metrics{gap:32px;display:flex}.metric{align-items:center;gap:8px;display:flex}.metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.metric-value{color:var(--text-primary);font-size:13px;font-weight:600}.metric-value.critical{color:var(--accent-red)}
