/* Focused studio surfaces: warm graphite, crisp type, coral and ice accents. */
.studio-eyebrow { display:block; font:10px/1.5 monospace; letter-spacing:1.6px; color:#99a0ae; margin-bottom:8px; }
.vst-browser { background:#11141b; border:1px solid #343b48; border-radius:16px; width:820px; height:600px; box-shadow:0 32px 100px #000c; }
.vst-browser-header { padding:22px 24px; gap:16px; background:linear-gradient(115deg,#1d232e,#12161e); }
.vst-browser-title { color:#e7ecf5; font-size:19px; font-weight:750; letter-spacing:2px; }
.vst-browser-title small { display:block; font-size:11px; font-weight:400; letter-spacing:.3px; text-transform:none; color:#b2bac9; margin-top:5px; }
.vst-browser-search { min-width:0; width:230px; background:#0e1118; border-color:#444c5c; border-radius:7px; padding:11px 12px; color:#f3f5f9; }
.vst-browser-search::placeholder { color:#9ba6b9; }
.vst-browser-close-btn { flex-shrink:0; width:36px; height:36px; border-radius:7px; color:#bfc7d6; border-color:#465061; }
.vst-browser-sidebar { width:164px; padding:10px 7px; gap:3px; background:#0e1219; border-color:#303745; }
.vst-cat-btn { padding:9px 10px; border-radius:5px; color:#b1bbcb; font-size:12px; min-height:38px; gap:7px; }
.vst-cat-btn.active { color:#fff; background:#273346; border-left-color:#a9caff; }
#bounceBrowserModal .vst-cat-btn.active { background:#392b2c; border-left-color:#ff9b89; }
.vst-cat-count { color:#9da9bc; font-size:10px; }
.vst-cat-name { overflow:hidden; text-overflow:ellipsis; }
.library-results { display:flex; gap:10px; justify-content:space-between; color:#b0baca; font:10px/1.5 monospace; padding:12px 16px; border-bottom:1px solid #2c3442; }
.library-results span { color:#8894a8; }
.vst-preset-list { padding:8px; gap:2px; }
.vst-preset-item { border-radius:6px; padding:12px; min-height:42px; color:#cbd3e0; font-size:12px; }
.vst-preset-item:nth-child(even) { background:#ffffff03; }
.vst-preset-item:hover { background:#263142; color:#fff; }
.vst-preset-item.selected { background:#2a3a51; border-color:#7795bf; color:#fff; }
#bounceBrowserModal .vst-preset-item.selected { background:#3a2b2d; border-color:#b27670; }
.vst-preset-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vst-preset-cat-tag { color:#97a5bb; font-size:9px; }
.vst-browser-preview { background:#191f29; padding:17px 22px; border-color:#374252; flex-wrap:wrap; gap:12px; }
.vst-preview-info { flex:1; min-width:0; }
.vst-preview-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#eef3fa; }
.vst-preview-cat { color:#a1aec2; }
.vst-browser-load-btn { background:#c4d9fb; color:#101722; font-weight:750; border-radius:6px; border-color:#c4d9fb; padding:12px 22px; }
.vst-browser-load-btn:hover { background:#deebff; color:#101722; }
#bounceBrowserModal .vst-browser-load-btn { background:#ffc0ad; border-color:#ffc0ad; color:#291a18; }
.vst-browser-load-btn:disabled { opacity:.4; }
.vst-browser-empty { color:#abb5c5; text-align:center; padding:24px; letter-spacing:.4px; line-height:1.8; text-transform:none; font-size:12px; }
.library-more { margin:10px; padding:12px; border:1px solid #53637b; color:#ccddf9; background:#1e2939; border-radius:6px; cursor:pointer; }
.vst-browser button:focus-visible, .vst-browser input:focus-visible { outline:2px solid #b4d1ff; outline-offset:2px; }
.bounce-dialog { margin:auto; inset:0; width:540px; max-width:calc(100vw - 28px); max-height:calc(100dvh - 28px); box-sizing:border-box; overflow:auto; background:#121720; color:#edf2fa; border:1px solid #536074; border-radius:16px; padding:28px; box-shadow:0 30px 120px #000b; font-family:inherit; }
.bounce-dialog::backdrop { background:#05070ac9; backdrop-filter:blur(8px); }
.bounce-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.bounce-heading h2 { font-size:30px; letter-spacing:-1px; line-height:1.1; margin:0; font-weight:750; }
.studio-close { width:34px; height:34px; flex-shrink:0; border:1px solid #495569; border-radius:6px; background:#202735; color:#c9d5e8; font-size:22px; cursor:pointer; }
.bounce-intro { margin:12px 0 26px; color:#aebacf; font-size:13px; }
.bounce-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px 14px; }
.bounce-fields label { font-size:11px; letter-spacing:.6px; color:#b9c5d9; display:flex; flex-direction:column; gap:8px; }
.bounce-fields select { width:100%; min-width:0; color:#f0f4fb; background:#202938; border:1px solid #56647a; border-radius:6px; font-size:12px; font-family:inherit; padding:12px 9px; }
.bounce-clean { display:flex; align-items:flex-start; gap:12px; padding:16px; margin-top:24px; border:1px solid #3c665e; border-radius:8px; background:#192d2b; cursor:pointer; }
.bounce-clean input { accent-color:#a3edce; width:18px; height:18px; margin:1px 0 0; flex-shrink:0; }
.bounce-clean strong { display:block; color:#c8f5e6; font-size:13px; margin-bottom:6px; }
.bounce-clean small { display:block; color:#b6cfc9; font-size:11px; line-height:1.6; }
.bounce-hint { min-height:32px; font-size:11px; color:#aab8cd; line-height:1.6; margin:12px 0 22px; }
.bounce-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #384457; padding-top:20px; }
#bounceSummary { font:10px/1.6 monospace; color:#aebbd0; }
.bounce-submit { border:0; background:#c4d9fb; color:#122037; padding:14px 20px; border-radius:7px; font-size:13px; font-weight:750; cursor:pointer; white-space:nowrap; }
.bounce-submit:hover { background:#e0ecff; }
.bounce-submit span { padding-left:14px; }
.bounce-dialog :focus-visible { outline:2px solid #b9d6ff; outline-offset:3px; }
@media (max-width:600px) {
  .vst-browser { max-width:calc(100vw - 16px); height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); border-radius:12px; }
  .vst-browser-header { padding:14px; flex-wrap:wrap; gap:10px; }
  .vst-browser-title { flex:1; }
  .vst-browser-search { order:3; width:100%; box-sizing:border-box; font-size:16px; }
  .vst-browser-sidebar { width:112px; padding:7px 3px; }
  .vst-cat-btn { padding:10px 5px; gap:4px; font-size:11px; min-height:44px; }
  .vst-cat-icon { display:none; }
  .library-results { padding:10px; }
  .library-results span, .vst-preset-cat-tag { display:none; }
  .vst-preset-item { padding:12px 7px; gap:6px; min-height:44px; }
  .vst-browser-preview { padding:13px; gap:8px; }
  .vst-preview-keys { flex-basis:100%; order:4; }
  .vst-browser-load-btn { padding:12px; }
  .bounce-dialog { padding:21px; }
  .bounce-heading h2 { font-size:26px; }
  .bounce-fields { gap:16px 10px; }
  .bounce-fields select { font-size:13px; padding:12px 6px; }
  .bounce-footer { align-items:stretch; flex-direction:column; gap:12px; }
}
@media (prefers-reduced-motion:reduce) { .vst-browser, .vst-browser-overlay { animation:none; } }

.bounce-codec { font-size:10px; color:#8798b1; margin:14px 0 0; } .bounce-codec a { color:#b4c9e9; }
