/* MEDIATOR Studio: parent chrome stays in the trusted renderer; the canvas is
 * filled by a sandboxed WebContentsView owned by Electron's main process. */
.workspace-view.studio-view { width:100%; max-width:none; min-width:0; padding:clamp(14px,2vw,32px); }
.mediator-studio { width:100%; min-width:0; margin:0 auto; max-width:1800px; color:var(--season-text,#f4f6f9); }
.mediator-studio-header { display:flex; gap:20px; align-items:flex-end; justify-content:space-between; margin-bottom:22px; }
.mediator-studio-kicker { display:block; font:600 10px/1.5 Manrope,sans-serif; letter-spacing:.22em; color:var(--season-primary,#a9c7ff); }
.mediator-studio-header h1 { font:600 clamp(35px,5vw,74px)/1 Manrope,sans-serif; letter-spacing:-.065em; margin:9px 0 10px; }
.mediator-studio-dot { color:var(--season-primary,#a9c7ff); }
.mediator-studio-header p { color:var(--season-text-muted,#a9abb5); font:400 13px/1.6 Manrope,sans-serif; margin:0; }
.mediator-studio-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; }
.mediator-studio-connection { border:1px solid #9dabb844; color:#bac4d1; border-radius:99px; padding:9px 13px; font:700 10px/1 Manrope,sans-serif; letter-spacing:.15em; }
.mediator-studio.studio-connected .mediator-studio-connection { border-color:#80c6a488; color:#a9e0be; }
.mediator-studio-actions button { border:1px solid var(--season-border,#8794a04f); border-radius:9px; padding:11px 15px; color:inherit; background:var(--season-surface,#1c222c); font:600 12px/1.2 Manrope,sans-serif; cursor:pointer; }
.mediator-studio-actions button:hover { border-color:var(--season-primary,#b8cffa); }
.mediator-studio-actions button:focus-visible { outline:2px solid var(--season-primary,#b8cffa); outline-offset:3px; }
.mediator-studio-address { display:flex; flex-wrap:wrap; align-items:center; gap:13px; min-width:0; border:1px solid var(--season-border,#8794a04f); border-radius:12px 12px 0 0; padding:12px 18px; background:#131821; color:#ccd6e2; font:600 10px/1.5 Manrope,sans-serif; letter-spacing:.13em; }
.mediator-studio-address-dot { width:7px; height:7px; border-radius:50%; background:var(--season-primary,#9cc6b5); box-shadow:0 0 12px var(--season-glow,#6dcda63a); }
.mediator-studio-address code { font:500 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:0; color:#f4f7fb; }
.mediator-studio-address small { margin-left:auto; color:#93a2b3; font:400 10px/1.4 Manrope,sans-serif; letter-spacing:0; }
.mediator-studio-canvas { position:relative; isolation:isolate; width:100%; height:clamp(460px,calc(100dvh - 260px),1100px); min-width:0; overflow:hidden; border:1px solid var(--season-border,#8794a04f); border-top:0; border-radius:0 0 12px 12px; background:#0e1117; }
.mediator-studio-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:28px; text-align:center; }
.mediator-studio-placeholder-symbol { display:grid; place-items:center; width:70px; height:70px; border:1px solid #718eac88; border-radius:22px; background:#19222f; color:#b5cbe1; font-size:40px; }
.mediator-studio-placeholder h2 { font:600 clamp(18px,2vw,27px)/1.2 Manrope,sans-serif; margin:7px 0 0; }
.mediator-studio-placeholder p { max-width:460px; color:#9caabb; font:400 13px/1.65 Manrope,sans-serif; margin:0; }
.mediator-studio-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:15px 2px; color:var(--season-text-muted,#8e9aaa); font:600 9px/1.5 Manrope,sans-serif; letter-spacing:.16em; }
@media(max-width:760px) {
  .workspace-view.studio-view { padding:13px; }
  .mediator-studio-header { flex-direction:column; align-items:stretch; }
  .mediator-studio-actions { justify-content:space-between; }
  .mediator-studio-address small { flex-basis:100%; margin-left:0; }
  .mediator-studio-canvas { height:max(420px,calc(100dvh - 300px)); }
}
@media(prefers-reduced-motion:reduce) { .mediator-studio * { scroll-behavior:auto; } }

.studio-library { margin-top:46px; padding:clamp(20px,3vw,42px); border:1px solid var(--season-border,#6e7f984a); border-radius:20px; background:linear-gradient(150deg,#192332cc,#0c1019); }
.studio-library>header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.studio-library h2 { font:600 clamp(28px,4vw,46px)/1.15 Manrope,sans-serif; letter-spacing:-.05em; margin:8px 0; }
.studio-library h2 span { color:var(--season-primary,#b8cfff); }
.studio-library p,.studio-library output { color:#acb9cd; font-size:13px; line-height:1.6; }
.studio-library [data-library-count] { white-space:nowrap; font-size:14px; border:1px solid #829bb44a; padding:10px 16px; border-radius:99px; }
.studio-library form,.studio-library-tools,.studio-library nav { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; margin:22px 0; }
.studio-library label:not(.studio-library-tile) { display:flex; flex-direction:column; gap:6px; font-size:12px; }
.studio-library form label:first-child { flex:1; min-width:180px; }
.studio-library button,.studio-library input,.studio-library select { font:inherit; color:inherit; border:1px solid #879bb94a; border-radius:9px; padding:10px 14px; background:#152030; min-height:42px; }
.studio-library button { cursor:pointer; font-size:12px; }
.studio-library button:hover { border-color:#b8cfff; }
.studio-library button:disabled { opacity:.4; cursor:default; }
.studio-library :focus-visible { outline:2px solid #b8cfff; outline-offset:3px; }
.studio-library-tools { align-items:center; }
.studio-library-tools span { font-size:12px; color:#bac8da; margin-right:auto; }
.studio-library [data-library-download] { background:#c5d6f3; color:#101724; }
.studio-library output { display:block; margin-bottom:18px; }
.studio-library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr)); gap:20px; }
.studio-library-grid article { overflow:hidden; border:1px solid #5f74944a; border-radius:14px; background:#101722; transition:border-color .15s; }
.studio-library-grid article.is-selected { border-color:#b8cfff; box-shadow:0 0 0 1px #b8cfff; }
.studio-library-tile { display:block; position:relative; cursor:pointer; }
.studio-library-tile input { position:absolute; z-index:2; top:12px; left:12px; width:21px; height:21px; min-height:0; accent-color:#bfd3f2; }
.studio-library-art { display:block; position:relative; aspect-ratio:16/10; overflow:hidden; background:radial-gradient(ellipse at top right,#354661,#17202d 65%); }
.studio-library-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.studio-library-art img:not([src]) { visibility:hidden; }
.studio-library-fallback { display:flex; height:100%; align-items:center; justify-content:center; flex-direction:column; gap:8px; font-size:50px; color:#748aa8; }
.studio-library-fallback small { font-size:10px; letter-spacing:.22em; }
.studio-library-category { position:absolute; bottom:12px; left:12px; background:#090f1cce; border:1px solid #c1d4f133; padding:5px 9px; border-radius:5px; font-size:10px; }
.studio-library-copy { display:flex; flex-direction:column; gap:8px; padding:17px; }
.studio-library-copy strong { font-size:14px; overflow-wrap:anywhere; }
.studio-library-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#a3b0c5; font-size:11px; }
.studio-library-copy>span { color:#8092ab; font-size:11px; }
.studio-library-grid article>button { border:0; border-top:1px solid #62799933; border-radius:0; width:100%; text-align:left; background:transparent; }
.studio-library nav { justify-content:center; align-items:center; }
.studio-library nav span { font-size:12px; }
.studio-library-downloads { margin-top:25px; border-top:1px solid #62799950; padding-top:15px; }
.studio-library-downloads [data-library-queue]>div { display:flex; align-items:center; gap:16px; margin:10px 0; padding:12px; background:#101722; border-radius:9px; }
.studio-library-downloads [data-library-queue] span { flex:1; min-width:0; overflow-wrap:anywhere; }
.studio-library-downloads small { display:block; font-size:12px; color:#94a9c4; margin-top:5px; }
@media(max-width:600px) { .studio-library { margin-top:28px; padding:18px; } .studio-library>header { align-items:flex-start; flex-direction:column; } .studio-library-tools button { flex:1; } .studio-library form label { width:100%; } }

.studio-music { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; margin-bottom:20px; border:1px solid var(--season-border,#8794a04f); border-radius:12px; background:#131821; }
.studio-music form { display:flex; flex:1; flex-wrap:wrap; align-items:flex-end; gap:10px; min-width:0; }
.studio-music label { display:flex; flex:1; flex-direction:column; gap:6px; min-width:min(240px,100%); font-size:12px; }
.studio-music input,.studio-music button { color:inherit; background:#152030; border:1px solid #879bb94a; border-radius:9px; padding:10px 12px; font:inherit; min-height:42px; }
.studio-music input { width:100%; box-sizing:border-box; }
.studio-music button { cursor:pointer; font-size:12px; }
.studio-music :focus-visible { outline:2px solid var(--season-primary,#b8cffa); outline-offset:3px; }
.studio-music audio { width:270px; max-width:100%; }
.studio-music output,.studio-music small { flex-basis:100%; color:var(--season-text-muted,#a9abb5); font-size:12px; }
.tab-music-editor { padding:16px 0; border-bottom:1px solid #ffffff20; }
.tab-music-editor h3 { margin:0; font-size:14px; }
.tab-music-editor form { max-width:760px; }
.tab-music-player audio { max-width:100%; }
.tab-music-player output { max-width:300px; }
