@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";.auth-page{--auth-ink:#e6e9e0;--auth-muted:#a3afa6;--auth-line:#35433b;--auth-bg:#151d19;--auth-panel:#1c2721;--auth-input:#121b16;--auth-input-line:#52665a;--auth-accent:#d8997b;--auth-button:#cad9c7;--auth-button-ink:#18271e;--auth-hover:#dce8d9;--auth-subtle:#2c3a31;--auth-error-bg:#39261f;--auth-error-ink:#f0b7a0;background:var(--auth-bg);height:100%;min-height:100dvh;color:var(--auth-ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:14px/1.6 Inter,system-ui,sans-serif;overflow:auto}.auth-page[data-theme=light]{--auth-ink:#263d38;--auth-muted:#5e6c64;--auth-line:#d4d8cc;--auth-bg:#f5f3eb;--auth-panel:#fffef9;--auth-input:#fff;--auth-input-line:#bcc6bb;--auth-accent:#8c4733;--auth-button:#263d38;--auth-button-ink:#fffef9;--auth-hover:#3e584c;--auth-subtle:#eef1e9;--auth-error-bg:#fbefe8;--auth-error-ink:#8b3425;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.auth-page *{box-sizing:border-box}.auth-page a{color:inherit;text-underline-offset:4px}.auth-page button,.auth-page input{font:inherit}.auth-page button{cursor:pointer}.auth-page :focus-visible{outline:3px solid var(--auth-accent);outline-offset:4px}.auth-bg{width:min(1200px,100%);margin:0 auto;padding:36px 48px 28px}.auth-masthead{border-bottom:1px solid var(--auth-ink);align-items:center;gap:24px;padding-bottom:23px;display:flex}.auth-wordmark{letter-spacing:-.07em;align-items:baseline;gap:6px;font-size:40px;font-weight:750;line-height:1;text-decoration:none;display:inline-flex}.auth-wordmark-mark{background:var(--auth-accent);width:7px;height:7px}.auth-masthead>span{font-size:11px;line-height:1.5}.auth-masthead .auth-edition{color:var(--auth-muted);letter-spacing:.08em;margin-left:auto;font-size:10px}.auth-theme-toggle{border:1px solid var(--auth-line);min-height:40px;color:var(--auth-ink);background:0 0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;display:inline-flex;font-size:11px!important}.auth-theme-toggle:hover{background:var(--auth-subtle)}.auth-layout{grid-template-columns:minmax(0,1fr) 366px;align-items:start;gap:72px;padding:52px 0 42px;display:grid}.auth-eyebrow{color:var(--auth-muted);letter-spacing:.035em;margin:0 0 21px;font-size:11px}.auth-hero-title{color:var(--auth-ink);letter-spacing:-.042em;margin:0 0 26px;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5.1vw,66px);font-weight:400;line-height:1.07}.auth-hero-title em{color:var(--auth-accent);font-style:normal}.auth-hero-lead{max-width:42ch;color:var(--auth-muted);margin:0;font-size:14px;line-height:1.8}.auth-study{border-top:1px solid var(--auth-line);margin:30px 0 0;padding-top:21px}.auth-study-label{color:var(--auth-muted);letter-spacing:.09em;margin:0 0 13px;font-size:9px}.auth-study ul{grid-template-columns:1fr 1fr;column-gap:20px;margin:0;padding:0;list-style:none;display:grid}.auth-study li{border-bottom:1px solid var(--auth-line);padding:7px 0;font-size:11px;line-height:1.6}.auth-hero .project-credit{margin-top:28px;font-size:11px;line-height:1.9}.auth-hero .project-credit strong{font-size:14px;font-weight:600;display:block}.auth-hero .project-credit>span{display:none}.auth-hero .project-credit a{color:var(--auth-accent)}.auth-container{background:var(--auth-panel);border:1px solid var(--auth-line);border-top:3px solid var(--auth-ink);width:100%;margin-top:42px;padding:32px}.auth-form-kicker{letter-spacing:.1em;color:var(--auth-muted);margin:0 0 26px;font-size:9px}.auth-form-title{color:var(--auth-ink);letter-spacing:-.035em;margin:0 0 10px;font-size:27px;font-weight:550;line-height:1.2}.auth-form-desc{color:var(--auth-muted);margin:0 0 30px;font-size:12px}.auth-form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.auth-form-label{color:var(--auth-ink);align-items:center;gap:6px;font-size:12px;display:flex}.auth-form-label svg{color:var(--auth-muted)}.auth-form-input{border:1px solid var(--auth-input-line);background:var(--auth-input);width:100%;min-height:45px;color:var(--auth-ink);border-radius:2px;padding:11px 12px}.auth-form-input::placeholder{color:var(--auth-muted);font-size:12px}.auth-form-input:focus{border-color:var(--auth-accent)}.auth-password-wrap{position:relative}.auth-password-wrap .auth-form-input{padding-right:45px}.auth-eye-btn{width:34px;height:34px;color:var(--auth-muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-eye-btn:hover{color:var(--auth-ink);background:var(--auth-subtle)}.btn-auth{border:1px solid var(--auth-button);background:var(--auth-button);width:100%;min-height:47px;color:var(--auth-button-ink);border-radius:2px;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 15px;display:flex;font-weight:550!important}.btn-auth:hover:not(:disabled){background:var(--auth-hover)}.btn-auth:disabled{cursor:wait;opacity:.7}.auth-footer{border-top:1px solid var(--auth-line);color:var(--auth-muted);margin-top:30px;padding-top:18px;font-size:11px;line-height:1.7}.auth-footer p{margin:0 0 12px}.auth-footer p:last-child{margin-bottom:0}.auth-page-note{border-top:1px solid var(--auth-line);color:var(--auth-muted);grid-template-columns:1fr 1fr;gap:28px;padding-top:18px;font-size:10px;display:grid}.auth-page-note p{max-width:64ch;margin:0}.auth-tabs{border-bottom:1px solid var(--auth-line);gap:18px;margin-bottom:26px;display:flex}.auth-tab{color:var(--auth-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 0}.auth-tab.active{color:var(--auth-ink);border-bottom-color:var(--auth-ink)}.auth-switch{color:var(--auth-muted);margin:20px 0 0;font-size:12px}.auth-switch button{color:var(--auth-accent);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.auth-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.auth-alert{border:1px solid var(--auth-accent);background:var(--auth-error-bg);color:var(--auth-error-ink);align-items:flex-start;gap:10px;margin:0 0 20px;padding:12px;font-size:12px;display:flex}.auth-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-loading-screen{color:#e6e9e0;background:#151d19;place-content:center;gap:16px;min-height:100dvh;font:14px/1.6 system-ui,sans-serif;display:grid}@media (width>=1400px){.auth-bg{padding-top:54px}.auth-layout{gap:100px;padding-top:64px}}@media (width<=980px){.auth-bg{padding:28px 30px}.auth-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding-top:36px}.auth-container{padding:26px}}@media (width<=740px){.auth-bg{padding:23px}.auth-layout{flex-direction:column;gap:35px;padding:28px 0;display:flex}.auth-container{order:-1;align-self:center;max-width:460px;margin:0}.auth-hero{align-self:center;width:100%;max-width:460px}.auth-hero-title{font-size:43px}.auth-masthead{gap:16px}.auth-masthead .auth-edition{display:none}.auth-page-note{grid-template-columns:1fr;gap:10px}}@media (width<=390px){.auth-bg{padding:18px}.auth-container{padding:22px}.auth-form-row{grid-template-columns:1fr;gap:0}.auth-study ul{grid-template-columns:1fr}}@media (width<=740px){.auth-theme-toggle{margin-left:auto}.auth-theme-toggle span{display:none}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation:none}}:root{--bg-app:#030304;--bg-panel:#0c0d10d9;--bg-panel-solid:#0c0d10;--bg-surface:#181a2099;--bg-hover:#ffffff0d;--bg-active:#ffffff1a;--border-subtle:#ffffff0a;--border-main:#ffffff14;--border-focus:#ffffff26;--text-primary:#fff;--text-secondary:#a1a1aa;--text-tertiary:#52525b;--accent-brand:#ff6b35;--accent-brand-glow:#ff6b354d;--accent-blue:#3b82f6;--accent-blue-bg:#3b82f626;--accent-red:#ef4444;--accent-red-bg:#ef444426;--accent-orange:#f59e0b;--accent-orange-bg:#f59e0b26;--accent-green:#10b981;--accent-green-bg:#10b98126;--shadow-hud:0 8px 32px #0009;--shadow-glow:0 0 20px #000c;--blur-hud:blur(20px);--topbar-height:52px;--left-panel-width:320px;--right-drawer-width:440px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.3s cubic-bezier(.2, .8, .2, 1);--accent-primary:var(--accent-brand);--accent-primary-hover:#e85a24;--border-color:var(--border-main);--border-highlight:var(--border-focus);--text-muted:var(--text-secondary);--text-accent:#e4e4e7;--text-main:var(--text-primary);--bg-main:var(--bg-app);--glass-blur:var(--blur-hud);--transition:var(--transition-fast);--shadow-sm:0 4px 6px -1px #0000004d;--shadow-lg:var(--shadow-hud)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,sans-serif;line-height:1.5;overflow:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.01em;font-family:Outfit,sans-serif;font-weight:600}.font-mono{letter-spacing:-.02em;font-family:JetBrains Mono,monospace}.text-muted{color:var(--text-secondary)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-focus);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-layout{background-color:var(--bg-app);width:100vw;height:100vh;position:relative;overflow:hidden}.map-layer{z-index:1;position:absolute;inset:0}.ui-layer{z-index:10;pointer-events:none;position:absolute;inset:0}.hud-panel{pointer-events:auto;background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-hud);border:1px solid var(--border-main);box-shadow:var(--shadow-hud)}.top-bar{height:var(--topbar-height);border-bottom:1px solid var(--border-main);border-radius:0;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex;position:absolute;top:0;left:0;right:0}.left-panel-wrap{top:calc(var(--topbar-height) + 1rem);z-index:20;pointer-events:none;width:var(--left-panel-width);transition:width .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:1rem;left:1rem}.left-panel-wrap.collapsed{width:0}.left-panel{width:var(--left-panel-width);border-radius:var(--radius-lg);pointer-events:auto;will-change:transform;flex-direction:column;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;position:absolute;inset:0;overflow:hidden}.left-panel-wrap.collapsed .left-panel{opacity:0;pointer-events:none;transform:translate(-12px)}.right-drawer-wrap{top:calc(var(--topbar-height) + 1rem);z-index:20;pointer-events:none;width:var(--right-drawer-width);transition:width .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:1rem;right:1rem}.right-drawer-wrap:not(.has-incident){width:0;overflow:visible}.right-drawer-wrap.collapsed{width:0}.right-drawer{width:var(--right-drawer-width);border-radius:var(--radius-lg);pointer-events:auto;will-change:transform;flex-direction:column;transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0;overflow:hidden;transform:translate(calc(100% + 1.25rem))}.right-drawer.open{transform:translate(0)}.panel-edge-toggle{z-index:25;border:1px solid var(--border-main);background:var(--bg-panel-solid);width:28px;height:52px;color:var(--text-secondary);cursor:pointer;pointer-events:auto;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.panel-edge-toggle:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.panel-edge-toggle--left{border-radius:0 var(--radius-md) var(--radius-md) 0;right:-14px}.left-panel-wrap.collapsed .panel-edge-toggle--left{left:0;right:auto}.panel-edge-toggle--right{border-radius:var(--radius-md) 0 0 var(--radius-md);left:-14px}.right-drawer-wrap.collapsed .panel-edge-toggle--right{left:auto;right:0}.panel-edge-toggle.is-collapsed{color:var(--accent-blue);border-color:#3b82f659;box-shadow:0 0 12px #3b82f626}.incident-filter-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;transition:var(--transition-fast);background:0 0;border:1px solid #0000;flex:calc(50% - .25rem);align-items:flex-start;gap:.35rem;min-height:2.1rem;padding:.45rem .5rem;font-family:inherit;font-size:.72rem;line-height:1.35;display:flex}.incident-filter-btn--active{background:var(--bg-active);border-color:var(--border-focus);color:var(--text-primary)}.incident-filter-btn__icon{flex-shrink:0;font-size:.85rem;line-height:1.35}.incident-filter-btn__label{word-break:break-word;min-width:0}.incident-card{text-align:left;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-main);cursor:pointer;width:100%;color:inherit;padding:.75rem .65rem .75rem .75rem;font-family:inherit;transition:border-color .2s,box-shadow .2s,background .2s;position:relative}.incident-card:hover{border-color:var(--border-focus)}.incident-card--selected{background:var(--bg-active);border-color:var(--accent-blue);box-shadow:0 0 15px #3b82f626}.incident-card__accent{background:var(--incident-accent,var(--accent-red));border-radius:var(--radius-md) 0 0 var(--radius-md);width:3px;position:absolute;top:0;bottom:0;left:0}.incident-card__body{flex-direction:column;gap:.45rem;min-width:0;padding-left:8px;display:flex}.incident-card__title{color:var(--text-primary);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:.85rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.incident-card__meta{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .5rem;font-size:.7rem;line-height:1.35;display:flex}.incident-card__date{flex:8rem;min-width:0}.incident-card__status{color:var(--incident-accent,var(--text-secondary));white-space:nowrap;flex-shrink:0;font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;pointer-events:auto;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-panel-solid);border:1px solid var(--border-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-hud);flex-direction:column;width:90%;max-width:500px;max-height:90vh;display:flex;overflow-y:auto}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:1px solid var(--border-main);background:var(--bg-surface);color:var(--text-primary);outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-blue);color:#fff;border-color:#0000}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-icon{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;display:inline-flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.active{color:var(--accent-blue);background:var(--accent-blue-bg)}.segmented-control{background:var(--bg-surface);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.segmented-btn{border-radius:calc(var(--radius-sm) - 2px);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;flex:1;padding:.4rem;font-size:.75rem;font-weight:500}.segmented-btn.active{background:var(--bg-panel-solid);color:var(--text-primary);box-shadow:var(--shadow-sm)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:var(--transition-fast);padding:.75rem}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:.3rem;font-size:.65rem;font-weight:600;display:block}.input{border:1px solid var(--border-main);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition-fast);background:#0006;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.input:focus{border-color:var(--accent-blue)}.checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.checkbox-label:hover{color:var(--text-primary)}input[type=checkbox]{appearance:none;font:inherit;color:currentColor;border:1.5px solid var(--border-main);cursor:pointer;width:1.15em;height:1.15em;transition:var(--transition-fast);background-color:#0000;border-radius:3px;place-content:center;margin:0;display:grid}input[type=checkbox]:before{content:"";transform-origin:50%;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:.65em;height:.65em;transition:transform .12s ease-in-out;transform:scale(0);box-shadow:inset 1em 1em #fff}input[type=checkbox]:checked{background-color:var(--accent-blue);border-color:var(--accent-blue)}input[type=checkbox]:checked:before{transform:scale(1)}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:.15rem .4rem;font-size:.65rem;font-weight:600;display:inline-flex}.badge-red{background:var(--accent-red-bg);color:var(--accent-red);border:1px solid #ef444433}.badge-orange{background:var(--accent-orange-bg);color:var(--accent-orange);border:1px solid #f59e0b33}.badge-grey{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-main)}.badge-blue{background:var(--accent-blue-bg);color:var(--accent-blue);border:1px solid #3b82f633}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.3s forwards fadeIn}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select{border:1px solid var(--border-main);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);background:#0006;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.select:focus{border-color:var(--accent-blue)}.select option{background:var(--bg-panel-solid);color:var(--text-primary)}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-main);border-radius:var(--radius-md)}.badge-green{background:var(--accent-green-bg);color:var(--accent-green);border:1px solid #10b98133}.timeline-item{padding-bottom:1.2rem;padding-left:24px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--border-main);width:2px;position:absolute;top:6px;bottom:-6px;left:3px}.timeline-item:last-child:before{display:none}.timeline-dot{background:var(--bg-app);border:2px solid var(--accent-brand);width:10px;height:10px;box-shadow:0 0 10px var(--accent-brand-glow);border-radius:50%;position:absolute;top:6px;left:-1px}.leaflet-container{background:var(--bg-app)!important;font-family:Inter,sans-serif!important}.leaflet-control-layers{background:var(--bg-panel-solid)!important;border:1px solid var(--border-main)!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important}.leaflet-control-zoom a{background:var(--bg-panel-solid)!important;color:var(--text-primary)!important;border-color:var(--border-main)!important}.leaflet-control-zoom a:hover{background:var(--bg-hover)!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--bg-panel-solid)!important;color:var(--text-primary)!important;border:1px solid var(--border-main)!important}.leaflet-popup-content{margin:12px!important}.leaflet-top{top:calc(var(--topbar-height) + .75rem)!important}.leaflet-left{transition:left .35s cubic-bezier(.16,1,.3,1);left:calc(var(--left-panel-width) + 1.75rem)!important}.map-root.left-collapsed .leaflet-left{left:1.75rem!important}.map-root.drawer-open .leaflet-right{right:calc(var(--right-drawer-width) + 1.25rem)}.map-root .leaflet-right{transition:right .35s cubic-bezier(.16,1,.3,1)}.toast-stack{z-index:3000;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-md);background:var(--bg-panel-solid);border:1px solid var(--border-main);max-width:min(520px,100vw - 2rem);box-shadow:var(--shadow-hud);pointer-events:all;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.82rem;animation:.25s toastIn;display:flex}.toast-error{color:#fecaca;border-color:#ef444473}.toast-error svg{color:var(--accent-red)}.toast-success{color:#a7f3d0;border-color:#10b98173}.toast-success svg{color:var(--accent-green)}.toast-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;margin-left:.25rem;padding:2px;display:flex}.toast-close:hover{color:var(--text-primary)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.assistant-fab{z-index:2500;background:linear-gradient(135deg, var(--accent-red) 0%, var(--accent-brand) 100%);color:#fff;cursor:grab;touch-action:none;width:52px;height:52px;box-shadow:0 6px 22px var(--accent-brand-glow);border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:box-shadow .2s,transform .2s;display:flex;position:fixed}.assistant-fab:hover{transform:scale(1.06)}.assistant-fab:active{cursor:grabbing}.assistant-panel{z-index:2500;background:var(--bg-panel);width:min(380px,100vw - 2rem);height:min(540px,100vh - 2.5rem);-webkit-backdrop-filter:var(--blur-hud);border:1px solid var(--border-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-hud);flex-direction:column;animation:.2s toastIn;display:flex;position:fixed;overflow:hidden}.assistant-header{border-bottom:1px solid var(--border-main);background:#00000059;justify-content:space-between;align-items:center;padding:.7rem .85rem;display:flex}.assistant-drag{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.assistant-drag:active{cursor:grabbing}.assistant-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:3px;display:flex}.assistant-close:hover{color:var(--text-primary)}.assistant-body{flex-direction:column;flex:1;gap:.5rem;padding:.85rem;display:flex;overflow-y:auto}.assistant-empty{text-align:center;color:var(--text-secondary);margin:auto 0;padding:0 .5rem}.assistant-suggestion{text-align:left;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-main);width:100%;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);padding:.45rem .65rem;font-family:inherit;font-size:.74rem}.assistant-suggestion:hover{background:var(--accent-blue-bg);color:var(--text-primary);border-color:#3b82f666}.assistant-msg{border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;max-width:88%;padding:.55rem .75rem;font-size:.8rem;line-height:1.55}.assistant-msg--user{background:var(--accent-blue);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.assistant-msg--assistant{background:var(--bg-surface);border:1px solid var(--border-main);color:var(--text-secondary);border-bottom-left-radius:4px;align-self:flex-start}.assistant-input{border-top:1px solid var(--border-main);background:#0000004d;gap:.4rem;padding:.6rem;display:flex}.assistant-input input{border-radius:var(--radius-sm);border:1px solid var(--border-main);color:var(--text-primary);background:#0006;outline:none;flex:1;padding:.5rem .7rem;font-family:inherit;font-size:.8rem}.assistant-input input:focus{border-color:var(--accent-blue)}.assistant-input button{border-radius:var(--radius-sm);background:var(--accent-brand);color:#fff;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:38px;display:flex}.assistant-input button:disabled{opacity:.5;cursor:not-allowed}.project-credit{color:inherit;margin-top:20px;padding:12px 0;font-size:12px;line-height:1.6}.project-credit a{color:inherit;text-underline-offset:3px}.project-credit strong{font-weight:600}
