@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Sora:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Sora:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#10203b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink-900:#10203b;--ink-700:#2b436f;--ink-500:#5f749a;--ink-300:#a7b6d1;--surface-1:#f8fbffe0;--surface-2:#0f1e3cd6;--surface-3:#ffffff9e;--surface-4:#ffffffc7;--accent:#f9427c;--accent-2:#fff4c1;--line:#2c487729;--success:#0f9d7a;--danger:#da355f;--shadow-lg:0 24px 60px #2c48772e;--shadow-md:0 14px 38px #2c487724;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;background:radial-gradient(circle at 0 0,#fff4c173,#0000 28%),radial-gradient(circle at 100% 100%,#f9427c24,#0000 20%),linear-gradient(135deg,#ebf3ff 0%,#dce8fb 100%);font-family:Sora,Segoe UI Variable,sans-serif;font-weight:400;line-height:1.5}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);margin:0 0 .35rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.lede{color:var(--ink-700);margin:0}.primary-button,.secondary-button,.ghost-button,.upload-button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:48px;padding:.8rem 1.25rem;font-weight:700;transition:transform .16s,background-color .16s,border-color .16s,opacity .16s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#ff5b90 0%,#f9427c 100%);box-shadow:0 14px 28px #f9427c52}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.upload-button:hover{transform:translateY(-1px)}.secondary-button{border-color:var(--line);color:var(--ink-900);background:#ffffffbd}.upload-button{color:#fff;background:linear-gradient(135deg,#10203b 0%,#28457a 100%);width:100%}.inline-link{color:#1f5fd1;text-underline-offset:.18em;text-decoration:underline}.mode-badge,.lock-pill,.save-badge{border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600;display:inline-flex}.mode-badge-mock,.save-idle,.save-saved{color:#0b6b55;background:#0f9d7a1f}.mode-badge-live,.save-saving{color:#1f5fd1;background:#1f5fd11f}.save-error,.scenario-lock{color:var(--danger);background:#da355f24}.lock-pill,.scenario-lock-free{color:var(--ink-700);background:#10203b14}.form-error,.workspace-alert,.map-error{border-radius:var(--radius-md);color:var(--danger);background:#da355f1a;padding:.9rem 1rem}.status-note{border-radius:var(--radius-md);border:1px solid #0000;padding:.95rem 1rem}.panel-empty{color:var(--ink-500);margin:0}.auth-page,.dashboard-page,.workspace-page,.viewer-page{min-height:100vh;padding:2rem}.workspace-page{flex-direction:column;gap:1rem;height:100vh;display:flex;overflow:hidden}.auth-hero,.auth-card,.panel-card,.scenario-card,.workspace-topbar,.workspace-map-panel,.workspace-sidebar,.viewer-header{background:var(--surface-1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);border:1px solid #ffffff73}.auth-hero-image{object-fit:cover;border:1px solid #ffffff8c;border-radius:26px;width:100%;min-height:320px;box-shadow:inset 0 0 0 1px #10203b0a}.auth-hero h1,.dashboard-header h1,.workspace-topbar h1,.viewer-header h1{overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,3vw,3.6rem);line-height:1}.auth-form-heading h2{margin:0;font-size:1.6rem;line-height:1.1}.auth-form label,.inspector-fields label{flex-direction:column;gap:.45rem;display:flex}.panel-input,.auth-form input,.panel-textarea,.panel-color{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;color:var(--ink-900);background:#ffffffd6;padding:.85rem 1rem}.scenario-card{border-radius:var(--radius-lg);flex-direction:column;gap:1rem;padding:1.2rem;display:flex}.scenario-card-top h2{overflow-wrap:anywhere;margin:0 0 .3rem;font-size:1.15rem}.scenario-updated{color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:.75rem}.sidebar-quick-nav{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#f8fbfff5,#f8fbffd1,#0000);grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:.2rem 0 .8rem;display:grid;position:sticky;top:0}.sidebar-quick-nav-button{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--ink-900);background:#fffc;border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:700;transition:transform .14s,background-color .14s,border-color .14s}.sidebar-quick-nav-button:hover{background:#fffffff5;border-color:#355b964d;transform:translateY(-1px)}.tool-dock{border-radius:var(--radius-lg);background:#10203b14;flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.tool-dock-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-dock-actions{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tool-button{min-width:0;min-height:58px;color:var(--ink-900);text-align:left;background:linear-gradient(#fffffff0,#e4ecfbdb);border:1px solid #0000;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.22rem;padding:.75rem .65rem;font-family:IBM Plex Mono,monospace;font-weight:700;display:flex}.tool-button-small{text-align:center;border-radius:14px;align-items:center;min-height:48px}.tool-button-active{color:#fff;background:linear-gradient(135deg,#10203b 0%,#355b96 100%);box-shadow:inset 0 0 0 1px #ffffff3d}.tool-button-label{font-size:.86rem;line-height:1.05}.tool-button-hint{opacity:.72;font-size:.63rem;line-height:1.15}.tool-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:.3rem;padding:0 4px;font-size:.65rem;font-weight:700;display:inline-flex}.text-controls{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.text-controls-field{flex-direction:column;gap:.35rem;display:flex}.text-controls-field>span:first-child{opacity:.7;font-size:.8rem;font-weight:600}.text-controls-range-row{align-items:center;gap:.5rem;display:flex}.text-controls-range-row input[type=range]{flex:1}.text-controls-value{text-align:right;font-variant-numeric:tabular-nums;min-width:40px;font-size:.8rem}.text-controls-group{flex-wrap:wrap;gap:.3rem;display:flex}.text-controls-group .filter-pill{text-align:center;flex:1;justify-content:center;min-height:30px;padding:.3rem .4rem;font-size:.75rem}.panel-card{border-radius:var(--radius-lg);min-width:0;padding:1rem}.panel-header h3{margin:0}.filter-pill{border:1px solid var(--line);min-height:36px;color:var(--ink-700);background:#ffffffb3;border-radius:999px;padding:.45rem .85rem}.filter-pill.active{color:var(--accent);background:#f9427c24;border-color:#f9427c4d}.region-checkboxes{flex-wrap:wrap;gap:.25rem .65rem;padding:.35rem 0;display:flex}.region-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.region-checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent,#f9427c);cursor:pointer}.asset-card{border-radius:var(--radius-md);border:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:pan-y;background:#ffffffd6;flex-direction:column;align-items:center;gap:.55rem;padding:.75rem;display:flex}.asset-card span{text-align:center;overflow-wrap:anywhere;font-size:.85rem}.asset-card.active{border-color:#f9427c6b;box-shadow:inset 0 0 0 2px #f9427c38}.asset-drag-ghost{z-index:60;pointer-events:none;color:#fff;background:#10203beb;border-radius:18px;align-items:center;gap:.6rem;padding:.7rem .9rem;display:inline-flex;position:fixed;transform:translate(-50%,-50%);box-shadow:0 18px 42px #10203b4d}.asset-drag-ghost span{overflow-wrap:anywhere;max-width:180px;font-size:.82rem;font-weight:700}.share-box{border-radius:var(--radius-md);background:#10203b0f;flex-direction:column;gap:.65rem;min-width:0;padding:.95rem;display:flex}.share-box-label,.share-box-note{color:var(--ink-500);margin:0}.switch-row{border-radius:var(--radius-md);background:#ffffffad;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .85rem;display:flex}.location-search{z-index:35;width:280px;position:absolute;bottom:56px;left:12px}.location-search-input{border-radius:var(--radius-sm,6px);border:1px solid var(--line,#ccc);background:var(--surface-0,#fff);outline:none;width:100%;padding:.55rem .75rem;font-size:.85rem;box-shadow:0 1px 4px #0000001f}.location-search-input:focus{border-color:var(--accent,#1a6ef5);box-shadow:0 0 0 2px #1a6ef52e}.location-search-loading{opacity:.5;font-size:.85rem;position:absolute;top:10px;right:10px}.location-search-results{border-radius:var(--radius-sm,6px);border:1px solid var(--line,#ccc);background:var(--surface-0,#fff);max-height:240px;margin:0 0 4px;padding:0;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.location-search-item{cursor:pointer;border-bottom:1px solid var(--line,#eee);padding:.55rem .75rem;font-size:.8rem;line-height:1.35}.location-search-item:last-child{border-bottom:none}.location-search-item:hover{background:var(--accent-light,#1a6ef514)}.map-stage .ol-zoom{box-shadow:none;background:0 0;border-radius:0;gap:.35rem;padding:0;display:flex;inset:auto auto 12px 12px}.map-stage .ol-zoom.ol-control{background:0 0}.map-stage .ol-zoom .ol-zoom-in,.map-stage .ol-zoom .ol-zoom-out{width:34px;height:34px;color:var(--ink-900,#10203b);background:#f8fbffe0;border:1px solid #ffffff5c;border-radius:10px;margin:0;font-size:1rem;line-height:1;box-shadow:0 10px 24px #2c48772e}.map-stage .ol-zoom .ol-zoom-in:hover,.map-stage .ol-zoom .ol-zoom-out:hover{background:#fffffff5}.scene-bar-group{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#f8fbffd6;border:1px solid #ffffff6b;border-radius:18px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.72rem .85rem;display:flex;box-shadow:0 16px 34px #2c48771f}.scene-chip{border:1px solid var(--line);min-height:38px;color:var(--ink-900);background:#ffffffd1;border-radius:999px;padding:.45rem .85rem;font-weight:700;transition:transform .14s,background-color .14s,border-color .14s,color .14s}.scene-chip:hover:not(:disabled){border-color:#355b964d;transform:translateY(-1px)}.scene-chip.active{color:#fff;background:linear-gradient(135deg,#10203b 0%,#355b96 100%);border-color:#10203b29}.scene-bar-note{color:var(--ink-700);pointer-events:auto;background:#10203b14;border-radius:18px;margin:0;padding:.72rem .9rem;font-size:.88rem}.map-surface{width:100%;height:100%;position:absolute;inset:0}.selection-hud{z-index:35;background:#10203be6;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem;display:inline-flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 14px 26px #10203b3d}.selection-hud-button{color:#fff;background:#ffffff24;border:0;border-radius:999px;width:36px;height:36px;font-size:1.15rem;font-weight:800}.map-attribution{z-index:12;color:#12213f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex;position:absolute;bottom:.85rem;right:.85rem;box-shadow:0 10px 24px #12213f29}.site-credit-link{color:var(--ink-900);text-underline-offset:.18em;font-weight:700;text-decoration:underline}.shell-fallback-card{border-radius:var(--radius-xl);background:var(--surface-1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(640px,100%);box-shadow:var(--shadow-md);border:1px solid #ffffff73;flex-direction:column;gap:1rem;padding:2rem;display:flex}@media (width<=1180px){.auth-page{grid-template-columns:1fr}.auth-page-footer{justify-content:flex-start}}@media (width<=980px){.scene-bar-group-focus{margin-left:0}}@media (width<=580px){.sidebar-quick-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-bar{left:.75rem;right:.75rem}.scene-bar-group{width:100%}}@media (width<=820px){.auth-page,.dashboard-page,.viewer-page{padding:1rem}.dashboard-header,.viewer-header{flex-direction:column}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0d1b2e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink-900:#0d1b2e;--ink-800:#1a2f4a;--ink-700:#243d5e;--ink-500:#4d6a8a;--ink-400:#6b87a8;--ink-300:#9ab0c8;--ink-200:#c8d8e8;--ink-100:#e8f0f8;--surface-0:#fffffff5;--surface-1:#f8fcffe6;--surface-2:#f0f7ffd9;--surface-dark:#0d1b2ee0;--accent:#f9427c;--accent-light:#f9427c1f;--accent-glow:#f9427c47;--accent-2:#fff0c0;--blue:#1a6ef5;--blue-light:#1a6ef51a;--success:#0d9e7a;--success-light:#0d9e7a1a;--alerts-live-chip-glow:#0d9e7a2e;--danger:#e02d5a;--danger-light:#e02d5a1a;--warning:#e89200;--line:#1e3c641a;--line-strong:#1e3c642e;--shadow-xs:0 2px 8px #0d1b2e0f;--shadow-sm:0 4px 16px #0d1b2e14;--shadow-md:0 8px 32px #0d1b2e1a;--shadow-lg:0 20px 60px #0d1b2e24;--shadow-xl:0 32px 80px #0d1b2e2e;--radius-2xl:32px;--radius-xl:24px;--radius-lg:18px;--radius-md:12px;--radius-sm:8px;--radius-xs:6px;--duration-fast:.1s;--duration-base:.15s;--duration-slow:.24s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);background:radial-gradient(at 0 0,#63b3ff1f,#0000 40%),radial-gradient(at 100% 100%,#f9427c14,#0000 35%),linear-gradient(160deg,#eef4ff 0%,#e4eeff 50%,#dce8fb 100%);font-family:Sora,Segoe UI Variable,sans-serif;font-weight:400;line-height:1.5}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink-900:#eef4fb;--ink-800:#d9e6f5;--ink-700:#b4c7de;--ink-500:#8fa7c3;--ink-400:#7790ad;--ink-300:#4f6785;--ink-200:#32455f;--ink-100:#18273d;--surface-0:#111b2bf5;--surface-1:#0d1625eb;--surface-2:#121e30db;--surface-dark:#070d18f0;--blue:#8ab4ff;--blue-light:#8ab4ff29;--success:#4fd3a7;--success-light:#4fd3a724;--alerts-live-chip-glow:#4fd3a738;--danger:#ff6d93;--danger-light:#ff6d9324;--warning:#ffbe55;--line:#94b0d624;--line-strong:#94b0d63d;--shadow-xs:0 2px 8px #040a1452;--shadow-sm:0 4px 16px #040a145c;--shadow-md:0 8px 32px #040a146b;--shadow-lg:0 20px 60px #040a1480;--shadow-xl:0 32px 80px #040a148f}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{scrollbar-gutter:stable}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.eyebrow{letter-spacing:.18em;text-transform:none;color:var(--ink-400);margin:0 0 .3rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600}.lede{color:var(--ink-500);margin:0;font-size:.9rem}.primary-button,.secondary-button,.ghost-button,.upload-button{letter-spacing:.01em;min-height:44px;transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);will-change:transform;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:700;display:inline-flex}.primary-button{color:#fff;box-shadow:0 4px 20px var(--accent-glow), inset 0 1px 0 #fff3;background:linear-gradient(135deg,#ff5c8d 0%,#f9427c 60%,#e8305e 100%);border-color:#ffffff26}.primary-button:hover:not(:disabled){box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.primary-button:active:not(:disabled){box-shadow:0 2px 10px var(--accent-glow);transform:translateY(0)scale(.98)}.secondary-button{background:var(--surface-0);border-color:var(--line-strong);color:var(--ink-800);box-shadow:var(--shadow-xs)}.secondary-button:hover:not(:disabled){box-shadow:var(--shadow-sm);border-color:var(--ink-200);transform:translateY(-1px)}.secondary-button:active:not(:disabled){transform:translateY(0)}.theme-toggle-button{isolation:isolate;background:linear-gradient(#ffffffe0,#e8f0fcd1);border-color:#94b0d63d;justify-content:flex-start;gap:.7rem;min-width:132px;padding:.42rem .6rem .42rem .5rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 8px 20px #0d1b2e14}.theme-toggle-button:before{content:"";border-radius:inherit;opacity:.9;z-index:-1;transition:opacity var(--duration-slow) var(--ease-out);background:radial-gradient(circle at 20%,#ffd0662e,#0000 28%),radial-gradient(circle at 78%,#5a8bff24,#0000 32%);position:absolute;inset:0}.theme-toggle-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffffb8,0 12px 28px #0d1b2e1f}.theme-toggle-button-track{width:56px;height:30px;transition:background var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);background:linear-gradient(135deg,#ffd57a5c,#ffffff2e);border:1px solid #94b0d633;border-radius:999px;flex-shrink:0;align-items:center;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff61,inset 0 -8px 18px #10203b0f}.theme-toggle-button-thumb,.theme-toggle-button-glow{width:22px;height:22px;transition:transform var(--duration-slow) var(--ease-spring), opacity var(--duration-slow) var(--ease-out), background var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);border-radius:999px;position:absolute;top:3px;left:3px}.theme-toggle-button-thumb{background:radial-gradient(circle at 35% 35%,#fff4c7 0%,#ffd160 45%,#ff9d3c 100%);box-shadow:0 0 0 1px #ffffff8c,0 4px 12px #ffab3452}.theme-toggle-button-glow{filter:blur(8px);opacity:.85;background:#ffc14c59;animation:2.6s ease-in-out infinite theme-toggle-glow;transform:scale(.88)}.theme-toggle-button-copy{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.05;display:inline-flex}.theme-toggle-button-label,.theme-toggle-button-mode{font-family:IBM Plex Mono,monospace}.theme-toggle-button-label{letter-spacing:.12em;color:var(--ink-400);text-transform:uppercase;font-size:.56rem}.theme-toggle-button-mode{color:var(--ink-800);font-size:.76rem;font-weight:700}.theme-toggle-button--active{color:#fff;background:linear-gradient(135deg,#0b1424f5,#182c4ef0);border-color:#80a6ff2e;box-shadow:inset 0 1px #ffffff0f,0 14px 34px #2854a838}.theme-toggle-button--active:before{opacity:1}.theme-toggle-button--active .theme-toggle-button-track{background:linear-gradient(135deg,#4469c46b,#122242c2);border-color:#80a6ff3d;box-shadow:inset 0 1px #ffffff14,inset 0 -12px 22px #060a1438}.theme-toggle-button--active .theme-toggle-button-thumb,.theme-toggle-button--active .theme-toggle-button-glow{transform:translate(26px)}.theme-toggle-button--active .theme-toggle-button-thumb{background:radial-gradient(circle at 38% 35%,#e9f3ff 0%,#9fc0ff 46%,#5e7dff 100%);box-shadow:0 0 0 1px #deecff47,0 6px 16px #4e7aff5c}.theme-toggle-button--active .theme-toggle-button-glow{background:#749cff6b}.theme-toggle-button--active .theme-toggle-button-label{color:#d6e5ffb8}.theme-toggle-button--active .theme-toggle-button-mode{color:#f8fbff}@keyframes theme-toggle-glow{0%,to{opacity:.7;transform:scale(.84)}50%{opacity:1;transform:scale(1.06)}}.ghost-button{color:var(--ink-700);background:#0d1b2e0f;border-color:#0000}.ghost-button:hover:not(:disabled){background:#0d1b2e1a;transform:translateY(-1px)}.upload-button{color:#fff;background:linear-gradient(135deg,#0d1b2e 0%,#1a3a6e 100%);border-color:#ffffff14;width:100%;box-shadow:0 4px 16px #0d1b2e33}.upload-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #0d1b2e47}.upload-button.disabled{pointer-events:none}[data-theme=dark] .ghost-button{color:var(--ink-700);background:#ffffff0f}[data-theme=dark] .ghost-button:hover:not(:disabled){background:#ffffff1a}.danger-button{color:var(--danger)!important;border-color:#e02d5a4d!important}.danger-button:hover:not(:disabled){background:var(--danger-light)!important}.inline-link{color:var(--blue);text-underline-offset:.2em;overflow-wrap:anywhere;word-break:break-word;transition:color var(--duration-fast) var(--ease-out);text-decoration:underline}.inline-link:hover{color:var(--accent)}.mode-badge,.lock-pill,.save-badge{letter-spacing:.06em;transition:background-color var(--duration-slow) var(--ease-in-out), color var(--duration-slow) var(--ease-in-out);border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:700;display:inline-flex}.mode-badge-mock,.save-idle,.save-saved{background:var(--success-light);color:var(--success);border-color:#0d9e7a33}.mode-badge-live,.save-saving{background:var(--blue-light);color:var(--blue);border-color:#1a6ef533}.save-error,.scenario-lock{background:var(--danger-light);color:var(--danger);border-color:#e02d5a33}.lock-pill,.scenario-lock-free{color:var(--ink-500);border-color:var(--line);background:#0d1b2e0f}.form-error,.workspace-alert,.map-error{border-radius:var(--radius-md);background:var(--danger-light);color:var(--danger);animation:alert-in var(--duration-slow) var(--ease-out) both;border:1px solid #e02d5a2e;padding:.8rem 1rem;font-size:.875rem}@keyframes alert-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.workspace-topbar,.workspace-alert{flex-shrink:0}.status-note{border-radius:var(--radius-md);border:1px solid #0000;padding:.85rem 1rem;font-size:.875rem}.status-note-warning{color:var(--ink-800);background:#e8920014;border-color:#e8920033}.panel-empty{color:var(--ink-400);margin:0;font-size:.875rem}.auth-page,.dashboard-page,.admin-page,.workspace-page,.viewer-page{min-height:100vh;padding:1.5rem}.dashboard-page,.admin-page,.workspace-page,.viewer-page{color:var(--ink-900);background:radial-gradient(at 0 0,#63b3ff1f,#0000 40%),radial-gradient(at 100% 100%,#f9427c14,#0000 35%),linear-gradient(160deg,#eef4ff 0%,#e4eeff 50%,#dce8fb 100%);flex-direction:column;gap:1rem;display:flex}.dashboard-page[data-theme=dark],.admin-page[data-theme=dark]{background:radial-gradient(at 0 0,#4362a333,#0000 42%),radial-gradient(at 100% 100%,#f9427c14,#0000 35%),linear-gradient(160deg,#08111f 0%,#0e1830 48%,#101d36 100%)}.workspace-page[data-theme=dark],.viewer-page[data-theme=dark]{color:var(--ink-900);background:radial-gradient(at 0 0,#4362a333,#0000 42%),radial-gradient(at 100% 100%,#f9427c14,#0000 35%),linear-gradient(160deg,#08111f 0%,#0e1830 48%,#101d36 100%)}.workspace-page{flex-direction:column;gap:.875rem;height:100vh;padding:1rem;display:flex;overflow:hidden}.auth-page{grid-template-columns:1.2fr .8fr;align-items:stretch;gap:1.5rem;display:grid}.auth-hero,.auth-card,.dashboard-header,.panel-card,.scenario-card,.workspace-topbar,.workspace-map-panel,.workspace-sidebar,.viewer-header,.admin-card,.status-note-warning{background:var(--surface-1);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md);border:1px solid #fff9}.workspace-page[data-theme=dark] .workspace-topbar,.workspace-page[data-theme=dark] .workspace-map-panel,.workspace-page[data-theme=dark] .workspace-sidebar,.workspace-page[data-theme=dark] .sidebar-icon-bar,.workspace-page[data-theme=dark] .sidebar-panel,.workspace-page[data-theme=dark] .panel-card,.viewer-page[data-theme=dark] .viewer-header,.dashboard-page[data-theme=dark] .dashboard-header,.dashboard-page[data-theme=dark] .scenario-card,.dashboard-page[data-theme=dark] .status-note-warning,.admin-page[data-theme=dark] .dashboard-header,.admin-page[data-theme=dark] .admin-card,.admin-page[data-theme=dark] .status-note-warning{background:var(--surface-1);border-color:#94b0d629}.auth-hero{border-radius:var(--radius-2xl);background:radial-gradient(at 100% 0,#8cc8ffd9,#0000 50%),linear-gradient(160deg,#fffc,#dce8ffe6);flex-direction:column;justify-content:space-between;gap:1rem;padding:2.2rem;display:flex}.auth-hero-visual{justify-content:stretch;align-items:stretch;display:flex}.auth-hero-image{object-fit:cover;border:1px solid #fff9;border-radius:20px;width:100%;min-height:300px}.auth-hero-copy{flex-direction:column;gap:.8rem;display:flex}.auth-hero-tags{flex-wrap:wrap;gap:.45rem;display:flex}.auth-hero-tag{min-height:32px;color:var(--ink-600);background:#ffffffbf;border:1px solid #1e3c641f;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.82rem;font-weight:600;display:inline-flex}.auth-hero h1,.dashboard-header h1,.workspace-topbar h1,.viewer-header h1{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.6rem,2.5vw,3rem);font-weight:800;line-height:1.05}.auth-card{border-radius:var(--radius-2xl);align-items:center;padding:2rem;display:flex}.auth-form,.panel-card,.workspace-sidebar{flex-direction:column;gap:.875rem;display:flex}.auth-form{width:min(100%,400px)}.auth-form-heading{flex-direction:column;gap:.45rem;display:flex}.auth-form-heading h2{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800;line-height:1.1}.button-row{flex-wrap:wrap;gap:.6rem;display:flex}.auth-form label,.inspector-fields label{color:var(--ink-600);flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}.stack-field{flex-direction:column;gap:.4rem;width:100%;display:flex}.panel-input,.auth-form input,.panel-textarea,.panel-color{border-radius:var(--radius-md);border:1.5px solid var(--line-strong);width:100%;color:var(--ink-900);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:#ffffffe0;padding:.7rem .9rem;font-size:.9rem}.panel-input:focus,.auth-form input:focus,.panel-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:#fff;outline:none}.panel-textarea{resize:vertical;min-height:88px}.panel-color{min-height:44px;padding:.35rem}[data-theme=dark] .panel-input,[data-theme=dark] .auth-form input,[data-theme=dark] .panel-textarea,[data-theme=dark] .panel-color{border-color:var(--line-strong);color:var(--ink-900);background:#09111ee6}[data-theme=dark] .panel-input::placeholder,[data-theme=dark] .panel-textarea::placeholder,[data-theme=dark] .title-edit-input::placeholder{color:var(--ink-400)}[data-theme=dark] .panel-input:focus,[data-theme=dark] .auth-form input:focus,[data-theme=dark] .panel-textarea:focus{background:#0c1525f5}.modern-auth-layout{color:#f8fafc;background-color:#030712;grid-template-columns:1.15fr .85fr;width:100%;max-width:100vw;min-height:100vh;display:grid;overflow:hidden}@media (width<=960px){.modern-auth-layout{grid-template-rows:40vh 1fr;grid-template-columns:1fr}}.modern-auth-hero{border-right:1px solid #ffffff0d;flex-direction:column;padding:3rem;display:flex;position:relative;overflow:hidden}.hero-background-wrapper{z-index:0;position:absolute;inset:0}.hero-background-image{object-fit:cover;pointer-events:none;width:100%;height:100%}.hero-background-overlay{background:radial-gradient(circle at 40%,#0f172a33 0%,#030712 100%);position:absolute;inset:0}.modern-auth-hero .hero-content{z-index:1;flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative}.brand-header{align-items:flex-start;display:flex}.modern-mode-badge{-webkit-backdrop-filter:blur(12px);color:#f1f5f9;letter-spacing:.05em;background:#ffffff14;border:1px solid #ffffff26;border-radius:99px;padding:.5rem 1rem;font-size:.8rem;box-shadow:0 4px 24px #0003}.hero-text-content{max-width:600px;margin-top:auto;margin-bottom:3rem}.hero-eyebrow{color:#38bdf8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:600}.hero-title{letter-spacing:-.03em;color:#f8fafc;margin:0 0 1.5rem;font-size:clamp(3rem,5vw,4.5rem);font-weight:800;line-height:1.05}.text-glow{color:#0000;background:linear-gradient(135deg,#e0f2fe 0%,#38bdf8 50%,#818cf8 100%);text-shadow:0 0 30px #38bdf84d;-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-subtitle{color:#94a3b8;max-width:480px;font-size:1.15rem;line-height:1.6}.hero-stats{flex-wrap:wrap;gap:1rem;display:flex}.stat-card{-webkit-backdrop-filter:blur(12px);background:#0f172a80;border:1px solid #ffffff1a;border-radius:16px;flex:1;align-items:center;gap:1rem;min-width:200px;padding:1rem 1.25rem;display:flex}.stat-icon-wrapper{color:#38bdf8;background:#38bdf826;border-radius:12px;justify-content:center;align-items:center;padding:.75rem;display:flex}.stat-info{flex-direction:column;display:flex}.stat-value{color:#f1f5f9;font-size:1.1rem;font-weight:700}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.modern-auth-form-container{background:#030712;justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden}.modern-auth-form-container:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f114 0%,#0000 70%);border-radius:50%;width:50vw;height:50vw;position:absolute;top:-20%;right:-20%}.form-wrapper{z-index:1;flex-direction:column;gap:2.5rem;width:100%;max-width:420px;display:flex;position:relative}.form-header{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.logo-placeholder{color:#38bdf8;background:linear-gradient(135deg,#38bdf826,#6366f126);border:1px solid #38bdf84d;border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.5rem;display:flex;box-shadow:0 0 30px #38bdf826}.form-header h2{letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:700}.form-header p{color:#94a3b8;margin:0;font-size:.95rem;line-height:1.5}.modern-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.modern-form .input-group{flex-direction:column;gap:.5rem;display:flex}.modern-form label{color:#cbd5e1;margin-left:.25rem;font-size:.85rem;font-weight:600}.modern-form .input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:#64748b;pointer-events:none;transition:color .2s;position:absolute;left:1rem}.input-with-icon input{color:#fff;box-sizing:border-box;background:#0f172a99;border:1px solid #ffffff1a;border-radius:14px;width:100%;padding:1rem 1rem 1rem 3rem;font-size:1rem;transition:all .2s}.input-with-icon input:focus{background:#0f172ae6;border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf826}.input-with-icon:focus-within .input-icon{color:#38bdf8}.input-with-icon input::placeholder{color:#475569}.form-error-toast{color:#fca5a5;text-align:center;background:#dc26261a;border:1px solid #dc26264d;border-radius:12px;padding:.875rem 1rem;font-size:.9rem;animation:.3s ease-out forwards slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-actions{margin-top:.5rem}.modern-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#6366f1);border:none;border-radius:14px;width:100%;padding:1.1rem;font-size:1.05rem;font-weight:700;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 10px 25px #6366f14d}.modern-submit-btn span{z-index:2;position:relative}.modern-submit-btn .btn-glow{opacity:0;z-index:1;background:linear-gradient(135deg,#38bdf8,#818cf8);transition:opacity .3s;position:absolute;inset:0}.modern-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px #6366f166}.modern-submit-btn:hover:not(:disabled) .btn-glow{opacity:1}.modern-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.demo-actions{border-top:1px solid #ffffff0d;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1.5rem;display:flex}.demo-hint{color:#64748b;text-align:center;margin:0;font-size:.85rem}.modern-demo-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:99px;padding:.75rem 1.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.modern-demo-btn:hover:not(:disabled){color:#fff;background:#ffffff1a;border-color:#fff3}.modern-footer-credit{opacity:.6;align-self:center;margin-top:auto}.panel-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-400) 50%), linear-gradient(135deg, var(--ink-400) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.2rem}.dashboard-header,.workspace-topbar,.viewer-header{border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:1.2rem;padding:1rem 1.4rem;display:flex}.workspace-topbar{padding:.85rem 1.2rem}.workspace-topbar h1{letter-spacing:-.02em;font-size:clamp(1rem,2vw,1.6rem)}.title-edit-input{all:unset;width:100%;font:inherit;color:inherit;letter-spacing:inherit;border-bottom:2px solid #0000;padding-bottom:2px;transition:border-color .18s}.title-edit-input:hover:not(:disabled){border-bottom-color:#ffffff59}.title-edit-input:focus{border-bottom-color:var(--accent)}.title-edit-input:disabled{opacity:.85}[data-theme=dark] .title-edit-input:hover:not(:disabled){border-bottom-color:#94b0d673}.dashboard-actions,.workspace-topbar-meta,.viewer-header-actions,.scenario-card-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.workspace-page .workspace-topbar{flex-wrap:wrap;align-items:flex-start}.workspace-topbar-info{flex-direction:column;flex:320px;gap:.15rem;min-width:0;display:flex}.workspace-page .workspace-topbar-meta{flex:280px;place-content:flex-start flex-end;min-width:0}.workspace-page .save-badge{white-space:nowrap;justify-content:center;min-width:132px}.workspace-page .lock-pill{min-width:0;max-width:100%}.scenario-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.875rem;margin-top:1.2rem;display:grid}.scenario-card{border-radius:var(--radius-xl);transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);cursor:pointer;flex-direction:column;gap:.875rem;padding:1.1rem;display:flex}.scenario-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.scenario-card-top{justify-content:space-between;align-items:flex-start;gap:.875rem;display:flex}.scenario-card-top h2{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.scenario-card-top p,.scenario-card-body p{margin:0}.scenario-updated{color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:500}.workspace-shell{flex:1;grid-template-columns:minmax(0,1fr) clamp(308px,24vw,384px);align-items:stretch;gap:.875rem;min-height:0;display:grid;overflow:hidden}.workspace-map-panel,.viewer-page .map-stage{border-radius:var(--radius-xl);overflow:hidden}.workspace-map-panel{min-width:0;height:100%;min-height:0;position:relative}.workspace-sidebar{border-radius:var(--radius-xl);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-width:0;height:100%;animation:sidebar-in var(--duration-slow) var(--ease-out) both;background:#f0f6ffeb;border-color:#c8dcf5b3;padding:.75rem;overflow:hidden auto;gap:.6rem!important}@keyframes sidebar-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.workspace-sidebar::-webkit-scrollbar{width:3px}.workspace-sidebar::-webkit-scrollbar-track{background:0 0}.workspace-sidebar::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.workspace-sidebar::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.sidebar-quick-nav{z-index:10;-webkit-backdrop-filter:blur(8px);background:linear-gradient(#f0f6fffc 70%,#f0f6ff00 100%);grid-template-columns:repeat(3,1fr);gap:.3rem;padding:0 0 .6rem;display:grid;position:sticky;top:0}.sidebar-quick-nav-button{border-radius:var(--radius-md);border:1px solid var(--line);min-width:0;min-height:34px;color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:#ffffffb3;font-family:IBM Plex Mono,monospace;font-size:.63rem;font-weight:700}.sidebar-quick-nav-button:hover{border-color:var(--ink-200);color:var(--ink-800);box-shadow:var(--shadow-xs);background:#fffffff2;transform:translateY(-1px)}.sidebar-quick-nav-button:active{transform:scale(.97)}.jump-target{scroll-margin-top:4.5rem}.tool-dock{background:linear-gradient(#ffffff9e 0%,#f1f7ffd1 100%);border:1px solid #7c8fb129;border-radius:22px;flex-direction:column;gap:.75rem;min-width:0;padding:.7rem;display:flex;box-shadow:inset 0 1px #ffffff70;container-type:inline-size}.tool-dock-group{flex-wrap:wrap;gap:.55rem;display:flex}.tool-dock-hero,.tool-dock-section{transition:transform var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out);background:#ffffffb8;border:1px solid #7c8fb124;border-radius:18px;flex-direction:column;gap:.7rem;padding:.82rem .85rem;display:flex}.tool-dock-hero{animation:alert-group-in var(--duration-slow) var(--ease-out) both;background:radial-gradient(circle at 100% 0,#f9427c1f,#0000 42%),linear-gradient(#ffffffd1 0%,#eff7ffd1 100%)}.tool-dock-section{animation:alert-group-in var(--duration-slow) var(--ease-out) both}.tool-dock-section:hover,.tool-dock-hero:hover{box-shadow:var(--shadow-sm);border-color:#7c8fb13d;transform:translateY(-1px)}.tool-dock-hero-copy,.tool-dock-section-header>div{min-width:0}.tool-dock-hero-meta,.tool-dock-section-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.tool-dock-hero-meta{flex-wrap:wrap}.tool-dock-eyebrow,.tool-dock-section-eyebrow{color:var(--ink-400);letter-spacing:.1em;margin:0 0 .2rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:700}.tool-dock-hero-title,.tool-dock-section-title{color:var(--ink-800)}.tool-dock-hero-title{font-size:1rem;line-height:1.05;display:block}.tool-dock-hero-hint{color:var(--ink-500);margin:.28rem 0 0;font-size:.78rem;line-height:1.45}.tool-dock-section-title{font-size:.82rem;line-height:1.2;display:block}.tool-dock-section-note,.tool-dock-chip{min-width:4.6rem;min-height:28px;color:var(--ink-500);text-align:center;white-space:nowrap;background:#0d1b2e0f;border-radius:999px;justify-content:center;align-items:center;padding:.24rem .62rem;font-family:IBM Plex Mono,monospace;font-size:.66rem;font-weight:700;line-height:1.1;display:inline-flex}.tool-dock-chip-control,.tool-button-tag-control{color:var(--blue);background:#1a6ef51f}.tool-dock-chip-draw,.tool-button-tag-draw{color:var(--accent);background:#f9427c1f}.tool-dock-chip-shape,.tool-button-tag-shape{color:var(--warning);background:#e8920024}.tool-dock-chip-erase,.tool-button-tag-erase{color:var(--danger);background:#e02d5a1f}.tool-dock-grid{grid-template-columns:repeat(2,1fr);gap:.55rem;display:grid}.tool-dock-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.tool-button{min-width:0;min-height:76px;color:var(--ink-800);text-align:left;transition:transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);will-change:transform;background:linear-gradient(#fffffff5 0%,#ecf4ffe6 100%);border:1px solid #c8d7ebb8;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.4rem;padding:.7rem .72rem;font-size:.72rem;font-weight:700;display:flex;position:relative;overflow:hidden}.tool-button:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff3d,#0000 60%);position:absolute;inset:0}.tool-button:hover:not(:disabled):not(.tool-button-active){box-shadow:var(--shadow-sm);background:linear-gradient(#fff 0%,#e8f2ffeb 100%);border-color:#7c8fb147;transform:translateY(-1px)}.tool-button:active:not(:disabled){box-shadow:none;transform:scale(.96)}.tool-button-small{text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:.25rem;min-height:44px;font-size:.68rem}.tool-button-active{color:#fff;background:radial-gradient(circle at 100% 0,#f9427c3d,#0000 48%),linear-gradient(135deg,#10213d 0%,#1a3a6e 100%);border-color:#ffffff14;box-shadow:0 6px 18px #0d1b2e38,0 0 0 1px #f9427c1f}.tool-button-label{font-size:.8rem;font-weight:700;line-height:1.1}.tool-button-topline{justify-content:space-between;align-items:flex-start;gap:.45rem;width:100%;display:flex}.tool-button-tag{letter-spacing:.04em;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.18rem .45rem;font-family:IBM Plex Mono,monospace;font-size:.58rem;font-weight:700;display:inline-flex}.tool-button-hint{color:var(--ink-500);font-size:.68rem;font-weight:600;line-height:1.35}.tool-button-small .tool-button-hint{display:none}.tool-button.danger{color:var(--danger)}.tool-button.danger:hover:not(:disabled):not(.tool-button-active){background:var(--danger-light);border-color:#e02d5a4d}.tool-button-active .tool-button-hint,.tool-button-active .tool-button-tag{color:#ffffffdb}.tool-button-active .tool-button-tag{background:#ffffff1f}.tool-button:disabled{opacity:.55}.tool-badge{color:currentColor;text-align:center;font-variant-numeric:tabular-nums;background:#0d1b2e14;border-radius:999px;justify-content:center;align-self:center;align-items:center;min-width:1.8rem;min-height:1.8rem;padding:0 .35rem;font-family:IBM Plex Mono,monospace;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}@container (width<=230px){.tool-dock{gap:.65rem;padding:.6rem}.tool-dock-hero,.tool-dock-section{gap:.55rem;padding:.72rem}.tool-dock-hero-meta,.tool-dock-section-header,.tool-button-topline{flex-direction:column;align-items:flex-start}.tool-dock-section-note,.tool-dock-chip{align-self:flex-start;min-width:0}.tool-dock-grid,.tool-dock-actions{gap:.45rem}.tool-button{min-height:68px;padding:.62rem}.tool-button-label{font-size:.74rem}.tool-button-hint,.tool-button-tag{display:none}.tool-button-small{gap:.2rem;min-height:42px;padding:.55rem}.tool-badge{min-width:1.7rem;min-height:1.7rem;font-size:.6rem}}.panel-card{border-radius:var(--radius-lg);background:#ffffffd1;border-color:#c8daf080;min-width:0;padding:.875rem}.panel-header{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.panel-header h3{letter-spacing:-.01em;color:var(--ink-800);margin:0;font-size:.9rem;font-weight:700}.filter-row,.toggle-stack,.inspector-actions,.upload-row{flex-wrap:wrap;gap:.4rem;display:flex}.filter-pill{border:1px solid var(--line-strong);min-height:30px;color:var(--ink-500);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:#ffffffbf;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;font-weight:600}.filter-pill:hover:not(.active){border-color:var(--ink-200);color:var(--ink-700);background:#fffffff2}.filter-pill.active{background:var(--accent-light);color:var(--accent);border-color:#f9427c4d;font-weight:700}.asset-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.asset-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.3rem!important}.asset-grid--compact .asset-card{gap:.15rem!important;padding:.35rem!important}.asset-grid--compact .asset-card img{object-fit:cover!important;width:36px!important;height:27px!important}.asset-grid--compact .asset-card span{white-space:nowrap!important;text-overflow:ellipsis!important;text-align:center!important;width:100%!important;font-size:.62rem!important;overflow:hidden!important}.asset-card{border-radius:var(--radius-md);border:1.5px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:pan-y;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);cursor:pointer;background:#ffffffd9;flex-direction:column;align-items:center;gap:.4rem;padding:.65rem .5rem;display:flex}.asset-card:hover:not(.active){box-shadow:var(--shadow-sm);border-color:var(--ink-200);background:#fff;transform:translateY(-2px)}.asset-card img{object-fit:contain;pointer-events:none;width:48px;height:48px}.asset-card span{text-align:center;overflow-wrap:anywhere;color:var(--ink-600);font-size:.72rem;font-weight:500;line-height:1.3}.asset-card.active{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 2px var(--accent-light)}.asset-drag-ghost{z-index:60;pointer-events:none;border-radius:var(--radius-md);background:var(--surface-dark);color:#fff;box-shadow:var(--shadow-xl);align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.8rem;font-weight:700;display:inline-flex;position:fixed;transform:translate(-50%,-50%)}.asset-drag-ghost img{object-fit:contain;width:30px;height:30px}.asset-drag-ghost span{overflow-wrap:anywhere;max-width:160px}.share-box{border-radius:var(--radius-md);border:1px solid var(--line);background:#0d1b2e0a;flex-direction:column;gap:.55rem;min-width:0;padding:.85rem;display:flex}.share-box-label,.share-box-note{color:var(--ink-400);margin:0;font-size:.8rem}.field-note{color:var(--ink-400);margin:-.15rem 0 0;font-size:.8rem;line-height:1.4}.share-box .button-row{grid-template-columns:1fr;display:grid}.share-box .inline-link{max-width:100%;display:block}.switch-row{border-radius:var(--radius-md);border:1px solid var(--line);transition:background-color var(--duration-fast) var(--ease-out);background:#fff9;justify-content:space-between;align-items:center;gap:.875rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.switch-row:hover{background:#ffffffe6}.switch-row span{flex:1;min-width:0}.inspector-fields{flex-direction:column;gap:.65rem;display:flex}.map-stage{background-color:#a8d4f5;background-position:50%;background-size:cover;width:100%;height:100%;min-height:100%;position:relative}.scene-bar{z-index:34;pointer-events:none;flex-wrap:wrap;align-items:flex-start;gap:.55rem;display:flex;position:absolute;top:.875rem;left:.875rem;right:.875rem}.scene-bar-group{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);pointer-events:auto;background:#f8fcffe0;border:1px solid #ffffff80;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.55rem .75rem;display:flex}.scene-bar-group-focus{margin-left:auto}.scene-bar-label{color:var(--ink-400);text-transform:uppercase;letter-spacing:.14em;margin-right:.05rem;font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:700}.scene-chip{border:1.5px solid var(--line-strong);min-height:34px;color:var(--ink-800);transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);will-change:transform;background:#ffffffe6;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:700}.scene-chip:hover:not(:disabled){border-color:var(--ink-200);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.scene-chip:active:not(:disabled){transform:scale(.97)}.scene-chip.active{color:#fff;background:linear-gradient(135deg,#0d1b2e,#1a3a6e);border-color:#0000;box-shadow:0 4px 12px #0d1b2e33}.scene-chip:disabled{opacity:.45}.scene-bar-note{border-radius:var(--radius-md);color:var(--ink-600);pointer-events:auto;background:#0d1b2e12;margin:0;padding:.55rem .75rem;font-size:.8rem}.map-surface{will-change:transform;contain:layout style;width:100%;height:100%;position:absolute;inset:0}.workspace-map-panel .map-surface{z-index:1;height:100%;min-height:0}.map-tab-restore-overlay{z-index:32;pointer-events:none;opacity:0;visibility:hidden;background:0 0;position:absolute;inset:0;overflow:hidden}.map-tab-restore-overlay[data-restore-overlay=frame]{opacity:1;visibility:visible;background:0 0}.map-tab-restore-overlay[data-restore-overlay=scrim]{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:linear-gradient(#141d341f,#141d3433),radial-gradient(circle at 0 0,#ffffff1f,#0000 36%)}.map-tab-restore-overlay-canvas{width:100%;height:100%;display:block}.map-tool-eraser .map-surface{cursor:none}.eraser-cursor{pointer-events:none;z-index:1000;background:#dc3c3c1f;border:2px solid #dc3c3ccc;border-radius:50%;transition:width .15s,height .15s;position:fixed;transform:translate(-50%,-50%)}.viewer-page .map-surface{height:calc(100vh - 140px);min-height:640px}.map-error{z-index:30;max-width:400px;position:absolute;top:5.5rem;left:.875rem}.selection-hud{z-index:35;background:var(--surface-dark);box-shadow:var(--shadow-lg);animation:hud-in var(--duration-base) var(--ease-spring) both;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem;display:inline-flex;position:absolute;transform:translate(-50%,-110%)}@keyframes hud-in{0%{opacity:0;transform:translate(-50%,-80%)}to{opacity:1;transform:translate(-50%,-110%)}}.selection-hud-button{color:#fff;width:32px;height:32px;transition:background-color var(--duration-fast) var(--ease-out);background:#ffffff1f;border:0;border-radius:999px;font-size:1rem;font-weight:800}.selection-hud-button:hover{background:#ffffff38}.selection-hud-button:disabled{opacity:.45;cursor:not-allowed}.selection-hud-rotate{font-size:.9rem}.selection-hud-lock{letter-spacing:.03em;width:auto;min-width:78px;padding-inline:.8rem;font-size:.76rem;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff24}.selection-hud-lock-open{background:#0d9e7a80!important}.selection-hud-lock-open:hover{background:#0d9e7ab8!important}.selection-hud-lock-locked{background:#e0912d85!important}.selection-hud-lock-locked:hover{background:#e0912dbd!important}.selection-hud-value{text-align:center;color:#fff;min-width:48px;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:700}.selection-hud-divider{background:#ffffff40;width:1px;height:20px;margin:0 .1rem}.selection-hud-delete{font-size:.8rem;background:#e02d5a59!important}.selection-hud-delete:hover{background:#e02d5a99!important}.selection-hud-confirm{font-size:.9rem;background:#0d9e7a59!important}.selection-hud-confirm:hover{background:#0d9e7a99!important}.selection-drag-preview{z-index:34;max-width:180px;box-shadow:var(--shadow-lg);color:#fff;pointer-events:none;animation:hud-in var(--duration-base) var(--ease-spring) both;background:#0d1b2ee6;border:1px solid #ffffff2e;border-radius:18px;align-items:center;gap:.55rem;padding:.45rem .7rem;display:inline-flex;position:absolute;transform:translate(-50%,-235%)}.selection-drag-preview img{object-fit:contain;flex-shrink:0;width:34px;height:34px}.selection-drag-preview-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;font-weight:700;line-height:1.2;overflow:hidden}.inline-text-overlay{z-index:36;animation:hud-in var(--duration-base) var(--ease-spring) both;flex-direction:column;gap:.35rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.inline-text-input{border:2px solid var(--accent);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:200px;max-width:360px;min-height:56px;color:var(--ink-900);resize:vertical;box-shadow:var(--shadow-lg);background:#fffffff5;outline:none;padding:.6rem .75rem;font-family:Sora,sans-serif;font-size:.95rem;font-weight:600}.inline-text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-lg)}.inline-text-actions{justify-content:center;gap:.3rem;display:flex}.inline-text-btn{color:#fff;cursor:pointer;width:36px;height:36px;transition:background-color var(--duration-fast) var(--ease-out);border:0;border-radius:999px;font-size:1rem;font-weight:800}.inline-text-cancel{background:#e02d5abf}.inline-text-cancel:hover{background:#e02d5af2}.inline-text-confirm{background:#0d9e7abf}.inline-text-confirm:hover{background:#0d9e7af2}.pen-color-row{flex-direction:column;align-items:stretch;gap:.75rem;padding:0;display:flex}.pen-color-label{color:var(--ink-500);white-space:nowrap;font-size:.7rem;font-weight:600}.pen-color-current{align-items:center;gap:.55rem;display:inline-flex}.pen-color-current-swatch{width:18px;height:18px;box-shadow:var(--shadow-xs);border:2px solid #ffffffdb;border-radius:50%}.pen-color-swatches{flex-wrap:wrap;gap:.45rem;display:flex}.pen-color-swatch{cursor:pointer;width:30px;height:30px;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-xs);border:2px solid #ffffffeb;border-radius:999px}.pen-color-swatch:hover{border-color:var(--ink-400);transform:translateY(-1px)scale(1.08)}.pen-color-swatch--active{box-shadow:0 0 0 3px var(--accent-light), var(--shadow-sm);transform:translateY(-1px)scale(1.08);border-color:var(--accent)!important}.eraser-size-row{flex-direction:column;gap:.8rem;padding:0;display:flex}.eraser-size-label{color:var(--ink-500);font-size:.7rem;font-weight:600}.eraser-size-controls{align-items:center;gap:.6rem;display:flex}.eraser-size-slider{appearance:none;background:linear-gradient(90deg, var(--accent) 0%, var(--accent) var(--eraser-range-pct), var(--ink-200) var(--eraser-range-pct), var(--ink-200) 100%);border-radius:3px;outline:none;flex:1;height:6px;margin:0}.eraser-size-slider::-webkit-slider-runnable-track{background:0 0;border-radius:999px;height:6px}.eraser-size-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);width:18px;height:18px;box-shadow:var(--shadow-xs);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);border:2px solid #fff;border-radius:50%;margin-top:-6px}.eraser-size-slider::-moz-range-thumb{background:var(--accent);width:18px;height:18px;box-shadow:var(--shadow-xs);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);border:2px solid #fff;border-radius:50%}.eraser-size-slider:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.12)}.eraser-size-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.12)}.eraser-size-slider:hover::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.12)}.eraser-size-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.12)}.eraser-size-slider::-moz-range-track{background:var(--ink-200);border-radius:999px;height:6px}.eraser-size-slider::-moz-range-progress{background:var(--accent);border-radius:999px;height:6px}.eraser-size-value{color:var(--ink-400);text-align:right;min-width:32px;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600}.eraser-size-preview{justify-content:space-between;align-items:center;gap:.8rem;padding:.2rem 0;display:flex}.eraser-preview-circle{background:#dc3c3c1f;border:2px solid #dc3c3cb3;border-radius:50%;display:block;box-shadow:inset 0 1px #ffffff4d}.viewer-page{flex-direction:column;gap:.875rem;display:flex}.inline-link{overflow-wrap:anywhere;word-break:break-word}.panel-card h2,.panel-card h3,.panel-card p,.panel-card span,.panel-card label{overflow-wrap:anywhere;min-width:0}.viewer-page .map-stage{flex:1;min-height:calc(100vh - 140px)}.map-attribution{z-index:12;color:var(--ink-600);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);background:#ffffffe0;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.65rem;font-weight:600;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem}.map-attribution a{color:inherit}.live-basemap-layer canvas,.live-basemap-layer .ol-mapbox-style-background{transition:filter .2s}.map-theme-broadcast_blue .live-basemap-layer canvas,.map-theme-broadcast_blue .live-basemap-layer .ol-mapbox-style-background{filter:none}.map-theme-paper_light .live-basemap-layer canvas,.map-theme-paper_light .live-basemap-layer .ol-mapbox-style-background{filter:saturate(.8)brightness(1.06)contrast(.94)}.map-theme-midnight .live-basemap-layer canvas,.map-theme-midnight .live-basemap-layer .ol-mapbox-style-background{filter:brightness(.7)saturate(.75)contrast(1.08)}.site-credit{color:var(--ink-400);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.8rem;display:flex}.site-credit-link{color:var(--ink-600);text-underline-offset:.18em;transition:color var(--duration-fast) var(--ease-out);font-weight:700;text-decoration:underline}.site-credit-link:hover{color:var(--accent)}.auth-page-footer{grid-column:1/-1;justify-content:center;padding-bottom:.25rem}.page-credit{justify-content:center;margin-top:1rem}.workspace-credit{text-align:center;justify-content:center;margin-top:.5rem}.shell-fallback{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.shell-fallback-card{border-radius:var(--radius-2xl);background:var(--surface-1);-webkit-backdrop-filter:blur(20px);width:min(580px,100%);box-shadow:var(--shadow-lg);border:1px solid #fff9;flex-direction:column;gap:.875rem;padding:2rem;display:flex}.error-card{border-color:#e02d5a33}@media (width<=1180px){.auth-page{grid-template-columns:1fr}.auth-card{order:-1}.auth-page-footer{justify-content:flex-start}}@media (width<=980px){.workspace-page{height:auto;overflow:visible}.workspace-shell{grid-template-columns:1fr;overflow:visible}.workspace-map-panel{min-height:max(580px,55vh)}.workspace-sidebar{height:auto;min-height:auto;animation:sidebar-up var(--duration-slow) var(--ease-out) both}@keyframes sidebar-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.scene-bar-group-focus{margin-left:0}}@media (width<=640px){.workspace-sidebar{border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:50;height:auto;max-height:70vh;padding-bottom:calc(.875rem + env(safe-area-inset-bottom));animation:drawer-up var(--duration-slow) var(--ease-out) both;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -20px 60px #0d1b2e29}@keyframes drawer-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.workspace-sidebar:before{content:"";background:var(--line-strong);border-radius:999px;width:36px;height:3px;margin:0 auto .6rem;display:block}.workspace-map-panel{min-height:28vh}.sidebar-quick-nav{grid-template-columns:repeat(3,1fr)}}@media (width<=580px){.sidebar-quick-nav{grid-template-columns:repeat(2,1fr)}.scene-bar{left:.6rem;right:.6rem}.scene-bar-group{width:100%}}@media (width<=820px){.auth-page,.dashboard-page,.workspace-page,.viewer-page{padding:.75rem}.auth-hero,.auth-card{border-radius:24px;padding:1.25rem}.auth-hero-topbar{flex-direction:column}.auth-hero-status{width:100%}.auth-metric-grid{grid-template-columns:1fr}.auth-hero-image{min-height:260px}.auth-button-row{flex-direction:column}.dashboard-header,.workspace-topbar,.viewer-header{flex-direction:column;align-items:flex-start}}@media (width<=640px){.auth-hero h1{max-width:none;font-size:clamp(2rem,11vw,3rem)}.auth-hero-image{min-height:220px}.auth-card-shell{width:100%}}.sidebar-quick-nav-button--active{color:#fff!important;background:linear-gradient(135deg,#0d1b2e,#1a3a6e)!important;border-color:#0000!important;box-shadow:0 4px 12px #0d1b2e33!important}.sidebar-nav-icon{font-size:.85rem;line-height:1}.sidebar-nav-label{letter-spacing:.05em;font-size:.62rem;font-weight:700}.sidebar-quick-nav-button{flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.4rem .3rem;display:flex}.workspace-topbar-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.workspace-alert-info{background:var(--blue-light);color:var(--blue);border-color:#1a6ef52e}.workspace-alert-warning{color:var(--warning);background:#e8920014;border-color:#e8920033}.workspace-page .workspace-sidebar-container{flex-direction:row;align-items:stretch;gap:0;min-width:0;height:100%;min-height:0;display:flex}.workspace-page .sidebar-icon-bar{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);width:62px;min-width:62px;box-shadow:var(--shadow-md);scrollbar-width:none;background:#f0f6ffeb;border:1px solid #fff9;flex-direction:column;flex-shrink:0;align-items:center;gap:.25rem;padding:.6rem .4rem;display:flex;overflow-y:auto}.workspace-page .sidebar-icon-bar::-webkit-scrollbar{display:none}.workspace-page .sidebar-icon-bar-spacer{flex:1}.workspace-page .sidebar-icon-btn{border-radius:var(--radius-md);width:48px;min-height:52px;color:var(--ink-500);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);will-change:transform;background:0 0;border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;padding:.4rem .2rem;display:flex}.workspace-page .sidebar-icon-btn:hover{color:var(--ink-800);border-color:var(--line);box-shadow:var(--shadow-xs);background:#ffffffe6;transform:translateY(-1px)}.workspace-page .sidebar-icon-btn--active{color:#fff!important;background:linear-gradient(135deg,#0d1b2e,#1a3a6e)!important;border-color:#0000!important;transform:none!important;box-shadow:0 4px 14px #0d1b2e38!important}.workspace-page .sidebar-icon-btn-icon{justify-content:center;align-items:center;width:1.1rem;height:1.1rem;line-height:1;display:inline-flex}.workspace-page .sidebar-icon-glyph{width:1.05rem;height:1.05rem;display:block}.workspace-page .sidebar-icon-btn-label{letter-spacing:.02em;text-transform:none;text-align:center;font-family:IBM Plex Mono,monospace;font-size:.55rem;font-weight:700;line-height:1.1}.workspace-page .sidebar-credit{opacity:.4;padding:.4rem 0;font-size:0}.workspace-page .sidebar-panel{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);width:100%;min-width:0;height:100%;min-height:0;box-shadow:var(--shadow-md);will-change:transform, opacity;background:#f0f6ffeb;border:1px solid #fff9;flex:1;margin-left:.5rem;animation:.18s cubic-bezier(.22,1,.36,1) both panel-slide-in;overflow:hidden auto}@keyframes panel-slide-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.workspace-page .sidebar-panel::-webkit-scrollbar{width:3px}.workspace-page .sidebar-panel::-webkit-scrollbar-track{background:0 0}.workspace-page .sidebar-panel::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.workspace-page .sidebar-panel-inner{flex-direction:column;gap:.75rem;width:100%;min-width:0;padding:.875rem;display:flex}.workspace-page .sidebar-panel-inner--flush>*{max-width:100%;overflow:hidden;box-shadow:none!important;border:none!important;border-radius:0!important}.workspace-page .sidebar-panel-title{letter-spacing:.08em;text-transform:none;color:var(--ink-400);margin:0;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:700}.workspace-page .sidebar-panel-desc{color:var(--ink-500);margin:0;font-size:.8rem;line-height:1.4}.workspace-shell{grid-template-columns:minmax(0,1fr) auto!important}@media (width<=980px){.workspace-sidebar-container{flex-direction:column}.sidebar-icon-bar{border-radius:var(--radius-xl);flex-direction:row;width:100%;height:58px;min-height:58px;padding:.4rem .6rem;overflow:auto hidden}.sidebar-icon-btn{flex-direction:row;gap:.3rem;min-width:52px;min-height:44px}.sidebar-icon-btn-label{font-size:.6rem}.sidebar-panel{height:auto;max-height:50vh;margin-top:.5rem;margin-left:0}.sidebar-icon-bar-spacer,.sidebar-credit{display:none}}.asset-card{border-radius:var(--radius-sm)!important;text-align:left!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:.6rem!important;padding:.45rem .65rem!important}.asset-card img{flex-shrink:0;object-fit:cover!important;border-radius:2px!important;width:24px!important;height:18px!important}.asset-card span{white-space:nowrap!important;text-overflow:ellipsis!important;color:var(--ink-700)!important;font-size:.78rem!important;font-weight:600!important;line-height:1!important;overflow:hidden!important}.asset-card.active{background:var(--accent-light)!important;border-color:var(--accent)!important}.asset-card.active span{color:var(--accent)!important}.sidebar-panel-inner--flush{padding:.875rem!important}.sidebar-panel-inner--flush>*{border-radius:var(--radius-lg)!important;box-shadow:none!important;border:1px solid #c8daf080!important}.asset-card{border-radius:var(--radius-sm)!important;text-align:center!important;flex-direction:column!important;align-items:center!important;gap:.25rem!important;padding:.5rem .3rem!important}.asset-card img{object-fit:cover!important;border-radius:3px!important;width:32px!important;height:24px!important}.asset-card span{white-space:nowrap!important;text-overflow:ellipsis!important;text-align:center!important;width:100%!important;font-size:.65rem!important;line-height:1.1!important;overflow:hidden!important}.sidebar-panel{flex:none!important;width:240px!important;overflow-x:hidden!important}.sidebar-panel-inner--flush{padding:.75rem!important;overflow:hidden!important}.sidebar-panel-inner--flush>*{border-radius:var(--radius-lg)!important;box-shadow:none!important;border:1px solid #c8daf080!important;max-width:100%!important;overflow:hidden!important}.filter-row{flex-wrap:wrap!important}.asset-grid{grid-template-columns:1fr!important;gap:.2rem!important}.asset-card{border-radius:var(--radius-sm)!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:.55rem!important;width:100%!important;min-width:0!important;padding:.4rem .6rem!important}.asset-card span{white-space:nowrap!important;text-overflow:ellipsis!important;text-align:left!important;flex:1!important;min-width:0!important;font-size:.75rem!important;overflow:hidden!important}.asset-card img{object-fit:contain!important;border-radius:2px!important;flex-shrink:0!important;width:32px!important;height:32px!important}@media (width>=981px) and (width<=1200px){.workspace-shell{grid-template-columns:minmax(0,1fr) minmax(330px,384px)}.workspace-sidebar-container{min-width:330px}.sidebar-icon-bar{width:68px}.sidebar-panel{width:256px!important}}.workspace-page .workspace-shell{grid-template-columns:minmax(0,1fr) clamp(308px,24vw,384px)!important}.workspace-page .workspace-sidebar-container{min-width:0}.workspace-page .sidebar-panel{min-width:0;flex:auto!important;width:100%!important}.workspace-page .sidebar-panel-inner--flush{width:100%;min-width:0;padding:.875rem!important;overflow-x:hidden!important}.workspace-page .sidebar-panel-inner--flush>*{border-radius:var(--radius-lg)!important;box-shadow:none!important;border:1px solid #c8daf080!important;max-width:100%!important;overflow:hidden!important}.workspace-page .filter-row{flex-wrap:wrap!important}@media (width>=960px) and (width<=1279px){.workspace-page{gap:.6rem;height:100vh;padding:.75rem;overflow:hidden}.workspace-page .workspace-shell{overflow:hidden;grid-template-columns:minmax(0,1fr) clamp(248px,30vw,320px)!important}.workspace-page .workspace-topbar{gap:.65rem;padding:.72rem .92rem}.workspace-page .workspace-topbar-info{flex:auto;gap:.06rem}.workspace-page .workspace-topbar .eyebrow{letter-spacing:.14em;margin-bottom:.12rem;font-size:.62rem}.workspace-page .workspace-topbar h1{font-size:clamp(1.08rem,2.15vw,1.34rem);line-height:1.02}.workspace-page .workspace-topbar .lede{font-size:.84rem}.workspace-page .workspace-map-panel,.workspace-page .workspace-sidebar{height:100%;min-height:0}.workspace-page .workspace-topbar-meta{flex-wrap:wrap;flex:0 auto;justify-content:flex-start;align-items:center;gap:.45rem;width:auto;margin-left:auto;display:flex}.workspace-page .workspace-topbar-meta>.secondary-button{width:auto;min-height:40px;padding:.48rem .95rem;font-size:.82rem}.workspace-page .lock-pill{white-space:nowrap;text-overflow:ellipsis;grid-column:auto;max-width:min(100%,320px);overflow:hidden}.workspace-page .workspace-sidebar-container{flex-direction:column;min-width:0;height:auto}.workspace-page .sidebar-icon-bar{border-radius:var(--radius-xl);scrollbar-width:thin;scrollbar-color:#405f976b transparent;flex-direction:row;align-items:center;gap:.4rem;width:100%;min-width:0;height:58px;min-height:58px;padding:.4rem .6rem;position:relative;overflow:auto hidden}.workspace-page .sidebar-icon-btn{flex-direction:row;flex:none;gap:.3rem;width:auto;min-width:72px;min-height:44px}.workspace-page .sidebar-icon-btn-label{font-size:.6rem}.workspace-page .sidebar-panel{height:auto;max-height:calc(100vh - 13rem);margin-top:.5rem;margin-left:0}.workspace-page .sidebar-icon-bar-spacer,.workspace-page .sidebar-credit{display:none}.workspace-page .save-badge{min-width:0;padding:.28rem .72rem;font-size:.64rem}.workspace-page .tool-dock-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-page .asset-grid{grid-template-columns:1fr!important;gap:.35rem!important}.workspace-page .asset-card{text-align:left!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:.55rem!important;min-width:0!important;padding:.5rem .6rem!important}.workspace-page .asset-card img{object-fit:contain!important;flex-shrink:0!important;width:28px!important;height:28px!important}.workspace-page .asset-card span{text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;flex:1!important;min-width:0!important;overflow:hidden!important}}@media (width<=959px){.workspace-page{height:auto;overflow:visible}.workspace-page .workspace-topbar{justify-content:flex-start;gap:.7rem;padding:.8rem .95rem}.workspace-page .workspace-topbar-info{flex:0 auto;gap:.08rem}.workspace-page .workspace-topbar .eyebrow{letter-spacing:.14em;margin-bottom:.15rem;font-size:.62rem}.workspace-page .workspace-topbar h1{font-size:clamp(.98rem,4.8vw,1.28rem);line-height:1.02}.workspace-page .workspace-topbar .lede{font-size:.82rem}.workspace-page .save-badge{min-width:122px;padding-inline:.7rem}.workspace-page .lock-pill{max-width:min(100%,320px)}.workspace-page .workspace-shell{overflow:visible;grid-template-columns:1fr!important}.workspace-page .workspace-map-panel{height:clamp(360px,48vh,520px);min-height:clamp(360px,48vh,520px)}.workspace-page .workspace-topbar-meta{flex-basis:100%;grid-template-columns:max-content max-content max-content;justify-content:flex-start;align-items:center;width:100%;display:grid}.workspace-page .workspace-topbar-meta>.secondary-button{width:auto}.workspace-page .lock-pill{white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;overflow:hidden}.workspace-page .workspace-sidebar-container{flex-direction:column;height:auto}.workspace-page .workspace-sidebar{margin-top:.1rem}.workspace-page .sidebar-icon-bar{border-radius:var(--radius-xl);scrollbar-width:thin;scrollbar-color:#405f976b transparent;flex-direction:row;gap:.4rem;width:100%;min-width:0;height:58px;min-height:58px;padding:.4rem .6rem;position:relative;overflow:auto hidden}.workspace-page .sidebar-icon-bar:before,.workspace-page .sidebar-icon-bar:after{z-index:1;color:#395689d1;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:28px;font-family:IBM Plex Mono,monospace;font-size:.9rem;font-weight:700;transition:opacity .14s;display:flex;position:absolute;top:6px;bottom:10px}.workspace-page .sidebar-icon-bar:before{content:"‹";background:linear-gradient(90deg,#f1f6fff5,#f1f6ff00);justify-content:flex-start;padding-left:.35rem;left:0}.workspace-page .sidebar-icon-bar:after{content:"›";background:linear-gradient(270deg,#f1f6fff5,#f1f6ff00);justify-content:flex-end;padding-right:.35rem;right:0}.workspace-page .sidebar-icon-bar--scroll-left:before,.workspace-page .sidebar-icon-bar--scroll-right:after{opacity:1}.workspace-page .sidebar-icon-bar::-webkit-scrollbar{height:6px;display:block}.workspace-page .sidebar-icon-bar::-webkit-scrollbar-track{background:0 0}.workspace-page .sidebar-icon-bar::-webkit-scrollbar-thumb{background:#405f9747;border-radius:999px}.workspace-page .sidebar-icon-bar::-webkit-scrollbar-thumb:hover{background:#405f976b}.workspace-page .sidebar-icon-btn{flex-direction:row;flex:none;gap:.3rem;min-width:72px;min-height:44px;padding-inline:.55rem}.workspace-page .sidebar-icon-btn-label{white-space:nowrap;font-size:.6rem}.workspace-page .sidebar-panel{align-self:stretch;height:auto;max-height:min(55vh,720px);margin-top:.5rem;margin-left:0;max-width:none!important}.workspace-page .sidebar-panel--briefing,.workspace-page .sidebar-panel--missiles,.workspace-page .sidebar-panel--alerts{width:100%!important;max-width:none!important}.workspace-page .sidebar-icon-bar-spacer,.workspace-page .sidebar-credit{display:none}.workspace-page .tool-dock-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-page .asset-grid{grid-template-columns:1fr!important;gap:.35rem!important}.workspace-page .asset-card{text-align:left!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:.55rem!important;min-width:0!important;padding:.5rem .6rem!important}.workspace-page .asset-card img{object-fit:contain!important;flex-shrink:0!important;width:28px!important;height:28px!important}.workspace-page .asset-card span{text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;flex:1!important;min-width:0!important;overflow:hidden!important}}@media (width>=700px) and (width<=959px){.workspace-page .workspace-topbar-meta{flex-wrap:wrap;flex:0 auto;place-content:flex-start;gap:.45rem;width:auto;margin-left:auto;display:flex}.workspace-page .workspace-topbar-meta>.secondary-button{min-height:40px;padding:.48rem .95rem;font-size:.82rem}.workspace-page .save-badge{min-width:0;padding:.28rem .72rem;font-size:.64rem}.workspace-page .lock-pill{white-space:nowrap;text-overflow:ellipsis;grid-column:auto;max-width:min(100%,320px);overflow:hidden}.workspace-page .missile-panel-header,.workspace-page .alerts-panel-header,.workspace-page .briefing-panel .version-panel-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:.9rem}.workspace-page .missile-panel-header>div:first-child,.workspace-page .alerts-panel-header>div:first-child,.workspace-page .briefing-panel .version-panel-header>div:first-child{flex:auto;min-width:0}.workspace-page .missile-country-tabs{flex:0 0 min(280px,100%);width:min(280px,100%)}.workspace-page .alerts-master-toggle{width:auto;min-width:168px}.workspace-page .missile-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.9rem;display:grid}.workspace-page .missile-panel-header,.workspace-page .missile-launch-actions,.workspace-page .missile-category-stack{grid-column:1/-1}.workspace-page .alerts-status-row{flex-wrap:wrap;justify-content:flex-start}.workspace-page .alerts-audio-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.workspace-page .alerts-audio-note,.workspace-page .alerts-clear-button,.workspace-page .alerts-audio-controls>.alerts-volume-control:last-of-type{grid-column:1/-1}.workspace-page .alerts-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.workspace-page .briefing-panel-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-page .briefing-panel-mode-row{flex-flow:wrap;align-items:center}.workspace-page .briefing-panel-mode-row .panel-empty{flex:240px;margin:0}.workspace-page .briefing-slide-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.workspace-page .briefing-slide-card{height:100%}}@media (width<=700px){.workspace-page .workspace-topbar{gap:.58rem;padding:.72rem .82rem}.workspace-page .workspace-topbar-info{gap:.02rem}.workspace-page .workspace-topbar .eyebrow{display:none}.workspace-page .workspace-topbar .lede{font-size:.78rem}.workspace-page .workspace-topbar-meta{grid-template-columns:repeat(2,minmax(0,max-content));gap:.4rem}.workspace-page .workspace-topbar-meta>.secondary-button{min-width:0;padding-inline:.9rem}.workspace-page .save-badge{min-width:116px}}@media (width<=560px){.workspace-page .workspace-topbar-meta{grid-template-columns:1fr 1fr;width:100%}.workspace-page .workspace-topbar-meta>.secondary-button,.workspace-page .save-badge{width:100%;min-width:0}}@media (orientation:landscape) and (height<=768px) and (width>=700px){.workspace-page{gap:.35rem;padding:.4rem}.workspace-page .workspace-topbar{border-radius:var(--radius-md);flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.35rem .75rem}.workspace-page .workspace-topbar .eyebrow,.workspace-page .workspace-topbar .lede{display:none}.workspace-page .workspace-topbar h1{font-size:clamp(.88rem,1.8vw,1.05rem);line-height:1}.workspace-page .workspace-topbar-info{flex:0 auto;gap:0}.workspace-page .workspace-topbar-meta{flex-wrap:nowrap;flex:none;gap:.35rem;flex-basis:auto!important;width:auto!important;display:flex!important}.workspace-page .workspace-topbar-meta>.secondary-button{white-space:nowrap;padding:.25rem .6rem;font-size:.75rem}.workspace-page .save-badge{white-space:nowrap;min-width:0;padding:.2rem .45rem;font-size:.75rem}.workspace-page .lock-pill{white-space:nowrap;text-overflow:ellipsis;max-width:180px;padding:.2rem .5rem;font-size:.72rem;overflow:hidden;grid-column:auto!important}.workspace-page .workspace-shell{gap:.35rem}.workspace-page .workspace-sidebar{padding:.45rem;gap:.35rem!important}.workspace-page .workspace-alert{padding:.3rem .7rem;font-size:.8rem}}@media (pointer:coarse){.filter-pill,.scene-chip{min-height:42px;padding:.5rem .9rem}.sidebar-icon-btn{min-width:54px;min-height:54px}.tool-button{min-height:56px}.region-checkbox{gap:.45rem;padding:.35rem 0}.region-checkbox input[type=checkbox]{width:20px;height:20px}.tool-button,.filter-pill,.scene-chip,.sidebar-icon-btn{touch-action:manipulation}.sidebar-panel,.workspace-sidebar{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}}.admin-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;display:grid}.admin-card{border-radius:var(--radius-xl);background:var(--surface-1);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md);border:1px solid #fff9;flex-direction:column;gap:.9rem;padding:1rem;display:flex}.admin-card-wide{min-width:0}.admin-card-full{grid-column:1/-1;width:100%}.admin-card-header,.version-panel-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-card-header h2,.version-panel-header h3{margin:0;font-size:1.1rem;line-height:1.1}.admin-form{flex-direction:column;gap:.75rem;display:flex}.admin-form label{color:var(--ink-600);flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}.admin-form input,.admin-form textarea,.admin-form select,.admin-module-editor textarea,.admin-module-editor input,.admin-module-editor select,.admin-table select{border-radius:var(--radius-md);border:1.5px solid var(--line-strong);width:100%;color:var(--ink-900);background:#ffffffe0;padding:.7rem .9rem}.admin-page[data-theme=dark] .admin-form input,.admin-page[data-theme=dark] .admin-form textarea,.admin-page[data-theme=dark] .admin-form select,.admin-page[data-theme=dark] .admin-module-editor textarea,.admin-page[data-theme=dark] .admin-module-editor input,.admin-page[data-theme=dark] .admin-module-editor select,.admin-page[data-theme=dark] .admin-table select{color:var(--ink-900);background:#0a121fe0;border-color:#94b0d62e}.admin-form textarea,.admin-module-editor textarea{resize:vertical;min-height:110px}.admin-module-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.admin-module-editor{border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffff9e;flex-direction:column;gap:1rem;padding:1rem;display:flex}.admin-page[data-theme=dark] .admin-module-editor{background:#0a121f94}.admin-module-editor-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.admin-module-editor-head h3{margin:.2rem 0 0;font-size:1rem}.admin-module-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.admin-module-editor-grid label{color:var(--ink-600);flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}.admin-module-editor-span-2{grid-column:1/-1}.admin-module-editor-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:520px}.admin-table-stats{table-layout:fixed;min-width:0}.admin-table-stats td:first-child{width:68%;min-width:0;color:var(--ink-700);overflow-wrap:anywhere}.admin-table-stats td:last-child{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.admin-table-twitter{table-layout:fixed;min-width:0}.admin-table-twitter-account,.admin-table-twitter-status,.admin-table-twitter-error{overflow-wrap:anywhere}.admin-table-twitter-account{width:34%}.admin-table-twitter-status{white-space:normal;width:28%}.admin-table-twitter-error{opacity:.7;width:38%;font-size:.85em}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.75rem}.admin-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:.72rem}.admin-pagination,.admin-password-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.admin-password-card{flex-direction:column;gap:.8rem;display:flex}.admin-password-value{overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.95rem}.version-panel{flex-direction:column;gap:.8rem;min-width:0;display:flex}.version-list{flex-direction:column;gap:.65rem;display:flex}.version-item{border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffffb8;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.version-item-title{color:var(--ink-800);margin:0 0 .25rem;font-weight:700}.version-item>div{min-width:0}@media (width<=1200px){.sidebar-panel .version-panel-header{flex-direction:column;align-items:stretch;gap:.6rem}.sidebar-panel .version-panel-header .primary-button{width:100%;min-height:40px;padding:.55rem .95rem;font-size:.82rem}.sidebar-panel .version-item{flex-direction:column;align-items:stretch;gap:.55rem;padding:.7rem .75rem}.sidebar-panel .version-item-title{font-size:.92rem}.sidebar-panel .panel-empty{font-size:.8rem;line-height:1.45}.sidebar-panel .version-item .secondary-button{width:100%;min-height:40px;padding:.55rem .95rem;font-size:.82rem}}@media (width<=960px){.admin-grid,.admin-module-editor-grid{grid-template-columns:1fr}}@media (width<=560px){.admin-table-stats td{padding-left:.5rem;padding-right:.5rem}.admin-table-stats td:first-child{width:auto}.admin-table-twitter thead{display:none}.admin-table-twitter,.admin-table-twitter tbody,.admin-table-twitter tr{width:100%;display:block}.admin-table-twitter tbody tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.35rem .8rem;padding:.85rem 0;display:grid}.admin-table-twitter tbody tr:last-child{border-bottom:none}.admin-table-twitter td{border-bottom:none;padding:0}.admin-table-twitter-account{grid-area:1/1;width:auto;font-weight:600}.admin-table-twitter-status{text-align:right;white-space:nowrap;grid-area:1/2;justify-self:end;width:auto}.admin-table-twitter-error{grid-area:2/1/auto/-1;width:auto}.admin-table-twitter-error:before{content:attr(data-label) ": ";letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:.72rem}}.briefing-panel-actions{grid-template-columns:1fr;gap:.55rem;width:100%;display:grid}.briefing-panel-mode-row{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.5rem;margin-bottom:.75rem}.secondary-button-active{background:#f9427c29;border-color:#f9427c59}.briefing-slide-list{flex-direction:column;gap:.65rem;min-width:0;display:flex}.briefing-slide-card{flex-direction:column;align-items:stretch;gap:.75rem}.briefing-slide-card-active{border-color:#f9427c4d;box-shadow:0 14px 30px #435e8d1f}.briefing-slide-select{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.75rem;padding:0;display:flex}.briefing-slide-select>div{width:100%;min-width:0}.briefing-slide-badge{color:#f9427c;background:#f9427c24;border-radius:999px;flex-shrink:0;align-self:flex-start;padding:.2rem .55rem;font-size:.78rem;font-weight:700}.briefing-slide-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.briefing-panel .version-panel-header{flex-direction:column;align-items:stretch}.briefing-panel .version-panel-header>div:first-child,.briefing-panel .version-panel-header>div:first-child h3,.briefing-panel .version-panel-header>div:first-child .eyebrow{min-width:0}.briefing-panel .primary-button,.briefing-panel .secondary-button{width:100%;min-width:0}.briefing-panel .secondary-button,.briefing-panel .primary-button,.briefing-slide-actions .secondary-button{padding-left:.85rem;padding-right:.85rem}.briefing-slide-actions .danger-button{grid-column:1/-1}.sidebar-panel--briefing{max-width:min(340px,100vw - 112px);width:min(340px,100vw - 112px)!important}.sidebar-panel--missiles{max-width:min(360px,100vw - 112px);width:min(360px,100vw - 112px)!important}.sidebar-panel--alerts{max-width:min(340px,100vw - 112px);width:min(340px,100vw - 112px)!important}@media (width>=981px) and (width<=1200px){.sidebar-panel--briefing{max-width:min(356px,100vw - 96px);width:min(356px,100vw - 96px)!important}.sidebar-panel--alerts{max-width:min(340px,100vw - 96px);width:min(340px,100vw - 96px)!important}}@media (width<=420px){.briefing-slide-actions{grid-template-columns:1fr}.briefing-slide-actions .danger-button{grid-column:auto}}.briefing-slide-editor,.briefing-visibility-box,.presenter-notes{background:#ffffffb8;border:1px solid #a0b5d93d;border-radius:1rem;margin-top:.85rem;padding:.9rem 1rem}.presenter-page{gap:1rem}.presenter-header{align-items:flex-start}.presenter-notes{font-size:.98rem;line-height:1.55}.missile-panel{flex-direction:column;gap:.9rem;min-width:0;display:flex}.missile-panel-header{flex-direction:column;align-items:stretch}.missile-country-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.missile-mode-toggle{gap:.55rem}.missile-mode-toggle-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.missile-target-box{background:#ffffffc2;border:1px solid #a0b5d93d;border-radius:1rem;flex-direction:column;gap:.7rem;padding:.95rem 1rem;display:flex}.missile-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.missile-preset-button,.missile-pick-button{width:100%;min-width:0}.missile-target-status{letter-spacing:.04em;border:1px solid #fff9;border-radius:.9rem;padding:.7rem .85rem;font-family:IBM Plex Mono,monospace;font-size:.78rem}.missile-target-status-in{color:#12643a;background:#22c55e1f}.missile-target-status-out{color:#a62323;background:#ef44441a}.missile-target-detail{color:var(--ink-600);margin:0;font-family:IBM Plex Mono,monospace;font-size:.82rem}.missile-launch-site-box{gap:.5rem}.missile-launch-site-label{color:var(--ink-500);font-size:.76rem;font-weight:700;display:block}.missile-launch-site-select{width:100%}.missile-launch-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.missile-launch-actions .primary-button,.missile-launch-actions .secondary-button,.missile-launch-actions .danger-button{width:100%;min-width:0}.missile-category-stack{flex-direction:column;gap:.75rem;display:flex}.missile-category-group{background:#ffffffbd;border:1px solid #a0b5d933;border-radius:1rem;flex-direction:column;gap:.65rem;padding:.9rem .95rem;display:flex}.missile-category-header{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);justify-content:space-between;align-items:center;gap:.75rem;font-family:IBM Plex Mono,monospace;font-size:.76rem;display:flex}.missile-list{flex-direction:column;gap:.55rem;display:flex}.missile-row{background:#f6f9ffe0;border:1px solid #aabedc38;border-radius:.95rem;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:.55rem;padding:.6rem;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.missile-row-selected{border-color:#3b82f647;box-shadow:0 10px 22px #435e8d14}.missile-row-active{border-color:#f9427c52}.missile-row-check{align-items:flex-start;padding-top:.15rem;display:flex}.missile-row-check input{width:18px;height:18px}.missile-row-main{text-align:left;width:100%;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:.45rem;padding:0;display:flex}.missile-row-main:disabled{cursor:default}.missile-row-title,.missile-row-meta{justify-content:space-between;align-items:baseline;gap:.6rem;min-width:0;display:flex}.missile-row-title strong,.missile-row-title span,.missile-row-meta span{min-width:0}.missile-row-title strong{color:var(--ink-900)}.missile-row-title span{color:var(--ink-500);font-size:.78rem}.missile-row-meta{color:var(--ink-500);flex-wrap:wrap;font-size:.76rem}.missile-row-status{color:var(--ink-700);text-transform:uppercase;background:#a0b5d92e;border-radius:999px;align-items:center;padding:.2rem .45rem;font-family:IBM Plex Mono,monospace;display:inline-flex}.missile-row-warning{color:#a62323;font-size:.76rem;font-weight:700}.missile-probability-badge{color:#15803d;background:#22c55e1f;border:1px solid #22c55e33;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.74rem;font-weight:700;display:inline-flex}.missile-hostile-list{flex-direction:column;gap:.45rem;display:flex}.missile-hostile-item{text-align:left;width:100%;min-width:0;color:inherit;background:#f6f9ffe0;border:1px solid #aabedc3d;border-radius:.9rem;flex-direction:column;gap:.25rem;padding:.7rem .85rem;display:flex}.missile-hostile-item span{color:var(--ink-500);font-size:.76rem}.missile-hostile-item-active{border-color:#f9427c52;box-shadow:0 10px 22px #435e8d14}.missile-flight-hud-stack{z-index:13;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.55rem;max-width:min(460px,100% - 2rem);display:flex;position:absolute;top:1rem;right:1rem}.missile-flight-hud{color:#fff;letter-spacing:.05em;-webkit-backdrop-filter:blur(16px);background:#071223d9;border:1px solid #fff3;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;padding:.55rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.76rem;display:inline-flex}.missile-flight-hud-iran{box-shadow:0 8px 24px #dc262638}.missile-flight-hud-israel{box-shadow:0 8px 24px #2563eb38}.missile-flight-outcome{border:1px solid #0000;border-radius:999px;align-items:center;padding:.18rem .45rem;font-weight:700;display:inline-flex}.missile-flight-outcome-success{color:#86efac;background:#22c55e29;border-color:#22c55e42}.missile-flight-outcome-failure{color:#fca5a5;background:#ef444429;border-color:#ef444442}.alerts-panel{flex-direction:column;gap:.85rem;display:flex}.alerts-panel-header{flex-direction:column;align-items:stretch}.alerts-master-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.alerts-master-toggle.is-disabled{cursor:not-allowed}.alerts-master-toggle-input{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.alerts-master-toggle-ui{width:100%;transition:border-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out), background-color var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);background:#f8fbffbd;border:1px solid #7c8fb12e;border-radius:16px;justify-content:space-between;align-items:center;gap:.9rem;padding:.72rem .82rem;display:flex}.alerts-master-toggle:not(.is-disabled):hover .alerts-master-toggle-ui{box-shadow:var(--shadow-xs);border-color:#7c8fb147;transform:translateY(-1px)}.alerts-master-toggle-track{background:var(--ink-200);width:44px;height:24px;transition:background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);border-radius:999px;flex:none;position:relative;box-shadow:inset 0 1px 2px #0d1b2e24}.alerts-master-toggle-knob{width:18px;height:18px;box-shadow:var(--shadow-xs);transition:transform var(--duration-slow) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.alerts-master-toggle-label{color:var(--ink-800);transition:color var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);font-size:.82rem;font-weight:700}.alerts-master-toggle-input:checked+.alerts-master-toggle-ui .alerts-master-toggle-track{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.alerts-master-toggle-input:checked+.alerts-master-toggle-ui .alerts-master-toggle-knob{transform:translate(20px)}.alerts-master-toggle-input:focus-visible+.alerts-master-toggle-ui{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.alerts-master-toggle-input:focus-visible+.alerts-master-toggle-ui .alerts-master-toggle-track{box-shadow:0 0 0 3px var(--accent-light), 0 0 12px var(--accent-glow)}.alerts-master-toggle-input:disabled+.alerts-master-toggle-ui{opacity:.72}.alerts-master-toggle-input:disabled+.alerts-master-toggle-ui .alerts-master-toggle-label{opacity:.6}.alerts-status-row{animation:alert-in var(--duration-slow) var(--ease-out) both;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.alerts-status-chip,.alerts-transport-badge,.alerts-count-badge{border-radius:999px;align-items:center;padding:.28rem .62rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:700;display:inline-flex}.alerts-status-chip-disconnected{color:var(--ink-500);background:#0d1b2e14}.alerts-status-chip-connecting,.alerts-count-badge{background:var(--blue-light);color:var(--blue)}.alerts-transport-badge{color:var(--ink-500);background:#0d1b2e14}.alerts-status-chip-live{background:var(--success-light);color:var(--success);animation:live-chip-pulse 2.5s var(--ease-in-out) infinite}.alerts-status-chip-error{background:var(--danger-light);color:var(--danger)}.alerts-status-note{color:var(--ink-500);margin:0;font-size:.8rem}.alerts-audio-controls{will-change:transform, opacity;background:#f8fbffb3;border:1px solid #7c8fb12e;border-radius:18px;flex-direction:column;gap:.65rem;padding:.8rem .9rem;animation:.18s cubic-bezier(.22,1,.36,1) both panel-slide-in;display:flex}.alerts-audio-group{transition:transform var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out);animation:alert-group-in var(--duration-slow) var(--ease-out) both;will-change:transform, opacity;background:#ffffffad;border:1px solid #7c8fb124;border-radius:14px;flex-direction:column;gap:.55rem;padding:.7rem .75rem;display:flex}.alerts-audio-group-editor{animation-delay:0s}.alerts-audio-group-presentation{animation-delay:60ms}.alerts-audio-group-events{animation-delay:.12s}.alerts-audio-group:hover{box-shadow:var(--shadow-sm);border-color:#7c8fb147;transform:translateY(-1px)}.alerts-audio-group strong{color:var(--ink-800);transition:color var(--duration-base) var(--ease-out);font-size:.84rem}.alerts-audio-toggle,.alerts-volume-control{color:var(--ink-700);justify-content:flex-start;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.alerts-inline-toggle{justify-content:flex-start}.alerts-audio-toggle span,.alerts-volume-control span{transition:opacity var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out)}.alerts-custom-check{appearance:none;border:2px solid var(--ink-300);border-radius:var(--radius-xs);width:18px;height:18px;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:#fffc;flex:none;place-items:center;margin:0;display:grid;box-shadow:inset 0 1px #fff6}.alerts-custom-check:before{content:"";transform-origin:50%;width:5px;height:9px;transition:transform var(--duration-slow) var(--ease-spring);border-bottom:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg)scale(0)}.alerts-custom-check:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.alerts-custom-check:checked:before{transform:rotate(45deg)scale(1)}.alerts-custom-check:focus-visible{box-shadow:0 0 0 3px var(--accent-light);outline:none}.alerts-custom-check:checked:focus-visible{box-shadow:0 0 0 3px var(--accent-light), 0 0 8px var(--accent-glow)}.alerts-custom-check:disabled{box-shadow:none;background:#ffffff80;border-color:#7c8fb133}.alerts-custom-check:disabled+span{opacity:.5}.alerts-volume-control{flex-direction:column;align-items:stretch}.alerts-volume-control span{color:var(--ink-500);font-size:.78rem}.alerts-custom-range{appearance:none;background:linear-gradient(90deg, var(--accent) 0%, var(--accent) var(--range-pct), var(--ink-200) var(--range-pct), var(--ink-200) 100%);border:0;border-radius:999px;outline:none;width:100%;height:6px;margin:0;padding:0}.alerts-custom-range::-webkit-slider-runnable-track{background:0 0;border-radius:999px;height:6px}.alerts-custom-range::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:#fff;border-radius:50%;margin-top:-5px}.alerts-custom-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.2)}.alerts-custom-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.2)}.alerts-custom-range::-moz-range-track{background:var(--ink-200);border-radius:999px;height:6px}.alerts-custom-range::-moz-range-progress{background:var(--accent);border-radius:999px;height:6px}.alerts-custom-range::-moz-range-thumb{border:2px solid var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:#fff;border-radius:50%}.alerts-custom-range:hover::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.2)}.alerts-custom-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-light), var(--shadow-sm);transform:scale(1.2)}.alerts-custom-range:disabled{opacity:.5}.alerts-audio-note{color:var(--ink-500);margin:0;font-size:.76rem;line-height:1.4}.alerts-event-sound-list{flex-direction:column;gap:.65rem;display:flex}.alerts-event-sound-row{transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out);background:linear-gradient(#ffffffd1 0%,#f5f9ffb3 100%);border:1px solid #7c8fb129;border-radius:14px;flex-direction:column;gap:.65rem;padding:.72rem .78rem;display:flex;box-shadow:inset 0 1px #ffffff73}.alerts-event-sound-row:hover{box-shadow:var(--shadow-xs);border-color:#7c8fb142;transform:translateY(-1px)}.alerts-event-sound-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.alerts-event-sound-toggle{flex:auto;min-width:0}.alerts-event-sound-name{min-width:0;color:var(--ink-800);flex:auto;font-weight:600}.alerts-event-sound-state{min-width:4.4rem;color:var(--ink-500);letter-spacing:.02em;transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);background:#0d1b2e0f;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.28rem .62rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:700;display:inline-flex}.alerts-event-sound-state.is-enabled{background:var(--accent-light);color:var(--accent)}.alerts-event-sound-row.is-disabled .alerts-event-sound-state{opacity:.5}.alerts-event-sound-duration{color:var(--ink-500);flex-direction:column;align-items:flex-start;gap:.38rem;padding-left:1.85rem;font-size:.76rem;display:flex}.alerts-volume-control.is-disabled span,.alerts-event-sound-duration.is-disabled span{opacity:.5}.alerts-event-sound-duration select{width:min(100%,9.5rem);min-width:0}.alerts-audio-controls .panel-select{transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out)}.alerts-audio-controls .panel-select:hover:not(:disabled){border-color:var(--accent)}.alerts-audio-controls .panel-select:focus{box-shadow:0 0 0 3px var(--accent-light), var(--shadow-xs)}.alerts-audio-controls .panel-select:disabled{opacity:.65}.alerts-clear-button{width:100%;transition:opacity var(--duration-base) var(--ease-out);justify-content:center}.alerts-clear-button:disabled{opacity:.45}@keyframes live-chip-pulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 8px var(--alerts-live-chip-glow)}}@keyframes alert-group-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.alerts-section{flex-direction:column;gap:.6rem;display:flex}.alerts-section-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.alerts-section-header h4{color:var(--ink-900);margin:0;font-size:.92rem}.alerts-section-header span{color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:.74rem}.alerts-list{flex-direction:column;gap:.55rem;display:flex}.alerts-history-list{max-height:20rem;padding-right:.2rem;overflow-y:auto}.alerts-card{text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #c8daf0b8;border-left:4px solid #0000;border-radius:1rem;align-items:center;gap:.75rem;min-width:0;max-width:100%;padding:.75rem .9rem;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 10px 22px #435e8d0f}button.alerts-card:hover{box-shadow:0 10px 22px #435e8d1f}.alerts-card-rocket{border-left-color:#7f1d1d}.alerts-card-drone{border-left-color:#5b3a29}.alerts-card-early-warning{border-left-color:#7c2d12}.alerts-card-incident-ended{border-left-color:#14532d}.alerts-card-live{background:#dc262612;animation:1.5s ease-in-out infinite card-pulse}@keyframes card-pulse{0%,to{opacity:1}50%{opacity:.85}}.alerts-card-active{border-color:#f9427c52;box-shadow:0 10px 22px #435e8d1f}.alerts-card-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.alerts-card-title{color:var(--ink-900);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.alerts-card-time{color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:.72rem}.alerts-card-area{color:var(--ink-500);font-size:.76rem;line-height:1.35}.alerts-card-icon{--alert-icon-size:1.4rem;width:var(--alert-icon-size);height:var(--alert-icon-size);-webkit-mask-image:var(--alert-icon-mask);mask-image:var(--alert-icon-mask);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--alert-icon-mask);background-color:currentColor;flex-shrink:0;display:inline-block;-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.alerts-city-chips{flex-wrap:wrap;gap:.3rem;padding:0 .75rem .6rem;display:flex}.alerts-city-chip{cursor:pointer;border:none;border-radius:.5rem;padding:.18rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600;line-height:1.4;transition:opacity .12s,transform .1s;display:inline-block}.alerts-city-chip:hover{opacity:.85;transform:scale(1.04)}.alerts-city-chip:active{transform:scale(.97)}.alerts-city-chip-rocket{color:#991b1b;background:#7f1d1d29}.alerts-city-chip-drone{color:#7c4a2f;background:#5b3a292e}.alerts-city-chip-early-warning{color:#b45309;background:#7c2d1229}.alerts-city-chip-incident-ended{color:#15803d;background:#14532d29}.alerts-city-chip-more{color:var(--ink-600,#4a5568);background:#0d1b2e14;font-weight:700}.alerts-card-wrapper{min-width:0;max-width:100%}.alerts-timeline-list{max-height:28rem;padding-right:.2rem;overflow:hidden auto}.incident-focus-panel{--incident-solid:#dc2626e6;--incident-soft:#dc26261f;--incident-overlay-soft:#dc262633;--incident-ink:#b91c1c;--incident-overlay-ink:#fff;flex-direction:column;gap:.75rem;min-width:0;display:flex}.incident-focus-panel-tone-green{--incident-solid:#16a34ae6;--incident-soft:#16a34a24;--incident-overlay-soft:#16a34a3d;--incident-ink:#166534;--incident-overlay-ink:#f8fff9}.incident-focus-panel-tone-orange{--incident-solid:#f59e0be6;--incident-soft:#f59e0b29;--incident-overlay-soft:#f59e0b3d;--incident-ink:#b45309;--incident-overlay-ink:#fffaf0}.incident-focus-panel-sidebar{background:#f8fbffc2;border:1px solid #7c8fb12e;border-radius:1rem;margin-top:.75rem;padding:.85rem .9rem}.incident-focus-panel-overlay{z-index:31;color:#f8fbff;-webkit-backdrop-filter:blur(10px);pointer-events:auto;background:#0d1b2eeb;border-radius:1rem;width:min(420px,100% - 2rem);max-height:calc(100% - 6.5rem);padding:.85rem .9rem;position:absolute;top:1rem;bottom:5.5rem;left:1rem;overflow-y:auto;box-shadow:0 10px 28px #0d1b2e3d}.workspace-map-panel:has(.missile-flight-hud-stack) .incident-focus-panel-overlay{max-height:calc(100% - 10.5rem);top:5rem}.incident-focus-panel-main{flex-direction:column;gap:.75rem;display:flex}.incident-focus-panel-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.incident-focus-panel-dismiss{cursor:pointer;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:1.15rem;line-height:1;transition:opacity .12s,transform .1s;display:inline-flex}.incident-focus-panel-dismiss:hover{opacity:.88}.incident-focus-panel-dismiss:active{transform:scale(.96)}.incident-focus-panel-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:inherit;opacity:.75;margin:0 0 .2rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.incident-focus-panel-header h3{margin:0;font-size:.88rem;line-height:1.5}.incident-focus-system-body{opacity:.92;margin:0;font-size:.78rem;line-height:1.55}.incident-focus-panel-overlay .incident-focus-panel-header h3,.incident-focus-panel-overlay .incident-focus-group h4{color:#f8fbff}.incident-focus-panel-overlay .incident-focus-panel-dismiss{color:#f8fbff;background:#ffffff1f}.incident-focus-panel-sidebar .incident-focus-panel-header h3,.incident-focus-panel-sidebar .incident-focus-group h4{color:var(--ink-900)}.incident-focus-panel-sidebar .incident-focus-panel-dismiss{color:var(--ink-900);background:#0d1b2e14}.incident-focus-groups{flex-direction:column;gap:.75rem;display:flex}.incident-focus-group{flex-direction:column;gap:.4rem;display:flex}.incident-focus-group h4{margin:0;font-size:.82rem}.incident-focus-city-chips{flex-wrap:wrap;gap:.35rem;display:flex}.incident-focus-city-chip,.incident-focus-stream-item{cursor:pointer;border:none;border-radius:.5rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;line-height:1.35;transition:opacity .12s,transform .1s}.incident-focus-city-chip:hover,.incident-focus-stream-item:hover{opacity:.88}.incident-focus-city-chip:active,.incident-focus-stream-item:active{transform:scale(.98)}.incident-focus-panel-sidebar .incident-focus-city-chip{background:var(--incident-soft);color:var(--incident-ink);padding:.2rem .55rem}.incident-focus-panel-overlay .incident-focus-city-chip{background:var(--incident-solid);color:var(--incident-overlay-ink);padding:.22rem .58rem}.incident-focus-stream-list{flex-direction:column;gap:.45rem;display:flex}.incident-focus-stream-item{text-align:left;flex-direction:column;gap:.45rem;width:100%;padding:.55rem .72rem;display:flex}.incident-focus-stream-meta{font-weight:700;display:block}.incident-focus-stream-groups{flex-direction:column;gap:.35rem;display:flex}.incident-focus-stream-group{flex-direction:column;gap:.2rem;display:flex}.incident-focus-stream-group-title{letter-spacing:.04em;text-transform:uppercase;opacity:.8;font-size:.68rem;font-weight:700;display:block}.incident-focus-stream-city-chips{flex-wrap:wrap;gap:.3rem;display:flex}.incident-focus-stream-city-chip{border-radius:.45rem;align-items:center;padding:.18rem .48rem;font-size:.68rem;font-weight:600;line-height:1.35;display:inline-flex}.incident-focus-panel-sidebar .incident-focus-stream-item{color:var(--ink-700);background:#0d1b2e14}.incident-focus-panel-overlay .incident-focus-stream-item{color:#f8fbff;background:#ffffff1f}.incident-focus-panel-sidebar .incident-focus-stream-city-chip{color:var(--ink-700);background:#0d1b2e14}.incident-focus-panel-overlay .incident-focus-stream-city-chip{color:#f8fbff;background:#ffffff24}.incident-focus-stream-item-red{box-shadow:inset 3px 0 0 var(--incident-solid)}.incident-focus-stream-item-green{box-shadow:inset 3px 0 #16a34ae0}.incident-focus-stream-item-orange{box-shadow:inset 3px 0 #f59e0be6}.alert-drawer{z-index:32;color:#f8fafc;-webkit-backdrop-filter:blur(14px);pointer-events:auto;transform-origin:0;width:min(380px,100% - 2rem);max-width:380px;transition:opacity .26s var(--ease-out), transform .32s var(--ease-spring), filter .26s var(--ease-out), visibility 0s linear 0s;background:linear-gradient(#0f172af5,#111827eb),#0f172af0;border-radius:1rem;flex-direction:column;gap:.8rem;padding:.9rem .85rem .95rem;display:flex;position:absolute;top:1rem;bottom:6.75rem;left:1rem;box-shadow:0 16px 40px #02061757}.alert-drawer>*{transition:opacity .22s var(--ease-out), transform .28s var(--ease-out)}.alert-drawer-open{opacity:1;filter:blur();visibility:visible;transform:translate(0)scale(1)}.alert-drawer-open>*{opacity:1;transform:translateY(0)}.alert-drawer-collapsed{opacity:0;filter:blur(10px);pointer-events:none;visibility:hidden;transition:opacity .22s var(--ease-out), transform .28s var(--ease-out), filter .22s var(--ease-out), visibility 0s linear .28s;transform:translate(-26px)scale(.96)}.alert-drawer-collapsed>*{opacity:0;transform:translateY(8px)}.alert-drawer-collapsed-handle{z-index:32;color:#f8fafc;cursor:pointer;opacity:0;pointer-events:none;width:34px;height:54px;transition:opacity .22s var(--ease-out), transform .3s var(--ease-spring), box-shadow .18s var(--ease-out), background-color .18s var(--ease-out);background:#0f172af0;border:none;border-radius:0 .85rem .85rem 0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:1rem;left:0;transform:translate(-14px)scale(.92);box-shadow:0 10px 26px #02061747}.alert-drawer-collapsed-handle.is-visible{opacity:1;pointer-events:auto;transform:translate(0)scale(1)}.alert-drawer-collapsed-handle:hover{background:#16213afa;box-shadow:0 14px 30px #02061757}.alert-drawer-header{align-items:flex-start;gap:.75rem;display:flex}.alert-drawer-header-toggle{color:#f8fafc;cursor:pointer;background:#ffffff1f;border:none;border-radius:999px;flex:none;width:1.9rem;height:1.9rem}.alert-drawer-header-time{flex-direction:column;gap:.15rem;min-width:0;display:flex}.alert-drawer-header-time strong{color:#f87171;font-size:1.05rem;line-height:1.1}.alert-drawer-header-time span{color:#f8fafccc;font-size:.78rem;line-height:1.35}.alert-drawer-section-header{background:#ffffff0f;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;display:flex}.alert-drawer-section-header h3{margin:0;font-size:.92rem;line-height:1.2}.alert-drawer-section-header span{color:#f8fafcc7;font-family:IBM Plex Mono,monospace;font-size:.72rem}.alert-drawer-search{padding:0 .2rem .05rem;display:block}.alert-drawer-search-input{color:#f8fafc;width:100%;font:inherit;background:#1e293bd1;border:1px solid #94a3b833;border-radius:.8rem;outline:none;padding:.72rem .8rem}.alert-drawer-search-input::placeholder{color:#bfcde49e}.alert-drawer-search-input:focus{border-color:#60a5fa80;box-shadow:0 0 0 1px #60a5fa38}.alert-drawer-empty{color:#f8fafcc7;background:#ffffff0f;border-radius:.8rem;margin:0;padding:.85rem .9rem;font-size:.82rem;line-height:1.45}.alert-drawer-list{scrollbar-width:thin;scrollbar-color:#94a3b885 #0f172a2e;flex-direction:column;gap:.7rem;min-height:0;padding-right:.2rem;display:flex;overflow-y:auto}.alert-drawer-list::-webkit-scrollbar{width:10px}.alert-drawer-list::-webkit-scrollbar-track{background:#0f172a29;border-radius:999px}.alert-drawer-list::-webkit-scrollbar-thumb{background:linear-gradient(#64748be6,#475569eb);border:2px solid #0f172a1f;border-radius:999px}.alert-drawer-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#94a3b8f2,#64748bf5)}.alert-drawer-item{flex-direction:column;gap:.15rem;display:flex}.alert-drawer .alerts-card{box-shadow:none;border-left:none;align-items:stretch;gap:0;padding:0}.alert-drawer .alerts-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px #02061733}.alert-drawer .alerts-card-active,.alert-drawer-timeline-card-active{box-shadow:0 12px 26px #02061738}.alert-drawer .alerts-card-live{animation:1.5s ease-in-out infinite card-pulse}.alert-drawer .alerts-card-body{gap:.28rem;padding:.8rem .92rem}.alert-drawer .alerts-card-title{white-space:normal;line-height:1.12}.alert-drawer .alerts-card-area{font-weight:600;line-height:1.4}.alert-drawer .alerts-card-icon-rail{flex:0 0 3.5rem;justify-content:center;align-self:stretch;align-items:center;width:3.5rem;display:flex}.alert-drawer .alerts-card-icon-rail-rocket{background:#991b1b}.alert-drawer .alerts-card-icon-rail-drone{background:#7c4a2f}.alert-drawer .alerts-card-icon-rail-early-warning{background:#c2410c}.alert-drawer .alerts-card-icon-rail-incident-ended{background:#45a05b}.alert-drawer .alerts-card-icon{--alert-icon-size:1.1rem;color:#f8fafc}.workspace-page[data-theme=light] .alert-drawer .alerts-card,.viewer-page[data-theme=light] .alert-drawer .alerts-card{background:#fffffffa;border-color:#1b273b24}.workspace-page[data-theme=light] .alert-drawer .alerts-card-active,.workspace-page[data-theme=light] .alert-drawer-timeline-card-active,.viewer-page[data-theme=light] .alert-drawer .alerts-card-active,.viewer-page[data-theme=light] .alert-drawer-timeline-card-active{background:#fff;border-color:#1b273b33}.workspace-page[data-theme=light] .alert-drawer .alerts-card-title,.viewer-page[data-theme=light] .alert-drawer .alerts-card-title{color:#101826}.workspace-page[data-theme=light] .alert-drawer .alerts-card-area,.viewer-page[data-theme=light] .alert-drawer .alerts-card-area{color:#101826db}.workspace-page[data-theme=light] .alert-drawer .alerts-card-time,.viewer-page[data-theme=light] .alert-drawer .alerts-card-time{color:#101826ad}.workspace-page[data-theme=dark] .alert-drawer .alerts-card,.viewer-page[data-theme=dark] .alert-drawer .alerts-card{background:#212121f5;border-color:#ffffff1a}.workspace-page[data-theme=dark] .alert-drawer .alerts-card-active,.workspace-page[data-theme=dark] .alert-drawer-timeline-card-active,.viewer-page[data-theme=dark] .alert-drawer .alerts-card-active,.viewer-page[data-theme=dark] .alert-drawer-timeline-card-active{background:#272727fa;border-color:#ffffff29}.workspace-page[data-theme=dark] .alert-drawer .alerts-card-title,.viewer-page[data-theme=dark] .alert-drawer .alerts-card-title{color:#f8fafc}.workspace-page[data-theme=dark] .alert-drawer .alerts-card-area,.viewer-page[data-theme=dark] .alert-drawer .alerts-card-area{color:#f8fafce6}.workspace-page[data-theme=dark] .alert-drawer .alerts-card-time,.viewer-page[data-theme=dark] .alert-drawer .alerts-card-time{color:#f8fafcb8}.alert-drawer .alerts-card-rocket .alerts-card-time{color:#ef4444}.alert-drawer .alerts-card-drone .alerts-card-time{color:#d97706}.alert-drawer .alerts-card-early-warning .alerts-card-time{color:#f59e0b}.alert-drawer .alerts-card-incident-ended .alerts-card-time{color:#4ade80}.alert-drawer-city-preview,.alert-drawer-city-groups{padding-top:0}.alert-drawer-preview-meta{padding:0 .75rem .2rem}.alert-drawer .alerts-city-chip-more{color:#f8fafcd9;background:#ffffff1a}.alert-drawer-item-expanded{flex-direction:column;gap:.75rem;padding:0 .25rem .2rem;display:flex}.alert-drawer-card-grouped-member{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:.85rem;flex-direction:column;gap:.45rem;padding:.75rem .75rem .2rem;display:flex}.alert-drawer-card-grouped-member-rocket{background:#7f1d1d1f;border-color:#7f1d1d47}.alert-drawer-card-grouped-member-drone{background:#5b3a291f;border-color:#5b3a2947}.alert-drawer-card-grouped-member-early-warning{background:#7c2d1224;border-color:#7c2d1247}.alert-drawer-card-grouped-member-incident-ended{background:#14532d24;border-color:#14532d47}.alert-drawer-card-grouped-member-meta{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.alert-drawer-card-grouped-member-meta strong{color:#f8fafc;font-size:.82rem;line-height:1.3}.alert-drawer-card-grouped-member-meta span{color:#f8fafcad;flex:none;font-family:IBM Plex Mono,monospace;font-size:.68rem}.alert-drawer-card-grouped-member-body{color:#f8fafcd6;margin:0;font-size:.78rem;line-height:1.45}.alert-drawer-item-group{flex-direction:column;gap:.38rem;display:flex}.alert-drawer-item-group h4{color:#f8fafce6;margin:0;padding:0 .75rem;font-size:.76rem;font-weight:700;line-height:1.3}.alert-drawer-load-more{color:#f8fafc;cursor:pointer;background:#ffffff14;border:1px solid #f8fafc24;border-radius:.8rem;width:100%;padding:.72rem .85rem;font-family:IBM Plex Mono,monospace;font-size:.74rem;font-weight:700}.alert-drawer-load-more:hover{background:#ffffff1f}.alert-drawer-card{background:#ffffff0f;border:1px solid #ffffff14;border-radius:.9rem;position:relative;overflow:hidden}.alert-drawer-card-live:after{content:"";opacity:.9;background:currentColor;border-radius:999px;width:.55rem;height:.55rem;position:absolute;top:.75rem;right:.75rem}.alert-drawer-card-red{color:#fca5a5;box-shadow:inset 4px 0 #ef4444f2}.alert-drawer-card-green{color:#86efac;box-shadow:inset 4px 0 #22c55ef2}.alert-drawer-card-orange{color:#fdba74;box-shadow:inset 4px 0 #f97316f2}.alert-drawer-card-blue{color:#93c5fd;box-shadow:inset 4px 0 #3b82f6f2}.alert-drawer-card-selected{background:#ffffff17;border-color:#ffffff29}.alert-drawer-card-button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.8rem .95rem;display:flex}.alert-drawer-card-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.alert-drawer-card-title{color:#f8fafc;font-size:.94rem;line-height:1.25}.alert-drawer-card-time{color:#f8fafcb8;font-family:IBM Plex Mono,monospace;font-size:.7rem}.alert-drawer-card-body{color:#f8fafce0;font-size:.8rem;line-height:1.4}.alert-drawer-card-icon{flex:none;font-size:1rem;line-height:1}.alert-drawer-card-expanded{flex-direction:column;gap:.75rem;padding:0 .95rem .95rem;display:flex}.alert-drawer-card-group{flex-direction:column;gap:.4rem;display:flex}.alert-drawer-card-group h4{color:#f8fafc;margin:0;font-size:.78rem;font-weight:700;line-height:1.25}.alert-drawer-card-chips{flex-wrap:wrap;gap:.38rem;display:flex}.alert-drawer-card-chip{cursor:pointer;color:#fff;border:none;border-radius:999px;padding:.28rem .62rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600;line-height:1.35}.alert-drawer-card-chip-red{background:#dc2626e0}.alert-drawer-card-chip-green{background:#16a34ae0}.alert-drawer-card-chip-orange{background:#ea580ce6}.alert-drawer-card-chip-blue{background:#2563ebe6}.alerts-settings-note{color:var(--ink-500);margin:0;font-size:.8rem;line-height:1.45}.alert-selection-hud{z-index:32;color:#f8fbff;-webkit-backdrop-filter:blur(10px);pointer-events:auto;background:#0d1b2ee0;border-radius:1rem;flex-direction:column;gap:.35rem;max-width:min(340px,100% - 2rem);max-height:calc(100% - 2rem);padding:.8rem .95rem;display:flex;position:absolute;top:1rem;left:1rem;overflow-y:auto;box-shadow:0 10px 28px #0d1b2e3d}.alert-selection-hud-title,.alert-selection-hud-meta{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.alert-selection-hud-title strong{font-size:.92rem}.alert-selection-hud-title span,.alert-selection-hud-meta span{color:#f8fbffd1;font-family:IBM Plex Mono,monospace;font-size:.74rem}.alert-hud-cities{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.alert-hud-city-chip{cursor:pointer;color:#fff;background:#dc2626b3;border:none;border-radius:.5rem;padding:.2rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600;line-height:1.4;transition:background .12s,transform .1s;display:inline-block}.alert-hud-city-chip:hover{background:#dc2626f2;transform:scale(1.04)}.alert-hud-city-chip:active{transform:scale(.97)}.alert-hud-city-chip-green{background:#16a34ab3}.alert-hud-city-chip-green:hover{background:#16a34af2}.alert-hud-city-chip-orange{background:#f59e0bb3}.alert-hud-city-chip-orange:hover{background:#f59e0bf2}.alert-selection-hud-green{border-left:4px solid #16a34a}.alert-selection-hud-orange{border-left:4px solid #f59e0b}.alert-audio-unlock-banner{z-index:36;color:#f8fbff;letter-spacing:.03em;background:#0d1b2ee6;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:.75rem 1.1rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;display:inline-flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0d1b2e38}.alert-audio-unlock-banner:disabled{opacity:.7}@media (width<=420px){.missile-preset-grid,.missile-launch-actions{grid-template-columns:1fr}.alert-drawer{width:auto;max-width:none;right:1rem}.alerts-status-row,.alerts-card-body,.alert-selection-hud-title,.alert-selection-hud-meta{flex-direction:column;align-items:flex-start}.alert-audio-unlock-banner{width:calc(100% - 2rem);max-width:340px;padding-left:.9rem;padding-right:.9rem}}.system-message-banner-container{z-index:12;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(420px,100% - 2rem);display:flex;position:absolute;top:1rem;right:1rem}.workspace-map-panel:has(.missile-flight-hud-stack) .system-message-banner-container{top:5rem}.system-message-banner{pointer-events:auto;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 14px;font-size:13px;line-height:1.4;animation:.3s ease-out system-message-slide-in;display:flex;box-shadow:0 2px 12px #00000059}.system-message-alert{background:linear-gradient(135deg,#dc1e1ef2,#b41414f2);border:1px solid #ff505099;animation:.3s ease-out system-message-slide-in,1.5s ease-in-out 3 system-message-pulse}@keyframes system-message-pulse{0%,to{opacity:1}50%{opacity:.7}}.system-message-early-warning{background:linear-gradient(135deg,#c83c14eb,#a0280aeb);border:1px solid #ff783c66}.system-message-incident-ended{background:linear-gradient(135deg,#1e783ceb,#145a2deb);border:1px solid #50c87866}.system-message-unknown{background:linear-gradient(135deg,#324678eb,#23325aeb);border:1px solid #648cdc66}.system-message-icon{flex-shrink:0;margin-top:1px;font-size:18px;line-height:1}.system-message-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.system-message-title{font-size:13px;font-weight:600}.system-message-body{opacity:.9;text-overflow:ellipsis;font-size:12px;overflow:hidden}.system-message-dismiss{color:#fffc;cursor:pointer;background:#ffffff1a;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;line-height:1;transition:background .15s,color .15s;display:flex}.system-message-dismiss:hover{color:#fff;background:#ffffff26}@keyframes system-message-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.workspace-page[data-theme=dark] .workspace-sidebar{background:#0e1827f0;border-color:#94b0d62e}.workspace-page[data-theme=dark] .sidebar-quick-nav{background:linear-gradient(#0e1827fa 70%,#0e182700 100%)}.workspace-page[data-theme=dark] .sidebar-quick-nav-button{color:var(--ink-500);background:#ffffff0a;border-color:#94b0d62e}.workspace-page[data-theme=dark] .sidebar-quick-nav-button:hover{color:var(--ink-900);background:#ffffff14}.workspace-page[data-theme=dark] .switch-row:hover{background:#ffffff0d}.workspace-page[data-theme=dark] .map-attribution,.viewer-page[data-theme=dark] .map-attribution{color:var(--ink-700);box-shadow:var(--shadow-md);background:#070d18d6;border:1px solid #94b0d62e}.workspace-page[data-theme=dark] .sidebar-icon-bar{background:#0e1827f0;border-color:#94b0d62e}.workspace-page[data-theme=dark] button.sidebar-icon-btn{color:var(--ink-700)!important;background:0 0!important;border-color:#0000!important}.workspace-page[data-theme=dark] .sidebar-icon-btn:hover{color:var(--ink-900);box-shadow:var(--shadow-sm);background:#ffffff14;border-color:#94b0d62e}.workspace-page[data-theme=dark] .sidebar-icon-btn:hover:not(.sidebar-icon-btn--active){color:var(--ink-900)!important;box-shadow:var(--shadow-sm)!important;background:#ffffff14!important;border-color:#94b0d62e!important}.workspace-page[data-theme=dark] button.sidebar-icon-btn:active:not(.sidebar-icon-btn--active),.workspace-page[data-theme=dark] button.sidebar-icon-btn:focus-visible:not(.sidebar-icon-btn--active){color:var(--ink-900)!important;background:#ffffff1a!important;border-color:#94b0d633!important}.workspace-page[data-theme=dark] button.sidebar-icon-btn.sidebar-icon-btn--active,.workspace-page[data-theme=dark] button.sidebar-icon-btn.sidebar-icon-btn--active:hover,.workspace-page[data-theme=dark] button.sidebar-icon-btn.sidebar-icon-btn--active:focus-visible,.workspace-page[data-theme=dark] button.sidebar-icon-btn.sidebar-icon-btn--active:active{color:#fff!important;background:linear-gradient(135deg,#0d1b2e,#1a3a6e)!important;border-color:#0000!important}.workspace-page[data-theme=dark] .sidebar-panel{background:#0e1827f0;border-color:#94b0d62e}.workspace-page[data-theme=dark] .sidebar-panel-inner--flush>*{background:#131f31eb!important;border-color:#94b0d62e!important}.workspace-page[data-theme=dark] .workspace-sidebar::-webkit-scrollbar-thumb{background:#94b0d647}.workspace-page[data-theme=dark] .sidebar-panel::-webkit-scrollbar-thumb{background:#94b0d647}.workspace-page[data-theme=dark] .sidebar-icon-bar::-webkit-scrollbar-thumb{background:#94b0d647}.workspace-page[data-theme=dark] .workspace-sidebar::-webkit-scrollbar-thumb:hover{background:#94b0d666}.workspace-page[data-theme=dark] .sidebar-panel::-webkit-scrollbar-thumb:hover{background:#94b0d666}.workspace-page[data-theme=dark] .sidebar-icon-bar::-webkit-scrollbar-thumb:hover{background:#94b0d666}[data-theme=dark] .tool-dock{background:linear-gradient(#ffffff0a 0%,#ffffff14 100%);border:1px solid #94b0d624}[data-theme=dark] .tool-dock-hero,[data-theme=dark] .tool-dock-section{background:#ffffff14;border-color:#94b0d62e}[data-theme=dark] .tool-dock-hero{background:radial-gradient(circle at 100% 0,#f9427c33,#0000 44%),linear-gradient(#ffffff1a 0%,#ffffff0f 100%)}[data-theme=dark] .tool-dock-section:hover,[data-theme=dark] .tool-dock-hero:hover{border-color:#94b0d652}[data-theme=dark] .tool-button{color:var(--ink-800);background:linear-gradient(#ffffff1a,#ffffff0d);border-color:#94b0d62e}[data-theme=dark] .tool-button:hover:not(:disabled):not(.tool-button-active){background:linear-gradient(#ffffff24,#ffffff12);border-color:#94b0d647}[data-theme=dark] .tool-button.danger:hover:not(:disabled):not(.tool-button-active){background:#e02d5a1f}[data-theme=dark] .tool-button-hint,[data-theme=dark] .tool-dock-hero-hint,[data-theme=dark] .tool-dock-section-note,[data-theme=dark] .tool-badge,[data-theme=dark] .pen-color-label,[data-theme=dark] .eraser-size-label,[data-theme=dark] .eraser-size-value{color:var(--ink-500)}[data-theme=dark] .tool-dock-chip,[data-theme=dark] .tool-dock-section-note{background:#ffffff14}[data-theme=dark] .pen-color-current-swatch,[data-theme=dark] .pen-color-swatch{border-color:#ffffffc7}[data-theme=dark] .eraser-size-slider{background:linear-gradient(90deg, var(--accent) 0%, var(--accent) var(--eraser-range-pct), var(--ink-200) var(--eraser-range-pct), var(--ink-200) 100%)}[data-theme=dark] .filter-pill{color:var(--ink-700);background:#ffffff14;border-color:#94b0d62e}[data-theme=dark] .filter-pill:hover:not(.active){color:var(--ink-900);background:#ffffff1f;border-color:#94b0d647}[data-theme=dark] .asset-card{background:#ffffff14;border-color:#94b0d62e}[data-theme=dark] .asset-card:hover:not(.active){background:#ffffff1f;border-color:#94b0d647}[data-theme=dark] .asset-card span{color:var(--ink-700)!important}[data-theme=dark] .asset-card.active{box-shadow:inset 0 0 0 1px #f9427c29;background:#f9427c24!important;border-color:#f9427c52!important}[data-theme=dark] .asset-card.active span{color:#ff7ca2!important}[data-theme=dark] .missile-target-box,[data-theme=dark] .alerts-audio-controls,[data-theme=dark] .alerts-audio-group,[data-theme=dark] .alerts-master-toggle-ui{background:#ffffff14;border-color:#94b0d62e}[data-theme=dark] .alerts-master-toggle:not(.is-disabled):hover .alerts-master-toggle-ui,[data-theme=dark] .alerts-audio-group:hover{border-color:#94b0d652}[data-theme=dark] .alerts-audio-note,[data-theme=dark] .alerts-event-sound-duration,[data-theme=dark] .alerts-volume-control span{color:var(--ink-500)}[data-theme=dark] .alerts-event-sound-row{background:linear-gradient(#ffffff1f 0%,#ffffff14 100%);border-color:#94b0d633;box-shadow:inset 0 1px #ffffff0f}[data-theme=dark] .alerts-event-sound-row:hover{border-color:#94b0d652;box-shadow:0 8px 18px #040a1438}[data-theme=dark] .alerts-event-sound-name{color:var(--ink-900)}[data-theme=dark] .alerts-event-sound-state{color:var(--ink-600);background:#ffffff14}[data-theme=dark] .alerts-event-sound-state.is-enabled{color:#ff7ca2;background:#f9427c29}[data-theme=dark] .alerts-event-sound-row.is-disabled .alerts-event-sound-state{background:#ffffff0f}[data-theme=dark] .alerts-custom-check{background:#09111ee6;box-shadow:inset 0 1px #ffffff0f}[data-theme=dark] .alerts-custom-check:disabled{background:#ffffff14;border-color:#94b0d629}[data-theme=dark] .missile-category-group{background:#ffffff14;border:1px solid #94b0d62e}[data-theme=dark] .missile-category-header,[data-theme=dark] .missile-target-detail,[data-theme=dark] .missile-launch-site-label,[data-theme=dark] .missile-row-title span,[data-theme=dark] .missile-row-meta,[data-theme=dark] .missile-hostile-item span{color:var(--ink-500)}[data-theme=dark] .missile-row{background:#ffffff14;border-color:#94b0d62e}[data-theme=dark] .missile-row-selected,[data-theme=dark] .missile-hostile-item-active{border-color:#8ab4ff47;box-shadow:0 10px 22px #040a1438}[data-theme=dark] .missile-row-active{border-color:#f9427c52}[data-theme=dark] .missile-row-main,[data-theme=dark] .missile-row-title strong,[data-theme=dark] .missile-hostile-item strong{color:var(--ink-900)}[data-theme=dark] .missile-row-status{color:var(--ink-700);background:#ffffff14}[data-theme=dark] .missile-hostile-item{background:#ffffff14;border-color:#94b0d62e}[data-theme=dark] .alerts-status-chip-disconnected,[data-theme=dark] .alerts-transport-badge{color:var(--ink-700);background:#ffffff14}[data-theme=dark] .map-stage .ol-zoom .ol-zoom-in,[data-theme=dark] .map-stage .ol-zoom .ol-zoom-out{color:var(--ink-900,#eef4fb);background:#111b2beb;border-color:#94b0d63d;box-shadow:0 10px 24px #040a145c}[data-theme=dark] .map-stage .ol-zoom .ol-zoom-in:hover,[data-theme=dark] .map-stage .ol-zoom .ol-zoom-out:hover{background:#18273ef5}.auth-page--control{background:radial-gradient(circle at 12% 12%,#1a6ef529,#0000 22%),radial-gradient(circle at 86% 18%,#f9427c21,#0000 18%),linear-gradient(#e8eef9 0%,#eef3fb 52%,#f5f8fd 100%);grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);align-items:stretch;gap:1rem;max-width:1440px;height:100vh;min-height:100vh;margin:0 auto;padding:clamp(.85rem,1.4vw,1.15rem);overflow:hidden}.auth-page--control .auth-hero,.auth-page--control .auth-card{min-height:0}.auth-hero--control{color:#eef4ff;background:radial-gradient(circle at 82% 10%,#1f6fd22e,#0000 28%),radial-gradient(circle at 14% 84%,#f9427c24,#0000 22%),linear-gradient(155deg,#081224 0%,#102340 42%,#163968 100%);border:1px solid #a1c5ff24;border-radius:34px;gap:.9rem;padding:1.1rem 1.15rem 1rem;position:relative;overflow:hidden;box-shadow:0 28px 80px #0a132538}.auth-hero--control:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0009,#0000 100%);mask-image:linear-gradient(#0009,#0000 100%)}.auth-page--control .auth-hero-topbar{align-items:center;gap:.9rem}.auth-page--control .auth-brand-lockup{gap:.4rem}.auth-page--control .auth-mode-badge{color:#eef4ff;background:#ffffff1f;border-color:#ffffff2e}.auth-page--control .auth-hero-status{background:#ffffff14;border:1px solid #acceff29;border-radius:20px;width:min(100%,320px);padding:.85rem 1rem}.auth-page--control .auth-hero-status-label,.auth-page--control .auth-ops-label{letter-spacing:.08em;text-transform:uppercase;color:#dfebffbd;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:700}.auth-page--control .auth-hero-status-value{color:#f8fbff;font-size:.96rem;line-height:1.4}.auth-hero-main{z-index:1;grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr);align-items:stretch;gap:.95rem;min-height:0;display:grid;position:relative}.auth-page--control .auth-hero-copy{flex-direction:column;justify-content:space-between;gap:.75rem;min-height:0;display:flex}.auth-page--control .auth-hero .eyebrow{color:#d6e6ffb8}.auth-page--control .auth-hero h1{letter-spacing:-.05em;color:#fbfdff;max-width:9ch;margin:0;font-size:clamp(2.4rem,4.6vw,4.85rem);line-height:.9}.auth-page--control .auth-hero .lede{color:#e1ebfcc2;max-width:50ch;font-size:.96rem;line-height:1.55}.auth-ops-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.auth-ops-card{background:#ffffff12;border:1px solid #adccff1f;border-radius:20px;flex-direction:column;gap:.35rem;min-height:88px;padding:.85rem .9rem;display:flex;box-shadow:inset 0 1px #ffffff0f}.auth-ops-card strong{color:#f8fbff;font-size:.92rem;line-height:1.35}.auth-page--control .auth-hero-visual{background:linear-gradient(#ffffff14,#ffffff0a);border:1px solid #adccff24;border-radius:28px;min-height:0;padding:.75rem;position:relative}.auth-page--control .auth-hero-image{object-fit:cover;border:1px solid #d6e7ff24;border-radius:22px;width:100%;height:100%;min-height:clamp(260px,40vh,380px);max-height:420px;box-shadow:0 22px 48px #050c1942,inset 0 1px #ffffff14}.auth-visual-overlay{gap:.45rem;width:min(220px,100% - 2.6rem);display:grid;position:absolute;bottom:1.3rem;right:1.3rem}.auth-visual-chip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#071224c7;border:1px solid #ffffff1a;border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.auth-visual-chip span{color:#d0e2ffad;letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.68rem}.auth-visual-chip strong{color:#f7fbff;text-align:right;font-size:.82rem;font-weight:700}.auth-page--control .auth-hero-tags{z-index:1;flex-wrap:wrap;gap:.55rem;display:flex;position:relative}.auth-page--control .auth-hero-tag{color:#eef4ff;background:#ffffff14;border:1px solid #b2cdff1f;border-radius:999px;min-height:34px;padding:.42rem .78rem;font-size:.8rem;font-weight:600}.auth-status-note{z-index:1;margin:0;position:relative}.auth-card--control{background:radial-gradient(circle at 0 0,#ffffffdb,#0000 32%),linear-gradient(#ffffffd6,#f3f7fff2);border-radius:32px;padding:1rem}.auth-card--control .auth-card-shell{flex-direction:column;justify-content:space-between;gap:1rem;width:100%;height:100%;display:flex}.auth-card--control .auth-card-header{gap:.5rem}.auth-card--control .auth-card-header h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,2vw,2.4rem);line-height:.96}.auth-card--control .auth-form{gap:.9rem;width:100%}.auth-card--control .auth-form label{color:var(--ink-700);gap:.45rem;font-size:.8rem;font-weight:700}.auth-card--control .auth-form input{background:#f7faffeb;border:1px solid #90abd647;border-radius:18px;min-height:54px;padding:.92rem 1rem;box-shadow:inset 0 1px #ffffffd9,0 12px 22px #122a560d}.auth-card--control .auth-helper-note{color:var(--ink-700);background:#1125480a;border:1px solid #90abd624;border-radius:16px;margin:0;padding:.85rem .9rem;font-size:.88rem;line-height:1.45}.auth-card--control .auth-button-row>*{border-radius:18px;min-height:50px}.auth-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.auth-card-grid-item{background:#ffffffb8;border:1px solid #2c48771a;border-radius:18px;flex-direction:column;gap:.25rem;padding:.8rem .9rem;display:flex}.auth-card-grid-item span{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:700}.auth-card-grid-item strong{color:var(--ink-900);font-size:.9rem;line-height:1.35}.auth-inline-credit{border-top:1px solid #2c48771f;justify-content:flex-start;margin-top:auto;padding-top:.75rem}@media (width<=1240px){.auth-page--control{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.auth-card--control{order:-1}.auth-hero-main{grid-template-columns:1fr}}@media (width<=880px){.auth-page--control{padding:.8rem}.auth-hero--control,.auth-card--control{border-radius:24px;padding:.95rem}.auth-page--control .auth-hero-topbar{flex-direction:column;align-items:stretch}.auth-page--control .auth-hero-status{width:100%}.auth-ops-strip,.auth-card-grid{grid-template-columns:1fr}.auth-page--control .auth-button-row{flex-direction:column}}@media (width<=640px){.auth-page--control .auth-hero h1{max-width:none;font-size:clamp(2rem,10vw,3rem)}.auth-page--control .auth-hero-image{min-height:220px}.auth-visual-overlay{width:100%;margin-top:.75rem;position:static}.auth-inline-credit{text-align:center;justify-content:center}}.modern-hub-page{z-index:10;flex-direction:column;gap:1.5rem;min-height:100vh;padding:2rem;font-family:Sora,sans-serif;transition:background .3s,color .3s;display:flex;position:absolute;top:0;left:0;right:0}.modern-hub-page,.modern-hub-page[data-theme=light]{color:#10203b;--hub-card-bg:#f8fbffb3;--hub-card-border:#2c48771f;--hub-text-mut:#5f749a;--hub-hero-bg:radial-gradient(ellipse at 80% 0%, #f9427c14, transparent 50%), radial-gradient(ellipse at 0% 100%, #1a6ef514, transparent 50%), linear-gradient(160deg, #fffc 0%, #e8f0ffd9 100%);--hub-btn-sec:#ffffffb3;--hub-btn-sec-hover:#fff;background:radial-gradient(circle at 0 0,#fff4c173,#0000 28%),radial-gradient(circle at 100% 100%,#f9427c24,#0000 20%),linear-gradient(135deg,#ebf3ff 0%,#dce8fb 100%)}.modern-hub-page[data-theme=dark]{color:#f8fbff;--hub-card-bg:#0e1827a6;--hub-card-border:#94b0d626;--hub-text-mut:#a7b6d1;--hub-hero-bg:radial-gradient(ellipse at 80% 0%, #f9427c1f, transparent 50%), radial-gradient(ellipse at 0% 100%, #1a6ef526, transparent 50%), linear-gradient(160deg, #0e1827d9 0%, #070d18f2 100%);--hub-btn-sec:#ffffff0d;--hub-btn-sec-hover:#ffffff1a;background:#070d18}.modern-hub-page>*{width:100%;max-width:1120px;margin-left:auto;margin-right:auto}.modern-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--hub-text-mut);margin:0 0 .35rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.modern-lede{color:var(--hub-text-mut);margin:0}.modern-hub-hero{background:var(--hub-hero-bg);border:1px solid var(--hub-card-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;justify-content:space-between;align-items:flex-start;gap:2rem;padding:2.5rem;display:flex;box-shadow:0 24px 60px #00000014}.modern-hub-hero-copy{flex-direction:column;gap:.75rem;max-width:640px;display:flex}.modern-hub-hero-copy h1{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,3vw,3.2rem);font-weight:800;line-height:1.1}.modern-hub-stats{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.modern-hub-stat{border:1px solid var(--hub-card-border);background:var(--hub-btn-sec);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.modern-hub-stat strong{font-weight:700}.modern-hub-stat span{color:var(--hub-text-mut)}.modern-hub-hero-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.modern-primary-button,.modern-secondary-button,.modern-ghost-button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:48px;padding:.8rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .16s;display:inline-flex}.modern-primary-button{color:#fff;background:linear-gradient(135deg,#ff5b90 0%,#f9427c 100%);box-shadow:0 8px 20px #f9427c40}.modern-primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #f9427c66}.modern-primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.modern-secondary-button{background:var(--hub-btn-sec);border-color:var(--hub-card-border);color:inherit}.modern-secondary-button:hover{background:var(--hub-btn-sec-hover);transform:translateY(-2px)}.modern-secondary-button:disabled,.modern-ghost-button:disabled{opacity:.58;cursor:not-allowed;transform:none}.modern-ghost-button{color:var(--hub-text-mut);background:0 0}.modern-ghost-button:hover{color:inherit;background:#94b0d61a}.modern-hub-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.modern-hub-card{border:1px solid var(--hub-card-border);background:var(--hub-card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;flex-direction:column;min-height:260px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #0000000d}.modern-hub-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001a}.modern-hub-card--disabled{opacity:.82}.modern-hub-card--disabled:hover{transform:none;box-shadow:0 12px 30px #0000000d}.modern-hub-card-decor{pointer-events:none;z-index:0;opacity:.15;position:absolute;inset:0}.modern-hub-card--blue .modern-hub-card-decor{background:radial-gradient(circle at 100% 0,#1a6ef5,#0000 60%)}.modern-hub-card--rose .modern-hub-card-decor{background:radial-gradient(circle at 100% 0,#f9427c,#0000 60%)}.modern-hub-card--gold .modern-hub-card-decor{background:radial-gradient(circle at 100% 0,#e8a800,#0000 60%)}.modern-hub-card-inner{z-index:1;flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;position:relative}.modern-hub-card-top{justify-content:space-between;align-items:center;display:flex}.modern-hub-card-badge,.modern-hub-card-status{text-transform:uppercase;border-radius:999px;padding:.35rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:700}.modern-hub-card-badge{background:var(--hub-btn-sec);color:inherit}.modern-hub-card-badge--empty{visibility:hidden}.modern-hub-card-status--active{color:#0bd1a3;background:#0f9d7a26}.modern-hub-page[data-theme=light] .modern-hub-card-status--active{color:#0b6b55}.modern-hub-card-status--coming-soon{color:var(--hub-text-mut);background:#94b0d61a}.modern-hub-card-status--inactive{color:#ff7fa6;background:#f9427c24}.modern-hub-card-body{flex-direction:column;flex:1;gap:.4rem;display:flex}.modern-hub-card-body h2{margin:0;font-size:1.25rem;font-weight:700}.modern-hub-card-body p{color:var(--hub-text-mut);margin:0;font-size:.9rem;line-height:1.5}.modern-hub-card-warning{border:1px solid #1111112e;border-radius:999px;min-height:44px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f}.modern-hub-card-warning:before{content:"";background:repeating-linear-gradient(-45deg,#ffca1d 0 18px,#111 18px 36px);position:absolute;inset:0}.modern-hub-card-warning span{z-index:1;letter-spacing:.02em;color:#101010;text-align:center;text-wrap:balance;text-shadow:0 1px #ffffff59;background:linear-gradient(90deg,#fff4c438,#fff4c4e0,#fff4c438);justify-content:center;align-items:center;width:100%;min-height:44px;padding:.42rem 1rem .38rem;font-family:Sora,Segoe UI Variable,sans-serif;font-size:.8rem;font-weight:700;display:inline-flex;position:relative}.modern-hub-card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.modern-hub-card-actions>*{flex:1}.modern-hub-panel{border:1px solid var(--hub-card-border);background:var(--hub-card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:28px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.modern-hub-panel--loading{justify-content:center;align-items:center;min-height:220px}.modern-hub-panel-head{justify-content:space-between;align-items:center;display:flex}.modern-hub-panel-head h2{margin:0;font-size:1.4rem}.modern-hub-recent-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.modern-hub-recent-card{border:1px solid var(--hub-card-border);background:var(--hub-btn-sec);border-radius:16px;justify-content:space-between;align-items:center;padding:1.25rem;transition:all .16s;display:flex}.modern-hub-recent-card:hover{background:var(--hub-btn-sec-hover);transform:translate(4px)}.modern-hub-recent-copy{flex-direction:column;gap:.35rem;display:flex}.modern-hub-recent-copy h3{margin:0;font-size:1rem;font-weight:600}.modern-hub-recent-copy p{color:var(--hub-text-mut);margin:0;font-size:.8rem}.modern-scenario-lock{color:var(--hub-accent);align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.modern-hub-recent-actions{gap:.5rem;display:flex}.modern-hub-empty{text-align:center;color:var(--hub-text-mut);flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}@media (width<=800px){.modern-hub-hero{flex-direction:column;padding:1.5rem}.modern-hub-hero-actions{flex-wrap:wrap;width:100%}}
