:root{--teal-50:#e6f6f3;--teal-100:#bfe9e1;--teal-200:#8ad7cb;--teal-300:#5bcfc4;--teal-400:#46c2b6;--teal-500:#2fa89c;--teal-600:#138a7f;--teal-700:#0a6b61;--teal-800:#08544c;--teal-900:#06251f;--font-mono:"JetBrains Mono", monospace;--font-sans:"Geist","Segoe UI",system-ui,sans-serif;--widget-gap:6px;--widget-padding:12px;--header-height:30px;--radius:3px}:root,[data-theme=dark]{--color-bg:#0b0e13;--color-surface-1:#12161d;--color-surface-2:#1a1f28;--color-surface-hover:#1e242e;--color-border:#232a35;--color-border-strong:#2e3744;--color-text-primary:#e5e9f0;--color-text-secondary:#9aa4b2;--color-text-muted:#7a8494;--color-brand:#46c2b6;--color-brand-hover:#5bcfc4;--color-wordmark:#5bcfc4;--color-brand-active:#38aea3;--color-on-brand:#06251f;--color-brand-tint:#46c2b624;--color-success:#3fd27e;--color-warning:#e0a93b;--color-error:#e5564d;--color-wildfire:#f4c430;--color-info:#4fa8d6;--color-conflict-low:#c77dd6;--color-conflict-mid:#e5564d;--color-conflict-high:#7a1fa2;--shadow-overlay:none;--bg:var(--color-bg);--surface:var(--color-surface-1);--surface-elevated:var(--color-surface-2);--surface-hover:var(--color-surface-hover);--border:var(--color-border);--border-active:var(--color-border-strong);--accent:var(--color-brand);--accent-dim:var(--color-brand-tint);--green:var(--color-success);--red:var(--color-error);--amber:var(--color-warning);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted)}[data-theme=light]{--color-bg:#e6e1d6;--color-surface-1:#ece7dc;--color-surface-2:#ece7dc;--color-surface-hover:#ddd7c9;--color-border:#d6cfbf;--color-border-strong:#c2b9a7;--color-text-primary:#211e17;--color-text-secondary:#544c41;--color-text-muted:#655d50;--color-brand:#0a6b61;--color-brand-hover:#096257;--color-wordmark:#08544c;--color-brand-active:#07564d;--color-on-brand:#fff;--color-brand-tint:#0a6b611a;--color-success:#0a6b43;--color-warning:#6f4d08;--color-error:#ae2e27;--color-wildfire:#e0a300;--color-info:#155e86;--color-conflict-low:#b25dd0;--color-conflict-mid:#ae2e27;--color-conflict-high:#6a1b9a;--shadow-overlay:0 4px 16px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100vw;height:100vh;font-size:13px;line-height:1.5;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}*{scrollbar-width:thin;scrollbar-color:#8b949e4d transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8b949e40;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-brand-tint)}::-webkit-scrollbar-corner{background:0 0}.atlas-grid-fullscreen{z-index:9999!important;width:100vw!important;height:100vh!important;position:fixed!important;top:0!important;left:0!important;transform:none!important}.atlas-grid-fullscreen .widget{width:100%;height:100%}.auth-screen{background:var(--color-bg);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:3px;flex-direction:column;gap:24px;width:100%;max-width:400px;padding:32px;display:flex}.auth-logo{flex-direction:column;align-items:center;gap:6px;display:flex}.auth-logo-text{font-family:var(--font-mono);letter-spacing:.3em;color:var(--color-brand);font-size:1.4rem;font-weight:700}.auth-tagline{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:.8rem}.auth-tabs{border-bottom:1px solid var(--color-border);display:flex}.auth-tab{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 16px;font-size:11px;transition:color .15s,border-color .15s}.auth-tab:hover{color:var(--color-text-primary)}.auth-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-brand)}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-forgot-header{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-text-secondary);margin-bottom:4px;font-size:11px}.auth-input{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-primary);font-family:var(--font-sans);border-radius:2px;outline:none;width:100%;padding:10px 12px;font-size:13px;transition:border-color .15s}.auth-input:focus{border-color:var(--color-brand)}.auth-btn{background:var(--color-brand);color:var(--color-on-brand);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;border:none;border-radius:2px;width:100%;padding:11px;font-size:12px;font-weight:600;transition:opacity .15s}.auth-btn:hover:not(:disabled){opacity:.88}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:var(--color-error);font-size:11px}.auth-success{color:var(--color-success);font-size:11px}.auth-link{color:var(--color-text-secondary);cursor:pointer;text-align:center;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.auth-link:hover{color:var(--color-text-primary)}.auth-init-screen{background:var(--color-bg);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-init-inner{flex-direction:column;align-items:center;gap:16px;display:flex}.auth-spinner{border:2px solid var(--color-brand-tint);border-top-color:var(--color-brand);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-init-text{font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-brand);font-size:11px}.nav-user-email{font-family:var(--font-mono);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.65rem;overflow:hidden}.nav-signout-btn{border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;padding:4px 8px;font-size:.65rem}.nav-signout-btn:hover{border-color:var(--color-error);color:var(--color-error)}.atlas-world-globe-wrap .atlas-country-readout{z-index:2;pointer-events:none;letter-spacing:.02em;color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface-2) 88%, transparent);border-radius:var(--radius);border:1px solid var(--color-border);padding:5px 10px;font-size:11px;line-height:1.35;display:none;position:absolute;top:10px;left:10px}.vigil-popup .maplibregl-popup-content{background:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:none;border-radius:3px;padding:0;overflow:hidden}.vigil-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--color-surface-2)}.vigil-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--color-surface-2)}.vigil-popup.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--color-surface-2)}.vigil-popup.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--color-surface-2)}.vigil-popup .maplibregl-popup-close-button{width:22px;height:22px;color:var(--color-text-secondary);z-index:2;background:#080b138c;border:none;border-radius:3px;outline:none;padding:0;font-size:15px;line-height:22px;top:4px;right:4px}.vigil-popup .maplibregl-popup-close-button:hover{color:var(--color-text-primary);background:#080b13b8}.vigil-popup .maplibregl-popup-close-button:focus{outline:none}.suggest-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.suggest-panel{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:4px;flex-direction:column;width:min(640px,100vw - 40px);min-height:0;max-height:80vh;display:flex;box-shadow:0 20px 60px #00000073}.suggest-head{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.suggest-heading{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-primary);margin:0;font-size:11px;font-weight:700}.suggest-scroll{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.suggest-disclaimer{font-family:var(--font-sans);color:var(--color-text-muted);margin:0;font-size:11px;line-height:1.45}.suggest-inputs{flex-direction:column;gap:10px;display:flex}.suggest-field{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:10px;font-weight:600;display:flex}.suggest-field input{font-family:var(--font-sans);letter-spacing:normal;text-transform:none;color:var(--color-text-primary);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:3px;padding:8px 10px;font-size:13px;font-weight:400}.suggest-field input::placeholder{color:var(--color-text-muted)}.suggest-hint{font-family:var(--font-sans);letter-spacing:normal;text-transform:none;color:var(--color-text-muted);margin:-6px 0 0;font-size:11px;font-weight:400}.suggest-error{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:12px;line-height:1.5}.suggest-empty{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.5}.suggest-group-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-info);border-bottom:1px solid var(--color-info);margin:18px 0 10px;padding-bottom:7px;font-size:13px;font-weight:700}.suggest-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.suggest-row:last-child{border-bottom:none}.suggest-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.suggest-name{font-family:var(--font-sans);color:var(--color-text-primary);font-size:13px;line-height:1.35}.suggest-detail{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-text-muted);margin-top:2px;font-size:12px}.suggest-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}a.suggest-name-link{color:inherit;cursor:pointer;text-decoration:none}a.suggest-name-link:hover{color:var(--color-brand);text-decoration:underline}.suggest-added{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand);font-size:10px;font-weight:600}.suggest-loading{flex-direction:column;gap:8px;display:flex}.suggest-progress-track{background:var(--color-surface-2);border-radius:3px;width:100%;height:4px;position:relative;overflow:hidden}.suggest-progress-bar{background:var(--color-brand);border-radius:3px;width:35%;height:100%;animation:1.4s ease-in-out infinite suggest-progress-slide;position:absolute;top:0;left:-35%}@keyframes suggest-progress-slide{0%{left:-35%}to{left:100%}}.suggest-loading-note{font-family:var(--font-sans);color:var(--color-text-muted);margin:0;font-size:11px;line-height:1.45}@media (prefers-reduced-motion:reduce){.suggest-progress-track{display:none}}.brief-schedule{background:var(--color-surface-1);border-bottom:1px solid var(--color-border);border-radius:0;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;display:flex}.brief-schedule-locked{flex-direction:column;align-items:flex-start;gap:8px}.brief-schedule-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);flex-shrink:0;font-size:10px;font-weight:600}.brief-schedule-select{font-family:var(--font-mono);color:var(--color-text-primary);background:var(--color-surface-1);border:1px solid var(--color-border);cursor:pointer;border-radius:3px;padding:4px 8px;font-size:11px}.brief-schedule-select:focus{border-color:var(--color-brand);outline:none}.brief-schedule-toggle{font-family:var(--font-mono);color:var(--color-text-primary);background:var(--color-surface-1);border:1px solid var(--color-border);cursor:pointer;border-radius:3px;padding:4px 10px;font-size:11px}.brief-schedule-toggle.is-on{background:var(--color-brand);color:var(--color-on-brand);border-color:var(--color-brand)}.brief-schedule-save{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--color-on-brand);background:var(--color-brand);border:1px solid var(--color-brand);cursor:pointer;border-radius:3px;padding:4px 12px;font-size:11px;font-weight:600}.brief-schedule-save:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.brief-schedule-save:disabled{opacity:.5;cursor:not-allowed}.brief-schedule-note{font-family:var(--font-sans);color:var(--color-text-muted);flex:100%;margin:0;font-size:11px;line-height:1.45}.brief-schedule-channel{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:11px}.brief-schedule-locked .brief-schedule-note{color:var(--color-text-secondary)}.brief-schedule-status{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:10px}.brief-schedule-status.is-error{color:var(--color-error)}.brief-schedule-upgrade{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:600;text-decoration:underline}.brief-schedule-upgrade:hover{color:var(--color-brand-hover)}.app{background:var(--bg);flex-direction:column;height:100vh;display:flex}.navbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 16px;display:flex}.navbar-left,.navbar-right{align-items:center;gap:10px;display:flex}.navbar-center{align-items:center;gap:4px;display:flex}.nav-collapse-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px 6px;transition:color .15s,background .15s;display:inline-flex}.nav-collapse-btn:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.nav-reveal-handle{cursor:pointer;background:var(--color-surface-1);border-bottom:1px solid var(--color-border);width:100%;height:14px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.nav-reveal-handle:hover{background:var(--color-surface-hover);color:var(--color-text-secondary)}.account-avatar{background:var(--color-brand-tint);width:26px;height:26px;color:var(--color-brand);border:1px solid var(--color-border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;transition:border-color .15s,background .15s;display:inline-flex}.account-avatar:hover{border-color:var(--color-brand)}.account-menu{z-index:200;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);min-width:200px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #00000059}.account-menu-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:6px 8px 8px;display:flex}.account-menu-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.account-menu-plan{letter-spacing:.1em;color:var(--color-brand);background:var(--color-brand-tint);border-radius:2px;flex-shrink:0;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.account-menu-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);padding:4px 8px 2px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.account-menu-item{cursor:pointer;width:100%;color:var(--color-text-primary);text-align:left;background:0 0;border:none;border-radius:2px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:11px;transition:background .15s,color .15s;display:flex}.account-menu-item:hover{background:var(--color-surface-hover)}.account-menu-check{color:var(--color-brand);font-size:11px}.account-menu-divider{background:var(--color-border);height:1px;margin:4px 0}.account-menu-signout:hover{color:var(--color-error)}.account-menu-edit{align-items:center;gap:4px;padding:4px 8px;display:flex}.account-menu-input{background:var(--color-surface-1);min-width:0;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:2px;flex:1;padding:4px 6px;font-family:JetBrains Mono,monospace;font-size:11px}.account-menu-input:focus{border-color:var(--color-brand);outline:none}.ws-tabs{align-items:center;gap:2px;display:flex}.ws-tab{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid #0000;border-radius:2px;align-items:center;max-width:160px;padding:5px 14px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;transition:color .12s,background .12s,border-color .12s;display:flex;position:relative;overflow:hidden}.ws-tab-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ws-tab:hover{color:var(--text-primary);background:var(--surface-hover)}.ws-tab.active{color:var(--text-primary);background:var(--accent-dim);border-bottom-color:var(--accent)}.ws-tab.drag-over{background:var(--accent-dim);color:var(--text-primary);border-bottom-color:var(--accent)}.ws-tab:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;background:var(--accent-dim);color:var(--text-primary);border-bottom-color:var(--accent)}.ws-name-input{letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);background:var(--accent-dim);border:1px solid var(--accent);border-radius:2px;outline:none;min-width:48px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.save-indicator{letter-spacing:.15em;text-transform:uppercase;color:var(--green);opacity:0;pointer-events:none;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;transition:opacity .25s}.save-indicator.visible{opacity:1}.logo-icon{border-radius:var(--radius);letter-spacing:-1px;justify-content:center;align-items:center;width:24px;height:24px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:800;display:flex;background:var(--accent)!important;color:var(--color-on-brand)!important}.logo-text{letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.logo-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid var(--color-brand);border-radius:2px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.nav-item{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;border-radius:2px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;transition:color .15s,background .15s}.nav-item:hover,.nav-item.active{color:var(--text-primary);background:var(--surface-hover)}.status-dot{color:var(--text-muted);align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.status-dot:before{content:"";background:var(--green);width:7px;height:7px;box-shadow:0 0 6px var(--green);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}button.status-dot{cursor:pointer;background:0 0;border:none;padding:0}button.status-dot:hover{opacity:.8}.status-dot.paused{color:var(--text-muted)}.status-dot.paused:before{background:var(--text-muted);box-shadow:none;animation:none}.nav-settings-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px 4px;font-size:14px;line-height:1;transition:color .15s}.nav-settings-btn:hover{color:var(--text-secondary)}.widget-live-btn{cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:2px 4px;transition:opacity .15s;display:flex}.widget-live-btn.is-live{color:var(--color-success)}.widget-live-btn.is-paused{color:var(--color-error)}.widget-live-btn.is-overridden{color:var(--color-error);opacity:.35;cursor:not-allowed}.widget-live-btn:hover:not(.is-overridden){opacity:.7}.ws-tab.ws-paused{opacity:.65}.ws-power-btn{cursor:pointer;opacity:.55;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 0 0 7px;transition:opacity .15s;display:inline-flex}.ws-power-btn:hover{opacity:1}.ws-power-btn.is-live{color:var(--color-success);opacity:1}.ws-power-btn.is-paused{color:var(--color-error)}.clock{font-variant-numeric:tabular-nums;color:var(--text-primary);letter-spacing:.08em;background:var(--surface-elevated);border:1px solid var(--border);border-radius:2px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.clock-label{letter-spacing:.12em;color:var(--accent);margin-right:6px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.grid-wrapper{flex:1;min-height:0;padding:12px;overflow-y:auto}.react-grid-layout{background:0 0}.react-grid-item{transition:transform .18s,width .18s,height .18s!important}.react-grid-item.react-draggable-dragging{z-index:200;opacity:.95;transition:none!important}.react-grid-item.resizing{z-index:200;transition:none!important}.react-resizable-handle{opacity:0;background:0 0;border:none;width:14px;height:14px;transition:opacity .12s}.react-resizable-handle:after{content:"";background:0 0;border:none}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize!important}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize!important}.react-resizable-handle-se{opacity:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-se:after{content:"↘";color:var(--color-text-muted);background:0 0;border:none;font-size:11px;line-height:1;position:absolute;bottom:0;right:2px}.react-resizable-handle-se:hover{opacity:1}.react-grid-item>.react-resizable-handle.react-resizable-handle-se:hover:after{color:var(--color-text-secondary)}[data-theme=light] .react-grid-item>.react-resizable-handle.react-resizable-handle-se:after,[data-theme=light] .react-grid-item>.react-resizable-handle.react-resizable-handle-se:hover:after{color:var(--color-border-strong)}.react-grid-item:hover{outline:none}.react-grid-item.react-draggable-dragging{outline:1px solid var(--color-brand);z-index:100;box-shadow:0 8px 32px #00000080}:root{--w-bg:var(--surface);--w-hdr:var(--surface-elevated);--w-border:var(--border);--accent-g:var(--green);--tx-primary:var(--text-primary);--tx-muted:var(--text-muted);--tx-dim:var(--text-muted);--danger:var(--red);--warn:var(--amber)}@keyframes pulse-live{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb, var(--color-success) 12%, transparent)}50%{opacity:.8;box-shadow:0 0 0 4px #0f80}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.widget{background:var(--surface);border:1px solid var(--border);border-radius:0;flex-direction:column;height:100%;transition:border-color .2s;display:flex;overflow:hidden}.widget:hover{border-color:var(--border-active)}.widget:hover .widget-header,.react-grid-item.react-draggable-dragging .widget-header{border-top-color:var(--accent)}.widget-header{height:var(--header-height);min-height:var(--header-height);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);background:var(--bg);border-top:2px solid var(--border);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400;transition:border-top-color .2s;display:flex}.map-tab-btn.active{color:var(--accent);background:var(--accent-dim);border-color:var(--color-brand)}.widget-header:active{cursor:grabbing}.widget-title-group{align-items:center;gap:8px;display:flex}.widget-subtitle{letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:var(--bg);border-bottom:1px solid var(--border);padding:2px 12px 3px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;line-height:1.4}.widget-icon{opacity:.85;font-size:13px}.widget-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400}.widget-badge{letter-spacing:.1em;color:var(--green);background:color-mix(in srgb, var(--color-success) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 32%, transparent);border-radius:2px;align-items:center;gap:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;display:inline-flex}.widget-badge.inactive{color:var(--text-muted);border-color:var(--border);background:0 0}.badge-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:2s ease-in-out infinite pulse-live}.skel-line{background:linear-gradient(90deg, var(--surface-elevated) 25%, var(--surface-hover) 50%, var(--surface-elevated) 75%);background-size:200% 100%;border-radius:2px;animation:1.5s infinite shimmer}.skel-block{flex-direction:column;gap:6px;padding:12px;display:flex}.skel-item{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 12px;display:flex}.atlas-loading-bar .skel-line{flex:1;height:3px}.widget-actions{align-items:center;gap:4px;display:flex}.widget-btn{width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex}.widget-btn svg{width:14px;height:14px}.widget-btn:hover{color:var(--text-primary);background:#e6edf314}.widget-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.widget-btn-close:hover{color:var(--red);background:#f851491f}.widget-body{background:var(--surface);flex:1;justify-content:stretch;align-items:stretch;min-height:0;display:flex;position:relative;overflow:auto}.info-tip-wrap{align-items:center;margin-left:4px;display:inline-flex;position:relative}.info-tip-btn{background:var(--surface-elevated);border:1px solid var(--border);width:14px;height:14px;color:var(--text-muted);cursor:default;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:800;line-height:1;transition:color .12s,border-color .12s;display:inline-flex}.info-tip-wrap:hover .info-tip-btn{color:var(--text-secondary);border-color:var(--border-active)}.info-tip-box{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-secondary);white-space:normal;z-index:9999;pointer-events:none;opacity:0;border-radius:2px;width:230px;padding:7px 11px;font-size:10px;line-height:1.55;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0009}.info-tip-wrap:hover .info-tip-box{opacity:1}.ns-kw-item.active{border-left-color:var(--accent);background:var(--accent-dim)}.ns-kw-item.active .ns-kw-text{color:var(--accent)}.info-tip-box-wide{min-width:280px}.feed-dot.yellow{background:var(--amber);box-shadow:0 0 4px var(--amber)}.feed-dot.green{background:var(--green);box-shadow:0 0 4px var(--green)}.feed-dot.red{background:var(--red);box-shadow:0 0 4px var(--red)}.feed-dot.blue{background:var(--accent);box-shadow:0 0 4px var(--accent)}.pt-row-chg.up{color:var(--green)}.pt-row-chg.down{color:var(--red)}.pt-row-chg.muted{color:var(--text-muted)}.pt-drawer.open{transform:translate(0)}.pt-drawer-chg.up{color:var(--green)}.pt-drawer-chg.down{color:var(--red)}.rss-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.rss-toggle.on{color:var(--green);border-color:color-mix(in srgb, var(--color-success) 32%, transparent)}.rss-source-item.active{border-left-color:var(--accent);background:var(--accent-dim)}.rss-source-item.active .rss-source-name{color:var(--text-primary)}.rss-source-toggle.on{background:var(--accent-dim)}.rss-source-toggle.on:after{background:var(--accent);left:12px}.rss-filter-item.active{border-left-color:var(--accent);background:var(--accent-dim)}.rss-filter-item.active .rss-filter-label{color:var(--text-primary)}.rss-filter-chip.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.social-plat-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text-primary)}.social-plat-btn:hover:not(.active){background:var(--surface-hover);color:var(--text-secondary)}.stream-container{flex-direction:column;width:100%;height:100%;display:flex}.stream-url-bar{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.stream-iframe{background:var(--bg);border:none;flex:1;width:100%;display:block}.stream-body{background:var(--bg);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.stream-icon{opacity:.25;font-size:26px}.stream-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.stream-live-badge{letter-spacing:.2em;color:var(--red);background:#ff3e3e1a;border:1px solid #ff3e3e4d;border-radius:2px;align-items:center;gap:5px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:800;display:flex}.stream-live-badge:before{content:"";background:var(--red);border-radius:50%;width:5px;height:5px;animation:1s infinite pulse}@media (prefers-reduced-motion:reduce){.status-dot:before,.badge-dot,.stream-live-badge:before{animation:none}}.nav-add-btn{letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;height:26px;padding:0 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.nav-add-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.nav-add-btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-brand);color:var(--color-on-brand);border-color:var(--color-brand)}.btn-primary:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.btn-primary:active{background:var(--color-brand-active);border-color:var(--color-brand-active);transform:scale(.98)}.btn-secondary{color:var(--color-brand);border-color:var(--color-brand)}.btn-secondary:hover{background:var(--color-brand-tint)}.btn-secondary:active{color:var(--color-brand-active);border-color:var(--color-brand-active);transform:scale(.98)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-brand-tint);color:var(--color-text-primary)}.btn-ghost:active{transform:scale(.98)}.ws-add-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.ws-add-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.ctx-menu{z-index:9999;background:var(--surface-elevated);border:1px solid var(--border);border-radius:0;min-width:130px;padding:4px;position:fixed;box-shadow:0 8px 24px #0009}.ctx-item{letter-spacing:.05em;color:var(--text-secondary);cursor:pointer;border-radius:0;padding:7px 12px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;transition:color .15s,background .15s}.ctx-item:hover{color:var(--text-primary);background:var(--surface-hover)}.ctx-item-danger{color:var(--red)!important}.ctx-item-danger:hover{background:#ff3e3e14!important}.ctx-item-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.fab-add{z-index:200;background:var(--surface);border:2px solid var(--accent);width:48px;height:48px;color:var(--accent);cursor:pointer;border-radius:0;justify-content:center;align-items:center;font-size:26px;line-height:1;transition:box-shadow .2s,background .15s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #00000080}.fab-add:hover{background:var(--accent-dim);box-shadow:0 4px 24px var(--color-brand-tint)}.modal-overlay{z-index:1100;-webkit-backdrop-filter:blur(8px);background:#000000a6;justify-content:center;align-items:center;animation:.16s modal-overlay-in;display:flex;position:fixed;inset:0}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-elevated);border:1px solid var(--border);border-radius:0;flex-direction:column;width:360px;max-width:calc(100vw - 40px);min-height:0;max-height:80vh;display:flex;box-shadow:0 20px 60px #000000b3}.widget-picker-modal{width:min(560px,100vw - 40px)}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-title{letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.modal-body{flex:1;min-height:0;padding-bottom:8px;overflow-y:auto}.widget-picker-cat{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:14px 16px 8px;font-size:11px;font-weight:700}.widget-picker-cat:first-child{margin-top:8px}.modal-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:0 16px 8px;display:grid}.modal-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;appearance:none;border-radius:2px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;padding:12px;transition:border-color .15s,background .15s,color .15s;display:flex}.modal-card:hover{border-color:var(--accent);background:var(--accent-dim)}.modal-card-icon{color:var(--text-secondary);align-items:center;transition:color .15s;display:inline-flex}.modal-card-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);text-align:left;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;line-height:1.3;transition:color .15s}.modal-card-desc{font-family:var(--font-sans);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;transition:color .15s;display:-webkit-box;overflow:hidden}.modal-card:hover .modal-card-icon,.modal-card:hover .modal-card-label{color:var(--text-primary)}.modal-card:hover .modal-card-desc{color:var(--accent)}@media (prefers-reduced-motion:reduce){.modal-overlay{animation:none}.modal-card,.modal-card-icon,.modal-card-label,.modal-card-desc{transition:none}}.alerts-bell-btn{justify-content:center;align-items:center;padding:4px 10px;line-height:1;display:inline-flex;position:relative}.alerts-bell-badge{background:var(--color-brand);min-width:14px;height:14px;color:var(--color-on-brand);font-family:var(--font-mono);text-align:center;border-radius:4px;padding:0 3px;font-size:9px;font-weight:600;line-height:14px;position:absolute;top:-3px;right:-3px}.alerts-drawer-tab.is-active{color:var(--text-primary);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.alerts-channel-row.is-fixed,.alerts-channel-row.is-disabled{opacity:.7;cursor:default}.alerts-severity-btn.is-active{color:var(--text-primary);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.alerts-rule-item.is-paused{opacity:.65}.alerts-rule-toggle.is-on{background:var(--accent-dim)}.alerts-rule-toggle.is-on:after{background:var(--accent);left:12px}.alerts-activity-item.is-unread .alerts-activity-title{color:var(--text-primary)}.widget[data-collapsed]>:not(.widget-header),.widget[data-collapsed] .widget-subtitle{display:none!important}.atlas-fullscreen{z-index:9999!important;background:var(--bg,#0a0c10)!important;width:100vw!important;height:100vh!important;position:fixed!important;top:0!important;left:0!important}.fullscreen-overlay{z-index:1000;flex-direction:column;display:flex;position:fixed;inset:40px 0 0}.fs-bar{background:var(--surface-elevated);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 14px;display:flex}.fs-bar-title{letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.fs-exit-btn{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid var(--color-brand);cursor:pointer;border-radius:2px;padding:5px 14px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:800;transition:background .15s}.fs-exit-btn:hover{background:var(--color-brand-tint)}.fs-content{flex:1;min-height:0;overflow:hidden}.empty-state{width:100%;height:100%;color:var(--text-muted);letter-spacing:.06em;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.empty-state-icon{opacity:.35;font-size:20px}.conf-tab-btn.active{color:var(--green);background:color-mix(in srgb, var(--color-success) 12%, transparent);border-color:color-mix(in srgb, var(--color-success) 32%, transparent)}.latest-ticker{background:var(--color-surface-1);border-bottom:1px solid var(--color-border);height:30px;font-family:var(--font-sans);color:var(--color-text-muted);z-index:90;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:0 16px;font-size:11px;display:flex}.latest-ticker-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.latest-ticker-collapse-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px 4px;transition:color .15s,background .15s;display:inline-flex}.latest-ticker-collapse-btn:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.latest-ticker-rotator{opacity:0;flex:1;align-items:center;gap:8px;min-width:0;transition:opacity .2s;display:flex}.latest-ticker-rotator.is-visible{opacity:1}.latest-ticker-rotator.is-static{transition:none}.latest-ticker-source{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);flex-shrink:0;font-size:10px;font-weight:700}.latest-ticker-headline{font-family:var(--font-sans);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:1;min-width:0;font-size:11px;text-decoration:none;transition:color .15s;overflow:hidden}.latest-ticker-headline:hover{color:var(--color-brand)}.latest-ticker-time,.latest-ticker-paused{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px}.latest-ticker-paused{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.latest-ticker--collapsed{justify-content:flex-end;align-items:stretch;height:6px;padding:0;position:relative}.latest-ticker-reveal{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:0 0 var(--radius) var(--radius);min-width:28px;height:14px;color:var(--color-text-muted);cursor:pointer;border-top:none;justify-content:center;align-items:center;padding:0 6px;transition:background .15s,color .15s;display:flex;position:absolute;top:0;right:0}.latest-ticker-reveal:hover{background:var(--color-surface-hover);color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.latest-ticker-rotator,.latest-ticker-collapse-btn,.latest-ticker-headline,.latest-ticker-reveal{transition:none}}.bottom-bar{background:var(--color-surface-1);border-top:1px solid var(--color-border);height:28px;font-family:var(--font-sans);color:var(--color-text-muted);z-index:90;pointer-events:none;justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;line-height:1.4;transition:transform .16s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.bottom-bar.is-visible{pointer-events:auto;transform:translateY(0)}.bottom-bar-meta{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.bottom-bar{transition:none}}.latest-ticker-nav{flex-shrink:0;align-items:center;gap:2px;display:flex}.latest-ticker-nav button{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;padding:2px 4px;transition:color .15s,background .15s;display:inline-flex}.latest-ticker-nav button:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.shell-grid-scroll{transition:filter .2s}.shell-grid-scroll.is-paused-dim{filter:brightness(.6)}@media (prefers-reduced-motion:reduce){.shell-grid-scroll{transition:none}}.brief-weather-loc .bw-name{font-weight:600;font-family:var(--font-mono);color:var(--color-text-primary);display:block}.brief-weather-loc .bw-line{font-family:var(--font-sans);color:var(--color-text-secondary)}.bottom-bar-links{gap:14px;display:flex}.bottom-bar-links a{color:var(--color-text-muted);text-decoration:none}.bottom-bar-links a:hover{color:var(--color-text-secondary);text-decoration:underline}.account-menu-sub-row{color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.account-menu-note{font-family:var(--font-sans);color:var(--color-text-muted);margin:0;padding:2px 8px 6px;font-size:10px;line-height:1.5}.account-menu-primary{color:var(--color-brand)}.account-menu-primary:hover{background:var(--color-surface-hover)}.account-switch{box-sizing:border-box;border:1px solid var(--color-border-strong);background:var(--color-surface-1);border-radius:var(--radius);cursor:pointer;flex-shrink:0;width:30px;height:16px;padding:0;transition:background .15s,border-color .15s;position:relative}.account-switch-knob{background:var(--color-text-muted);border-radius:2px;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.account-switch.on{background:var(--color-brand);border-color:var(--color-brand)}.account-switch.on .account-switch-knob{background:var(--color-on-brand);transform:translate(14px)}@media (prefers-reduced-motion:reduce){.account-switch,.account-switch-knob{transition:none}}
