.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#0a0a0a;--bg-secondary:#151515;--bg-tertiary:#202020;--bg-elevated:#111;--bg-hover:#363636;--bg-active:#424242;--bg-press:#4d4d4d;--glass-bg:#131313d9;--glass-border:#ffffff0f;--glass-shadow:0 8px 32px #0006;--blur-chip:12px;--blur-chrome:20px;--blur-panel:30px;--text-primary:#ededed;--text-secondary:#999;--text-tertiary:#8b8b8b;--text-disabled:#5a5a5a;--accent-blue:#f2f2f5;--accent-blue-dim:#f2f2f51f;--accent-blue-glow:#f2f2f52e;--accent-teal:#b0b0ba;--accent-teal-dim:#b0b0ba24;--danger:#ff5a67;--danger-dim:#ff5a6724;--danger-border:#ff5a6759;--warning:#f0a93b;--warning-dim:#f0a93b24;--warning-border:#f0a93b59;--success:#46c46a;--success-dim:#46c46a24;--success-border:#46c46a59;--accent-red:var(--danger);--accent-red-dim:var(--danger-dim);--accent-orange:var(--warning);--accent-primary:var(--accent-blue);--gradient-primary:linear-gradient(135deg, #f2f2f5 0%, #c4c4cc 100%);--gradient-subtle:linear-gradient(135deg, #ffffff14 0%, #ffffff0a 100%);--border-subtle:1px solid #ffffff0f;--border-default:1px solid #ffffff1a;--border-accent:1px solid #ffffff40;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--sidebar-btn-pad-y:var(--space-md);--sidebar-btn-pad-x:var(--space-lg);--tap-target:2.75rem;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--font-2xs:.625rem;--font-xs:.6875rem;--font-sm:.75rem;--font-base:.8125rem;--font-md:.875rem;--font-lg:1rem;--font-xl:1.25rem;--font-2xl:1.75rem;--font-3xl:2.5rem;--tracking-display:-.03em;--tracking-2xl:-.022em;--tracking-xl:-.015em;--tracking-lg:-.008em;--tracking-base:0;--tracking-sm:.005em;--tracking-xs:.012em;--tracking-2xs:.02em;--leading-display:1.05;--leading-heading:1.2;--leading-ui:1.4;--leading-body:1.6;--transition-fast:.12s ease;--transition-normal:.2s ease;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--ease-out-soft:cubic-bezier(.16, 1, .3, 1);--ease-in-soft:cubic-bezier(.7, 0, .84, 0);--sidebar-width:17rem;--statusbar-height:2rem;--toolbar-height:2.75rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-base);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--leading-ui);letter-spacing:var(--tracking-base);font-optical-sizing:auto}.t-2xs,.statusbar,.info-hint-text,.dropdown-group-label{letter-spacing:var(--tracking-2xs)}.t-xs{letter-spacing:var(--tracking-xs)}.t-sm{letter-spacing:var(--tracking-sm)}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:var(--radius-sm)}.dropdown-trigger:focus-visible,.btn:focus-visible,.toolbar-btn:focus-visible,.topbar-btn:focus-visible,.rail-btn:focus-visible,.rail-tool:focus-visible{box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--accent-blue);outline:none}button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active,.dropzone:active,.format-badge[role=button]:active{transition:transform 80ms ease-out;transform:scale(.97)}.btn-full:not(:disabled):active,.rail-btn:not(:disabled):active,.dropdown-trigger:not(:disabled):active{background:var(--bg-press);transform:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-shell{background:var(--bg-primary);flex-direction:column;height:100dvh;display:flex}.app-shell-body{flex-direction:column;flex:1;min-height:0;display:flex}.app-titlebar{height:40px;padding:0 var(--space-md);background:var(--bg-primary);border-bottom:var(--border-subtle);-webkit-app-region:drag;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;display:flex}.app-titlebar.is-mac{padding-left:96px}.app-titlebar button,.app-titlebar a,.app-titlebar input,.app-titlebar [role=button]{-webkit-app-region:no-drag}.app-titlebar-brand{font-weight:600;font-size:var(--font-md);letter-spacing:var(--tracking-lg);color:var(--text-primary)}.app-layout{background:var(--bg-primary);flex-direction:column;height:100%;display:flex}.app-main{flex:1;display:flex;overflow:hidden}.topbar:after,.spectral-panel:before,.statusbar:before{content:"";pointer-events:none;z-index:1;height:10px;position:absolute;left:0;right:0}.topbar:after{background:linear-gradient(#00000073,#0000);top:100%}.spectral-panel:before,.statusbar:before{background:linear-gradient(#0000,#00000073);bottom:100%}.toolbar-logo{align-items:center;gap:var(--space-sm);font-weight:600;font-size:var(--font-md);color:var(--text-primary);letter-spacing:-.02em;-webkit-user-select:none;user-select:none;display:flex}.toolbar-logo svg{width:22px;height:22px}.toolbar-logo span{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.toolbar-divider{background:#ffffff14;width:1px;height:20px}.toolbar-group{align-items:center;gap:var(--space-xs);display:flex}.toolbar-btn{width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-md);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn:not(:disabled):active{background:var(--bg-press);color:var(--text-primary)}.toolbar-btn.active{background:var(--accent-blue-dim);color:var(--accent-blue)}.toolbar-btn-text{width:auto;padding:0 var(--space-md);gap:var(--space-xs);font-size:var(--font-sm);font-family:var(--font-sans);font-weight:500}.toolbar-spacer{flex:1}.toolbar-filename{font-size:var(--font-sm);color:var(--text-secondary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-primary);border-right:var(--border-subtle);z-index:50;padding:var(--space-sm);gap:var(--space-sm);flex-direction:column;display:flex;overflow:hidden auto}.sidebar-section{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid #ffffff0f;padding:12px 11px;box-shadow:0 4px 6px #0003}.sidebar-section-title{font-size:var(--font-base);text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);margin-bottom:var(--space-sm);-webkit-user-select:none;user-select:none;font-weight:700}.section-head{justify-content:space-between;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:var(--border-subtle);display:flex}.section-head .sidebar-section-title{margin-bottom:0}.panel-section-body{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.section-head-toggle{align-items:center;gap:var(--space-xs);min-width:0;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;margin:0;padding:0;display:flex}.section-head-toggle>svg{color:var(--text-tertiary);flex-shrink:0}.section-summary{font-size:var(--font-2xs);font-family:var(--font-mono);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;padding-left:var(--space-sm);margin-left:auto;overflow:hidden}.info-hint-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.info-hint-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.info-hint-btn:not(:disabled):active{background:var(--bg-press)}.info-hint-btn.active{color:var(--text-primary);background:var(--bg-hover)}.info-hint-text{font-size:var(--font-xs);line-height:var(--leading-body);color:var(--text-tertiary);margin-bottom:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);animation:.14s infoHintIn}@keyframes infoHintIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes softPulse{0%,to{opacity:1}50%{opacity:.35}}.pulse{animation:1.4s ease-in-out infinite softPulse}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.ml-hub-backdrop{z-index:9000;padding:var(--space-xl);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));animation:fadeIn .16s var(--ease-out-soft);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ml-hub-view{background:var(--bg-primary);border:var(--border-default);border-radius:var(--radius-lg);width:100%;max-width:1120px;height:min(86vh,780px);animation:slideUp .22s var(--ease-out-soft);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.ml-hub-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:var(--border-subtle);flex-shrink:0;display:flex}.ml-hub-header h2{align-items:center;gap:var(--space-sm);font-size:var(--font-md);letter-spacing:var(--tracking-lg);margin:0;font-weight:600;display:flex}.ml-hub-body{flex:1;min-height:0;display:flex}.ml-hub-rail{border-right:var(--border-subtle);width:176px;padding:var(--space-md) var(--space-sm);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;gap:2px;display:flex;overflow-y:auto}.ml-hub-rail-item{width:100%;padding:7px var(--space-md);border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;font-size:var(--font-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;grid-template-columns:1fr auto;align-items:center;gap:1px 8px;line-height:1.35;display:grid}.ml-hub-rail-item:hover{background:var(--bg-hover);color:var(--text-primary)}.ml-hub-rail-item.active{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary);font-weight:600}.ml-hub-rail-tick{color:var(--accent-teal)}.ml-hub-rail-summary{font-size:var(--font-2xs);font-family:var(--font-mono);letter-spacing:0;color:var(--text-disabled);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-weight:400;overflow:hidden}.ml-hub-rail-item.active .ml-hub-rail-summary{color:var(--text-tertiary)}.ml-hub-main{min-width:0;padding:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow:hidden}.ml-hub-section{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.ml-hub-section.fill{flex-direction:column;display:flex;overflow:hidden}.ml-hub-grow{flex:1;min-height:0;overflow-y:auto}.ml-hub-grow[style*=grid],.ml-hub-grid{grid-auto-rows:max-content}.ml-hub-main-head{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:var(--border-subtle);flex-shrink:0;display:flex}.ml-hub-main-head h3{font-size:var(--font-md);letter-spacing:var(--tracking-lg);color:var(--text-primary);margin:0;font-weight:600}.ml-hub-main .control-row{margin-bottom:var(--space-md)}.ml-hub-main .control-label{font-size:var(--font-base)}.ml-hub-summary{border-left:var(--border-subtle);width:226px;padding:var(--space-lg) var(--space-md);gap:var(--space-md);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}@media (width<=880px){.ml-hub-backdrop{padding:0}.ml-hub-view{border:none;border-radius:0;max-width:none;height:100%}.ml-hub-body{flex-direction:column;overflow-y:auto}.ml-hub-rail{border-right:none;border-bottom:var(--border-subtle);flex-direction:row;width:100%;overflow-x:auto}.ml-hub-rail-item{white-space:nowrap;width:auto}.ml-hub-rail-summary{display:none}.ml-hub-main{overflow-y:visible}.ml-hub-summary{border-left:none;border-top:var(--border-subtle);width:100%}}.control-row{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.control-label{font-size:var(--font-sm);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.control-row-sub{margin-top:calc(var(--space-sm) * -1 + 2px);margin-bottom:var(--space-xs);padding-left:var(--space-sm)}.control-label.sub{font-size:var(--font-xs);color:var(--text-tertiary)}.control-note{margin:0 0 var(--space-sm);font-size:var(--font-2xs);color:var(--text-tertiary);min-height:2.9em;line-height:1.45}.control-value{font-size:var(--font-sm);color:var(--accent-blue);font-family:var(--font-mono);font-weight:500}input[type=checkbox]{appearance:none;background-color:var(--bg-tertiary);font:inherit;color:currentColor;border:1px solid var(--border-default);cursor:pointer;border-radius:4px;place-content:center;width:18px;height:18px;margin:0;transition:all .15s ease-in-out;display:grid}input[type=checkbox]:before{content:"";background-color:var(--bg-primary);transform-origin:50%;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:10px;height:10px;transition:transform .12s ease-in-out;transform:scale(0)}input[type=checkbox]:checked{background-color:var(--accent-blue);border-color:var(--accent-blue)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=radio]{appearance:none;background-color:var(--bg-tertiary);font:inherit;color:currentColor;border:1px solid var(--border-default);cursor:pointer;border-radius:50%;place-content:center;width:18px;height:18px;margin:0;transition:all .15s ease-in-out;display:grid}input[type=radio]:before{content:"";background-color:var(--bg-primary);border-radius:50%;width:8px;height:8px;transition:transform .12s ease-in-out;transform:scale(0)}input[type=radio]:checked{background-color:var(--accent-blue);border-color:var(--accent-blue)}input[type=radio]:checked:before{transform:scale(1)}input[type=range]{appearance:none;background:var(--bg-hover);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent-blue);border:2px solid var(--bg-primary);width:14px;height:14px;box-shadow:0 0 8px var(--accent-blue-glow);cursor:pointer;transition:transform var(--transition-fast);border-radius:50%}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}input[type=range]::-moz-range-thumb{background:var(--accent-blue);border:2px solid var(--bg-primary);width:14px;height:14px;box-shadow:0 0 8px var(--accent-blue-glow);cursor:pointer;border-radius:50%}.dual-range{height:24px;margin:4px 0;position:relative}.dual-range-track{background:var(--bg-hover);border-radius:2px;height:4px;position:absolute;top:10px;left:0;right:0}.dual-range-fill{background:var(--accent-blue);border-radius:2px;height:4px;position:absolute;top:10px}.dual-range input[type=range]{pointer-events:none;background:0 0;width:100%;height:24px;margin:0;position:absolute;top:0;left:0}.dual-range input[type=range]::-webkit-slider-runnable-track{background:0 0}.dual-range input[type=range]::-moz-range-track{background:0 0}.dual-range input[type=range]::-webkit-slider-thumb{pointer-events:auto}.dual-range input[type=range]::-moz-range-thumb{pointer-events:auto}select{background:var(--bg-tertiary);color:var(--text-primary);border:var(--border-default);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-family:var(--font-sans);font-size:var(--font-sm);cursor:pointer;transition:border-color var(--transition-fast);outline:none}select:hover,select:focus{border-color:var(--accent-blue)}.dropdown{flex-shrink:0;display:inline-flex;position:relative}.dropdown.full{width:100%;display:flex}.dropdown.full .dropdown-trigger{width:100%}.dropdown-trigger{background:var(--bg-tertiary);min-width:0;color:var(--text-primary);border:var(--border-default);font-family:var(--font-sans);font-size:var(--font-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px 5px 10px;line-height:1.4;display:inline-flex}.dropdown-trigger:hover{background:var(--bg-elevated);border-color:#ffffff2e}.dropdown-trigger:focus-visible{box-shadow:0 0 0 3px var(--accent-blue-dim);border-color:#ffffff4d}.dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.dropdown-trigger.sm{font-size:var(--font-xs);border-radius:7px;gap:6px;padding:3px 6px 3px 8px}.dropdown-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-chevron{color:var(--text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.dropdown-chevron.open{transform:rotate(180deg)}.dropdown-menu{z-index:600;background:var(--bg-elevated);border-radius:var(--radius-md);transform-origin:top;border:1px solid #ffffff1f;min-width:100%;max-height:300px;padding:4px;animation:.14s cubic-bezier(.4,0,.2,1) dropdownIn;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto;box-shadow:0 12px 32px #0000008c,0 2px 8px #00000059}.dropdown-menu.right{left:auto;right:0}.dropdown-menu.up{transform-origin:bottom;animation-name:dropdownInUp;top:auto;bottom:calc(100% + 5px)}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes dropdownInUp{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}.dropdown-option{border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text-primary);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:6px 9px;display:flex}.dropdown-menu.sm .dropdown-option{font-size:var(--font-xs);padding:5px 8px}.dropdown-option.highlighted{background:var(--bg-hover)}.dropdown-option:active{background:var(--bg-press)}.dropdown-option .dropdown-check{color:var(--text-primary);flex-shrink:0}.dropdown-group-label{font-size:var(--font-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;padding:6px 9px 3px;font-weight:600}.dropdown-group+.dropdown-group{border-top:var(--border-subtle);margin-top:3px;padding-top:3px}.cmp-menu{flex-direction:column;min-width:210px;max-height:340px;padding:0;display:flex;overflow:visible}.cmp-filters{border-bottom:var(--border-subtle);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:6px 6px 4px;display:flex}.cmp-chip{all:unset;cursor:pointer;font-size:var(--font-2xs);background:var(--bg-surface);color:var(--text-tertiary);-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;border-radius:99px;padding:2px 8px;transition:background .12s,color .12s,border-color .12s}.cmp-chip:hover{background:var(--bg-hover);color:var(--text-secondary)}.cmp-chip.active{background:var(--accent-teal-dim,#00c8b41f);color:var(--accent-teal,#00c8b4);border-color:var(--accent-teal,#00c8b4)}.cmp-options{flex:1;min-height:0;padding:4px;overflow-y:auto}.cmp-empty{text-align:center;font-size:var(--font-xs);color:var(--text-tertiary);padding:12px}.cmp-swatch{border:1px solid #ffffff14;border-radius:3px;flex-shrink:0;width:48px;height:12px}.cmp-swatch-inline{border:1px solid #ffffff14;border-radius:2px;flex-shrink:0;width:32px;height:10px;margin-right:6px}.cmp-domain-row{border-bottom:var(--border-subtle);flex-shrink:0;align-items:center;gap:8px;padding:4px 6px 6px;display:flex}.cmp-domain-label{font-size:var(--font-xs);color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.cmp-star{color:var(--accent-teal,#00c8b4);vertical-align:middle;flex-shrink:0;margin-left:4px}.cmp-divider{background:var(--border-subtle);height:1px;margin:3px 4px}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--font-md);cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;font-weight:500;display:inline-flex}.sidebar .btn{padding:var(--sidebar-btn-pad-y) var(--sidebar-btn-pad-x)}.btn-primary{background:var(--gradient-primary);color:var(--bg-primary);box-shadow:0 2px 12px var(--accent-blue-glow)}.btn-primary:hover{box-shadow:0 4px 20px var(--accent-blue-glow);transform:translateY(-1px)}.btn-primary:not(:disabled):active{box-shadow:0 1px 6px var(--accent-blue-glow);transform:scale(.97)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:var(--border-default)}.btn-secondary:hover{background:var(--bg-hover);border-color:#ffffff26}.btn-secondary:not(:disabled):active{background:var(--bg-press)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-ghost:not(:disabled):active{background:var(--bg-press);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#1a0406;border:none;font-weight:600}.btn-danger:hover{background:#ff7480}.btn-danger:not(:disabled):active{background:#e64653}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;padding:0}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-xs)}.btn-full{width:100%}.viewer-area{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.viewer-container{cursor:crosshair;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.viewer-canvas-wrapper{transform-origin:50%;display:inline-block;position:relative}.viewer-canvas-wrapper canvas{display:block}.annotation-canvas{pointer-events:auto;position:absolute;top:0;left:0}.crop-resize-handle{border:1px solid var(--accent-teal);pointer-events:auto;z-index:10;background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}.crop-resize-handle.n{cursor:n-resize;top:0;left:50%}.crop-resize-handle.s{cursor:s-resize;top:100%;left:50%}.crop-resize-handle.e{cursor:e-resize;top:50%;left:100%}.crop-resize-handle.w{cursor:w-resize;top:50%;left:0}.crop-resize-handle.nw{cursor:nw-resize;top:0;left:0}.crop-resize-handle.ne{cursor:ne-resize;top:0;left:100%}.crop-resize-handle.sw{cursor:sw-resize;top:100%;left:0}.crop-resize-handle.se{cursor:se-resize;top:100%;left:100%}svg.lucide{zoom:var(--ui-scale,1)}.spectral-panel{background:var(--glass-bg);height:15rem;min-height:11.25rem;-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));padding:var(--space-md);flex-direction:column;display:flex;position:relative}.spectral-panel-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.spectral-panel-title{font-size:var(--font-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.spectral-panel-content{flex:1;min-height:0}.statusbar{height:var(--statusbar-height);background:var(--bg-secondary);padding:0 var(--space-lg);align-items:center;gap:var(--space-xl);font-size:var(--font-xs);color:var(--text-tertiary);font-family:var(--font-mono);z-index:100;display:flex;position:relative}.statusbar-item{align-items:center;gap:var(--space-xs);white-space:nowrap;flex-shrink:0;display:flex}.statusbar-item .label{color:var(--text-tertiary)}.statusbar-item .value{color:var(--text-secondary)}.statusbar-spacer{flex:1}.statusbar{overflow:hidden}.statusbar-flex{flex:1 1 0;min-width:0}.statusbar-hints{white-space:nowrap;color:var(--text-tertiary);font-size:var(--font-xs);letter-spacing:var(--tracking-xs);flex-shrink:0;justify-content:center;align-items:center;gap:16px;display:flex}.statusbar[data-compact="1"] .sb-p1,.statusbar[data-compact="2"] .sb-p1,.statusbar[data-compact="3"] .sb-p1,.statusbar[data-compact="2"] .sb-p2,.statusbar[data-compact="3"] .sb-p2,.statusbar[data-compact="3"] .sb-p3{display:none}.landing-page{background:var(--bg-primary);scroll-behavior:smooth;height:100vh;position:relative;overflow:hidden auto}.landing-page:before{content:"";opacity:.75;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}.home-landing-page.landing-page:before,.home-landing-page.landing-page:after{content:none}.landing-page:after{content:"";pointer-events:none;width:600px;max-width:100%;height:600px;animation:glowSettle .9s var(--ease-out-soft) both;background:radial-gradient(circle,#ffffff0f 0%,#ffffff05 40%,#0000 70%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes glowSettle{0%{opacity:0;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.landing-color-bends-bg{pointer-events:none;z-index:0;width:100vw;height:100vh;animation:3s cubic-bezier(.16,1,.3,1) both colorBendsFadeIn;position:fixed;inset:0;overflow:hidden}@keyframes colorBendsFadeIn{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.landing-color-bends-bg{opacity:1;animation:none}}.landing-navbar-wrapper{z-index:60;width:100%;max-width:960px;padding:0 var(--space-md);box-sizing:border-box;margin:16px auto 0;position:sticky;top:16px}.landing-navbar{-webkit-backdrop-filter:blur(16px);height:58px;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:14px;justify-content:space-between;align-items:center;padding:0 10px 0 20px;display:flex;box-shadow:0 10px 32px #00000040,inset 0 1px #ffffff1f}.landing-navbar:hover{background:#ffffff0f;border-color:#ffffff2e;box-shadow:0 12px 36px #00000059,inset 0 1px #ffffff29}.landing-navbar-brand{cursor:pointer;-webkit-user-select:none;user-select:none;color:inherit;transition:opacity var(--transition-fast);background:0 0;border:none;align-items:center;gap:12px;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-decoration:none;display:flex}.landing-navbar-brand:hover{opacity:.9}.landing-navbar-logo{flex-shrink:0;width:32px;height:32px;display:block}.landing-navbar-title{letter-spacing:.025em;color:#fff;white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:600;line-height:1}.landing-navbar-links{align-items:center;gap:var(--space-sm);display:flex}.landing-navbar-link{color:#ffffffb3;cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast), background var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;padding:7px 14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.landing-navbar-link:hover{color:#fff;background:#ffffff0f}.landing-navbar-cta{color:#0b0c10;cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#fff;border:none;border-radius:9px;align-items:center;gap:7px;padding:8px 18px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13.5px;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #0003}.landing-navbar-cta:hover{background:#f2f3f5;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.landing-navbar-cta:active{transform:translateY(0)}@media (width<=640px){.landing-navbar-wrapper{margin:10px auto 0;padding:0 10px;top:10px}.landing-navbar{height:46px;padding:0 6px 0 12px}.landing-navbar-link-features,.landing-navbar-cta span{display:none}.landing-navbar-cta{padding:7px 10px}}.landing-content{z-index:1;text-align:center;max-width:600px;padding:var(--space-2xl);flex-direction:column;justify-content:center;min-height:100vh;margin:0 auto;display:flex;position:relative}.home-landing-page .landing-content{box-sizing:border-box;max-width:860px;padding:var(--space-lg) var(--space-xl) var(--space-md);justify-content:space-between;align-items:center;min-height:calc(100vh - 68px)}.landing-hero-center{flex-direction:column;align-items:center;width:100%;margin:auto 0;display:flex}.landing-hero-headline{letter-spacing:0;color:#fff;margin:0 0 var(--space-2xl);text-wrap:balance;-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:clamp(2.25rem,6.5vw,3.5rem);font-weight:700;line-height:1.15}.landing-hero-actions{align-items:center;gap:var(--space-md);margin-bottom:var(--space-2xl);flex-wrap:wrap;justify-content:center;display:flex}.landing-cta-primary{color:#0b0c10;cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:-.01em;background:#fff;border:none;border-radius:10px;align-items:center;gap:8px;min-height:46px;padding:12px 28px;font-family:inherit;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 2px 12px #0000004d}.landing-cta-primary:hover{background:#f0f1f5;transform:translateY(-1px);box-shadow:0 6px 20px #00000059}.landing-cta-primary:active{transform:translateY(0)}.landing-cta-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.landing-cta-secondary{color:#ffffffe0;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:-.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:8px;min-height:46px;padding:12px 28px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.landing-cta-secondary:hover{background:#ffffff21;border-color:#ffffff38;transform:translateY(-1px)}.landing-cta-secondary:active{transform:translateY(0)}.landing-samples-text-row{color:#ffffff73;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:2px;font-size:13.5px;display:flex}.sample-prompt{color:#fff6;font-weight:400}.sample-item{align-items:center;gap:6px;display:inline-flex}.sample-text-btn{color:#ffffffbf;cursor:pointer;text-underline-offset:3px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;padding:2px 4px;font-family:inherit;font-size:13.5px;font-weight:500;-webkit-text-decoration:underline #fff3;text-decoration:underline #fff3;display:inline-flex}.sample-text-btn:hover:not(:disabled){color:#fff;text-decoration-color:#fff}.sample-text-btn:disabled{opacity:.5;cursor:not-allowed}.sample-dot{color:#ffffff40;-webkit-user-select:none;user-select:none}.landing-secondary-links{align-items:center;gap:var(--space-xl);padding:var(--space-sm) 0 var(--space-md);flex-wrap:wrap;justify-content:center;width:100%;margin-top:auto;display:flex}.landing-secondary-links .link-btn{color:#fff9;transition:color var(--transition-fast), background var(--transition-fast);border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:500}.landing-secondary-links .link-btn:hover{color:#fff;background:#ffffff0f}.landing-page:not(.home-landing-page) .landing-hero-center{margin:auto 0;transform:translateY(-28px)}.landing-page:not(.home-landing-page) .landing-secondary-links{bottom:var(--space-xl);margin-top:0;position:absolute;left:0;right:0}@media (height<=640px){.landing-page:not(.home-landing-page) .landing-hero-center{margin:var(--space-xl) 0;transform:none}.landing-page:not(.home-landing-page) .landing-secondary-links{margin-top:auto;position:static}}.landing-title{font-size:clamp(1.75rem, 7vw, var(--font-3xl));letter-spacing:var(--tracking-display);font-weight:700;line-height:var(--leading-display);margin-bottom:var(--space-md);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-subtitle{font-size:clamp(.875rem, 3.5vw, var(--font-lg));color:var(--text-secondary);margin-bottom:var(--space-3xl);line-height:var(--leading-body);text-wrap:pretty}.dropzone{border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-2xl);cursor:pointer;transition:all var(--transition-smooth);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;border:3px dotted #fff3;position:relative}.dropzone:before{content:"";border-radius:inherit;background:var(--gradient-subtle);opacity:0;transition:opacity var(--transition-smooth);position:absolute;inset:0}.dropzone:hover,.dropzone.drag-over{border-color:var(--accent-blue);background:#ffffff0d;transform:translateY(-2px);box-shadow:0 12px 40px #ffffff14}.dropzone:active{background:#ffffff12;transform:scale(.99)}.dropzone:hover:before,.dropzone.drag-over:before{opacity:1}.dropzone-icon{margin-bottom:var(--space-lg);opacity:.6;font-size:48px}.dropzone-text{font-size:var(--font-md);color:var(--text-primary);margin-bottom:var(--space-sm);font-weight:500}.dropzone-hint{font-size:var(--font-sm);color:var(--text-tertiary)}.dropzone-formats{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;justify-content:center;display:flex}.format-badge{padding:var(--space-xs) var(--space-md);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--font-xs);font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:var(--tracking-xs)}.landing-actions{align-items:center;gap:var(--space-md);margin-top:var(--space-xl);flex-direction:column;display:flex}.sample-row{justify-content:center;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.sample-label{font-size:var(--font-sm);color:var(--text-secondary);margin-right:var(--space-xs)}.sample-btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:var(--tap-target);padding:var(--space-sm) var(--space-lg);background:var(--bg-tertiary);color:var(--text-primary);border:var(--border-default);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-sm);letter-spacing:var(--tracking-sm);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast);font-weight:500;display:inline-flex}.sample-btn:hover:not(:disabled){background:var(--bg-hover);border-color:#fff3}.sample-btn:not(:disabled):active{background:var(--bg-press)}.sample-btn:disabled{opacity:.5;cursor:not-allowed}.link-btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:var(--tap-target);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--font-sm);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;display:inline-flex}.link-btn:hover{color:var(--text-primary);background:#ffffff0a}.link-btn:active{background:var(--bg-press)}.resize-handle{cursor:ns-resize;background:0 0;flex-shrink:0;width:100%;height:4px;position:relative}.resize-handle:after{content:"";width:40px;height:3px;transition:background var(--transition-fast);background:#ffffff1a;border-radius:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-handle:hover:after{background:var(--accent-blue)}.resize-handle-x{cursor:ew-resize;z-index:20;background:0 0;width:6px;position:absolute;top:0;bottom:0}.resize-handle-x.left{left:0}.resize-handle-x.right{right:0}.resize-handle-x:after{content:"";width:3px;height:40px;transition:background var(--transition-fast);background:#ffffff1a;border-radius:2px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-handle-x:hover:after{background:0 0}.spinner{border:2px solid #00000026;border-top-color:var(--bg-primary);border-radius:50%;width:20px;height:20px;margin:0;animation:.8s linear infinite spin;display:inline-block}.btn-secondary .spinner,.btn-ghost .spinner,.sidebar-section .spinner,.landing-page .spinner,.spectral-panel .spinner{border-color:#ffffff26;border-top-color:var(--text-primary)}.btn-primary .spinner{border-color:#00000026;border-top-color:var(--bg-primary)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);padding:var(--space-xs) var(--space-sm);background:var(--bg-elevated);border:var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--text-primary);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:1000;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:hover:after{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-12px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes slideDownOut{0%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-12px)scale(.98)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideInOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-10px)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRightOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}.animate-fade-in{animation:fadeIn var(--transition-smooth) forwards}.animate-slide-up{animation:slideUp var(--transition-smooth) forwards}.side-pane{animation:slideInRight .3s var(--ease-out-soft) forwards}.side-pane.closing{animation:slideInRightOut .2s var(--ease-in-soft) forwards}.pixel-info{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-chip));backdrop-filter:blur(var(--blur-chip));border:var(--border-default);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--font-xs);font-family:var(--font-mono);color:var(--text-secondary);pointer-events:none;z-index:200;box-shadow:var(--glass-shadow);min-width:140px;position:absolute}.pixel-info .coords{color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:500}.pixel-info .value{color:var(--accent-blue)}.empty-state{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;gap:var(--space-md);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.empty-state-icon{color:var(--text-tertiary);opacity:.5;justify-content:center;align-items:center;display:flex}.empty-state-text{font-size:var(--font-sm)}.toggle{cursor:pointer;width:36px;height:20px;position:relative}.toggle:active .toggle-thumb{width:19px}.toggle input{display:none}.toggle-track{background:var(--bg-hover);transition:background var(--transition-fast);border-radius:10px;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:var(--accent-blue)}.toggle-thumb{width:16px;height:16px;transition:transform var(--transition-fast), width var(--transition-fast);background:#fff;border-radius:8px;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle input:checked~.toggle-thumb{background:var(--bg-active);transform:translate(16px)}.landing-features-section{z-index:1;border-top:var(--border-subtle);padding:clamp(var(--space-2xl), 8vw, 5rem) var(--space-lg);background:0 0;position:relative}.landing-features{text-align:left;max-width:1000px;margin:0 auto}.landing-features h2{font-size:clamp(1.0625rem, 4vw, var(--font-xl));letter-spacing:var(--tracking-xl);line-height:var(--leading-heading);margin-bottom:var(--space-lg);color:var(--text-primary);text-align:center;text-wrap:balance}.bento-grid{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-auto-rows:minmax(160px,auto);display:grid}.use-cases-grid{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.feature-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-chip));backdrop-filter:blur(var(--blur-chip));border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);transition:transform var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth);column-gap:var(--space-md);row-gap:var(--space-sm);grid-template-columns:auto 1fr;min-width:0;display:grid;position:relative;overflow:hidden}@media (width>=800px){.feature-card.bento-wide{grid-column:span 2}}.feature-card:hover{border-color:#ffffff26;transform:translateY(-4px);box-shadow:0 12px 32px #0000004d}.feature-card:before{content:"";opacity:0;height:1px;transition:opacity var(--transition-smooth);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:0;right:0}.feature-card:hover:before{opacity:1}.feature-icon{border-radius:var(--radius-md);background:var(--gradient-subtle);border:var(--border-subtle);width:48px;height:48px;color:var(--accent-blue);grid-area:1/1;justify-content:center;align-items:center;display:flex}.feature-card h3{font-size:var(--font-lg);letter-spacing:var(--tracking-lg);line-height:var(--leading-heading);color:var(--text-primary);overflow-wrap:break-word;grid-area:1/2;align-self:center;min-width:0;margin:0;font-weight:600}.feature-card p{font-size:var(--font-sm);letter-spacing:var(--tracking-sm);color:var(--text-secondary);line-height:var(--leading-body);margin:0;margin-top:var(--space-sm);text-wrap:pretty;grid-area:2/1/auto/-1;min-width:0}@media (width<=640px){.landing-content{padding:var(--space-xl) var(--space-lg)}.dropzone{padding:var(--space-lg) var(--space-md)}.dropzone-formats{max-width:calc(100vw - 2 * var(--space-lg))}.sample-row{width:100%}.sample-btn{flex:8rem}.landing-features{text-align:left}.feature-card{padding:var(--space-lg);grid-template-columns:1fr}.feature-icon{grid-area:1/1;width:40px;height:40px}.feature-card h3{grid-area:2/1}.feature-card p{grid-row:3}}@media (pointer:coarse){.toolbar-btn,.topbar-btn,.btn-icon,.info-hint-btn,.rail-btn{min-width:var(--tap-target);min-height:var(--tap-target)}.dropdown-option{padding:var(--space-md) var(--space-md)}.tooltip:after{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-fade-in,.side-pane,.side-pane.closing{animation-duration:.14s!important}button:not(:disabled):active,[role=button]:active,.btn-primary:not(:disabled):active,.dropzone:active,.feature-card:hover,.dropzone:hover,.btn-primary:hover{transform:none!important}.landing-page:after{animation:none!important}}@media (prefers-reduced-transparency:reduce){:root{--glass-bg:#131313}.topbar,.spectral-panel,.rail-pane,.pixel-info,.feature-card,.dropzone{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated)}.topbar:after,.spectral-panel:before,.statusbar:before{display:none}.topbar{border-bottom:var(--border-default)}.spectral-panel,.statusbar{border-top:var(--border-default)}}@media (prefers-contrast:more){:root{--text-secondary:#c4c4c4;--text-tertiary:#ababab;--text-disabled:#7a7a7a;--border-subtle:1px solid #ffffff38;--border-default:1px solid #ffffff59;--border-accent:1px solid #fff9;--glass-bg:#0c0c0cf7}:focus-visible{outline-width:3px}.toolbar-btn.active,.rail-tool.active,.rail-segment button.active{outline:1px solid var(--text-primary)}}@media (forced-colors:active){.toolbar-btn.active,.topbar .toolbar-btn.active,.rail-btn.active,.rail-tool.active{forced-color-adjust:none;color:highlighttext;background:highlight}:focus-visible{outline:2px solid highlight}}.topbar{height:var(--toolbar-height);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-chrome));backdrop-filter:blur(var(--blur-chrome));padding:0 var(--space-lg);align-items:center;gap:var(--space-md);z-index:100;display:flex;position:relative}.topbar-logo{font-weight:600;font-size:var(--font-md);letter-spacing:var(--tracking-lg);color:var(--text-primary)}.topbar-btn{color:var(--text-secondary);border:var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-sm);letter-spacing:var(--tracking-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:7px;padding:6px 12px;display:flex}.topbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar-btn:not(:disabled):active{background:var(--bg-press);color:var(--text-primary)}.topbar-btn-ghost{font-size:var(--font-xs);border:none;padding:2px 6px}.topbar-btn-primary{background:var(--accent-blue);color:#0a0a0a;border:none;font-weight:600}.topbar-btn-primary:hover{color:#0a0a0a;background:#fff}.topbar-btn-primary:not(:disabled):active{color:#0a0a0a;background:#d6d6db}.topbar-divider{background:#ffffff1a;width:1px;height:20px}.topbar-file{align-items:baseline;gap:var(--space-md);min-width:0;display:flex}.topbar-filename{font-family:var(--font-mono);font-size:var(--font-base);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:320px;overflow:hidden}.topbar-dims{font-size:var(--font-xs);color:var(--text-tertiary);white-space:nowrap}.topbar-spacer{flex:1}.topbar{overflow:hidden}.topbar-btn,.topbar .toolbar-btn,.topbar .toolbar-group,.topbar-divider{flex-shrink:0}.topbar.tb-compact .tb-label{display:none}.topbar.tb-measuring .tb-label{display:inline!important}.topbar .toolbar-btn{border:var(--border-default);border-radius:var(--radius-sm);background:0 0}.topbar .toolbar-btn-text{height:32px;padding:0 12px}.topbar .toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar .toolbar-btn:not(:disabled):active{background:var(--bg-press)}.topbar .toolbar-btn.active{background:var(--accent-blue);color:#0a0a0a;border-color:#0000}.topbar .toolbar-btn.active:not(:disabled):active{background:#d6d6db}.topbar .toolbar-btn:disabled:hover{color:var(--text-secondary);background:0 0}.sidebar .btn-primary{background:var(--accent-blue);color:#0a0a0a;border-radius:var(--radius-sm);box-shadow:none}.sidebar .btn-primary:hover{color:#0a0a0a;box-shadow:none;background:#fff;transform:none}.sidebar .btn-primary:not(:disabled):active{box-shadow:none;background:#d6d6db}.app-main{position:relative}.left-rail{border-right:var(--border-subtle);width:56px;padding:var(--space-sm);transition:width var(--transition-smooth), flex-basis var(--transition-smooth);z-index:60;background:#0d0d0d;flex-direction:column;flex:0 0 56px;align-items:stretch;gap:2px;display:flex}.left-rail.expanded{flex-basis:200px;width:200px}.rail-btn{color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;gap:0;padding:9px;display:flex;position:relative}.left-rail.expanded .rail-btn{justify-content:flex-start;gap:12px;padding:9px 11px}.rail-btn:hover{color:var(--text-primary);background:#ffffff0a}.rail-btn:not(:disabled):active{background:var(--bg-press);color:var(--text-primary)}.rail-btn.active{color:var(--text-primary);box-shadow:inset 3px 0 0 var(--text-primary);background:#ffffff0a}.rail-label{font-size:var(--font-sm);letter-spacing:var(--tracking-sm);white-space:nowrap;font-weight:500;display:none}.left-rail.expanded .rail-label{display:inline}.rail-hamburger{color:var(--text-secondary)}.rail-divider{background:#ffffff0f;height:1px;margin:6px 6px 8px}.rail-flex{flex:1}.rail-pane{top:var(--space-md);bottom:var(--space-md);left:calc(56px + var(--space-md));width:288px;max-width:calc(100vw - 56px - 2 * var(--space-md));background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border:var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);z-index:55;transition:left var(--transition-smooth);animation:slideIn .2s var(--ease-out-soft) both;flex-direction:column;display:flex;position:absolute;overflow:hidden}.rail-pane.expanded{left:calc(200px + var(--space-md))}.rail-pane-header{border-bottom:var(--border-subtle);font-size:var(--font-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);justify-content:space-between;align-items:center;padding:14px 16px 10px;font-weight:600;display:flex}.rail-pane-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;display:flex}.rail-pane-close:hover{color:var(--text-primary);background:var(--bg-hover)}.rail-pane-close:active{background:var(--bg-press)}.rail-pane-body{padding:var(--space-md);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.rail-pane-body .sidebar-section{border:none;margin:0;padding:0}.rail-segment{background:var(--bg-tertiary);border:var(--border-default);border-radius:var(--radius-md);gap:4px;padding:3px;display:flex}.rail-segment button{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;letter-spacing:var(--tracking-sm);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:1;padding:7px;font-weight:500}.rail-segment button:hover{color:var(--text-primary);background:#ffffff0a}.rail-segment button:active{background:var(--bg-press)}.rail-segment button.active{background:var(--accent-blue);color:#0a0a0a}.rail-segment button.active:active{background:#d6d6db}.rail-num{background:var(--bg-tertiary);width:60px;color:var(--text-primary);border:var(--border-default);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--font-sm)}.rail-tool-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.rail-tool{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;border:var(--border-default);background:var(--bg-tertiary);color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex}.rail-tool:hover{color:var(--text-primary);background:var(--bg-hover)}.rail-tool:active{background:var(--bg-press)}.rail-tool.active{background:var(--accent-blue);color:#0a0a0a;border-color:var(--accent-blue)}.rail-tool.active:active{background:#d6d6db}
