@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Inter.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg-primary: #101012;--color-bg-secondary: #101012;--color-bg-tertiary: #101012;--color-border: #1a1a1a;--color-border-light: #333333;--color-accent-cyan: #00fff2;--color-accent-blue: #0066ff;--color-accent-purple: #9d00ff;--color-accent-pink: #ff0055;--color-accent-yellow: #ffcc00;--color-accent-green: #00ff99;--color-text-primary: #ffffff;--color-text-secondary: #888888;--color-text-muted: #444444;--track-rhythm: #6b7280;--track-bass: #3b82f6;--track-chords: #10b981;--track-melody: #a855f7;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-size-base: 11px}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-mono);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;overflow:hidden}button,input,select,textarea{font-family:inherit}button:focus,input:focus,select:focus{outline:none}.no-select{user-select:none;-webkit-user-select:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-accent-cyan)}50%{box-shadow:0 0 20px var(--color-accent-cyan)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}.tooltip-container{display:inline-flex;align-items:center;justify-content:center}.tooltip-content{position:fixed;z-index:9999;padding:6px 10px;background:#1e1e20;color:#fff;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.4;border-radius:4px;border:1px solid #333333;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:0 4px 12px #00000080;top:-9999px;left:-9999px;transition:opacity .15s ease}.tooltip-content.visible{opacity:1}.draggable-number{cursor:ew-resize;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,Menlo,monospace;font-weight:500;font-size:14px;color:#e5e5e5;padding:2px;border-radius:4px;transition:color .2s,background-color .2s;width:40px;height:24px;min-width:32px;text-align:center}.draggable-number:hover{color:#fff;background:#ffffff1a}.draggable-number:active{color:#fff;background:#ffffff26}.draggable-number-input{width:40px;background:#00000080;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-family:JetBrains Mono,Menlo,monospace;font-size:14px;padding:2px 4px;text-align:center;outline:none}.draggable-number-input:focus{border-color:#ffffff80}.transport-floating{display:flex;align-items:center;justify-content:center;gap:24px;padding:0 24px;height:64px;background:#121214b3;border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:fixed;bottom:6%;left:50%;transform:translate(-50%);z-index:1000;box-shadow:0 24px 48px -12px #0006,inset 0 1px #ffffff0d;border-radius:16px;width:auto;max-width:90vw;transition:width .6s cubic-bezier(.34,1.56,.64,1),height .6s cubic-bezier(.34,1.56,.64,1),padding .6s cubic-bezier(.34,1.56,.64,1),background .6s cubic-bezier(.34,1.56,.64,1),border-color .6s cubic-bezier(.34,1.56,.64,1),box-shadow .6s cubic-bezier(.34,1.56,.64,1),transform .6s cubic-bezier(.34,1.56,.64,1),gap .6s cubic-bezier(.34,1.56,.64,1);overflow:visible;will-change:padding,background,border-color,box-shadow,transform;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased}.transport-floating.playing{gap:0;padding:0;height:64px;border-radius:32px;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.transport-floating.playing .play-btn{pointer-events:auto}.transport-floating.playing .control-group{max-width:0;opacity:0;transform:scale(.8) translateZ(0);overflow:hidden}.transport-floating .control-group{display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;flex-shrink:0;transition:max-width .6s cubic-bezier(.34,1.56,.64,1),opacity .6s cubic-bezier(.34,1.56,.64,1),transform .6s cubic-bezier(.34,1.56,.64,1);will-change:max-width,opacity,transform;backface-visibility:hidden}.transport-floating .control-group:has(.select-wrapper){height:44px;width:96px}.transport-floating .divider,.divider{width:1px;height:24px;background:#ffffff1a}.transport-btn{height:32px;padding:0 16px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:linear-gradient(135deg,#ffffff12,#ffffff05);color:#dadada;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:700;letter-spacing:.5px;box-shadow:inset 0 1px #ffffff0f,0 4px 10px #0003}.transport-btn:hover{color:#fff;border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff14,0 6px 14px #0000004d;background:linear-gradient(135deg,#ffffff1f,#ffffff0a);transform:translateY(-1px)}.transport-btn:active{transform:translateY(0)}.play-btn{width:64px;height:64px;padding:0;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:24px;box-shadow:inset 0 1px #fff3,0 8px 24px #0006,0 0 0 1px #ffffff0d;flex-shrink:0;display:flex;align-items:center;justify-content:center;transform:translateZ(0);backface-visibility:hidden;will-change:transform,backdrop-filter;transition:transform .2s ease,box-shadow .2s ease;border-radius:50%!important;position:relative}.play-btn:hover{background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-color:#ffffff4d;box-shadow:inset 0 1px #ffffff4d,0 6px 16px #0006,0 0 0 1px #ffffff1a;color:#fff}.play-btn.playing{background:#ffffff1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:transparent;box-shadow:inset 0 1px #ffffff26,0 2px 5px #0000004d;color:#fff}.play-btn.playing:hover{background:#ffffff2e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-color:transparent;box-shadow:inset 0 1px #ffffff40,0 4px 12px #0006;color:#fff}.icon-btn{width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:#dadada;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-btn:hover{background-color:#1a1a1d}.icon-btn:active{background-color:#19191b}.icon-btn:focus-visible{outline:2px solid rgba(255,255,255,.18);outline-offset:2px}.toggle-tracks-btn{width:32px;height:32px}.toggle-tracks-btn.collapsed{background-color:transparent;color:#fff}.control-group{display:flex;align-items:center;gap:8px}.control-group label{color:#fffc;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;flex-shrink:0}.bpm-group{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.bpm-group label{flex-shrink:0;min-width:48px;text-align:center}.bars-group{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.bars-group label{text-align:center}.stepper-control{display:flex;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;padding:0;height:24px}.stepper-btn{width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:#fff9;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:16px;padding:0;line-height:1;flex-shrink:0}.stepper-btn:hover{background:#ffffff1a;color:#fff}.stepper-btn:active{transform:scale(.9)}.stepper-value{min-width:24px;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#e5e5e5;font-weight:500;font-size:14px;font-family:JetBrains Mono,Menlo,monospace;cursor:default}.transport-select{appearance:none;background:transparent;border:none;border-radius:4px;padding:0 8px;color:#e5e5e5;font-family:JetBrains Mono,Menlo,monospace;font-size:14px;font-weight:500;cursor:pointer;outline:none;transition:all .2s;width:24px;height:24px;line-height:24px;text-align:center;text-align-last:center}.transport-select.scale-select{width:96px;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;text-align-last:center}.select-wrapper,.select-wrapper.auto-width{width:96px}.transport-select:hover{color:#fff;background:#ffffff0d}.transport-slider-wrapper,.transport-bottom-divider{display:none}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.play-btn.loading{cursor:not-allowed;opacity:.8}.transport-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;background:#101012d9;border-bottom:1px solid #343434;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);position:absolute;top:0;left:0;z-index:500;box-shadow:0 4px 20px #0003;width:100%}.transport-right-header{display:flex;align-items:center;gap:12px;margin-left:auto}.transport-left-header{display:flex;align-items:center;gap:12px;min-width:fit-content}.mode-switcher{display:flex;align-items:center;gap:2px;background:#0000004d;padding:3px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);margin-right:8px;position:relative}.mode-switcher:before{content:"";position:absolute;top:3px;left:3px;width:calc(50% - 4px);height:calc(100% - 6px);background:linear-gradient(135deg,#ffffff1f,#ffffff0a);border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff0d;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:0}.mode-switcher.creation-active:before{transform:translate(calc(100% + 4px))}.mode-btn{background:transparent;border:none;color:#ffffff80;font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;padding:5px 14px;border-radius:6px;transition:color .2s ease;white-space:nowrap;position:relative;z-index:1}.mode-btn:hover:not(.active){color:#fffc}.mode-btn.active{color:#fff;font-weight:600}.mode-btn.active:hover{color:#fff}.workspace-selector-wrapper{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;transform:translate(-50%)}.workspace-selector{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.workspace-select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;z-index:1}.workspace-display{display:flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;letter-spacing:.3px;line-height:1;color:#ffffffe6;-webkit-user-select:none;user-select:none;padding:6px 10px;pointer-events:none;transition:color .2s ease}.workspace-selector:hover .workspace-display{color:#fff}.workspace-arrow{display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease,transform .2s ease;flex-shrink:0}.workspace-selector:hover .workspace-arrow{opacity:1}.save-btn:disabled{opacity:.4;cursor:not-allowed}.save-btn{display:none!important}.clear-all-btn{width:32px;padding:0;color:#9c9c9c}.clear-all-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef444433}.reset-btn{width:32px;padding:0;color:#fff}.reset-btn:hover:not(:disabled){color:#3b82f6;background:#3b82f61a;border-color:#3b82f633}.reset-btn:disabled{opacity:.4;cursor:not-allowed}.ai-btn{width:32px;padding:0;color:#fff}.ai-btn:hover{color:#a78bfa;background:#8b5cf61a;border-color:#8b5cf633}.append-dialog-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.append-dialog{background:#141417f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 24px 48px #00000080;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.append-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.append-dialog-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.append-dialog-close{width:32px;height:32px;border:none;background:transparent;color:#fff9;font-size:24px;line-height:1;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.append-dialog-close:hover{background:#ffffff1a;color:#fff}.append-dialog-content{padding:0 24px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.textarea-wrapper{position:relative;flex:1;display:flex;transition:all .2s ease;border-radius:8px}.textarea-wrapper.dragging .append-dialog-textarea{border-color:#10b98166;background:#10b9810d}.drop-overlay{position:absolute;inset:0;background:#10b98126;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;border-radius:8px;box-shadow:inset 0 0 0 2px #10b98166;transition:all .2s ease}.drop-hint{display:flex;flex-direction:column;align-items:center;gap:16px;color:#10b981;font-size:18px;font-weight:600;text-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(0);animation:drop-bounce 1s infinite}.drop-hint svg{filter:drop-shadow(0 4px 8px rgba(16,185,129,.3))}@keyframes drop-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.append-dialog-hint{margin:0;color:#ffffffb3;font-size:13px;line-height:1.5}.textarea-wrapper{position:relative;flex:1;display:flex}.append-dialog-textarea{width:100%;flex:1;min-height:300px;padding:12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-family:var(--font-sans);font-size:13px;line-height:1.5;resize:vertical;outline:none;transition:border-color .2s ease;position:relative;z-index:1}.append-dialog-textarea:focus{border-color:#fff3}.append-dialog-textarea::placeholder{color:#ffffff4d}.textarea-placeholder-icon{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:none;color:#ffffff26;-webkit-user-select:none;user-select:none}.textarea-placeholder-icon svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.placeholder-text{font-size:14px;color:#ffffff40;font-weight:500;letter-spacing:.5px}.append-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px}.append-dialog-cancel{background:#ffffff0d}.append-dialog-cancel:hover{background:#ffffff1a}.append-dialog-confirm{background:#10b98133;border-color:#10b9814d;color:#10b981}.append-dialog-confirm:hover{background:#10b9814d;border-color:#10b98166;color:#34d399}.json-spec-link{margin-right:auto;color:#fff6;font-size:13px;text-decoration:none;transition:all .2s ease;display:flex;align-items:center;gap:4px}.json-spec-link:hover{color:#10b981;text-decoration:none}.context-menu{position:fixed;background-color:#1e1e20;border:1px solid #333;border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px;min-width:160px;z-index:9999;font-family:Inter,sans-serif;font-size:13px;color:#e0e0e0}.context-menu-item{padding:8px 12px;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .1s ease}.context-menu-item:hover{background-color:#2a2a2c}.context-menu-item.danger{color:#ff6b6b}.context-menu-item.danger:hover{background-color:#ff6b6b1a}.context-menu-shortcut{color:#888;font-size:11px}.playhead{position:absolute;left:0%;top:0;bottom:0;width:2px;pointer-events:none;z-index:500;transform:translateZ(0);will-change:left;backface-visibility:hidden}.playhead:after{content:"";position:absolute;left:-.5px;top:0;bottom:0;width:1px;background:#fff;box-shadow:0 0 3px #fff,0 0 8px #ffffff8c;z-index:2}.playhead:before{content:"";position:absolute;right:0;top:0;bottom:0;width:28px;background:linear-gradient(to left,#ffffff26,#ffffff0d 30%,#fff0);z-index:1}.grid{display:flex;height:100%;-webkit-user-select:none;user-select:none}.grid-labels{width:92px;flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#ffffff06,#ffffff03);box-shadow:inset 0 1px #ffffff0a;border-radius:0;overflow:hidden;position:sticky;left:var(--track-info-width);z-index:95;background:#101012b3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.grid-label{flex:1;display:flex;align-items:center;justify-content:flex-end;padding-right:14px;font-size:var(--font-size-base);font-family:var(--font-mono);color:#ffffffa6;letter-spacing:.4px;border-bottom:1px solid #343434;white-space:nowrap;background:#1a1a1d4d;cursor:pointer;transition:background .12s ease,color .12s ease}.grid-label:last-child{border-bottom:none}.grid-label--highlight{background:#ffffff0f;color:#ffffffe6}.grid-label:hover,.grid-label:focus-visible{background:#22222680;color:#ffffffe6}.grid-area{flex:1;position:relative;overflow:hidden;background:#101012;transform:translateZ(0);will-change:auto}.grid-scroll{position:relative;min-height:100%;min-width:100%}.grid-area:focus,.grid-area:focus-visible{outline:none;box-shadow:none}.grid-canvas{position:absolute;inset:0;pointer-events:none;z-index:0}.grid-bar-markers{position:absolute;top:0;left:0;right:0;height:18px;padding-left:4px;pointer-events:none;z-index:3}.grid-bar-marker{position:absolute;top:0;height:100%;border-left:1px solid #343434}.grid-bar-label{position:absolute;top:2px;left:6px;font-size:11px;color:#ffffffb3;text-shadow:0 1px 2px rgba(0,0,0,.4)}.grid-row-highlights{position:absolute;inset:0;pointer-events:none;z-index:2}.grid-row-highlight{position:absolute;left:0;right:0;border:none;box-shadow:none;pointer-events:none}.grid-interaction-layer{position:absolute;inset:0;display:flex;flex-direction:column;z-index:1}.grid-row-interaction{flex:1;display:flex}.grid-cell-interaction{flex:1;cursor:crosshair;transition:background-color .05s ease}.grid-cell-interaction:hover{background:#101012}.grid-notes{position:absolute;inset:0;pointer-events:none;z-index:10;--note-gap-x: 1px;--note-gap-y: 1px}.grid-note{position:absolute;border-radius:2px;pointer-events:auto;cursor:grab;box-sizing:border-box;margin:0;border:none;outline:none;transform:translateZ(0);will-change:transform;backface-visibility:hidden;perspective:1000px;transition:transform .1s cubic-bezier(.4,0,.2,1);box-shadow:none;transform-origin:center center}.grid-note:not(.temp){animation:jelly-pop .4s cubic-bezier(.25,1,.5,1)}.grid-note.temp{animation:none}@keyframes jelly-pop{0%{transform:scale(.9) translateZ(0);opacity:.8}40%{transform:scale(1.05) translateZ(0);opacity:1}70%{transform:scale(.98) translateZ(0)}to{transform:scale(1) translateZ(0);opacity:1}}.grid-note:hover{transform:scale(1.02) translateZ(0);z-index:100;box-shadow:none;filter:brightness(1.06) saturate(1.1)}.grid-note:active{cursor:grabbing}.grid-note.active{box-shadow:none;filter:brightness(1.18) saturate(1.2);transform:scale(1.05) translateZ(0)}.grid-note.temp{opacity:.7;filter:saturate(.6) brightness(.9)}.grid-note.selected{outline:none;box-shadow:inset 0 0 0 2px #ffffffe6,0 6px 16px #00000059;filter:brightness(1.08) saturate(1.08)}.grid-note.selected:hover{outline:none;box-shadow:inset 0 0 0 2px #fff,0 8px 18px #0006;filter:brightness(1.12) saturate(1.1)}.resize-handle{position:absolute;top:0;right:-4px;bottom:0;width:10px;cursor:col-resize!important;z-index:12;background:transparent;transition:background .15s ease;border-radius:0 2px 2px 0}.grid-note:hover .resize-handle{background:linear-gradient(to right,transparent,rgba(255,255,255,.3))}.resize-handle:hover{background:linear-gradient(to right,transparent,rgba(255,255,255,.5))!important}.selection-box{position:absolute;border:2px solid rgba(255,255,255,.85);background:#ffffff1f;pointer-events:none;z-index:200;box-shadow:0 0 12px #ffffff59,inset 0 0 10px #ffffff2e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.grid-note.playing{box-shadow:0 0 12px 2px rgba(var(--track-color-rgb),.6),0 0 24px 6px rgba(var(--track-color-rgb),.3)!important;filter:brightness(1.1) saturate(1.2)!important;transform:translateY(-2px) translateZ(0)!important;z-index:150!important;transition:all .1s cubic-bezier(.34,1.56,.64,1)}.slider-container{position:relative;width:100%;height:32px;display:flex;align-items:center;-webkit-user-select:none;user-select:none;--slider-height: 6px;--thumb-width: 28px;--thumb-height: 16px;--thumb-radius: 8px;--track-bg: rgba(255, 255, 255, .18);--track-inner-shadow: none;--thumb-bg: linear-gradient(180deg, #4d4d4d 0%, #343434 100%);--thumb-border: 1px solid rgba(255, 255, 255, .2);--thumb-shadow: 0 2px 4px rgba(0, 0, 0, .5), 0 0 0 1px rgba(0, 0, 0, .2);--active-color: var(--slider-color, #a78bfa)}.slider-input{position:absolute;top:50%;left:0;width:100%;height:100%;transform:translateY(-50%);margin:0;padding:0;opacity:0;cursor:grab;z-index:10}.slider-input:active{cursor:grabbing}.slider-track-bg{position:absolute;top:50%;left:0;right:0;height:var(--slider-height);background:var(--track-bg);border-radius:10px;transform:translateY(-50%);box-shadow:var(--track-inner-shadow);overflow:hidden;z-index:1;border-bottom:1px solid rgba(255,255,255,.05)}.slider-track-fill{position:absolute;top:0;left:0;height:100%;width:var(--percent, 0%);background:var(--active-color);opacity:.6;box-shadow:0 0 10px var(--active-color);transition:width .1s linear}.slider-thumb{position:absolute;top:50%;left:var(--percent, 0%);width:var(--thumb-width);height:var(--thumb-height);transform:translate(-50%,-50%);border-radius:var(--thumb-radius);background:var(--thumb-bg);border:var(--thumb-border);box-shadow:var(--thumb-shadow);z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,width .2s ease,background .2s ease}.slider-value{font-size:10px;font-family:Menlo,Monaco,Courier New,monospace;font-weight:700;color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.8);letter-spacing:.5px}.slider-container:hover .slider-thumb,.slider-container:active .slider-thumb,.slider-container.dragging .slider-thumb{transform:translate(-50%,-50%) scale(1.12);background:linear-gradient(180deg,#484848,#323232);border-color:#ffffff4d;box-shadow:0 6px 12px #0000008c,0 0 0 1px #00000059,0 0 0 2px #ffffff12}.slider-container:hover .slider-value,.slider-container.dragging .slider-value{color:#fff}.slider-thumb:before,.slider-thumb:after{content:"";position:absolute;top:50%;width:2px;height:8px;background:#0000004d;border-right:1px solid rgba(255,255,255,.1);transform:translateY(-50%)}.slider-thumb:before{left:4px}.slider-thumb:after{right:4px}.slider-container.small{height:20px;--slider-height: 4px;--thumb-width: 22px;--thumb-height: 12px;--thumb-radius: 6px}.slider-container.small .slider-value{font-size:8px}.slider-container.small .slider-thumb:before,.slider-container.small .slider-thumb:after{height:6px;width:1px}.track{display:flex;margin-bottom:0;background:transparent;transition:opacity .2s ease,transform .2s ease,background .2s ease;position:relative;border-radius:0;--track-info-width: 172px}.collapse-toggle{display:none}.collapse-drag-handle{position:absolute;top:0;bottom:0;right:-6px;width:12px;cursor:col-resize;z-index:50;background:transparent;transition:background .2s}.collapse-drag-handle:hover,.collapse-drag-handle.force-hover{background:#ffffff1a}.collapse-drag-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:transparent;transition:background .2s,box-shadow .2s}.collapse-drag-handle:hover:after,.collapse-drag-handle.force-hover:after{background:#4a9eff;box-shadow:0 0 8px #4a9eff99}.track.collapsed .collapse-drag-handle{right:-6px}.track:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#343434;z-index:100;pointer-events:none}.track.muted{opacity:.3;filter:grayscale(100%)}.track-info{width:var(--track-info-width);flex-shrink:0;padding:0 10px 10px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;background:#101012b3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid #343434;border-radius:0;box-shadow:0 6px 14px #00000047;overflow:visible;transition:width .3s ease;position:sticky;left:0;z-index:95}.track.collapsed .track-info{justify-content:center;padding:0}.track-info:before{content:"";position:absolute;inset:0;background:transparent;opacity:0;pointer-events:none}.track-info:after{display:none}.track-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:4px 10px;border-radius:0;background:none;border:none;box-shadow:none;margin:0 -10px;position:relative;overflow:hidden}.track.collapsed .track-header{grid-template-columns:1fr;gap:8px;justify-items:center;text-align:center;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.track.collapsed .track-name{text-align:center;font-size:13px;margin-bottom:8px;flex:0}.track.collapsed .track-actions{justify-content:center;flex-direction:column;gap:8px;width:100%}.track-header:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--track-color) 0%,color-mix(in srgb,var(--track-color) 70%,transparent) 35%,color-mix(in srgb,var(--track-color) 0%,transparent) 100%);opacity:.16;pointer-events:none}.track-name{font-weight:700;font-size:var(--font-size-base);letter-spacing:.6px;color:var(--track-color);text-shadow:0 0 8px rgba(0,0,0,.45);flex:1;text-align:left;white-space:nowrap}.track-actions{display:flex;gap:6px;align-items:center}.track-btn{width:100%;height:32px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:linear-gradient(135deg,#ffffff12,#ffffff05);color:#dadada;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:700;letter-spacing:.4px;box-shadow:inset 0 1px #ffffff0f,0 6px 14px #00000059}.track-btn--compact{width:28px;height:26px;border-radius:6px;padding:0;box-shadow:inset 0 1px #ffffff0d,0 4px 10px #00000040}.track-btn:hover{color:#fff;border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff14,0 10px 20px #00000073;background:linear-gradient(135deg,#ffffff1f,#ffffff0a)}.settings-btn.active{background:#ffffff1f;color:#fff;border-color:#ffffff40}.mute-btn.active{background:var(--color-accent-pink);border-color:var(--color-accent-pink);color:#fff}.solo-btn.active{background:var(--color-accent-yellow);border-color:var(--color-accent-yellow);color:#000}.track-settings-inline{display:flex;flex-direction:column;gap:8px;padding:0;border:none;border-radius:0;background:#ffffff01;box-shadow:none}.setting-row{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:4px 0;min-height:26px}.setting-row--static{padding:2px 0;border-radius:0;background:transparent;border:none}.setting-value{font-size:var(--font-size-base);color:#ffffffc7;letter-spacing:.2px;white-space:nowrap}.setting-label{font-size:var(--font-size-base);color:#ffffff80;letter-spacing:.2px;white-space:nowrap;flex-shrink:0}.setting-select{flex:1;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:2px 20px 2px 4px;text-align:right;border:none;background:transparent;color:#ffffffe6;font-size:var(--font-size-base);cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='rgba(255,255,255,0.6)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:10px}.setting-select:hover{color:#fff}.setting-select optgroup{background:#1a1a1c;color:#ffffff80;font-weight:700;font-size:11px;padding:4px}.setting-select option{background:#1a1a1c;color:#ffffffe6;padding:6px 8px;font-size:var(--font-size-base)}.playback-row{display:flex;flex-direction:column;gap:4px}.playback-label{font-size:var(--font-size-base);color:#888;letter-spacing:.5px}.playback-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.playback-control input[type=range]{width:100%;accent-color:var(--track-color)}.playback-select{width:100%;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#e5e5e5}.playback-select:disabled{opacity:.7;cursor:not-allowed}.playback-input{width:100%;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#e5e5e5}.playback-input:disabled{opacity:.7;cursor:not-allowed}.slider-wrapper-inline{width:120px;flex-shrink:0;padding:0 0 0 8px}.track-grid{flex:1;min-height:0;width:0;position:relative}.track:nth-child(1) .track-grid{height:200px}.track:nth-child(2) .track-grid,.track:nth-child(3) .track-grid,.track:nth-child(4) .track-grid{height:380px}.track-list{flex:1;overflow-y:auto;overflow-x:hidden;background:transparent;padding-top:60px;position:relative}.tracks-scroll{position:relative;overflow-x:auto;overflow-y:visible}.playhead-container{position:absolute;top:0;pointer-events:none;z-index:90}.track-list::-webkit-scrollbar{width:4px}.track-list::-webkit-scrollbar-track{background:transparent}.track-list::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.track-list::-webkit-scrollbar-thumb:hover{background:#555}.app-footer{width:100%;padding:68px 16px 16px;background-color:transparent;margin-top:0;border-top:none;display:flex;justify-content:space-between;align-items:center;font-family:JetBrains Mono,Menlo,monospace;opacity:.6;transition:opacity .2s ease}.app-footer:hover{opacity:1}.app-footer-left{display:flex;align-items:center;gap:12px}.footer-title{font-size:12px;font-weight:600;color:#ffffffe6}.footer-copyright{font-size:12px;color:#ffffff80}.app-footer-right{display:flex;align-items:center}.app-footer-right span{font-size:12px;color:#ffffff80}@media(max-width:768px){.app-footer{flex-direction:column;gap:8px;padding:16px 24px 24px;text-align:center}}.tool-call-card{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 16px;margin:8px 0;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.tool-call-card:hover{background:#ffffff0d;border-color:#ffffff1f}.tool-call-secondary-text{font-size:11px;color:#ffffff80;line-height:1.4;margin-top:1px;font-weight:400}.tool-call-estimated-time{font-size:11px;color:#fff6;white-space:nowrap;font-feature-settings:"tnum";margin-left:12px;font-weight:500}.tool-call-actions{display:flex;align-items:center;padding-left:12px}.tool-call-play-btn,.tool-call-retry-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#ffffffe6;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.tool-call-play-btn:hover,.tool-call-retry-btn:hover{background:#fff3;transform:scale(1.05);color:#fff;border-color:#ffffff4d}.tool-call-play-btn:active,.tool-call-retry-btn:active{transform:scale(.95);background:#ffffff26}.tool-call-card.error{background:#ef44440d;border-color:#ef444433}.tool-call-border-glow{position:absolute;inset:0;border-radius:12px;padding:1.5px;background:transparent;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}.tool-call-border-glow:before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,0) 60deg,rgba(255,255,255,.8) 120deg,rgba(255,255,255,0) 180deg);animation:rotate-border 3s linear infinite}@keyframes rotate-border{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-call-card.executing{border-color:transparent;background:#ffffff0a}.tool-call-content{flex:1;display:flex;flex-direction:column;gap:2px;z-index:2;overflow:hidden}.tool-call-text{font-size:13px;color:#ffffffe6;line-height:1.5;display:flex;align-items:center;gap:8px;font-weight:500}.tool-call-card.error .tool-call-text{color:#f87171}.tool-call-card.error .tool-call-secondary-text{color:#f87171cc}.tool-call-card.success .tool-call-text{color:#fffffff2}.tool-call-loading{display:flex;gap:4px;padding:8px 0;align-items:center}.tool-call-loading span{width:4px;height:4px;background:#ffffff80;border-radius:50%;animation:tool-call-typing 1.4s infinite ease-in-out both;opacity:.6}.tool-call-loading span:nth-child(1){animation-delay:-.32s}.tool-call-loading span:nth-child(2){animation-delay:-.16s}@keyframes tool-call-typing{0%,80%,to{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:.8}}.tool-call-plan-text{background:transparent;border:none;padding:0;margin:0 0 1em;font-size:14px;line-height:1.6;color:#ffffffe6;width:100%}@media(max-width:768px){.tool-call-card{padding:10px 12px}.tool-call-text{font-size:12px}.tool-call-secondary-text{font-size:10px}}@keyframes region-highlight-flash{0%{box-shadow:inset 0 0 #fff0}20%{box-shadow:inset 0 0 0 2px #fff,inset 0 0 15px 4px #fffc,inset 0 0 30px 8px #fff6}to{box-shadow:inset 0 0 #fff0}}.region-highlight{position:absolute;top:0;bottom:0;pointer-events:none;z-index:999;animation:region-highlight-flash 1.5s ease-out forwards;border-radius:4px;background:transparent}@keyframes track-glow-flash{0%{box-shadow:inset 0 0 #fff0}20%{box-shadow:inset 0 0 0 2px #fff,inset 0 0 15px 4px #fffc,inset 0 0 30px 8px #fff6}to{box-shadow:inset 0 0 #fff0}}.grid-area.track-glow-active:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:999;animation:track-glow-flash 1.5s ease-out forwards;border-radius:inherit}.token-usage-container{position:relative;display:inline-flex;align-items:center;justify-content:center;z-index:1000;pointer-events:auto}.token-usage-trigger{padding:4px 8px;cursor:help;display:flex;align-items:center;border-radius:4px;transition:all .2s ease}.token-usage-trigger:hover{background-color:#ffffff14}.token-usage-text{font-size:12px;color:#ffffff8c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-user-select:none;user-select:none;letter-spacing:.2px}.token-usage-trigger:hover .token-usage-text{color:#ffffffe6}.token-usage-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(8px);width:280px;padding:16px;background:#1c1c20f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 12px 32px #00000080;opacity:0;visibility:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1001;pointer-events:auto}.token-usage-tooltip:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;background:transparent}.token-usage-container:hover .token-usage-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(4px)}.token-usage-tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.token-usage-tooltip-header strong{font-size:13px;font-weight:600;color:#ffffffe6}.token-usage-tooltip-ratio{color:#fff6;font-size:11px;font-family:JetBrains Mono,monospace}.token-usage-tooltip-section{margin-bottom:12px}.token-usage-tooltip-subtitle{font-size:12px;font-weight:600;color:#fffc;margin-bottom:8px;display:block}.token-usage-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px}.token-usage-label{color:#ffffff73}.token-usage-value{color:#ffffffd9;font-weight:400;font-family:JetBrains Mono,monospace}.token-usage-divider{height:1px;background:#ffffff0f;margin:12px 0}.token-usage-total-row .token-usage-label,.token-usage-total-row .token-usage-value{color:#fffffff2;font-weight:700}.token-usage-note{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:#ffffff59;line-height:1.5}.token-usage-link{color:#fffc;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);transition:all .2s ease;font-weight:600}.token-usage-link:hover{color:#fff;border-bottom-color:#ffffff80}.ai-chat-container{position:fixed;right:24px;top:24px;bottom:24px;width:420px;height:auto;z-index:1001;display:flex;align-items:stretch;pointer-events:none}.ai-chat-panel{width:100%;height:100%;background:#121214bf;border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 24px 48px -12px #0006,inset 0 1px #ffffff0d;border-radius:16px;display:flex;flex-direction:column;transform:translate(110%);opacity:0;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .4s cubic-bezier(.19,1,.22,1);pointer-events:auto;overflow:hidden;position:relative}.ai-chat-container.open .ai-chat-panel{transform:translate(0);opacity:1}.ai-chat-header{height:80px;padding:13px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:none;background:linear-gradient(to bottom,#121214fa,#121214f2 50%,#12121499 80%,#12121400);flex-shrink:0;position:absolute;top:0;left:0;right:0;z-index:10;pointer-events:none}.ai-chat-actions{pointer-events:auto;display:flex;align-items:center;gap:8px}.ai-chat-title{display:none}.ai-icon{color:#a855f7;filter:drop-shadow(0 0 8px rgba(168,85,247,.4))}.ai-chat-action-btn{width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:linear-gradient(135deg,#ffffff12,#ffffff05);color:#dadada;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:700;letter-spacing:.5px;box-shadow:inset 0 1px #ffffff0f,0 4px 10px #0003}.ai-chat-action-btn:hover{color:#fff;border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff14,0 6px 14px #0000004d;background:linear-gradient(135deg,#ffffff1f,#ffffff0a);transform:translateY(-1px)}.ai-chat-action-btn:active{transform:translateY(0)}.ai-chat-status{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ai-chat-status-text{font-size:11px;font-weight:500;color:#fff9;font-family:JetBrains Mono,monospace}.ai-chat-progress-bar{width:80px;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.ai-chat-progress-fill{height:100%;background:linear-gradient(90deg,#a855f7,#c084fc);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #a855f74d}.ai-chat-messages{position:absolute;inset:0;overflow-y:auto;padding:80px 24px 160px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;z-index:0}.ai-chat-messages::-webkit-scrollbar{width:6px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px;border:2px solid transparent;background-clip:content-box}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background-color:#fff3}.ai-chat-empty{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:20px 0;opacity:0;animation:slideUpFade .6s ease-out forwards}.ai-chat-empty p:first-child{font-size:18px;font-weight:600;color:#ffffffe6;margin-bottom:8px;background:linear-gradient(135deg,#fff,#a5a5a5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:left}.ai-chat-empty p:nth-child(2){font-size:14px;color:#ffffff80;margin-bottom:32px;text-align:left}.ai-chat-empty ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;width:100%;align-items:flex-start}.ai-chat-empty li{font-size:13px;background:#ffffff08;padding:16px 20px;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;color:#ffffffb3;text-align:left;line-height:1.5;width:fit-content;max-width:100%}.ai-chat-empty li:hover{background:#ffffff0f;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.ai-chat-message{display:flex;flex-direction:column;gap:6px;max-width:92%;opacity:0;animation:slideUpFade .4s ease-out forwards}.ai-chat-message.user{align-self:flex-end;align-items:flex-end;max-width:100%;margin-right:-6px}.ai-chat-message.assistant{align-self:flex-start;align-items:stretch}.ai-chat-message-content{padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;white-space:normal;word-break:break-word;position:relative}.ai-chat-message.user .ai-chat-message-content{background:#2a2a30;color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 12px #0000001a;position:relative}.ai-chat-user-message-wrapper{display:flex;flex-direction:column;gap:4px}.ai-chat-user-message-wrapper p{margin:0;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ai-chat-user-message-wrapper p+p{margin-top:8px}.ai-chat-message-context-indicator{display:flex;align-items:center;gap:4px;color:#ffffff59;font-size:10px;margin-bottom:2px}.ai-chat-message-context-indicator svg{flex-shrink:0}.ai-chat-message.assistant{max-width:none;width:calc(100% + 6px);padding-right:0;margin-right:-6px}.ai-chat-message.assistant .ai-chat-message-content{background:transparent;color:#ffffffe6;padding:0;border-radius:0;border:none;font-size:14px;line-height:1.6;width:100%}.ai-chat-message.assistant .ai-chat-message-content>*:first-child{margin-top:0}.ai-chat-message.assistant .ai-chat-message-content>*:last-child{margin-bottom:0}.ai-chat-message.assistant .ai-chat-message-content a{color:#c084fc;text-decoration:none;border-bottom:1px solid rgba(192,132,252,.3);transition:all .2s ease}.ai-chat-message.assistant .ai-chat-message-content a:hover{color:#d8b4fe;border-bottom-color:#d8b4fe}.ai-chat-message.assistant .ai-chat-message-content h1,.ai-chat-message.assistant .ai-chat-message-content h2,.ai-chat-message.assistant .ai-chat-message-content h3{font-weight:600;color:#fff;margin:1em 0 .5em;line-height:1.4}.ai-chat-message.assistant .ai-chat-message-content h1{font-size:1.15em}.ai-chat-message.assistant .ai-chat-message-content h2{font-size:1.1em}.ai-chat-message.assistant .ai-chat-message-content h3{font-size:1.05em;color:#fffffff2}.ai-chat-message.assistant .ai-chat-message-content p{margin:0 0 .6em}.ai-chat-message.assistant .ai-chat-message-content p:empty{display:none}.ai-chat-message.assistant .ai-chat-message-content p:last-child{margin-bottom:0}.ai-chat-message.assistant .ai-chat-message-content ul,.ai-chat-message.assistant .ai-chat-message-content ol{margin:.5em 0;padding-left:1.4em}.ai-chat-message.assistant .ai-chat-message-content li{margin-bottom:0}.ai-chat-message.assistant .ai-chat-message-content li:last-child{margin-bottom:0}.ai-chat-message.assistant .ai-chat-message-content hr{margin:1.5em 0;border:none;border-top:1px solid rgba(255,255,255,.08);height:0}.ai-chat-message.assistant .ai-chat-message-content strong{color:#fff;font-weight:600}.ai-chat-message.assistant .ai-chat-message-content code{background:#ffffff1a;padding:.2em .4em;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.9em;color:#e2e8f0}.ai-chat-message.assistant .ai-chat-message-content pre code{background:transparent;padding:0;color:inherit}.ai-chat-message.error .ai-chat-message-content{background:#ef44441a;color:#fca5a5;border:none}.ai-chat-message-time{font-size:10px;color:#ffffff4d;margin:0;font-family:JetBrains Mono,monospace}.ai-chat-message.assistant .ai-chat-message-time{text-align:left}.ai-chat-message-content pre{background:#0000004d;padding:10px;border-radius:6px;margin:6px 0;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:12px;border:none;color:#e2e8f0}.ai-chat-message-content blockquote{margin:6px 0;border-left:none;color:#ffffffb3;background:#ffffff0d;padding:6px 10px;border-radius:4px}.ai-chat-input-container{position:absolute;bottom:0;left:0;right:0;z-index:20;padding:80px 24px 24px;border-top:none;background:linear-gradient(to top,#121214,#121214fa,#121214f2 60%,#121214b3 80%,#1212144d 95%,#12121400);display:flex;flex-direction:column;gap:4px;align-items:stretch;pointer-events:none}.ai-chat-input-container>*{pointer-events:auto}.ai-chat-input-wrapper{position:relative;display:flex;align-items:flex-end}.ai-chat-input{flex:1;background:#ffffff05;border:none;border-radius:12px;padding:14px 48px 14px 16px;color:#fff;font-size:14px;line-height:1.5;resize:none;min-height:49px;max-height:91px;outline:none;font-family:inherit;transition:border-color .2s,background-color .2s;box-shadow:none;overflow-y:auto;scrollbar-width:none}.ai-chat-send{position:absolute;right:8px;bottom:8px;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#fff6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:none;transform:none}.ai-chat-send:hover:not(:disabled){background:#ffffff1a;color:#fff;transform:translateY(-1px);box-shadow:none}.ai-chat-send:active:not(:disabled){transform:scale(.95)}.ai-chat-send:disabled{background:transparent;color:#ffffff1a;cursor:not-allowed;box-shadow:none}.ai-chat-stop{background:transparent!important;color:#ef4444!important;box-shadow:none!important}.ai-chat-stop:hover{background:#ef44441a!important;color:#ef4444!important;transform:translateY(-1px)!important;box-shadow:none!important}.ai-chat-stop:active{transform:scale(.95)!important}.ai-chat-loading{display:flex;gap:4px;padding:4px 0;align-items:center}.ai-chat-loading span{width:4px;height:4px;background:#ffffff80;border-radius:50%;animation:typing 1.4s infinite ease-in-out both;opacity:.6}.ai-chat-loading span:nth-child(1){animation-delay:-.32s}.ai-chat-loading span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:.8}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ai-chat-container.sidebar{top:0;right:0;bottom:0;height:100vh;width:420px;border-radius:0}.ai-chat-container.sidebar .ai-chat-panel{border-radius:0;border-top:none;border-bottom:none;border-right:none}@media(max-width:768px){.ai-chat-container{width:100vw}}.ai-chat-context-tag{display:flex;align-items:center;background-color:#2a2a2c;border-radius:6px;padding:4px 8px;margin-bottom:2px;width:fit-content;font-size:12px;color:#e0e0e0;border:1px solid #333;gap:6px}.ai-chat-context-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat-context-text{font-weight:500;line-height:1}.ai-chat-context-close{background:none;border:none;color:#888;cursor:pointer;padding:0;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;transition:all .2s;margin-left:2px}.ai-chat-context-close:hover{background-color:#444;color:#fff}.ai-settings-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1001;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-settings-panel{background:#141417f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 24px 48px #00000080;width:100%;max-width:540px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-settings-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 24px}.ai-settings-header-title{display:flex;flex-direction:column;gap:4px}.ai-settings-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.ai-settings-close{width:32px;height:32px;border:none;background:transparent;color:#fff9;font-size:24px;line-height:1;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;margin-top:-4px}.ai-settings-close:hover{background:#ffffff1a;color:#fff}.ai-settings-content{padding:0 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px}.ai-settings-content::-webkit-scrollbar{width:6px}.ai-settings-content::-webkit-scrollbar-track{background:transparent}.ai-settings-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.ai-settings-section{margin-bottom:0}.ai-settings-label{display:block;margin-bottom:10px;font-size:14px;font-weight:500;color:#ffffffe6}.model-radio-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}.model-radio-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s ease}.model-radio-item:hover{background:#ffffff0f;border-color:#ffffff26}.model-radio-item.active{background:#ffffff14;border-color:#ffffff40;box-shadow:0 2px 8px #0003}.model-radio-item input[type=radio]{appearance:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;margin:0;position:relative;cursor:pointer;transition:all .2s ease}.model-radio-item input[type=radio]:checked{border-color:#fff}.model-radio-item input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fff;border-radius:50%}.model-radio-item span{font-size:13px;color:#fffc;font-weight:500;white-space:nowrap}.model-radio-item.active span{color:#fff}.api-key-input-wrapper{display:flex;gap:10px}.api-key-input-container{flex:1;position:relative;display:flex;align-items:center}.api-key-input-container .ai-settings-input{width:100%}.ai-settings-input.has-success{padding-right:40px}.api-key-success-icon{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;animation:scaleIn .2s cubic-bezier(.16,1,.3,1)}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.ai-settings-test-btn{flex:0 0 auto;height:38px!important;font-size:13px!important;background:#ffffff0d!important}.ai-settings-input{width:100%;padding:10px 14px;height:38px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;font-family:JetBrains Mono,Courier New,monospace;transition:all .2s ease}.ai-settings-input:focus{outline:none;border-color:#fff3;background:#0006}.ai-settings-input::placeholder{color:#ffffff40}.ai-settings-result{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:0;animation:slideDown .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ai-settings-result.success{background:#10b9811a;color:#34d399;border:1px solid rgba(16,185,129,.2)}.ai-settings-result.error{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.ai-settings-note{margin-top:8px;padding:0;background:transparent;border:none;font-size:11px;color:#fff6;line-height:1.4;display:flex;align-items:center;gap:6px}.ai-settings-note svg{flex-shrink:0;opacity:.6}.ai-settings-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px}.ai-settings-cancel-btn{height:36px!important;padding:0 20px!important;font-size:14px!important;background:#ffffff0d!important;color:#fff9!important}.ai-settings-cancel-btn:hover{background:#ffffff1a!important;color:#fff!important}.ai-settings-save-btn{height:36px!important;padding:0 24px!important;font-size:14px!important;background:#10b98133!important;border-color:#10b9814d!important;color:#10b981!important}.ai-settings-save-btn:hover:not(:disabled){background:#10b9814d!important;border-color:#10b98166!important;color:#34d399!important}.ai-settings-save-btn:disabled{opacity:.3!important}.app{display:flex;flex-direction:column;height:100vh;background:#101012;overflow:hidden;position:relative;transition:margin-right .5s cubic-bezier(.19,1,.22,1)}.app.has-sidebar{margin-right:420px}.app.has-sidebar .transport-floating{left:calc(50% - 210px)}
