.dataset-selector-custom{align-items:center;display:flex;gap:8px;position:relative;z-index:1001}.dataset-selector-custom label{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:500}.dataset-select-trigger{align-items:center;background:#1e293bcc;border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:8px;border-radius:var(--radius-md,8px);color:#e2e8f0;color:var(--color-text-primary,#e2e8f0);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--text-sm,.875rem);gap:12px;justify-content:space-between;min-width:250px;padding:.5rem .75rem;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.dataset-select-trigger:hover{background:#1e293bf2;border-color:#40e0d0;border-color:var(--color-border-active,#40e0d0);box-shadow:0 0 0 3px #40e0d00f}.dataset-select-value{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{flex-shrink:0}.dataset-dropdown-menu{animation:dropdownSlide .18s cubic-bezier(.16,1,.3,1);animation:dropdownSlide .18s var(--ease-out,cubic-bezier(.16,1,.3,1));background:#1e293bfa;border:1px solid #40e0d040;border:1px solid var(--color-border,#40e0d040);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 8px 32px #0009,0 0 0 1px #40e0d00d;left:0;margin-left:70px;max-height:400px;min-width:250px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 6px);transform-origin:top center;z-index:1002}@keyframes dropdownSlide{0%{opacity:0;transform:scale(.98) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.dataset-option{align-items:center;border-bottom:1px solid #40e0d00f;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.dataset-option:last-child{border-bottom:none}.dataset-option:hover{background:#40e0d01a;background:var(--color-primary-muted,#40e0d01a)}.dataset-option.active{background:#40e0d01f;border-left:2px solid #40e0d0;border-left:2px solid var(--color-primary,#40e0d0)}.dataset-option.active .dataset-name{color:#40e0d0;color:var(--color-primary,#40e0d0);font-weight:600}.dataset-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.dataset-name{color:#e2e8f0;color:var(--color-text-primary,#e2e8f0);font-size:.875rem;font-size:var(--text-sm,.875rem);overflow:hidden;text-overflow:ellipsis;transition:color .15s ease;transition:color var(--transition-fast,.15s ease);white-space:nowrap}.dataset-size{color:#94a3b8;color:var(--color-text-muted,#94a3b8);font-size:.75rem;font-size:var(--text-xs,.75rem)}.delete-dataset-btn{align-items:center;background:#ef444426;border:1px solid #ef444440;border-radius:4px;border-radius:var(--radius-sm,4px);color:#ef4444;color:var(--color-danger-dark,#ef4444);cursor:pointer;display:none;flex-shrink:0;justify-content:center;padding:6px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.delete-dataset-btn:hover{background:#ef444440;transform:scale(1.1)}.dataset-dropdown-menu::-webkit-scrollbar{width:6px}.dataset-dropdown-menu::-webkit-scrollbar-track{background:#1e293b80}.dataset-dropdown-menu::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:9999px;border-radius:var(--radius-full,9999px)}.dataset-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#40e0d080}.user-menu{position:relative}.user-menu-trigger{align-items:center;background:#40e0d014;background:var(--color-primary-subtle,#40e0d014);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:8px;border-radius:var(--radius-md,8px);color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.user-menu-trigger:hover{background:#40e0d026;background:var(--color-primary-muted,#40e0d026);border-color:#40e0d059;border-color:var(--color-border-hover,#40e0d059)}.user-avatar{align-items:center;background:linear-gradient(135deg,#40e0d0,#0d9488);background:linear-gradient(135deg,var(--color-primary,#40e0d0) 0,var(--color-primary-dark,#0d9488) 100%);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#0f172a;display:flex;font-size:12px;font-weight:700;height:28px;justify-content:center;transition:transform .15s ease;transition:transform var(--transition-fast,.15s ease);width:28px}.user-menu-trigger:hover .user-avatar{transform:scale(1.05)}.user-avatar.large{font-size:18px;height:48px;width:48px}.user-name{font-size:13px;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge{border-radius:4px;border-radius:var(--radius-sm,4px);font-size:10px;font-weight:600;letter-spacing:.03em;padding:2px 6px;text-transform:uppercase}.user-badge.admin{background:#f39c1233;color:#f39c12;color:var(--color-warning,#f39c12)}.dropdown-arrow{opacity:.6;transition:transform .2s ease;transition:transform var(--transition-base,.2s ease)}.dropdown-arrow.open{opacity:1;transform:rotate(180deg)}.user-menu-dropdown{animation:menuSlideDown .2s cubic-bezier(.16,1,.3,1);animation:menuSlideDown .2s var(--ease-out,cubic-bezier(.16,1,.3,1));background:#16162afa;border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 10px 40px #00000073,0 0 0 1px #40e0d00d;min-width:260px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);transform-origin:top right;z-index:1000;z-index:var(--z-modal,1000)}@keyframes menuSlideDown{0%{opacity:0;transform:scale(.97) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.user-menu-header{align-items:center;background:#40e0d00d;background:var(--color-primary-subtle,#40e0d00d);display:flex;gap:12px;padding:16px}.user-info{display:flex;flex-direction:column;gap:2px}.user-display-name{color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);font-size:14px;font-weight:600}.user-email{color:#e0e6ed80;color:var(--color-text-muted,#e0e6ed80);font-size:12px}.user-role{font-size:11px;margin-top:4px}.user-role.admin{color:#f39c12;color:var(--color-warning,#f39c12)}.user-role.user{color:#40e0d0;color:var(--color-primary,#40e0d0)}.user-menu-divider{background:#40e0d01a;background:var(--color-border,#40e0d01a);height:1px;margin:0}.user-menu-section{padding:12px 16px}.menu-section-title{color:#e0e6ed73;color:var(--color-text-muted,#e0e6ed73);font-size:10px;font-weight:600;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.access-info{align-items:center;border-radius:8px;border-radius:var(--radius-md,8px);display:flex;font-size:12px;gap:8px;padding:8px 10px}.access-info.admin{background:#2ecc711a;color:#2ecc71;color:var(--color-success,#2ecc71)}.access-info.user{background:#40e0d014;background:var(--color-primary-subtle,#40e0d014);color:#e0e6edcc;color:var(--color-text-secondary,#e0e6edcc)}.access-icon{font-size:14px}.user-menu-item{align-items:center;background:none;border:none;border-radius:0;color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:11px 16px;text-align:left;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:100%}.user-menu-item:hover{background:#40e0d01a;background:var(--color-primary-muted,#40e0d01a);padding-left:20px}.user-menu-item.logout{color:#ff6b6b;color:var(--color-danger,#ff6b6b)}.user-menu-item.logout:hover{background:#ff6b6b1a;background:var(--color-danger-bg,#ff6b6b1a);padding-left:20px}.user-menu-item svg{opacity:.75;transition:opacity .15s ease;transition:opacity var(--transition-fast,.15s ease)}.user-menu-item:hover svg{opacity:1}@media (max-width:768px){.user-badge,.user-name{display:none}.user-menu-dropdown{min-width:240px;right:-50px}}.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#1e1e3ce6;background:var(--color-bg-surface,#1e1e3ce6);border-bottom:1px solid #40e0d033;border-bottom:1px solid var(--color-border,#40e0d033);box-shadow:0 1px 12px #00000040;justify-content:space-between;min-height:56px;overflow:visible;padding:.5rem 2rem;padding:var(--space-sm,.5rem) var(--space-xl,2rem);position:relative;z-index:100;z-index:var(--z-dropdown,100)}.header,.header-left{align-items:center;display:flex;gap:1rem;gap:var(--space-md,1rem)}.header h1,.header-left{flex-shrink:0}.header h1{color:#40e0d0;color:var(--color-primary,#40e0d0);font-size:1.25rem;font-size:var(--text-xl,1.25rem);font-weight:700;letter-spacing:-.01em;margin:0;text-shadow:0 0 12px #40e0d066}.header-controls{align-items:center;display:flex;gap:.5rem;gap:var(--space-sm,.5rem);margin-left:auto;overflow:visible;position:relative}.upload-button-header{align-items:center;background:linear-gradient(135deg,#40e0d0,#0d9488);background:linear-gradient(135deg,var(--color-primary,#40e0d0) 0,var(--color-primary-dark,#0d9488) 100%);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#0f172a;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:36px}.upload-button-header:hover{box-shadow:0 4px 12px #40e0d066;box-shadow:0 4px 12px var(--color-primary-glow,#40e0d066);filter:brightness(1.1);transform:translateY(-1px)}.upload-button-header:active{filter:brightness(.95);transform:translateY(0)}.view-selector-container{align-items:center;display:flex;gap:.5rem;gap:var(--space-sm,.5rem)}.view-selector-container label{color:#e0e6edcc;color:var(--color-text-secondary,#e0e6edcc);font-weight:500;white-space:nowrap}.view-selector,.view-selector-container label{font-size:.875rem;font-size:var(--text-sm,.875rem)}.view-selector{background:#ffffff14;border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:8px;border-radius:var(--radius-md,8px);color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);cursor:pointer;min-width:150px;padding:.45rem .85rem;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.view-selector:hover{background:#ffffff1f;border-color:#40e0d066;border-color:var(--color-border-hover,#40e0d066)}.view-selector:focus{border-color:#40e0d0;border-color:var(--color-primary,#40e0d0);box-shadow:0 0 0 3px #40e0d026;outline:none}.view-selector option{background:#1a1a2e;background:var(--color-bg-elevated,#1a1a2e);color:#e0e6ed;color:var(--color-text-primary,#e0e6ed)}.run-algorithm-button{background:linear-gradient(135deg,#40e0d0,#0d9488);background:linear-gradient(135deg,var(--color-primary,#40e0d0) 0,var(--color-primary-dark,#0d9488) 100%);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#0f172a;cursor:pointer;font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;letter-spacing:.01em;min-width:70px;padding:.5rem 1.1rem;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);white-space:nowrap}.run-algorithm-button:hover:not(:disabled){box-shadow:0 4px 16px #40e0d066;box-shadow:0 4px 16px var(--color-primary-glow,#40e0d066);filter:brightness(1.08);transform:translateY(-1px)}.run-algorithm-button:active:not(:disabled){filter:brightness(.95);transform:translateY(0)}.run-algorithm-button:disabled{background:linear-gradient(135deg,#6b7280,#4b5563);cursor:not-allowed;filter:none;opacity:.5}.parameters-button{align-items:center;background:#40e0d014;background:var(--color-primary-subtle,#40e0d014);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:8px;border-radius:var(--radius-md,8px);color:#40e0d0;color:var(--color-primary,#40e0d0);cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:36px}.parameters-button:hover{background:#40e0d026;background:var(--color-primary-muted,#40e0d026);border-color:#40e0d066;border-color:var(--color-border-hover,#40e0d066);box-shadow:0 4px 12px #40e0d033;transform:translateY(-1px)}.parameters-button:active{transform:translateY(0)}.parameters-button svg{display:block}.widget-bank-toggle{align-items:center;background:linear-gradient(135deg,#40e0d01a,#40e0d008);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:8px;border-radius:var(--radius-md,8px);color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:500;gap:.5rem;gap:var(--space-sm,.5rem);padding:8px 14px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);white-space:nowrap}.widget-bank-toggle:hover{background:linear-gradient(135deg,#40e0d033,#40e0d014);border-color:#40e0d066;border-color:var(--color-border-hover,#40e0d066);box-shadow:0 4px 12px #40e0d026;transform:translateY(-1px)}.widget-bank-toggle.active{background:linear-gradient(135deg,#40e0d040,#40e0d01f);border-color:#40e0d0;border-color:var(--color-primary,#40e0d0);box-shadow:0 0 12px #40e0d026;color:#40e0d0;color:var(--color-primary,#40e0d0)}.widget-bank-icon{font-size:1.1rem}.widget-bank-label{font-weight:500}.widget-bank-arrow{font-size:.7rem;opacity:.7;transition:transform .2s ease;transition:transform var(--transition-base,.2s ease)}.widget-bank-arrow.open{transform:rotate(180deg)}.channel-grid-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.channel-grid-scroll{align-items:flex-start;display:flex;flex:1 1;justify-content:center;overflow-x:hidden;overflow-y:auto;padding-bottom:20px;width:100%}.channel-grid-canvas{height:9700px;padding:20px 25px;position:relative;width:150px}.channel-box{align-items:center;background:#64647899;border:1px solid #40e0d04d;border-radius:3px;color:#e0e6ed;cursor:pointer;display:flex;font-size:.75rem;height:30px;justify-content:center;position:absolute;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:30px}.channel-box:hover{background:#40e0d04d;border-color:#40e0d0;transform:scale(1.1);z-index:10}.channel-box.selected{background:linear-gradient(135deg,#40e0d0,#00bcd4);border-color:#40e0d0;box-shadow:0 0 8px #40e0d099;color:#0f0f23;font-weight:600}.channel-box.selected:hover{background:linear-gradient(135deg,#50f0e0,#10cce4)}.channel-grid-scroll::-webkit-scrollbar{width:8px}.channel-grid-scroll::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.channel-grid-scroll::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:4px}.channel-grid-scroll::-webkit-scrollbar-thumb:hover{background:#40e0d080}.sidebar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#1e1e3ccc;background:var(--color-bg-surface,#1e1e3ccc);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0000004d;box-shadow:var(--shadow-lg,0 8px 32px #0000004d);display:flex;flex-direction:row;overflow:hidden;position:relative;transition:width .3s ease,opacity .3s ease;transition:width var(--transition-slow,.3s ease),opacity var(--transition-slow,.3s ease)}.sidebar.collapsed{border:none;opacity:0;padding:0;width:0!important}.sidebar-content{display:flex;flex:1 1;flex-direction:column;gap:1rem;gap:var(--space-md,1rem);min-width:0;overflow:hidden;padding:1.5rem;padding:var(--space-lg,1.5rem)}.sidebar-header{align-items:flex-start;display:flex;gap:.5rem;gap:var(--space-sm,.5rem);justify-content:space-between}.sidebar-header h3{word-wrap:break-word;flex:1 1;font-size:1rem;font-size:var(--text-base,1rem);font-weight:600;letter-spacing:-.01em;margin:0;min-width:0;overflow-wrap:break-word}.sidebar-collapse-btn,.sidebar-header h3{color:#40e0d0;color:var(--color-primary,#40e0d0)}.sidebar-collapse-btn{align-items:center;background:#40e0d026;background:var(--color-primary-muted,#40e0d026);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;flex-shrink:0;font-size:1.4rem;font-weight:700;height:28px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:28px}.sidebar-collapse-btn:hover{background:#40e0d040;border-color:#40e0d0;border-color:var(--color-primary,#40e0d0);box-shadow:0 0 10px #40e0d033;box-shadow:var(--shadow-glow-sm,0 0 10px #40e0d033);transform:scale(1.05)}.sidebar-collapse-btn:active{transform:scale(.95)}.sidebar-expand-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e3cf2;border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-left:none;border-radius:0 8px 8px 0;border-radius:0 var(--radius-md,8px) var(--radius-md,8px) 0;box-shadow:2px 0 8px #0000004d;color:#40e0d0;color:var(--color-primary,#40e0d0);cursor:pointer;display:flex;font-size:1.6rem;font-weight:700;height:72px;justify-content:center;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:28px;z-index:10}.sidebar-expand-btn:hover{background:#40e0d026;background:var(--color-primary-muted,#40e0d026);border-color:#40e0d0;border-color:var(--color-primary,#40e0d0);box-shadow:2px 0 16px #40e0d033;width:32px}.sidebar-expand-btn:active{transform:translateY(-50%) scale(.95)}.sidebar-resize-handle{background:#0000;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .15s ease;transition:background var(--transition-fast,.15s ease);width:8px;z-index:10}.sidebar-resize-handle:hover{background:#40e0d033}.sidebar-resize-handle:active{background:#40e0d066}.sidebar-resize-handle:before{bottom:0;content:"";left:0;position:absolute;top:0;transform:translateX(-10px);width:20px}.sidebar-resize-handle:after{background:#40e0d080;background:var(--color-primary,#40e0d080);border-radius:1px;content:"";height:40px;opacity:0;position:absolute;right:3px;top:50%;transform:translateY(-50%);transition:opacity .15s ease;transition:opacity var(--transition-fast,.15s ease);width:2px}.sidebar-resize-handle:active:after,.sidebar-resize-handle:hover:after{opacity:1}.control-group{background:#ffffff0a;border:1px solid #40e0d014;border-radius:8px;border-radius:var(--radius-md,8px);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:1rem;padding:var(--space-md,1rem);transition:border-color .15s ease;transition:border-color var(--transition-fast,.15s ease)}.control-group:hover{border-color:#40e0d026}.btn{background:linear-gradient(135deg,#40e0d0,#0d9488);background:linear-gradient(135deg,var(--color-primary,#40e0d0),var(--color-primary-dark,#0d9488));border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#0f0f23;cursor:pointer;font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;letter-spacing:.01em;padding:.6rem 1.2rem;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:100%}.btn:hover:not(:disabled){box-shadow:0 4px 16px #40e0d066;box-shadow:0 4px 16px var(--color-primary-glow,#40e0d066);filter:brightness(1.08);transform:translateY(-1px)}.btn:active:not(:disabled){filter:brightness(.95);transform:translateY(0)}.btn:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.6;transform:none}@media (max-width:768px){.sidebar{border-radius:0 12px 12px 0;border-radius:0 var(--radius-lg,12px) var(--radius-lg,12px) 0;bottom:0;left:0;position:absolute;top:0;z-index:100;z-index:var(--z-dropdown,100)}.sidebar-expand-btn{left:0}}.spike-channel{background:#0a0a1ecc;border:1px solid #40e0d01a;border-radius:8px;overflow:hidden;padding:1rem;position:relative}.spike-channel.inactive{opacity:.3}.channel-label{background:#40e0d033;border-radius:8px;color:#40e0d0;font-size:.65rem;font-weight:500;left:.3rem;padding:.15rem .4rem;position:absolute;top:.3rem;z-index:2}.spike-waveform{align-items:center;display:flex;height:100%;position:relative;width:100%}.plot-container{overflow:hidden;position:relative}.empty-channel,.plot-container{background:#0003;border-radius:4px;height:100%;width:100%}.empty-channel{align-items:center;display:flex;justify-content:center}.empty-message{color:#e0e6ed66;font-size:.9rem}.spike-nav-arrows{bottom:8px;display:flex;gap:4px;position:absolute;right:8px;z-index:10}.spike-nav-button{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#40e0d04d;border:1px solid #40e0d080;border-radius:4px;color:#40e0d0;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.spike-nav-button:hover{background:#40e0d080;border-color:#40e0d0;transform:scale(1.05)}.spike-nav-button:active{transform:scale(.95)}.spike-grid-container{margin-bottom:1rem;padding-right:30px}.spike-grid,.spike-grid-container{display:flex;flex:1 1;min-height:0;position:relative}.spike-grid{flex-direction:column;overflow:hidden}.spike-grid-scroll-wrapper{display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;will-change:transform}.spike-grid-scroll-wrapper[data-channels-per-view="1"]>.spike-channel{flex-shrink:0;height:100%;margin-bottom:0}.spike-grid-scroll-wrapper[data-channels-per-view="3"]>.spike-channel{flex-shrink:0;height:calc(33.333% - .667rem);margin-bottom:1rem}.channel-slider-container{bottom:10px;position:absolute;right:5px;top:10px;width:8px;z-index:10}.channel-slider-track{background:#ffffff0d;border-radius:4px;cursor:pointer;height:100%;position:relative;width:100%}.channel-slider-thumb{background:#40e0d04d;border-radius:4px;cursor:grab;height:60px;left:0;position:absolute;right:0;transition:background .2s ease}.channel-slider-thumb:hover{background:#40e0d080}.channel-slider-thumb:active{cursor:grabbing}.timeline{background:#0a0a1ee6;border:1px solid #40e0d033;border-radius:8px;height:40px;margin-top:auto;overflow:hidden;padding:0 .75rem;position:relative}.timeline-track{background:#ffffff0d;border-radius:5px;cursor:pointer;height:10px;left:.75rem;position:absolute;right:.75rem;top:10px;transition:background .2s ease}.timeline-track:hover{background:#ffffff14}.timeline-window{background:#40e0d04d;border:2px solid #40e0d099;border-radius:6px;cursor:grab;height:100%;position:absolute;top:0;transition:all .2s ease;-webkit-user-select:none;user-select:none}.timeline-window:hover{background:#40e0d066;border-color:#40e0d0cc}.timeline-window.dragging{background:#40e0d080;border-color:#40e0d0;box-shadow:0 0 15px #40e0d080;cursor:grabbing}.timeline-window-edge{background:#40e0d0cc;bottom:0;position:absolute;top:0;width:3px}.timeline-window-edge.left{border-radius:4px 0 0 4px;left:0}.timeline-window-edge.right{border-radius:0 4px 4px 0;right:0}.timeline-labels{bottom:5px;color:#e0e6ed99;display:flex;font-size:.65rem;justify-content:space-between;left:.75rem;pointer-events:none;position:absolute;right:.75rem}.visualization-area{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e3c99;border:1px solid #40e0d033;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.viz-header{align-items:center;border-bottom:1px solid #40e0d033;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.viz-header h2{color:#40e0d0;font-size:1.2rem;font-weight:600}.time-controls{align-items:center;display:flex;gap:1rem}.time-controls label{color:#e0e6edb3;font-size:.9rem}.time-input{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:6px;color:#e0e6ed;font-size:.9rem;padding:.4rem .8rem;width:100px}.time-input:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.threshold-input{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:6px;color:#e0e6ed;font-size:.9rem;padding:.4rem .8rem;width:80px}.threshold-input:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.window-input{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:6px;color:#e0e6ed;font-size:.9rem;padding:.4rem .8rem;width:100px}.window-input:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.filter-type-select{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:6px;color:#e0e6ed;cursor:pointer;font-size:.9rem;padding:.4rem .8rem;width:200px}.filter-type-select:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.filter-type-select option{background:#1a1a2e;color:#e0e6ed}.filter-color-select{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:6px;color:#e0e6ed;cursor:pointer;font-size:.9rem;padding:.4rem .8rem;width:140px}.filter-color-select:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.filter-color-select option{background:#1a1a2e;color:#e0e6ed}.invert-checkbox{align-items:center;color:#e0e6edb3;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.invert-checkbox input[type=checkbox]{accent-color:#40e0d0;cursor:pointer;height:16px;width:16px}.invert-checkbox span{-webkit-user-select:none;user-select:none}.precomputed-checkbox{align-items:center;border-left:1px solid #40e0d033;color:#5eead4e6;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;margin-left:1rem;padding-left:1rem}.precomputed-checkbox input[type=checkbox]{accent-color:#5eead4;cursor:pointer;height:16px;width:16px}.precomputed-checkbox span{font-weight:500;-webkit-user-select:none;user-select:none}.cluster-view{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e3c99;border:1px solid #40e0d033;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:1.5rem}.cluster-header{align-items:center;border-bottom:1px solid #40e0d033;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.cluster-header h2{color:#40e0d0;font-size:1.2rem;font-weight:600;margin:0}.cluster-controls{align-items:center;display:flex;flex-wrap:wrap;gap:2rem}.filter-selector{align-items:center;display:flex;gap:.5rem}.filter-selector label{color:#e0e6edb3;font-size:.9rem;white-space:nowrap}.filter-select{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:6px;color:#e0e6ed;cursor:pointer;font-size:.9rem;min-width:180px;padding:.4rem .8rem}.filter-select:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.filter-select option{background:#1a1a2e;color:#e0e6ed}.channel-selectors{display:flex;gap:1.5rem}.cluster-channel-select{align-items:center;display:flex;gap:.5rem}.cluster-channel-select label{font-size:.9rem;font-weight:500;white-space:nowrap}.channel-input{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:6px;color:#e0e6ed;font-size:.9rem;padding:.4rem .6rem;text-align:center;width:60px}.channel-input:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.cluster-content{display:flex;flex:1 1;gap:1rem;min-height:0;position:relative}.cluster-plot-container{background:#0003;border-radius:8px;flex:1 1;min-width:0;padding:.5rem}.spike-overlay-container{animation:slideInFromRight .3s ease-out;background:#1a1a2ecc;border:1px solid #40e0d04d;border-radius:8px;display:flex;flex:0 0 400px;flex-direction:column;overflow:hidden;padding:1rem}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.overlay-header{align-items:center;border-bottom:1px solid #40e0d033;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.overlay-header h3{color:#40e0d0;font-size:1rem;font-weight:600;margin:0}.overlay-controls{align-items:center;display:flex;gap:.75rem}.spike-count{color:#e0e6edb3}.clear-overlay-btn{background:#ff6b6b33;border:1px solid #ff6b6b66;border-radius:4px;color:#ff6b6b;cursor:pointer;font-size:.85rem;padding:.35rem .75rem;transition:all .2s ease}.clear-overlay-btn:hover{background:#ff6b6b4d;border-color:#ff6b6b}.overlay-empty-state{align-items:center;color:#e0e6ed99;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:2rem 1rem;text-align:center}.overlay-empty-state p{font-size:.9rem;line-height:1.5;margin:.5rem 0}.overlay-hint{color:#40e0d0b3!important;font-size:.85rem!important;font-style:italic}.overlay-plot{background:#0003;border-radius:8px;flex:1 1;min-height:0;overflow:hidden;padding:.5rem}.overlay-loading{align-items:center;color:#40e0d0;display:flex;font-size:.9rem;height:100%;justify-content:center}.overlay-spike-list-compact{background:#0003;border-radius:8px;margin-top:.75rem;padding:.5rem}.overlay-spike-list-compact h4{color:#e0e6edcc;font-size:.8rem;font-weight:600;margin:0 0 .5rem}.spike-list-items-compact{display:flex;flex-direction:column;gap:.4rem;max-height:120px;overflow-y:auto}.spike-list-item-compact{align-items:center;background:#ffffff0d;border-left:3px solid;border-radius:4px;display:flex;justify-content:space-between;min-height:52px;padding:.4rem .6rem;transition:background .2s ease}.spike-list-item-compact:hover{background:#ffffff14}.spike-item-info-compact{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0}.spike-item-label-compact{color:#e0e6ed;font-size:.8rem;font-weight:500}.spike-item-label-compact,.spike-item-time-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spike-item-time-compact{color:#e0e6ed99;font-size:.7rem}.spike-item-actions-compact{display:flex;flex-shrink:0;gap:.4rem}.spike-item-nav-btn-compact,.spike-item-remove-btn-compact{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;color:#e0e6ed;cursor:pointer;display:flex;font-size:.95rem;height:26px;justify-content:center;transition:all .2s ease;width:26px}.spike-item-nav-btn-compact:hover{background:#40e0d033;border-color:#40e0d0;color:#40e0d0}.spike-item-remove-btn-compact:hover{background:#ff6b6b33;border-color:#ff6b6b;color:#ff6b6b}.spike-list-items-compact::-webkit-scrollbar{width:5px}.spike-list-items-compact::-webkit-scrollbar-track{background:#0003;border-radius:3px}.spike-list-items-compact::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:3px}.spike-list-items-compact::-webkit-scrollbar-thumb:hover{background:#40e0d080}.spike-preview-panel{animation:slideIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a2ef2;border:2px solid #40e0d066;border-radius:12px;box-shadow:0 8px 24px #00000080;padding:1rem;position:absolute;right:20px;top:20px;width:320px;z-index:100}.spike-preview-panel.with-overlay{animation:slideInFromLeft .2s ease-out;left:20px;right:auto}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.preview-info{margin-bottom:1rem}.preview-info h3{color:#40e0d0;font-size:1rem;margin:0 0 .5rem}.preview-info p{color:#e0e6edcc;font-size:.85rem;margin:.25rem 0}.preview-info .click-hint{color:#40e0d0b3;cursor:pointer;font-size:.75rem;font-style:italic;margin-top:.5rem}.preview-loading{align-items:center;color:#40e0d0;display:flex;font-size:.9rem;height:200px;justify-content:center}.preview-plot{border-radius:8px;overflow:hidden}@media (max-width:1400px){.spike-overlay-container{flex:0 0 350px}.overlay-plot{min-height:250px}}@media (max-width:1200px){.spike-preview-panel{width:280px}.channel-selectors{flex-direction:column;gap:.5rem}.spike-overlay-container{flex:0 0 300px}}@media (max-width:768px){.cluster-header{align-items:flex-start;flex-direction:column;gap:1rem}.spike-preview-panel{margin-top:1rem;position:relative;right:auto;top:auto;width:100%}.cluster-content{flex-direction:column}.spike-overlay-container{flex:1 1 auto;min-height:400px}}.channel-mapping-btn{background:#40e0d033;border:1px solid #40e0d066;border-radius:6px;color:#40e0d0;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.channel-mapping-btn:hover{background:#40e0d04d;border-color:#40e0d0;box-shadow:0 0 8px #40e0d04d}.channel-mapping-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.channel-mapping-modal{animation:slideUp .3s ease-out;background:#1a1a2efa;border:2px solid #40e0d066;border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:80vh;max-width:600px;padding:1.5rem;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #40e0d033;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.modal-header h3{color:#40e0d0;font-size:1.2rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#e0e6ed99;cursor:pointer;display:flex;font-size:1.8rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close:hover{background:#ffffff1a;color:#e0e6ed}.modal-info{color:#e0e6edcc;font-size:.9rem;margin-bottom:1rem}.modal-info p{margin:.3rem 0}.modal-hint{color:#40e0d0b3;font-size:.85rem;font-style:italic}.channel-mapping-list{flex:1 1;margin-bottom:1rem;overflow-y:auto;padding-right:.5rem}.channel-mapping-item{align-items:center;background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem;transition:background .2s ease}.channel-mapping-item:hover{background:#ffffff14}.cluster-info{align-items:center;display:flex;flex:1 1;gap:.75rem}.cluster-color-indicator{border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;height:16px;width:16px}.cluster-label{color:#e0e6ed;font-size:.95rem;font-weight:500;min-width:80px}.cluster-point-count{color:#e0e6ed80;font-size:.85rem}.channel-input-container{align-items:center;display:flex;gap:.5rem}.channel-input-container label{color:#e0e6edb3;font-size:.85rem}.channel-input-modal{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;font-size:.9rem;padding:.4rem .6rem;text-align:center;width:80px}.channel-input-modal:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.channel-input-modal::placeholder{color:#e0e6ed4d}.modal-footer{border-top:1px solid #40e0d033;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.modal-btn-primary,.modal-btn-secondary{border:1px solid;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.6rem 1.5rem;transition:all .2s ease}.modal-btn-secondary{background:#ffffff0d;border-color:#fff3;color:#e0e6ed}.modal-btn-secondary:hover{background:#ffffff1a}.modal-btn-primary{background:#40e0d033;border-color:#40e0d066;color:#40e0d0}.modal-btn-primary:hover{background:#40e0d04d;border-color:#40e0d0;box-shadow:0 0 12px #40e0d04d}.channel-mapping-list::-webkit-scrollbar{width:6px}.channel-mapping-list::-webkit-scrollbar-track{background:#0003;border-radius:3px}.channel-mapping-list::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:3px}.channel-mapping-list::-webkit-scrollbar-thumb:hover{background:#40e0d080}.cluster-list-table{background:#1e1e3c80;border-radius:8px;border-radius:var(--radius-md,8px);display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1rem;padding:var(--space-md,1rem)}.cluster-list-header{border-bottom:2px solid #40e0d040;margin-bottom:.5rem;margin-bottom:var(--space-sm,.5rem);padding-bottom:.5rem;padding-bottom:var(--space-sm,.5rem)}.cluster-list-header h3{color:#40e0d0;color:var(--color-primary,#40e0d0);font-size:1rem;font-size:var(--text-base,1rem);font-weight:600;letter-spacing:-.01em;margin:0}.cluster-list-content{flex:1 1;overflow-y:auto}.cluster-list-table table{border-collapse:initial;border-spacing:0;width:100%}.cluster-list-table thead{background:#1e1e3cf7;position:-webkit-sticky;position:sticky;top:0;z-index:1}.cluster-list-table th{border-bottom:1px solid #40e0d033;color:#e0e6ed99;color:var(--color-text-muted,#e0e6ed99);font-size:.75rem;font-size:var(--text-xs,.75rem);font-weight:600;letter-spacing:.05em;padding:.6rem .5rem;text-align:center;text-transform:uppercase}.cluster-list-table td{border-bottom:1px solid #40e0d00f;color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);font-size:.875rem;font-size:var(--text-sm,.875rem);padding:.55rem .5rem;text-align:center}.cluster-list-table tbody tr,.cluster-list-table td{transition:background .15s ease;transition:background var(--transition-fast,.15s ease)}.cluster-list-table tbody tr:hover{background:#40e0d014;cursor:pointer}.cluster-list-table tbody tr:hover td{border-bottom-color:#40e0d01f}.cluster-list-table tbody tr:nth-child(2n){background:hsla(0,0%,100%,.015)}.cluster-list-table tbody tr:nth-child(2n):hover{background:#40e0d014}.checkbox-cell input[type=checkbox]{accent-color:#40e0d0;accent-color:var(--color-primary,#40e0d0);border-radius:4px;border-radius:var(--radius-sm,4px);cursor:pointer;height:16px;width:16px}.cluster-id-cell{font-feature-settings:"tnum";font-size:.875rem;font-size:var(--text-sm,.875rem);font-variant-numeric:tabular-nums;font-weight:600}.cluster-list-content::-webkit-scrollbar{width:5px}.cluster-list-content::-webkit-scrollbar-track{background:#0000001a;border-radius:9999px;border-radius:var(--radius-full,9999px)}.cluster-list-content::-webkit-scrollbar-thumb{background:#40e0d040;border-radius:9999px;border-radius:var(--radius-full,9999px)}.cluster-list-content::-webkit-scrollbar-thumb:hover{background:#40e0d073}.spike-list-table{background:#1e1e3c99;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1rem}.spike-list-header{align-items:center;border-bottom:2px solid #40e0d04d;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.spike-list-header h3{color:#40e0d0;font-size:1rem;font-weight:600;margin:0}.spike-count{color:#e0e6ed;font-size:.85rem;opacity:.7}.spike-list-content{flex:1 1;overflow-y:auto}.spike-list-table table{border-collapse:collapse;width:100%}.spike-list-table thead{background:#1e1e3cf2;position:-webkit-sticky;position:sticky;top:0;z-index:1}.spike-list-table th{border-bottom:1px solid #40e0d04d;font-size:.85rem;font-weight:600}.spike-list-table td,.spike-list-table th{color:#e0e6ed;padding:.5rem;text-align:center}.spike-list-table td{border-bottom:1px solid #40e0d01a}.spike-list-table tbody tr{cursor:pointer;transition:background-color .2s ease}.spike-list-table tbody tr:hover{background:#40e0d01a}.spike-list-table tbody tr.selected{background:#40e0d04d;border-left:3px solid #40e0d0}.spike-cluster-cell,.spike-time-cell{font-size:.9rem;font-weight:500}.no-data-cell{color:#e0e6ed80;font-style:italic;padding:2rem!important;text-align:center}.spike-list-content::-webkit-scrollbar{width:6px}.spike-list-content::-webkit-scrollbar-track{background:#0003;border-radius:3px}.spike-list-content::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:3px}.spike-list-content::-webkit-scrollbar-thumb:hover{background:#40e0d080}.cluster-statistics-window{background:#1e1e3c99;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1rem}.cluster-stats-header{border-bottom:2px solid #40e0d04d;margin-bottom:.5rem;padding-bottom:.5rem}.cluster-stats-header h3{color:#40e0d0;font-size:1rem;font-weight:600;margin:0}.cluster-stats-content{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto}.cluster-stat-panel{background:#0003;border:1px solid #40e0d033;border-radius:6px;padding:.75rem}.cluster-stat-title{border-bottom:1px solid #40e0d033;color:#40e0d0;font-size:.95rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem}.cluster-stat-items{display:flex;flex-direction:column;gap:.4rem}.stat-item{align-items:center;display:flex;justify-content:space-between;padding:.25rem 0}.stat-label{color:#e0e6ed;font-size:.85rem;opacity:.9}.stat-value{color:#40e0d0;font-size:.9rem;font-weight:600}.no-cluster-selected{align-items:center;color:#e0e6ed80;display:flex;flex:1 1;font-style:italic;justify-content:center}.no-cluster-selected p{font-size:.95rem;margin:0}.cluster-stats-content::-webkit-scrollbar{width:6px}.cluster-stats-content::-webkit-scrollbar-track{background:#0003;border-radius:3px}.cluster-stats-content::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:3px}.cluster-stats-content::-webkit-scrollbar-thumb:hover{background:#40e0d080}.signal-view-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e3c99;border:1px solid #40e0d033;border-radius:8px;box-shadow:0 8px 32px #0000004d;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:.75rem}.signal-view-panel .viz-header{align-items:center;border-bottom:1px solid #40e0d033;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.signal-view-panel .viz-header h2{color:#40e0d0;font-size:.9rem;font-weight:600;margin:0}.signal-view-panel .time-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.signal-view-panel .time-controls label{color:#e0e6edb3;font-size:.75rem}.signal-view-panel .time-input{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;font-size:.75rem;padding:.25rem .4rem;width:70px}.signal-view-panel .time-input:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.signal-view-panel .threshold-input{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;font-size:.75rem;padding:.25rem .4rem;width:60px}.signal-view-panel .threshold-input:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.signal-view-panel .window-input{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;font-size:.75rem;padding:.25rem .4rem;width:70px}.signal-view-panel .window-input:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.signal-view-panel .data-type-select{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;cursor:pointer;font-size:.75rem;padding:.25rem .4rem;width:160px}.signal-view-panel .data-type-select:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.signal-view-panel .data-type-select option{background:#1a1a2e;color:#e0e6ed}.signal-view-panel .filter-type-select{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;cursor:pointer;font-size:.75rem;padding:.25rem .4rem;width:150px}.signal-view-panel .filter-type-select:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.signal-view-panel .filter-type-select option{background:#1a1a2e;color:#e0e6ed}.signal-view-panel .filter-color-select{background:#ffffff1a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;cursor:pointer;font-size:.75rem;padding:.25rem .4rem;width:100px}.signal-view-panel .filter-color-select:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d033;outline:none}.signal-view-panel .filter-color-select option{background:#1a1a2e;color:#e0e6ed}.signal-view-panel .invert-checkbox{align-items:center;color:#e0e6edb3;cursor:pointer;display:flex;font-size:.75rem;gap:.3rem}.signal-view-panel .invert-checkbox input[type=checkbox]{accent-color:#40e0d0;cursor:pointer;height:14px;width:14px}.signal-view-panel .invert-checkbox span{-webkit-user-select:none;user-select:none}.signal-view-panel .precomputed-checkbox{align-items:center;border-left:1px solid #40e0d033;color:#5eead4e6;cursor:pointer;display:flex;font-size:.75rem;gap:.3rem;margin-left:.5rem;padding-left:.5rem}.signal-view-panel .precomputed-checkbox input[type=checkbox]{accent-color:#5eead4;cursor:pointer;height:14px;width:14px}.signal-view-panel .precomputed-checkbox span{font-weight:500;-webkit-user-select:none;user-select:none}.signal-view-panel .time-controls span{color:#e0e6ed80;font-size:.75rem}.signal-view-panel .signal-content{display:flex;flex:1 1;gap:.5rem;min-height:0;overflow:hidden}.signal-view-panel .signal-sidebar{background:#0000004d;border-radius:6px;display:flex;flex:0 0 100px;flex-direction:column;overflow:hidden}.signal-view-panel .sidebar-header{background:#40e0d01a;border-bottom:1px solid #40e0d04d;color:#40e0d0;font-size:.7rem;font-weight:600;padding:.5rem;text-align:center}.signal-view-panel .channel-grid{grid-gap:.2rem;align-content:start;display:grid;flex:1 1;gap:.2rem;grid-template-columns:repeat(2,1fr);overflow-y:auto;padding:.4rem}.signal-view-panel .channel-button{background:#0000004d;border:1px solid #40e0d033;border-radius:3px;color:#e0e6ed99;cursor:pointer;font-size:.65rem;padding:.3rem .1rem;transition:all .2s ease}.signal-view-panel .channel-button:hover{background:#40e0d01a;border-color:#40e0d066}.signal-view-panel .channel-button.selected{background:#40e0d033;border-color:#40e0d0;color:#40e0d0;font-weight:600}.signal-view-panel .signal-main-area{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.dimensionality-reduction-panel{background:#1e1e3c99;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1rem}.dim-reduction-header{border-bottom:2px solid #40e0d04d;margin-bottom:.5rem;padding-bottom:.5rem}.dim-reduction-header h3{color:#40e0d0;font-size:1rem;font-weight:600;margin:0}.dim-reduction-plot-container{flex:1 1;min-height:0;position:relative}.spike-preview-overlay{background:#1a1a2ef2;border:1px solid #40e0d080;border-radius:8px;box-shadow:0 4px 12px #00000080;padding:12px;pointer-events:none;position:absolute;top:10px;width:280px;z-index:1000}.spike-preview-overlay.spike-preview-left{left:10px}.spike-preview-overlay.spike-preview-right{left:auto;right:10px}.spike-preview-overlay .preview-info{margin-bottom:8px}.spike-preview-overlay .preview-info h4{color:#40e0d0;font-size:.9rem;font-weight:600;margin:0 0 6px}.spike-preview-overlay .preview-info p{color:#e0e6ed;font-size:.8rem;margin:2px 0}.spike-preview-overlay .preview-loading{color:#e0e6edb3;font-size:.8rem;font-style:italic;padding:10px;text-align:center}.spike-preview-overlay .preview-plot{margin-top:8px}.waveform-single-channel-view{background:#1e1e3c99;border-radius:8px;display:flex;flex:1 1!important;flex-direction:column;min-height:0!important;overflow:hidden;padding:.5rem .75rem .75rem}.waveform-header{align-items:center;border-bottom:1px solid #40e0d04d;display:flex;justify-content:space-between;margin-bottom:.35rem;padding-bottom:.25rem}.waveform-header h3{color:#40e0d0;font-size:.9rem;font-weight:600;margin:0}.waveform-info{color:#e0e6ed;font-size:.75rem;opacity:.7}.waveform-plot-container{flex:1 1;min-height:0;position:relative}.waveform-neighboring-channels-view{background:#1e1e3c99;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:.75rem}.cluster-selector-bar{align-items:center;background:#0003;border:1px solid #40e0d033;border-radius:6px;display:flex;gap:.75rem;margin-bottom:.75rem;padding:.5rem .75rem}.cluster-selector-bar label{color:#40e0d0;font-size:.9rem;font-weight:500;white-space:nowrap}.cluster-selector-bar select{background:#1a1a2ecc;border:1px solid #40e0d066;border-radius:4px;color:#e0e6ed;cursor:pointer;font-size:.85rem;min-width:120px;outline:none;padding:.4rem .6rem}.cluster-selector-bar select:hover{border-color:#40e0d099}.cluster-selector-bar select:focus{border-color:#40e0d0}.peak-channel-info{color:#e0e6edcc;font-size:.85rem;margin-left:auto}.multi-channel-plots-container{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;position:relative}.channel-plots-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-auto-rows:250px;grid-template-columns:1fr;padding:.25rem}.channel-plot-item{background:#0003;border:1px solid #40e0d033;border-radius:6px;display:flex;flex-direction:column;height:250px;overflow:hidden;padding:.5rem}.channel-plot-item.peak-channel{border-color:#40e0d080;border-width:2px;box-shadow:0 0 8px #40e0d04d}.channel-plot-header{color:#40e0d0;font-size:.85rem;font-weight:600;margin-bottom:.25rem;text-align:center}.channel-plot-item.peak-channel .channel-plot-header{color:gold}.no-data-message{align-items:center;color:#e0e6ed80;display:flex;font-style:italic;height:100%;justify-content:center}.no-data-message p{font-size:.95rem;margin:0}.dockable-widget{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1e1e3cb3;background:var(--color-bg-surface,#1e1e3cb3);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 4px 16px #00000059;box-shadow:var(--shadow-md,0 4px 16px #00000059);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-fast,.15s ease),box-shadow var(--transition-fast,.15s ease)}.dockable-widget:hover{border-color:#40e0d059;border-color:var(--color-border-hover,#40e0d059);box-shadow:0 6px 20px #00000073,0 0 0 1px #40e0d00d}.dockable-widget.dragging{box-shadow:0 12px 40px #00000080;cursor:move;opacity:.85;z-index:1000;z-index:var(--z-modal,1000)}.dockable-widget.resizing{opacity:.9;-webkit-user-select:none;user-select:none;z-index:999}.dockable-widget.minimized{max-height:50px;min-height:50px}.dockable-widget.maximized{border-radius:0;bottom:0!important;height:calc(100vh - 56px)!important;left:0!important;margin:0!important;position:fixed!important;right:0!important;top:56px!important;width:100%!important;z-index:999}.widget-header{align-items:center;background:#40e0d00f;border-bottom:1px solid #40e0d01f;cursor:move;display:flex;flex-shrink:0;justify-content:space-between;min-height:40px;padding:8px 12px;-webkit-user-select:none;user-select:none}.dockable-widget.dragging .widget-header{background:#40e0d01a;cursor:grabbing}.widget-title{color:#40e0d0;color:var(--color-primary,#40e0d0);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;gap:.5rem;letter-spacing:-.01em}.widget-controls,.widget-title{align-items:center;display:flex}.widget-controls{gap:4px}.widget-control-btn{align-items:center;background:#0003;border:1px solid #40e0d026;border-radius:4px;border-radius:var(--radius-sm,4px);color:#e0e6ed99;color:var(--color-text-secondary,#e0e6ed99);cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:24px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:24px}.widget-control-btn:hover{background:#40e0d026;border-color:#40e0d066;color:#40e0d0;color:var(--color-primary,#40e0d0);transform:scale(1.1)}.widget-control-btn:active{transform:scale(.95)}.widget-control-btn.close-btn:hover{background:#ef444433;border-color:#ef444466;color:#ef4444;color:var(--color-danger-dark,#ef4444)}.widget-control-btn.minimize-btn{font-size:1.2rem}.widget-control-btn.maximize-btn{font-size:.9rem}.widget-control-btn.close-btn{font-size:1.4rem}.widget-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;position:relative;width:100%}.widget-content.hidden{display:none}.widget-content>*{flex:1 1;height:100%;min-height:0;min-width:0;overflow:auto;width:100%}.widget-content>.waveform-view-toggle{flex:0 0 auto!important;height:auto!important;overflow:visible!important}.widget-content::-webkit-scrollbar{height:5px;width:5px}.widget-content::-webkit-scrollbar-track{background:#0000001a;border-radius:9999px;border-radius:var(--radius-full,9999px)}.widget-content::-webkit-scrollbar-thumb{background:#40e0d040;border-radius:9999px;border-radius:var(--radius-full,9999px)}.widget-content::-webkit-scrollbar-thumb:hover{background:#40e0d073}.widget-resize-handle{pointer-events:auto;position:absolute;transition:background .15s ease;transition:background var(--transition-fast,.15s ease);z-index:100}.widget-resize-e{right:0}.widget-resize-e,.widget-resize-w{bottom:0;cursor:ew-resize;top:0;width:8px}.widget-resize-w{left:0}.widget-resize-n{top:0}.widget-resize-n,.widget-resize-s{cursor:ns-resize;height:8px;left:0;right:0}.widget-resize-s{bottom:0}.widget-resize-se{cursor:nwse-resize;right:0}.widget-resize-se,.widget-resize-sw{bottom:0;height:14px;width:14px;z-index:101}.widget-resize-sw{cursor:nesw-resize;left:0}.widget-resize-ne{cursor:nesw-resize;right:0}.widget-resize-ne,.widget-resize-nw{height:14px;top:0;width:14px;z-index:101}.widget-resize-nw{cursor:nwse-resize;left:0}.widget-resize-handle:hover{background:#40e0d033}.dockable-widget.resizing .widget-resize-handle{background:#40e0d059}@media (max-width:768px){.widget-header{padding:.4rem .6rem}.widget-title{font-size:.8rem}.widget-control-btn{font-size:.8rem;height:20px;width:20px}.widget-resize-handle{height:10px!important;width:10px!important}.widget-resize-e,.widget-resize-w{width:8px!important}.widget-resize-n,.widget-resize-s{height:8px!important}}.widget-bank-overlay{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9998}.widget-bank{animation:widgetBankSlideIn .22s cubic-bezier(.16,1,.3,1);animation:widgetBankSlideIn .22s var(--ease-out,cubic-bezier(.16,1,.3,1));background:linear-gradient(145deg,#1a1f35,#141824);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0006,0 0 0 1px #40e0d00f,inset 0 1px 0 #ffffff0a;box-shadow:var(--shadow-lg,0 8px 32px #0006),0 0 0 1px #40e0d00f,inset 0 1px 0 #ffffff0a;display:flex;flex-direction:column;left:10px;max-height:calc(100vh - 80px);overflow:hidden;pointer-events:auto;position:fixed;top:60px;width:320px;z-index:9999}@keyframes widgetBankSlideIn{0%{opacity:0;transform:translateX(-12px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}.widget-bank-header{align-items:center;background:linear-gradient(90deg,#40e0d01a,#40e0d008);border-bottom:1px solid #40e0d01f;display:flex;justify-content:space-between;padding:14px 16px}.widget-bank-header h3{align-items:center;color:#40e0d0;color:var(--color-primary,#40e0d0);display:flex;font-size:1rem;font-size:var(--text-base,1rem);font-weight:600;gap:8px;letter-spacing:-.01em;margin:0}.header-icon{font-size:1.2rem}.widget-bank-header .close-btn{align-items:center;background:#ff6b6b14;border:1px solid #ff6b6b33;border-radius:8px;border-radius:var(--radius-md,8px);color:#ff6b6b;color:var(--color-danger,#ff6b6b);cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:28px}.widget-bank-header .close-btn:hover{background:#ff6b6b26;border-color:#ff6b6b;border-color:var(--color-danger,#ff6b6b);transform:scale(1.08)}.widget-bank-header .close-btn:active{transform:scale(.95)}.widget-bank-search{border-bottom:1px solid #40e0d014;padding:12px 16px;position:relative}.widget-bank-search input{background:#00000040;border:1px solid #40e0d026;border-radius:8px;border-radius:var(--radius-md,8px);color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);font-size:.875rem;font-size:var(--text-sm,.875rem);padding:10px 38px 10px 14px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:100%}.widget-bank-search input:focus{background:#0000004d;border-color:#40e0d080;box-shadow:0 0 0 3px #40e0d014;outline:none}.widget-bank-search input::placeholder{color:#ffffff59;color:var(--color-text-muted,#ffffff59)}.widget-bank-search .search-icon{font-size:.9rem;opacity:.4;position:absolute;right:28px;top:50%;transform:translateY(-50%)}.widget-bank-categories{border-bottom:1px solid #40e0d014;display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px}.category-btn{align-items:center;background:#40e0d00a;border:1px solid #40e0d01f;border-radius:9999px;border-radius:var(--radius-full,9999px);color:#ffffffa6;color:var(--color-text-secondary,#ffffffa6);cursor:pointer;display:flex;font-size:.75rem;font-size:var(--text-xs,.75rem);font-weight:500;gap:4px;padding:5px 12px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.category-btn:hover{background:#40e0d01a;border-color:#40e0d040;color:#fff}.category-btn.active{background:#40e0d02e;border-color:#40e0d0;border-color:var(--color-primary,#40e0d0);box-shadow:0 0 8px #40e0d01a;color:#40e0d0;color:var(--color-primary,#40e0d0)}.category-btn .cat-icon{font-size:.85rem}.widget-bank-content{flex:1 1;overflow-y:auto;padding:8px}.drag-hint{align-items:center;background:#40e0d00a;border:1px dashed #40e0d026;border-radius:8px;border-radius:var(--radius-md,8px);color:#ffffff80;color:var(--color-text-muted,#ffffff80);display:flex;font-size:.8rem;gap:8px;margin:4px 8px 12px;padding:10px 12px}.hint-icon{font-size:1rem}.widget-category-group{margin-bottom:16px}.category-title{align-items:center;color:#ffffff80;color:var(--color-text-muted,#ffffff80);display:flex;font-size:.75rem;font-size:var(--text-xs,.75rem);font-weight:600;gap:6px;letter-spacing:.06em;margin:0 0 8px;padding:8px 12px;text-transform:uppercase}.widget-items{display:flex;flex-direction:column;gap:4px}.widget-bank-item{align-items:center;background:#ffffff05;border:1px solid #40e0d014;border-radius:8px;border-radius:var(--radius-md,8px);cursor:grab;display:flex;gap:12px;padding:11px 12px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);-webkit-user-select:none;user-select:none}.widget-bank-item:hover{background:#40e0d012;border-color:#40e0d040;transform:translateX(3px)}.widget-bank-item:active{cursor:grabbing;transform:translateX(3px) scale(.99)}.widget-bank-item.dragging{opacity:.5;transform:scale(.98)}.widget-bank-item.active{background:#40e0d01a;border-color:#40e0d059}.widget-bank-item.active .widget-item-name{color:#40e0d0;color:var(--color-primary,#40e0d0)}.widget-item-icon{align-items:center;background:#40e0d014;border-radius:8px;border-radius:var(--radius-md,8px);display:flex;flex-shrink:0;font-size:1.25rem;height:38px;justify-content:center;transition:background .15s ease;transition:background var(--transition-fast,.15s ease);width:38px}.widget-bank-item:hover .widget-item-icon{background:#40e0d026}.widget-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.widget-item-name{color:#e0e6ed;color:var(--color-text-primary,#e0e6ed);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:500}.widget-item-desc,.widget-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-item-desc{color:#ffffff73;color:var(--color-text-muted,#ffffff73);font-size:.75rem;font-size:var(--text-xs,.75rem)}.widget-status{align-items:center;border-radius:9999px;border-radius:var(--radius-full,9999px);display:flex;flex-shrink:0;font-size:.85rem;height:24px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast,.15s ease);width:24px}.widget-status.visible{background:#40e0d026;color:#40e0d0;color:var(--color-primary,#40e0d0)}.widget-status.hidden{background:#ffffff0a;color:#ffffff4d}.widget-bank-item:hover .widget-status.hidden{background:#40e0d01f;color:#40e0d0;color:var(--color-primary,#40e0d0)}.no-results{align-items:center;color:#ffffff59;color:var(--color-text-muted,#ffffff59);display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.no-results-icon{font-size:2rem;margin-bottom:12px;opacity:.6}.no-results p{font-size:.875rem;font-size:var(--text-sm,.875rem);margin:0}.widget-bank-footer{background:#00000026;border-top:1px solid #40e0d014;padding:10px 16px}.widget-count{color:#fff6;color:var(--color-text-muted,#fff6);font-size:.8rem}.widget-drag-preview{align-items:center;background:linear-gradient(135deg,#1a1f35,#0d1117);border:2px solid #40e0d0;border:2px solid var(--color-primary,#40e0d0);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 8px 24px #00000080;box-shadow:var(--shadow-xl,0 8px 24px #00000080);color:#fff;display:flex;font-size:.875rem;font-size:var(--text-sm,.875rem);gap:8px;padding:10px 16px;pointer-events:none;position:fixed;z-index:99999}.widget-drag-preview .drag-icon{font-size:1.2rem}.widget-drag-preview .drag-name{font-weight:500}.widget-bank-content::-webkit-scrollbar{width:5px}.widget-bank-content::-webkit-scrollbar-track{background:#0000}.widget-bank-content::-webkit-scrollbar-thumb{background:#40e0d033;border-radius:9999px;border-radius:var(--radius-full,9999px)}.widget-bank-content::-webkit-scrollbar-thumb:hover{background:#40e0d066}@media (max-width:768px){.widget-bank{left:10px;max-height:60vh;right:10px;width:calc(100% - 20px)}}.view-manager{margin-left:8px;position:relative;z-index:1000}.view-manager-toggle{align-items:center;background:linear-gradient(135deg,#8a2be226,#8a2be20d);border:1px solid #8a2be24d;border-radius:8px;color:#e0e6ed;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;min-width:150px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.view-manager-toggle:hover{background:linear-gradient(135deg,#8a2be240,#8a2be21a);border-color:#8a2be280;box-shadow:0 4px 12px #8a2be233;transform:translateY(-1px)}.view-manager-toggle.active{background:linear-gradient(135deg,#8a2be24d,#8a2be226);border-color:#8a2be2;color:#c9a0ff}.view-icon{font-size:1rem}.view-name{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis}.view-arrow{font-size:.7rem;opacity:.7;transition:transform .2s ease}.view-arrow.open{transform:rotate(180deg)}.view-manager-dropdown{animation:slideDown .2s ease-out;background:linear-gradient(145deg,#1a1f35,#141824);border:1px solid #8a2be24d;border-radius:12px;box-shadow:0 8px 32px #0006,0 0 0 1px #8a2be21a;left:0;overflow:hidden;position:absolute;top:calc(100% + 8px);width:280px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{align-items:center;background:linear-gradient(90deg,#8a2be226,#8a2be20d);border-bottom:1px solid #8a2be233;color:#c9a0ff;display:flex;font-size:.85rem;font-weight:600;justify-content:space-between;padding:12px 16px}.view-list{max-height:300px;overflow-y:auto;padding:8px}.view-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:10px;margin-bottom:4px;padding:10px 12px;transition:all .2s ease}.view-item:last-child{margin-bottom:0}.view-item:hover{background:#8a2be21a}.view-item.active{background:#8a2be233;border:1px solid #8a2be24d}.view-item.default .view-item-icon{color:gold}.view-item-icon{flex-shrink:0;font-size:1rem}.view-item-name{color:#e0e6ed;flex:1 1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-indicator{color:#40e0d0;flex-shrink:0;font-size:.9rem}.view-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.view-item:hover .view-item-actions{opacity:1}.view-item-actions button{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;opacity:.7;padding:4px;transition:all .2s ease}.view-item-actions button:hover{background:#ffffff1a;opacity:1}.view-item-actions .delete-btn:hover{background:#ff6b6b33}.rename-input{background:#0000004d;border:1px solid #8a2be280;border-radius:4px;color:#e0e6ed;flex:1 1;font-size:.9rem;outline:none;padding:4px 8px}.rename-input:focus{border-color:#8a2be2;box-shadow:0 0 0 2px #8a2be233}.dropdown-footer{background:#0003;border-top:1px solid #8a2be21a;padding:12px}.create-view-btn{align-items:center;background:#8a2be21a;border:1px dashed #8a2be24d;border-radius:8px;color:#c9a0ff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;justify-content:center;padding:10px;transition:all .2s ease;width:100%}.create-view-btn:hover{background:#8a2be233;border-color:#8a2be280;border-style:solid}.create-view-btn span:first-child{font-size:1.2rem;font-weight:300}.create-view-form{display:flex;gap:8px}.new-view-input{background:#0000004d;border:1px solid #8a2be24d;border-radius:6px;color:#e0e6ed;flex:1 1;font-size:.9rem;outline:none;padding:8px 12px}.new-view-input:focus{border-color:#8a2be2;box-shadow:0 0 0 2px #8a2be233}.new-view-input::placeholder{color:#fff6}.cancel-btn,.confirm-btn{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.confirm-btn{background:#40e0d033;border:1px solid #40e0d04d;color:#40e0d0}.confirm-btn:hover:not(:disabled){background:#40e0d04d;border-color:#40e0d0}.confirm-btn:disabled{cursor:not-allowed;opacity:.4}.cancel-btn{background:#ff6b6b1a;border:1px solid #ff6b6b4d;color:#ff6b6b}.cancel-btn:hover{background:#ff6b6b33;border-color:#ff6b6b}.view-list::-webkit-scrollbar{width:6px}.view-list::-webkit-scrollbar-track{background:#0000}.view-list::-webkit-scrollbar-thumb{background:#8a2be24d;border-radius:3px}.view-list::-webkit-scrollbar-thumb:hover{background:#8a2be280}.right-menu-tab{align-items:center;background:linear-gradient(180deg,#40e0d033,#40e0d01a);border:1px solid #40e0d066;border-radius:8px 0 0 8px;border-right:none;box-shadow:-2px 0 10px #0000004d;cursor:pointer;display:flex;flex-direction:column;gap:4px;height:80px;justify-content:center;position:fixed;right:0;top:50%;transform:translateY(-50%);transition:all .3s ease;width:28px;z-index:1000}.right-menu-tab:hover{background:linear-gradient(180deg,#40e0d04d,#40e0d026);border-color:#40e0d099;width:32px}.right-menu-tab.open{right:280px}.right-menu-tab .tab-icon{color:#40e0d0;font-size:1.2rem;font-weight:700}.right-menu-tab .tab-text{color:#e0e6edcc;font-size:.7rem;font-weight:500;letter-spacing:1px;text-orientation:mixed;transform:rotate(180deg);writing-mode:vertical-rl}.right-side-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#1a1a2efa,#16213efa);border-left:1px solid #40e0d04d;box-shadow:-4px 0 20px #0006;display:flex;flex-direction:column;height:100vh;position:fixed;right:-280px;top:0;transition:right .3s ease;width:280px;z-index:1001}.right-side-menu.open{right:0}.right-menu-header{align-items:center;background:#0003;border-bottom:1px solid #40e0d033;display:flex;justify-content:space-between;padding:1rem 1.25rem}.right-menu-header h3{color:#40e0d0;font-size:1.1rem;font-weight:600;margin:0}.close-menu-btn{background:#0000;border:none;border-radius:4px;color:#e0e6ed99;cursor:pointer;font-size:1.2rem;padding:4px 8px;transition:all .2s ease}.close-menu-btn:hover{background:#40e0d01a;color:#40e0d0}.right-menu-content{flex:1 1;overflow-y:auto;padding:1rem}.menu-section{margin-bottom:1.5rem}.section-label{border-bottom:1px solid #40e0d01a;color:#e0e6ed80;font-size:.75rem;font-weight:600;letter-spacing:1px;margin-bottom:.75rem;padding-bottom:.5rem;text-transform:uppercase}.menu-widget-btn{align-items:center;background:linear-gradient(135deg,#40e0d01a,#40e0d00d);border:1px solid #40e0d040;border-radius:8px;color:#e0e6ed;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:10px;padding:10px 14px;transition:all .2s ease;width:100%}.menu-widget-btn:hover{background:linear-gradient(135deg,#40e0d033,#40e0d01a);border-color:#40e0d066}.menu-widget-btn.active{background:linear-gradient(135deg,#40e0d040,#40e0d01f);border-color:#40e0d0;color:#40e0d0}.menu-widget-btn .btn-icon{font-size:1.1rem}.menu-widget-btn .btn-label{flex:1 1;text-align:left}.menu-widget-btn .btn-arrow{font-size:.7rem;opacity:.7;transition:transform .2s ease}.menu-widget-btn .btn-arrow.open{transform:rotate(180deg)}.algorithm-controls{display:flex;flex-direction:column;gap:10px}.menu-select{background:#ffffff14;border:1px solid #40e0d040;border-radius:6px;color:#e0e6ed;cursor:pointer;font-size:.9rem;padding:10px 12px;transition:all .2s ease;width:100%}.menu-select:hover{background:#ffffff1a;border-color:#40e0d066}.menu-select:focus{border-color:#40e0d0;box-shadow:0 0 0 2px #40e0d026;outline:none}.menu-select option{background:#1a1a2e;color:#e0e6ed}.algorithm-actions{display:flex;gap:8px}.menu-params-btn{align-items:center;background:#43faec1a;border:1px solid #43faec4d;border-radius:6px;color:#43faec;cursor:pointer;display:flex;justify-content:center;padding:8px 10px;transition:all .2s ease}.menu-params-btn:hover{background:#43faec33;border-color:#43faec80}.menu-run-btn{align-items:center;background:linear-gradient(135deg,#40e0d0,#0d9488);border:none;border-radius:6px;color:#0f172a;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease}.menu-run-btn:hover:not(:disabled){box-shadow:0 4px 12px #40e0d066;transform:translateY(-1px)}.menu-run-btn:disabled{background:linear-gradient(135deg,#6b7280,#4b5563);cursor:not-allowed;opacity:.5}.menu-run-btn .run-icon{font-size:.8rem}.menu-run-btn .spinner{animation:spin .8s linear infinite;border:2px solid #0f172a4d;border-radius:50%;border-top-color:#0f172a;height:14px;width:14px}.right-menu-overlay{animation:fadeIn .2s ease;background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.right-side-menu .view-manager-dropdown{width:100%}.right-side-menu .layout-dropdown-toggle{justify-content:flex-start;width:100%}.right-menu-content::-webkit-scrollbar{width:6px}.right-menu-content::-webkit-scrollbar-track{background:#0003;border-radius:3px}.right-menu-content::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:3px}.right-menu-content::-webkit-scrollbar-thumb:hover{background:#40e0d080}.multi-panel-view{background:linear-gradient(135deg,#1a1a2e,#16213e);height:100%;overflow:hidden;padding:.5rem;position:relative;transition:background .2s ease;width:100%}.multi-panel-view.drag-over{background:linear-gradient(135deg,#1a2a3e,#162540)}.multi-panel-view.drag-over:after{animation:pulse-border 1s ease-in-out infinite;border:3px dashed #40e0d080;border-radius:8px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000}@keyframes pulse-border{0%,to{border-color:#40e0d04d}50%{border-color:#40e0d0b3}}.drop-indicator{align-items:center;animation:drop-pulse .8s ease-in-out infinite;background:#40e0d026;border:2px dashed #40e0d0;border-radius:10px;box-shadow:0 4px 20px #40e0d04d;color:#40e0d0;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:12px 20px;pointer-events:none;position:absolute;z-index:1001}.drop-indicator-icon{font-size:1.2rem}@keyframes drop-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.panel-row{display:contents}.panel{position:absolute}.panel-cluster-list{left:10px;top:10px}.panel-cluster-list .dockable-widget{height:350px;width:180px}.panel-spike-list{left:200px;top:10px}.panel-spike-list .dockable-widget{height:350px;width:200px}.panel-cluster-stats{left:410px;top:10px}.panel-cluster-stats .dockable-widget{height:350px;width:200px}.panel-signal-view{left:620px;top:10px}.panel-signal-view .dockable-widget{height:350px;width:calc(100vw - 660px)}.panel-dim-reduction{left:10px;top:370px}.panel-dim-reduction .dockable-widget{height:calc(100vh - 470px);width:calc(50vw - 35px)}.panel-waveform{left:50vw;top:370px}.panel-waveform .dockable-widget{height:calc(100vh - 470px);width:calc(50vw - 35px)}.waveform-view-toggle{background:#0000;border-bottom:1px solid #40e0d033;display:flex!important;flex-basis:auto!important;flex-direction:row!important;flex-grow:0!important;flex-shrink:0!important;gap:.5rem;height:auto!important;min-height:0!important;padding:.5rem .75rem;width:100%!important}.waveform-view-toggle button{background:#40e0d01a;border:1px solid #40e0d04d;border-radius:4px;color:#e0e6ed;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:500;min-width:0;padding:.4rem .75rem;transition:all .2s ease;white-space:nowrap}.waveform-view-toggle button:hover{background:#40e0d033;border-color:#40e0d080}.waveform-view-toggle button.active{background:#40e0d04d;border-color:#40e0d0;color:#40e0d0}.main-container{flex:1 1;overflow:hidden}.multi-panel-view .dockable-widget .widget-content>div{height:100%;width:100%}.multi-panel-view .dockable-widget .widget-content{padding:0}.multi-panel-view .widget-content>*{display:flex;flex-direction:column;height:100%}@media (max-width:1200px){.multi-panel-view{overflow-x:auto;overflow-y:auto}.panel{display:block;left:0!important;margin-bottom:1rem;position:relative!important}.multi-panel-view .dockable-widget{min-height:250px;position:relative;width:100%!important}}.multi-panel-view ::-webkit-scrollbar{height:6px;width:6px}.multi-panel-view ::-webkit-scrollbar-track{background:#0003;border-radius:3px}.multi-panel-view ::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:3px}.multi-panel-view ::-webkit-scrollbar-thumb:hover{background:#40e0d080}.upload-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.upload-modal{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #5eead433;border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:600px;width:90%}.upload-header{align-items:center;border-bottom:1px solid #5eead433;display:flex;justify-content:space-between;padding:24px}.upload-header h2{color:#5eead4;font-size:24px;font-weight:600;margin:0}.close-button{color:#94a3b8;font-size:32px;line-height:1}.close-button:hover:not(:disabled){background-color:#ef44441a;color:#ef4444}.close-button:disabled{cursor:not-allowed;opacity:.3}.upload-body{padding:24px}.upload-dropzone{background:#1e293b80;border:2px dashed #5eead44d;border-radius:8px;padding:48px 24px;text-align:center;transition:all .3s}.upload-dropzone.dragging{background:#5eead41a;border-color:#5eead4;transform:scale(1.02)}.upload-icon{font-size:64px;margin-bottom:16px;opacity:.8}.upload-text{color:#e2e8f0;font-size:18px;margin:0 0 8px}.upload-subtext{color:#94a3b8;font-size:14px;margin:16px 0}.upload-button{background:linear-gradient(135deg,#5eead4,#0d9488);border:none;border-radius:6px;color:#0f172a;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s}.upload-button:hover{box-shadow:0 4px 12px #5eead466;transform:translateY(-2px)}.upload-hint{color:#64748b;font-size:12px;margin-top:16px}.upload-progress-container{padding:24px;text-align:center}.upload-progress-text{color:#e2e8f0;font-size:16px;margin-bottom:16px}.upload-progress-bar{background:#1e293bcc;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.upload-progress-fill{background:linear-gradient(90deg,#5eead4,#0d9488);border-radius:4px;height:100%;transition:width .3s ease}.upload-progress-percent{color:#5eead4;font-size:14px;font-weight:600}.upload-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;color:#fca5a5;font-size:14px;margin-top:16px;padding:12px 16px}.upload-error strong{color:#ef4444}.spike-times-section{background:#1e293b80;border:1px solid #5eead433;border-radius:8px;margin-top:20px;padding:16px}.spike-times-label{color:#94a3b8;font-size:14px;font-weight:500;margin:0 0 12px}.spike-times-file-selector{align-items:center;display:flex;gap:8px}.spike-times-button{background:#5eead41a;border:1px solid #5eead44d;border-radius:6px;color:#5eead4;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 20px;text-align:center;transition:all .2s}.spike-times-button:hover{background:#5eead433;border-color:#5eead4}.clear-spike-times-button{background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;color:#ef4444;cursor:pointer;font-size:16px;font-weight:600;padding:10px 14px;transition:all .2s}.clear-spike-times-button:hover{background:#ef444433}.spike-times-hint{color:#64748b;font-size:11px;line-height:1.4;margin:8px 0 0}.upload-submit-button{background:linear-gradient(135deg,#5eead4,#0d9488);border:none;border-radius:6px;color:#0f172a;cursor:pointer;font-size:16px;font-weight:600;margin-top:16px;padding:12px;transition:all .2s;width:100%}.upload-submit-button:hover:not(:disabled){box-shadow:0 4px 12px #5eead466;transform:translateY(-2px)}.upload-submit-button:disabled{cursor:not-allowed;opacity:.5}.confirm-overlay{align-items:center;animation:overlayFadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#000000b3;background-color:var(--color-bg-overlay,#000000b3);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{animation:dialogEnter .25s cubic-bezier(.16,1,.3,1);animation:dialogEnter .25s var(--ease-out,cubic-bezier(.16,1,.3,1));background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #40e0d033;border:1px solid var(--color-border,#40e0d033);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 20px 60px #00000080;box-shadow:var(--shadow-xl,0 20px 60px #00000080);max-width:420px;padding:1.5rem;padding:var(--space-lg,1.5rem);transform-origin:center;width:90%}@keyframes dialogEnter{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-title{color:#40e0d0;color:var(--color-primary,#40e0d0);font-size:1.25rem;font-size:var(--text-xl,1.25rem);font-weight:600;line-height:1.25;line-height:var(--leading-tight,1.25);margin:0 0 .5rem;margin:0 0 var(--space-sm,.5rem) 0}.confirm-message{color:#e0e6edb3;color:var(--color-text-secondary,#e0e6edb3);font-size:.875rem;font-size:var(--text-sm,.875rem);line-height:1.5;line-height:var(--leading-normal,1.5);margin:0 0 1.5rem;margin:0 0 var(--space-lg,1.5rem) 0}.confirm-buttons{display:flex;gap:.5rem;gap:var(--space-sm,.5rem);justify-content:flex-end}.confirm-btn{border:none;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;letter-spacing:.01em;padding:10px 20px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.confirm-cancel{background:#94a3b826;border:1px solid #94a3b840;color:#e2e8f0;color:var(--color-text-primary,#e2e8f0)}.confirm-cancel:hover{background:#94a3b840;border-color:#94a3b866}.confirm-cancel:active{background:#94a3b84d}.confirm-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.confirm-delete:hover{box-shadow:0 4px 16px #ef444466;filter:brightness(1.08);transform:translateY(-1px)}.confirm-delete:active{box-shadow:0 2px 8px #ef44444d;transform:translateY(0)}.algorithm-params-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.algorithm-params-menu{background:linear-gradient(135deg,#1e2a3a,#2a3e52);border:1px solid #43faec33;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:80vh;width:500px}.params-header{align-items:center;border-bottom:1px solid #43faec33;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.params-header h3{color:#43faec;font-size:1.25rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#a8b2c1;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.close-button:hover{background-color:#43faec1a;color:#43faec}.params-content{flex:1 1;overflow-y:auto;padding:1.5rem}.param-group{display:flex;flex-direction:column;margin-bottom:1.25rem}.param-group label{color:#a8b2c1;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.param-group input[type=number],.param-group select{background-color:#1a243299;border:1px solid #43faec4d;border-radius:6px;color:#e4ecf4;font-size:.9rem;padding:.625rem .875rem;transition:all .2s}.param-group input[type=number]:focus,.param-group select:focus{border-color:#43faec;box-shadow:0 0 0 3px #43faec1a;outline:none}.param-group input[type=number]:hover,.param-group select:hover{border-color:#43faec80}.params-footer{align-items:center;border-top:1px solid #43faec33;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.footer-actions{display:flex;gap:.75rem}.cancel-button,.reset-button,.save-button{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.reset-button{background-color:#ff6b6b1a;border-color:#ff6b6b4d;color:#ff6b6b}.reset-button:hover{background-color:#ff6b6b33;border-color:#ff6b6b80}.cancel-button{background-color:#a8b2c11a;border-color:#a8b2c14d;color:#a8b2c1}.cancel-button:hover{background-color:#a8b2c133;border-color:#a8b2c180}.save-button{background-color:#43faec;border-color:#43faec;color:#0f1419}.save-button:hover{background-color:#5ffef0;box-shadow:0 4px 12px #43faec4d}.params-content::-webkit-scrollbar{width:8px}.params-content::-webkit-scrollbar-track{background:#1a243266;border-radius:4px}.params-content::-webkit-scrollbar-thumb{background:#43faec4d;border-radius:4px}.params-content::-webkit-scrollbar-thumb:hover{background:#43faec80}.error-boundary{align-items:center;animation:errorBoundaryIn .4s cubic-bezier(.16,1,.3,1);animation:errorBoundaryIn .4s var(--ease-out,cubic-bezier(.16,1,.3,1));background:linear-gradient(180deg,#1a1a2ef2,#16213ef2);border:1px solid #ff6b6b40;border:1px solid var(--color-danger-border,#ff6b6b40);border-radius:8px;border-radius:var(--radius-md,8px);display:flex;justify-content:center;min-height:300px;padding:2rem;padding:var(--space-xl,2rem)}@keyframes errorBoundaryIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.error-boundary-content{max-width:500px;text-align:center}.error-boundary-icon{animation:errorIconPulse 2s ease-in-out infinite;font-size:3rem;margin-bottom:1rem;margin-bottom:var(--space-md,1rem)}@keyframes errorIconPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.error-boundary-title{color:#ff6b6b;color:var(--color-danger,#ff6b6b);font-size:1.5rem;font-size:var(--text-2xl,1.5rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.error-boundary-message{color:#e0e6edbf;color:var(--color-text-secondary,#e0e6edbf);font-size:1rem;font-size:var(--text-base,1rem);line-height:1.75;line-height:var(--leading-relaxed,1.75)}.error-boundary-details,.error-boundary-message{margin-bottom:1.5rem;margin-bottom:var(--space-lg,1.5rem)}.error-boundary-details{background:#00000040;border:1px solid #ffffff0d;border-radius:8px;border-radius:var(--radius-md,8px);padding:.5rem;padding:var(--space-sm,.5rem);text-align:left}.error-boundary-details summary{color:#e0e6eda6;color:var(--color-text-secondary,#e0e6eda6);cursor:pointer;font-size:.875rem;font-size:var(--text-sm,.875rem);padding:.5rem;padding:var(--space-sm,.5rem);transition:color .15s ease;transition:color var(--transition-fast,.15s ease);-webkit-user-select:none;user-select:none}.error-boundary-details summary:hover{color:#40e0d0;color:var(--color-primary,#40e0d0)}.error-boundary-stack{background:#0003;border-radius:4px;border-radius:var(--radius-sm,4px);color:#e0e6ed8c;color:var(--color-text-muted,#e0e6ed8c);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-family:var(--font-mono,"Monaco","Menlo","Ubuntu Mono",monospace);font-size:.75rem;font-size:var(--text-xs,.75rem);line-height:1.75;line-height:var(--leading-relaxed,1.75);margin:.5rem 0 0;max-height:200px;overflow-y:auto;padding:1rem;padding:var(--space-md,1rem);white-space:pre-wrap;word-break:break-all}.error-boundary-actions{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--space-sm,.5rem);justify-content:center}.error-boundary-btn{border:none;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;letter-spacing:.01em;padding:.7rem 1.5rem;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.error-boundary-btn-primary{background:linear-gradient(135deg,#40e0d0,#0d9488);background:linear-gradient(135deg,var(--color-primary,#40e0d0) 0,var(--color-primary-dark,#0d9488) 100%);color:#0f172a}.error-boundary-btn-primary:hover{box-shadow:0 4px 16px #40e0d066;box-shadow:0 4px 16px var(--color-primary-glow,#40e0d066);filter:brightness(1.08);transform:translateY(-1px)}.error-boundary-btn-primary:active{transform:translateY(0)}.error-boundary-btn-secondary{background:#0000;border:1px solid #e0e6ed33;color:#e0e6edcc;color:var(--color-text-secondary,#e0e6edcc)}.error-boundary-btn-secondary:hover{background:#e0e6ed14;border-color:#e0e6ed66;transform:translateY(-1px)}.error-boundary-btn-secondary:active{transform:translateY(0)}.error-fallback{align-items:center;background:#ff6b6b14;background:var(--color-danger-bg,#ff6b6b14);border:1px solid #ff6b6b33;border:1px solid var(--color-danger-border,#ff6b6b33);border-radius:8px;border-radius:var(--radius-md,8px);display:flex;justify-content:center;margin:.5rem;margin:var(--space-sm,.5rem);padding:1rem;padding:var(--space-md,1rem)}.error-fallback-content{text-align:center}.error-fallback-content h3{color:#ff6b6b;color:var(--color-danger,#ff6b6b);font-size:1rem;font-size:var(--text-base,1rem);font-weight:600;margin-bottom:.5rem;margin-bottom:var(--space-sm,.5rem)}.error-fallback-content p{color:#e0e6eda6;color:var(--color-text-secondary,#e0e6eda6);line-height:1.5;line-height:var(--leading-normal,1.5);margin-bottom:.75rem}.error-fallback-btn,.error-fallback-content p{font-size:.875rem;font-size:var(--text-sm,.875rem)}.error-fallback-btn{background:#40e0d01f;border:1px solid #40e0d04d;border-radius:8px;border-radius:var(--radius-md,8px);color:#40e0d0;color:var(--color-primary,#40e0d0);cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.error-fallback-btn:hover{background:#40e0d033;border-color:#40e0d080;transform:translateY(-1px)}.error-fallback-btn:active{transform:translateY(0)}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.main-container{display:flex;gap:.5rem;gap:var(--space-sm,.5rem);height:calc(100vh - 56px);padding:.5rem;padding:var(--space-sm,.5rem)}.auth-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{animation:authCardIn .4s cubic-bezier(.16,1,.3,1);animation:authCardIn .4s var(--ease-out,cubic-bezier(.16,1,.3,1));background:#1a1a2ef2;border:1px solid #40e0d026;border:1px solid var(--color-border,#40e0d026);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:0 20px 60px #00000080,0 0 0 1px #40e0d00a;box-shadow:var(--shadow-xl,0 20px 60px #00000080),0 0 0 1px #40e0d00a;max-width:420px;padding:40px;width:100%}@keyframes authCardIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-header{margin-bottom:2rem;margin-bottom:var(--space-xl,2rem);text-align:center}.auth-logo{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:8px}.logo-icon{font-size:32px}.auth-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#40e0d0,#48d1cc);background:linear-gradient(135deg,var(--color-primary,#40e0d0) 0,#48d1cc 100%);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}.auth-subtitle{color:#e0e6eda6;color:var(--color-text-secondary,#e0e6eda6);font-size:14px;margin:0}.auth-error{align-items:center;animation:errorShake .35s ease;background:#ff6b6b1f;background:var(--color-danger-bg,#ff6b6b1f);border:1px solid #ff6b6b40;border:1px solid var(--color-danger-border,#ff6b6b40);border-radius:8px;border-radius:var(--radius-md,8px);color:#ff6b6b;color:var(--color-danger,#ff6b6b);display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 16px}@keyframes errorShake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}.error-icon{flex-shrink:0;font-size:16px}.auth-form{gap:1.5rem;gap:var(--space-lg,1.5rem)}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{font-size:13px;font-weight:500}.form-group input,.form-group label{color:#e0e6ed;color:var(--color-text-primary,#e0e6ed)}.form-group input{background:#00000040;border:1px solid #40e0d026;border-radius:8px;border-radius:var(--radius-md,8px);font-size:14px;padding:12px 16px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.form-group input::placeholder{color:#e0e6ed59;color:var(--color-text-muted,#e0e6ed59)}.form-group input:focus{background:#0000004d;border-color:#40e0d0;border-color:var(--color-primary,#40e0d0);box-shadow:0 0 0 3px #40e0d01f;outline:none}.form-group input:hover:not(:focus){border-color:#40e0d04d}.form-hint{color:#e0e6ed73;color:var(--color-text-muted,#e0e6ed73);font-size:11px}.auth-button{align-items:center;background:linear-gradient(135deg,#40e0d0,#0d9488);background:linear-gradient(135deg,var(--color-primary,#40e0d0) 0,var(--color-primary-dark,#0d9488) 100%);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#0f172a;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.01em;margin-top:.5rem;margin-top:var(--space-sm,.5rem);padding:14px 24px;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.auth-button:hover:not(:disabled){box-shadow:0 8px 24px #40e0d059;box-shadow:0 8px 24px var(--color-primary-glow,#40e0d059);filter:brightness(1.08);transform:translateY(-2px)}.auth-button:active:not(:disabled){filter:brightness(.95);transform:translateY(0)}.auth-button:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.6}.button-spinner{animation:spin .7s linear infinite;border:2px solid #0f172a4d;border-radius:9999px;border-radius:var(--radius-full,9999px);border-top-color:#0f172a;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.auth-footer{border-top:1px solid #40e0d014;margin-top:1.5rem;margin-top:var(--space-lg,1.5rem);padding-top:1.5rem;padding-top:var(--space-lg,1.5rem);text-align:center}.auth-footer p{color:#e0e6eda6;color:var(--color-text-secondary,#e0e6eda6);font-size:14px;margin:0}.auth-link{color:#40e0d0;color:var(--color-primary,#40e0d0);font-weight:500;text-decoration:none;transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.auth-link:hover{color:#48d1cc;text-decoration:underline;text-underline-offset:3px}.auth-info{background:#40e0d00f;border:1px solid #40e0d01f;border-radius:8px;border-radius:var(--radius-md,8px);margin-top:20px;padding:12px 16px}.info-text{align-items:center;color:#e0e6edbf;color:var(--color-text-secondary,#e0e6edbf);display:flex;font-size:13px;gap:8px;margin:0}.info-icon{font-size:14px}.info-text code{background:#0000004d;border-radius:4px;border-radius:var(--radius-sm,4px);color:#40e0d0;color:var(--color-primary,#40e0d0);font-family:SF Mono,Monaco,monospace;font-family:var(--font-mono,"SF Mono",Monaco,monospace);font-size:12px;padding:2px 6px}.auth-notice{background:#f39c1214;border:1px solid #f39c1226;border-radius:8px;border-radius:var(--radius-md,8px);margin-top:20px;padding:12px 16px}.auth-notice p{align-items:flex-start;color:#e0e6edbf;color:var(--color-text-secondary,#e0e6edbf);display:flex;font-size:12px;gap:8px;line-height:1.5;line-height:var(--leading-normal,1.5);margin:0}.notice-icon{flex-shrink:0;font-size:14px}.auth-notice strong{color:#f39c12;color:var(--color-warning,#f39c12)}@media (max-width:480px){.auth-card{padding:24px}.auth-logo h1{font-size:20px}.form-group input{padding:10px 14px}}.landing{background:linear-gradient(135deg,#0a0a1a,#0f0f23 30%,#1a1a2e 60%,#16213e);color:#e0e6ed;min-height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;scroll-behavior:smooth}.landing-canvas{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.landing-nav{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0a0a1ab3;border-bottom:1px solid #40e0d014;display:flex;justify-content:space-between;left:0;padding:16px 48px;position:fixed;right:0;top:0;z-index:100}.landing-nav-brand{align-items:center;display:flex;gap:10px}.landing-nav-logo{align-items:center;background:#40e0d01a;border:1px solid #40e0d033;border-radius:10px;display:flex;height:36px;justify-content:center;width:36px}.landing-nav-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#40e0d0,#48d1cc);-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.landing-nav-links{align-items:center;display:flex;gap:32px}.landing-nav-link{color:#e0e6edb3;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s ease}.landing-nav-link:hover{color:#40e0d0}.landing-nav-cta{align-items:center;background:#40e0d01f;border:1px solid #40e0d04d;border-radius:8px;color:#40e0d0;display:inline-flex;font-size:14px;font-weight:600;padding:8px 20px;text-decoration:none;transition:all .2s ease}.landing-nav-cta:hover{background:#40e0d033;border-color:#40e0d080;transform:translateY(-1px)}.landing-hero{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px;min-height:100vh;padding:120px 48px 80px;position:relative;z-index:1}.landing-hero-badge{background:#40e0d014;border:1px solid #40e0d033;border-radius:100px;color:#40e0d0;display:inline-block;font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:24px;padding:6px 16px}.landing-hero-title{color:#f0f4f8;font-size:56px;font-weight:800;line-height:1.1;margin-bottom:24px}.landing-hero-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#40e0d0,#0ea5e9 50%,#8b5cf6);-webkit-background-clip:text;background-clip:text}.landing-hero-description{color:#e0e6edb3;font-size:18px;line-height:1.7;margin-bottom:36px;max-width:520px}.landing-hero-actions{align-items:center;display:flex;gap:16px}.landing-btn-primary{align-items:center;background:linear-gradient(135deg,#40e0d0,#0d9488);border:none;border-radius:12px;box-shadow:0 4px 20px #40e0d04d;color:#0f172a;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:10px;padding:14px 32px;text-decoration:none;transition:all .3s ease}.landing-btn-primary:hover{box-shadow:0 8px 30px #40e0d073;transform:translateY(-3px)}.landing-btn-primary:active{transform:translateY(-1px)}.landing-btn-large{border-radius:14px;font-size:18px;padding:18px 40px}.landing-btn-secondary{align-items:center;background:#0000;border:1px solid #e0e6ed33;border-radius:12px;color:#e0e6ed;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:14px 32px;text-decoration:none;transition:all .3s ease}.landing-btn-secondary:hover{background:#40e0d00d;border-color:#40e0d066;color:#40e0d0;transform:translateY(-2px)}.landing-hero-visual{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr;justify-content:center}.landing-cluster-card,.landing-waveform-card{animation:floatCard 6s ease-in-out infinite;background:#0f0f23d9;border:1px solid #40e0d026;border-radius:14px;box-shadow:0 0 30px #40e0d00f,0 12px 40px #00000059;overflow:hidden;width:100%}.landing-waveform-card{grid-column:1/-1}.landing-cluster-card{animation-delay:-3s;border-color:#8b5cf626;box-shadow:0 0 30px #8b5cf60f,0 12px 40px #00000059;grid-column:1/-1}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-cluster-svg{display:block;height:auto;padding:8px 10px 4px;width:100%}.landing-cluster-dot{animation:clusterAppear .5s ease-out forwards;opacity:0}.landing-cd-1{animation-delay:.8s}.landing-cd-2{animation-delay:1s}.landing-cd-3{animation-delay:1.2s}.landing-cd-4{animation-delay:1.4s}.landing-cd-5{animation-delay:1.6s}@keyframes clusterAppear{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.landing-waveform-header{align-items:center;background:#0000004d;border-bottom:1px solid #40e0d014;display:flex;gap:10px;padding:10px 14px}.landing-waveform-dots{display:flex;gap:6px}.landing-waveform-dots span{border-radius:50%;height:9px;width:9px}.landing-waveform-dots span:first-child{background:#ff5f57}.landing-waveform-dots span:nth-child(2){background:#ffbd2e}.landing-waveform-dots span:nth-child(3){background:#28c840}.landing-waveform-title{color:#e0e6ed80;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px}.landing-waveform-svg{display:block;height:auto;padding:8px 10px 4px;width:100%}.landing-waveform-path{stroke-dasharray:1200;stroke-dashoffset:1200;animation:drawWave 2.5s ease-out .5s forwards}.landing-waveform-area{animation:fadeInArea 1s ease-out 2.5s forwards;opacity:0}@keyframes drawWave{to{stroke-dashoffset:0}}@keyframes fadeInArea{to{opacity:1}}.landing-spike-dot{animation:pulseDot 2s ease-in-out 3s infinite;opacity:0}.landing-spike-dot:nth-child(5){animation-delay:3s}.landing-spike-dot:nth-child(6){animation-delay:3.3s}.landing-spike-dot:nth-child(7){animation-delay:3.6s}@keyframes pulseDot{0%,to{r:4;opacity:.6}50%{r:6;opacity:1}}.landing-features{margin:0 auto;max-width:1400px;padding:100px 48px;position:relative;z-index:1}.landing-section-header{margin-bottom:64px;text-align:center}.landing-section-tag{background:#40e0d014;border:1px solid #40e0d033;border-radius:100px;color:#40e0d0;display:inline-block;font-size:12px;font-weight:600;letter-spacing:1.5px;margin-bottom:16px;padding:4px 14px;text-transform:uppercase}.landing-section-title{color:#f0f4f8;font-size:40px;font-weight:800;margin-bottom:16px}.landing-section-subtitle{color:#e0e6ed99;font-size:17px;line-height:1.6;margin:0 auto;max-width:600px}.landing-features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.landing-feature-card{background:#0f0f2399;border:1px solid #40e0d014;border-radius:16px;padding:32px;transition:all .35s ease}.landing-feature-card:hover{background:#0f0f23d9;border-color:#40e0d040;box-shadow:0 12px 40px #0000004d;transform:translateY(-4px)}.landing-feature-icon{align-items:center;background:#40e0d01a;border:1px solid #40e0d033;border-radius:12px;color:#40e0d0;display:flex;height:48px;justify-content:center;margin-bottom:20px;width:48px}.landing-feature-card h3{color:#f0f4f8;font-size:18px;font-weight:700;margin-bottom:10px}.landing-feature-card p{color:#e0e6ed99;font-size:14px;line-height:1.7}.landing-workflow{margin:0 auto;max-width:1000px;padding:100px 48px;position:relative;z-index:1}.landing-workflow-steps{align-items:stretch;display:flex;flex-direction:column;gap:0}.landing-workflow-step{align-items:flex-start;background:#0f0f2380;border:1px solid #40e0d014;border-radius:16px;display:flex;gap:28px;padding:32px;transition:all .3s ease}.landing-workflow-step:hover{background:#0f0f23bf;border-color:#40e0d033}.landing-step-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#40e0d0,#0ea5e9);-webkit-background-clip:text;background-clip:text;flex-shrink:0;font-size:40px;font-weight:900;line-height:1;min-width:60px}.landing-step-content h3{color:#f0f4f8;font-size:20px;font-weight:700;margin-bottom:8px}.landing-step-content p{color:#e0e6ed99;font-size:15px;line-height:1.7}.landing-workflow-connector{background:linear-gradient(180deg,#40e0d04d,#40e0d00d);height:32px;margin-left:60px;width:2px}.landing-about{margin:0 auto;max-width:1400px;padding:80px 48px 100px;position:relative;z-index:1}.landing-about-card{background:radial-gradient(ellipse at center,#40e0d00f 0,#0f0f23b3 70%);border:1px solid #40e0d01f;border-radius:24px;box-shadow:0 0 80px #40e0d00a;padding:64px;text-align:center}.landing-about-card h2{color:#f0f4f8;font-size:36px;font-weight:800;margin-bottom:20px}.landing-about-card p{color:#e0e6eda6;font-size:17px;line-height:1.8;margin:0 auto 40px;max-width:680px}.landing-footer{border-top:1px solid #40e0d014;padding:24px 48px;position:relative;z-index:1}.landing-footer-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.landing-footer-brand{align-items:center;color:#e0e6ed99;display:flex;font-size:14px;font-weight:600;gap:8px}.landing-footer-copy{color:#e0e6ed59;font-size:13px}@media (max-width:1024px){.landing-hero{gap:40px;grid-template-columns:1fr;padding:120px 32px 60px;text-align:center}.landing-hero-description{margin-left:auto;margin-right:auto;max-width:100%}.landing-hero-actions{justify-content:center}.landing-hero-title{font-size:44px}.landing-hero-visual{margin:0 auto;max-width:560px}.landing-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.landing-nav{padding:12px 20px}.landing-nav-links{gap:16px}.landing-nav-link{display:none}.landing-hero{min-height:auto;padding:100px 20px 40px}.landing-hero-title{font-size:34px}.landing-hero-description{font-size:16px}.landing-hero-actions{flex-direction:column}.landing-about,.landing-features,.landing-workflow{padding:60px 20px}.landing-features-grid{grid-template-columns:1fr}.landing-section-title{font-size:28px}.landing-about-card{padding:40px 24px}.landing-about-card h2{font-size:26px}.landing-footer-inner{flex-direction:column;gap:12px;text-align:center}.landing-workflow-connector{margin-left:40px}.landing-step-number{font-size:32px;min-width:48px}}@media (max-width:480px){.landing-hero-title{font-size:28px}.landing-btn-primary,.landing-btn-secondary{font-size:15px;padding:12px 24px}.landing-cluster-card,.landing-waveform-card{border-radius:12px}}:root{--color-primary:#40e0d0;--color-primary-dark:#0d9488;--color-primary-glow:#40e0d066;--color-primary-muted:#40e0d026;--color-primary-subtle:#40e0d014;--color-bg-base:#0f0f23;--color-bg-elevated:#1a1a2e;--color-bg-surface:#1e1e3ccc;--color-bg-overlay:#000000b3;--color-text-primary:#e0e6ed;--color-text-secondary:#e0e6edb3;--color-text-muted:#e0e6ed80;--color-border:#40e0d033;--color-border-hover:#40e0d066;--color-border-active:#40e0d0;--color-danger:#ff6b6b;--color-danger-dark:#ef4444;--color-danger-bg:#ff6b6b1f;--color-danger-border:#ff6b6b4d;--color-warning:#f39c12;--color-success:#2ecc71;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-xl:0 16px 48px #00000080;--shadow-glow:0 0 20px #40e0d040;--shadow-glow-sm:0 0 10px #40e0d026;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Monaco","Menlo","Ubuntu Mono",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--z-dropdown:100;--z-sticky:200;--z-overlay:500;--z-modal:1000;--z-tooltip:1100}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0f0f23,#1a1a2e 50%,#16213e);background:linear-gradient(135deg,var(--color-bg-base) 0,var(--color-bg-elevated) 50%,#16213e 100%);color:#e0e6ed;color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans)}#root,body{min-height:100vh}#root{width:100vw}:focus-visible{outline:2px solid #40e0d0;outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#40e0d040;border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#40e0d066}::selection{background:#40e0d04d;color:#fff}
/*# sourceMappingURL=main.6038a1a4.css.map*/