:root{--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--bg-black:#000;--bg-surface:#0a0a0a;--bg-card:#121212;--bg-card-hover:#181818;--bg-elevated:#1f1f1f;--border-subtle:#1c1c1c;--border-default:#2a2a2a;--border-hover:#444;--border-active:#fff;--fg-primary:#fff;--fg-secondary:#a6a6a6;--fg-muted:#666;--fg-faint:#3a3a3a;--ctrl-bg:#0d0d0d;--ctrl-border:#2e2e2e;--ctrl-active-bg:#fff;--ctrl-active-fg:#000;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:9999px;--header-height:48px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-black);width:100%;height:100%;color:var(--fg-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.45;overflow:hidden}#root{background-color:var(--bg-black);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-black)}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#333}::-webkit-scrollbar-thumb:hover{background:#666}.font-mono{font-family:var(--font-mono)}.text-muted{color:var(--fg-muted)}.text-secondary{color:var(--fg-secondary)}.btn{height:30px;font-family:var(--font-sans);border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-card);color:var(--fg-primary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--bg-card-hover);border-color:var(--border-hover);color:#fff}.btn:active{background:var(--bg-elevated)}.btn-primary{color:#000;background:#fff;border-color:#fff;font-weight:600}.btn-primary:hover{color:#000;background:#e2e2e2;border-color:#e2e2e2}.btn-ghost{color:var(--fg-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{color:#fff;background:#181818;border-color:#2a2a2a}.btn-outline{border:1px solid var(--border-default);color:var(--fg-primary);background:0 0}.btn-outline:hover{border-color:var(--border-hover);background:#181818}.btn-sm{height:24px;padding:0 9px;font-size:11px}.btn-icon-only{width:30px;padding:0}.btn-icon-sm{width:24px;padding:0}.badge{border-radius:var(--radius-pill);font-size:10px;font-family:var(--font-mono);border:1px solid var(--border-default);color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.3px;background:#141414;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.badge-active{color:#000;background:#fff;border-color:#fff;font-weight:600}.input-text{border:1px solid var(--border-default);border-radius:var(--radius-sm);height:28px;color:var(--fg-primary);font-family:var(--font-mono);background:#080808;outline:none;padding:0 8px;font-size:11px;transition:border-color .12s}.input-text:focus{border-color:#fff}.kf-slider-wrapper{flex-direction:column;gap:6px;width:100%;display:flex}input[type=range]{appearance:none;border-radius:var(--radius-pill);cursor:pointer;background:#202020;outline:none;width:100%;height:6px;margin:4px 0}input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:#222;border:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border:2px solid #000;border-radius:50%;width:16px;height:16px;margin-top:-5px;transition:transform 80ms;box-shadow:0 1px 4px #000000e6}input[type=range]::-webkit-slider-thumb:hover{background:#fff;transform:scale(1.15)}input[type=range]::-webkit-slider-thumb:active{background:#fff;transform:scale(1.15)}input[type=range]::-moz-range-track{border-radius:var(--radius-pill);background:#222;border:none;width:100%;height:6px}input[type=range]::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #000;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #000000e6}.app-shell{background:var(--bg-black);box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.app-header{height:var(--header-height);border-bottom:1px solid var(--border-default);z-index:50;box-sizing:border-box;background:#000;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding:0 14px;display:flex}.brand-section{align-items:center;gap:10px;display:flex}.brand-logo{border-radius:var(--radius-sm);color:#000;letter-spacing:-.5px;background:#fff;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:flex}.brand-logo-img{object-fit:contain;border-radius:var(--radius-sm);width:26px;height:26px;display:block}.brand-title{letter-spacing:.5px;text-transform:uppercase;color:#fff;font-size:13px;font-weight:700}.layout-switcher{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:#111;gap:2px;padding:2px;display:inline-flex}.layout-btn{border-radius:var(--radius-pill);height:24px;color:var(--fg-secondary);cursor:pointer;background:0 0;border:none;padding:0 10px;font-size:11px;font-weight:500;transition:all .12s}.layout-btn.active{color:#000;background:#fff;font-weight:600}.suite-control-wrapper{align-items:center;display:inline-flex;position:relative}.suite-selector-pill{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:#0d0d0d;align-items:center;gap:3px;padding:2px 3px;transition:border-color .15s,background-color .15s;display:inline-flex}.suite-selector-pill:hover,.suite-selector-pill.is-open{background:#141414;border-color:#3f3f46}.suite-dropdown-btn{color:#fff;border-radius:var(--radius-pill);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:6px;max-width:150px;padding:3px 6px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.suite-dropdown-btn:hover{color:#fff}.suite-pack-icon{color:#a1a1aa;flex-shrink:0}.suite-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suite-fx-badge{color:#d4d4d8;font-size:9px;font-weight:600;font-family:var(--font-mono);background:#27272a;border-radius:4px;flex-shrink:0;padding:2px 5px;line-height:1}.suite-chevron{color:#71717a;flex-shrink:0;transition:transform .15s}.suite-chevron.rotated{transform:rotate(180deg)}.suite-quick-add-btn{border-radius:var(--radius-pill);color:#fff;cursor:pointer;background:#222;border:1px solid #333;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .12s;display:inline-flex}.suite-quick-add-btn:hover{color:#fff;background:#3b82f6;border-color:#3b82f6;transform:scale(1.05)}.suite-quick-add-btn:active{transform:scale(.95)}.suite-dropdown-popover{border:1px solid var(--border-default);border-radius:var(--radius-md);z-index:100;background:#0a0a0a;min-width:260px;max-width:320px;padding:6px;animation:.12s ease-out fadeInDown;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 36px #000000d9,0 0 0 1px #ffffff14}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.suite-popover-header{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 8px;font-size:10px;font-weight:700;display:flex}.suite-count-tag{color:#a1a1aa;border-radius:var(--radius-pill);font-size:9px;font-family:var(--font-mono);background:#18181b;padding:1px 6px}.suite-popover-list{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.suite-popover-empty{color:var(--fg-muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;font-size:11px;display:flex}.suite-popover-item{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 10px;transition:background .1s;display:flex}.suite-popover-item:hover{background:#18181b}.suite-popover-item.active{background:#27272a}.suite-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.suite-item-title-row{align-items:center;gap:6px;display:flex}.suite-item-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.suite-item-sub{color:var(--fg-secondary);font-size:10px;font-family:var(--font-mono)}.suite-item-remove-btn{color:#71717a;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-left:6px;padding:4px;transition:all .12s;display:flex}.suite-item-remove-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d;transform:scale(1.08)}.suite-item-remove-btn:active{transform:scale(.92)}.suite-popover-actions{border-top:1px solid var(--border-subtle);flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.suite-popover-import-btn{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#18181b;border:1px dashed #3f3f46;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 10px;font-size:11px;font-weight:600;transition:all .12s;display:flex}.suite-popover-import-btn:hover{background:#27272a;border-color:#fff}.suite-popover-export-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--fg-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:500;transition:all .12s;display:flex}.suite-popover-export-btn:hover{color:#fff;background:#18181b}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-export-btn{align-items:center;gap:6px;transition:all .15s;display:inline-flex}@media (width<=768px){.app-header{gap:8px;padding:0 10px}.desktop-only{display:none!important}.suite-dropdown-btn{max-width:120px}.header-actions{gap:6px}.header-export-btn{gap:5px;height:28px;padding:0 10px;font-size:11px}}@media (width<=480px){.brand-title{letter-spacing:.2px;font-size:11px}.suite-dropdown-btn{gap:4px;max-width:95px;padding:3px 4px}.suite-fx-badge{display:none}.header-export-text{display:inline}.kf-param-left{width:110px;padding:0 10px}.kf-param-name{font-size:13px}}@media (width<=360px){.brand-title{display:none}}.studio-main-workspace{box-sizing:border-box;flex:1;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.studio-grid-container{width:100%;height:100%;display:grid;overflow:hidden}.studio-grid-container.layout-app{grid-template:"viewport sliders"100%/1fr 440px}.studio-grid-container.layout-split{grid-template:"viewport sliders editor"100%/minmax(320px,1.2fr) minmax(320px,380px) minmax(360px,1fr)}.studio-grid-container.layout-code{grid-template:"files editor viewport"1fr"files editor sliders"340px/220px 1fr 380px}.panel-viewport{border-right:1px solid var(--border-default);flex-direction:column;grid-area:viewport;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-sliders{background:var(--bg-surface);border-right:1px solid var(--border-default);flex-direction:column;grid-area:sliders;min-width:0;min-height:0;display:flex;overflow:hidden}.layout-code .panel-viewport{border-bottom:1px solid var(--border-default)}.panel-editor{border-right:1px solid var(--border-default);flex-direction:column;grid-area:editor;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-files{border-right:1px solid var(--border-default);flex-direction:column;grid-area:files;min-width:0;min-height:0;display:flex;overflow:hidden}.viewport-wrapper{background:#000;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.canvas-container{background:#000;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:16px;display:flex;position:relative;overflow:hidden}.webgl-canvas{object-fit:contain;background:#000;border-radius:2px;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;margin:auto;display:block;box-shadow:0 0 0 1px #ffffff1f,0 8px 32px #000000d9}.empty-media-dropzone{text-align:center;border-radius:var(--radius-md);cursor:pointer;background:#080808;border:1px dashed #333;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:440px;padding:36px 24px;transition:border-color .15s,background .15s;display:flex}.empty-media-dropzone:hover{background:#0e0e0e;border-color:#666}.empty-media-dropzone.drag-active{background:#141414;border-color:#fff}.viewport-transport{border:1px solid var(--border-default);border-radius:var(--radius-pill);z-index:20;background:#000000eb;align-items:center;gap:8px;padding:5px 12px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #000c}.parameters-panel{background:var(--bg-surface);flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.parameters-header{border-bottom:1px solid var(--border-default);background:#000;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.category-filter-bar{border-bottom:1px solid var(--border-subtle);background:#000;flex-shrink:0;gap:5px;padding:8px 12px;display:flex;overflow-x:auto}.category-pill{border-radius:var(--radius-pill);border:1px solid var(--border-default);height:24px;color:var(--fg-secondary);cursor:pointer;white-space:nowrap;background:#0a0a0a;padding:0 10px;font-size:11px;font-weight:500;transition:all .12s}.category-pill:hover{color:#fff;background:#181818;border-color:#444}.category-pill.active{color:#000;background:#fff;border-color:#fff;font-weight:600}.effect-shelf-container{border-bottom:1px solid var(--border-default);background:#070707;flex-shrink:0;align-items:center;width:100%;display:flex;position:relative}.shelf-nav-btn{color:#a1a1aa;cursor:pointer;z-index:2;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin:0 4px;transition:all .12s;display:inline-flex}.shelf-nav-btn:hover{color:#fff;background:#ffffff1f;border-color:#ffffff40}.effect-shelf-bar{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#ffffff40 #ffffff0a;cursor:grab;-webkit-user-select:none;user-select:none;background:0 0;flex:1;align-items:center;gap:6px;min-width:0;padding:8px 4px;display:flex;overflow:auto hidden}.effect-shelf-bar.is-dragging{cursor:grabbing}.effect-shelf-bar::-webkit-scrollbar{height:5px}.effect-shelf-bar::-webkit-scrollbar-track{background:#ffffff0a;border-radius:9999px}.effect-shelf-bar::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:9999px;transition:background .15s}.effect-shelf-bar::-webkit-scrollbar-thumb:hover{background:#3b82f6}@media (width<=600px){.shelf-nav-btn{display:none}.effect-shelf-bar{padding:8px 12px}}.effect-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);height:28px;color:var(--fg-secondary);cursor:pointer;white-space:nowrap;background:#111;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.effect-chip:hover{color:#fff;background:#1c1c1c;border-color:#444}.effect-chip.active{color:#000;background:#fff;border-color:#fff;font-weight:600}.parameters-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 14px 96px;display:flex;overflow:hidden auto}.kf-effect-card{background:#19191b;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;flex-shrink:0;transition:opacity .15s;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000073}.kf-effect-card.is-bypassed{opacity:.6}.kf-card-header{touch-action:pan-y;background:#19191b;border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.kf-card-title-group{align-items:center;gap:10px;min-width:0;display:flex}.kf-drag-grip{cursor:grab;color:#71717a;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.kf-effect-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.2px;font-size:15px;font-weight:700;overflow:hidden}.kf-card-actions{align-items:center;gap:10px;display:flex}.kf-icon-btn{cursor:pointer;color:#71717a;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .12s,background .12s;display:flex}.kf-icon-btn:hover{color:#fff;background:#ffffff0f}.kf-icon-btn.text-blue{color:#3d6ae1}.kf-icon-btn.text-red{color:#e5484d}.kf-icon-btn.text-red:hover{color:#ff6b6b;background:#e5484d26}.kf-card-body{background:#19191b;flex-direction:column;gap:8px;padding:12px;display:flex}.kf-slider-row{background:#121214;border:1px solid #ffffff0d;border-radius:12px;height:68px;transition:border-color .12s;display:flex;overflow:hidden}.kf-slider-row.is-active,.kf-slider-row:hover{border-color:#3d6ae166}.kf-param-left{background:#121214;border-right:1px solid #27272a;flex-shrink:0;align-items:center;width:135px;padding:0 16px;display:flex}.kf-param-name{color:#f0f0f2;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:600;transition:color .12s;overflow:hidden}.kf-param-name.text-blue{color:#3d6ae1}.kf-ruler-track{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:#121214;flex:1;height:100%;position:relative;overflow:hidden}.kf-ruler-needle{z-index:4;pointer-events:none;background:#3d6ae1;width:2px;position:absolute;top:26px;bottom:0;left:50%;transform:translate(-50%)}.kf-ruler-badge{z-index:5;cursor:pointer;background:#3d6ae1;border-radius:8px;justify-content:center;align-items:center;min-width:46px;height:24px;padding:0 12px;transition:filter .12s;display:flex;position:absolute;top:6px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0006}.kf-ruler-badge:hover{filter:brightness(1.1)}.kf-ruler-badge-text{color:#000;font-size:13px;font-weight:700;font-family:var(--font-sans);letter-spacing:-.2px;line-height:1}.kf-ruler-input{color:#000;text-align:center;background:0 0;border:none;outline:none;width:50px;height:20px;padding:0;font-size:13px;font-weight:700}.kf-ruler-tape{pointer-events:none;position:absolute;inset:32px 0 0}.kf-tick-number{color:#8e8e93;font-size:11px;font-weight:500;line-height:1;position:absolute;top:0;transform:translate(-50%)}.kf-tick-line{position:absolute;bottom:0;transform:translate(-50%)}.kf-tick-line.kf-major{background:#8e8e93;width:1.5px;height:11px}.kf-tick-line.kf-minor{background:#48484a;width:1px;height:6px}.kf-toggle-row{cursor:pointer;-webkit-user-select:none;user-select:none;background:#121214;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;height:58px;padding:0 20px;transition:border-color .12s;display:flex}.kf-toggle-row:hover{border-color:#ffffff1f}.kf-toggle-label{color:#f0f0f2;font-size:14px;font-weight:600}.kf-switch-track{background:#1c1c1f;border:1px solid #333336;border-radius:14px;width:48px;height:28px;transition:background-color .2s,border-color .2s;position:relative}.kf-switch-track.checked{background:#3d6ae1;border-color:#3d6ae1}.kf-switch-knob{background:#a1a1aa;border-radius:50%;width:22px;height:22px;transition:transform .22s cubic-bezier(.2,.85,.32,1.2),background-color .2s;position:absolute;top:2px;left:2px}.kf-switch-knob.checked{background:#fff;transform:translate(20px)}.empty-suite-state{text-align:center;background:#080808;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:48px 24px;display:flex}.empty-suite-icon{background:#141416;border:1px solid #27272a;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:16px;display:flex}.empty-suite-title{letter-spacing:.5px;text-transform:uppercase;color:#fff;font-size:14px;font-weight:700}.empty-suite-desc{color:var(--fg-secondary);max-width:280px;margin-top:8px;font-size:12px;line-height:1.5}.empty-suite-desc code{color:#3d6ae1;background:#161619;border-radius:4px;padding:2px 5px}.kf-dropdown-menu{z-index:50;background:#1a1a1d;border:1px solid #2e2e32;border-radius:8px;flex-direction:column;gap:2px;min-width:160px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0009}.kf-menu-item{color:#d1d1d6;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-size:11px;display:flex}.kf-menu-item:hover{color:#fff;background:#2a2a2f}.kf-empty-params{color:#71717a;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 12px;font-size:12px;display:flex}.file-tree-container{border-right:1px solid var(--border-default);background:#070707;flex-direction:column;height:100%;display:flex;overflow-y:auto}.file-tree-header{letter-spacing:.5px;text-transform:uppercase;color:var(--fg-muted);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 12px;font-size:11px;font-weight:600;display:flex}.tree-node{color:var(--fg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:2px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.tree-node:hover{color:#fff;background:#141414}.tree-node.active{color:#fff;background:#181818;border-left-color:#fff;font-weight:500}.editor-wrapper{border-right:1px solid var(--border-default);background:#080808;flex-direction:column;height:100%;display:flex;overflow:hidden}.editor-tabs-bar{border-bottom:1px solid var(--border-default);background:#000;flex-shrink:0;align-items:center;gap:4px;height:34px;padding:0 8px;display:flex;overflow-x:auto}.editor-tab{border-radius:var(--radius-sm);height:26px;font-size:11px;font-family:var(--font-mono);color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.editor-tab.active{color:#fff;border-color:var(--border-default);background:#141414}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:100;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:#0d0d0d;flex-direction:column;width:100%;max-width:500px;display:flex;overflow:hidden}.error-diagnostic-bar{color:#fff;font-size:11px;font-family:var(--font-mono);background:#141414;border-top:1px solid #333;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.header-ai-btn{color:#c084fc;background:linear-gradient(135deg,#8b5cf626,#3b82f626);border:1px solid #8b5cf666;align-items:center;gap:5px;font-weight:600;transition:all .15s;display:inline-flex}.header-ai-btn:hover{color:#fff;background:linear-gradient(135deg,#8b5cf64d,#3b82f64d);border-color:#a855f7;box-shadow:0 0 12px #a855f74d}.ai-modal-header{border-bottom:1px solid var(--border-default);background:#09090b;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ai-header-title-group{align-items:center;gap:10px;display:flex}.ai-sparkle-avatar{border-radius:var(--radius-pill);background:linear-gradient(135deg,#8b5cf6,#3b82f6);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 0 14px #8b5cf666}.ai-header-title{letter-spacing:.5px;color:#fff;margin:0;font-size:13px;font-weight:700}.ai-header-sub{color:var(--fg-secondary);margin:2px 0 0;font-size:11px}.ai-provider-badge-btn{color:#c084fc;border-radius:var(--radius-pill);cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf64d;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:600;transition:all .15s;display:inline-flex}.ai-provider-badge-btn:hover{background:#8b5cf638;border-color:#8b5cf6}.ai-provider-badge{color:#34d399;font-size:9px;font-weight:600;font-family:var(--font-mono);background:#10b98126;border:1px solid #10b9814d;border-radius:4px;padding:1px 6px}.ai-settings-drawer{border-bottom:1px solid var(--border-default);background:#111113;padding:12px 16px;animation:.12s ease-out fadeInDown}.ai-provider-toggle-group{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-bottom:12px;display:grid}@media (width<=480px){.ai-provider-toggle-group{grid-template-columns:1fr}}.ai-provider-option{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#18181b;flex-direction:column;align-items:flex-start;width:100%;padding:8px 10px;transition:all .12s;display:flex}.ai-provider-option:hover{border-color:#52525b}.ai-provider-option.active{background:#8b5cf61f;border-color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf6}.badge-key-ready{color:#34d399;text-transform:uppercase;background:#10b98126;border:1px solid #10b9814d;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:700}.badge-key-needed{color:#fbbf24;text-transform:uppercase;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:700}.ai-provider-form-panel{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:#18181b;padding:12px}.ai-key-warning-card{background:#f59e0b14;border-bottom:1px solid #f59e0b33;padding:10px 16px}.ai-tabs-bar{border-bottom:1px solid var(--border-default);background:#0d0d0f;align-items:center;gap:6px;padding:4px 12px;display:flex;overflow-x:auto}.ai-tab-btn{border-radius:var(--radius-sm);color:var(--fg-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:500;transition:all .12s;display:inline-flex}.ai-tab-btn:hover:not(.disabled){color:#fff;background:#18181b}.ai-tab-btn.active{color:#fff;background:#27272a;font-weight:600}.ai-tab-btn.disabled{opacity:.35;cursor:not-allowed}.ai-tab-btn.tab-error{color:#ef4444}.ai-tab-btn.tab-error.active{color:#f87171;background:#ef444426}.ai-tab-tag{color:#a1a1aa;text-overflow:ellipsis;white-space:nowrap;background:#18181b;border-radius:4px;max-width:90px;padding:1px 5px;font-size:9px;overflow:hidden}.ai-modal-body{flex-direction:column;max-height:70vh;padding:16px;display:flex;overflow-y:auto}.ai-error-notice{border-radius:var(--radius-md);background:#ef44441a;border:1px solid #ef44444d;align-items:flex-start;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.ai-presets-scroll{scrollbar-width:none;-ms-overflow-style:none;gap:6px;padding:6px 0 2px;display:flex;overflow-x:auto}.ai-presets-scroll::-webkit-scrollbar{display:none}.ai-preset-chip{border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--fg-secondary);cursor:pointer;white-space:nowrap;background:#141416;flex-shrink:0;padding:4px 10px;font-size:10px;transition:all .12s}.ai-preset-chip:hover{color:#fff;background:#a855f71a;border-color:#a855f7}.ai-prompt-textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:72px;font-size:12px;line-height:1.5}.ai-error-banner{border-radius:var(--radius-sm);color:#fca5a5;background:#ef444426;border:1px solid #ef4444;align-items:center;gap:6px;margin-top:10px;padding:8px 12px;font-size:11px;display:flex}.ai-generate-btn{height:32px;padding:0 16px;font-weight:600;transition:all .15s;box-shadow:0 4px 12px #8b5cf64d;color:#fff!important;background:linear-gradient(135deg,#8b5cf6,#3b82f6)!important;border:none!important}.ai-generate-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px);box-shadow:0 6px 18px #8b5cf673}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-result-card{border-radius:var(--radius-md);background:#111114;border:1px solid #27272a;margin-top:16px;padding:14px;animation:.15s ease-out fadeInDown;box-shadow:0 8px 24px #00000080}.ai-result-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.ai-result-params{border-radius:var(--radius-sm);background:#18181b;margin-bottom:10px;padding:8px 10px}.ai-param-tag{color:#fff;border-radius:var(--radius-pill);background:#27272a;align-items:center;gap:4px;padding:2px 7px;font-size:10px;display:inline-flex}.ai-param-val{color:#60a5fa;font-family:var(--font-mono);font-size:9px}.ai-code-preview{border:1px solid var(--border-default);border-radius:var(--radius-sm);max-height:140px;font-family:var(--font-mono);color:#a1a1aa;background:#09090b;margin-bottom:12px;padding:8px;font-size:10px;overflow-y:auto}.ai-result-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;padding-top:10px;display:flex}
