/* Scoped so the platform theme cannot hide text on studio controls. */
dialog#psk-series-studio#psk-series-studio,#psk-series-studio#psk-series-studio dialog.sv-popup,#psk-series-studio#psk-series-studio dialog.sv-editor{color-scheme:dark;background:#151a1e;color:#edf0f2;border:1px solid #394148;font:14px/1.5 system-ui,sans-serif;padding:0}
dialog#psk-series-studio#psk-series-studio{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;display:flex;flex-direction:column;overflow:hidden}
dialog#psk-series-studio#psk-series-studio:not([open]),#psk-series-studio#psk-series-studio [hidden]{display:none!important}
#psk-series-studio#psk-series-studio *{box-sizing:border-box}
#psk-series-studio#psk-series-studio button,#psk-series-studio#psk-series-studio select,#psk-series-studio#psk-series-studio input,#psk-series-studio#psk-series-studio textarea{font:inherit;color:#edf0f2!important;background:#252c32!important;border:1px solid #46525b!important;border-radius:8px;box-shadow:none!important;min-height:36px;padding:7px 12px;text-transform:none;letter-spacing:normal;opacity:1}
#psk-series-studio#psk-series-studio button{cursor:pointer;transition:background .16s,border-color .16s}
#psk-series-studio#psk-series-studio button:hover{background:#333e47!important}#psk-series-studio#psk-series-studio button:disabled,#psk-series-studio#psk-series-studio select:disabled{opacity:.55;cursor:wait}
#psk-series-studio#psk-series-studio :focus-visible{outline:2px solid #e1b87d;outline-offset:3px}
#psk-series-studio#psk-series-studio button.sv-primary,#psk-series-studio#psk-series-studio button[aria-pressed=true]{background:#d5ae76!important;color:#171b1e!important;border-color:#d5ae76!important}
.sv-header{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid #30383e;flex-shrink:0}
.sv-header strong{color:#e1b87d;white-space:nowrap;margin-right:10px}.sv-header input{flex:1;min-width:80px;max-width:440px;margin-right:auto}
.sv-thread{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px max(20px,calc((100% - 1020px)/2));scrollbar-gutter:stable}
.sv-timeline{display:flex;flex-direction:column;gap:24px}.sv-empty{padding:12vh 24px;text-align:center;font-size:20px;color:#b6c0c8;line-height:1.7}
.sv-message{max-width:100%;min-width:0;overflow-wrap:anywhere}.sv-message p{white-space:pre-wrap;user-select:text;margin:8px 0}.sv-message small,.sv-muted,.sv-cost{color:#bac4cb}
.sv-run,.sv-chat{padding:16px 20px;border:1px solid #38454f;background:#222b32;border-radius:14px;align-self:flex-end;max-width:90%}
.sv-run>button{margin:4px 8px 4px 0;font-size:12px}.sv-comment-text{font-size:13px;border-left:2px solid #d5ae76;padding-left:10px}
.sv-asset{width:100%;max-width:820px}.sv-asset>strong{display:block;margin-bottom:8px;color:#bac4cb;font-size:13px}
#psk-series-studio#psk-series-studio button.sv-photo{display:block;width:100%;padding:0;overflow:hidden;border-color:#384149!important;background:#20262c!important;border-radius:12px}
.sv-photo img{display:block;object-fit:contain;width:100%;height:auto;min-height:160px;max-height:540px}
.sv-photo-actions{display:flex;gap:8px;padding:8px 0}.sv-photo-actions button{font-size:12px}
.sv-message progress{width:100%;max-width:320px;height:7px;accent-color:#d5ae76}
.sv-composer{padding:12px max(20px,calc((100% - 1020px)/2)) 10px;border-top:1px solid #30383e;background:#191f24;flex-shrink:0}
.sv-composer>textarea{width:100%;height:76px;min-height:56px;max-height:180px;resize:vertical;user-select:text;padding:12px 15px;margin:8px 0;color:#fff!important}
.sv-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sv-controls select{max-width:230px}.sv-controls .sv-primary{margin-left:auto;min-width:160px}.sv-cost{font-size:12px}
.sv-status{min-height:22px;font-size:12px;color:#b8c5ce;padding-top:5px}#psk-series-studio#psk-series-studio .sv-error{color:#ffb0aa!important}
.sv-attachments{display:flex;gap:8px;overflow:auto}.sv-attachment{display:flex;align-items:center;gap:6px;border:1px solid #48545e;border-radius:8px;flex:0 0 auto;max-width:245px;padding:4px;background:#222a31}
.sv-attachment span{font-size:12px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-attachment button{padding:3px;min-height:24px;border:0!important;background:transparent!important}.sv-attachment img{width:56px;height:36px;object-fit:cover;border-radius:4px}
#psk-series-studio#psk-series-studio dialog.sv-popup{padding:24px;min-width:320px;max-width:600px;max-height:85vh;border-radius:12px}.sv-popup>button{display:block;width:100%;margin:8px 0}.sv-popup input{width:100%}.sv-popup::backdrop,.sv-editor::backdrop{background:#000b}
#psk-series-studio#psk-series-studio dialog.sv-editor{position:fixed;inset:20px;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:none;max-height:none;margin:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px}.sv-editor:not([open]){display:none}
.sv-editor-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px;border-bottom:1px solid #3a4249}.sv-editor-bar strong{margin-right:auto}.sv-editor-bar button{font-size:13px}
.sv-stage{position:relative;flex:1;min-height:0;overflow:auto;background:#0f1316;overscroll-behavior:contain;display:grid;place-items:safe center}
.sv-picture{position:relative;flex-shrink:0;margin:12px}.sv-picture img{display:block;width:100%;height:100%;max-width:none;pointer-events:none;object-fit:fill}.sv-picture canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.sv-editor-status{padding:8px 14px;margin:0;background:#21292f;min-height:38px}.sv-notes{display:flex;gap:8px;padding:4px 12px;flex-wrap:wrap;max-height:100px;overflow:auto}.sv-notes strong{display:none}.sv-notes button{font-size:12px}
#psk-series-studio#psk-series-studio .vs-annotation-editor{position:absolute;right:20px;bottom:60px;top:auto!important;z-index:10;max-width:400px;width:min(400px,calc(100% - 40px));padding:16px;background:#202a31;color:#f2f4f6;border:1px solid #60717e;border-radius:12px;box-shadow:0 12px 40px #0008}#psk-series-studio#psk-series-studio .vs-annotation-editor textarea{display:block;width:100%;margin:8px 0}#psk-series-studio#psk-series-studio .vs-annotation-editor small{display:block;color:#bdcad3}#psk-series-studio#psk-series-studio .vs-annotation-actions{display:flex;gap:8px;margin-top:10px}
@media(max-width:900px){.sv-header{flex-wrap:wrap;padding:8px}.sv-header strong{font-size:13px}.sv-header input{max-width:none}.sv-thread{padding:16px}.sv-composer{padding:10px 16px}.sv-cost{display:none}.sv-controls select{max-width:165px}.sv-controls .sv-primary{min-width:130px}.sv-editor-bar strong{width:100%}.sv-editor-bar button{font-size:12px;padding:6px}.sv-attachment{max-width:170px}.sv-attachment span{max-width:90px}}
@media(prefers-reduced-motion:reduce){#psk-series-studio#psk-series-studio *{transition:none!important;scroll-behavior:auto!important}}

/* Explicit studio scope wins over the existing application-wide dialog theme. */
html body #psk-series-studio#psk-series-studio{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;padding:0!important;inset:0!important;border:0!important;border-radius:0!important;margin:0!important;background:#151a1e!important;color:#edf0f2!important;overflow:hidden!important;scrollbar-gutter:auto!important}
#psk-series-studio#psk-series-studio .sv-thread{display:block!important;width:100%!important;margin:0!important;min-height:0!important;overflow:auto!important;flex:1!important}
#psk-series-studio#psk-series-studio button{text-shadow:none!important;font-weight:500!important}
#psk-series-studio#psk-series-studio .sv-editor{width:calc(100vw - 40px)!important;max-width:none!important;max-height:none!important;height:calc(100dvh - 40px)!important;padding:0!important;background:#151a1e!important;color:#edf0f2!important;overflow:hidden!important}
#psk-series-studio#psk-series-studio .sv-popup{background:#20282e!important;color:#edf0f2!important;overflow:auto!important}

/* A single conversation occupies the workspace; the composer is its only dock. */
#psk-series-studio#psk-series-studio .sv-header{min-height:60px;padding:10px 22px;gap:16px;background:#171c20}
#psk-series-studio#psk-series-studio .sv-header>strong{font-size:16px;color:#f0e5d5}
#psk-series-studio#psk-series-studio .sv-header>button:first-of-type{max-width:420px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent!important;border-color:transparent!important;color:#bfc7cc!important}
#psk-series-studio#psk-series-studio .sv-header>button:last-child{background:transparent!important;border-color:transparent!important;color:#bac2c9!important}
#psk-series-studio#psk-series-studio .sv-thread{padding:28px max(28px,calc((100% - 1080px)/2)) 12px;scrollbar-gutter:stable;scroll-behavior:smooth}
#psk-series-studio#psk-series-studio .sv-timeline{gap:28px;padding-bottom:12px}
#psk-series-studio#psk-series-studio .sv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:55vh;padding:24px;gap:10px;color:#aeb9c2}
#psk-series-studio#psk-series-studio .sv-empty h2{font-size:30px;font-weight:600;letter-spacing:-.6px;color:#edf0f2;margin:0}
#psk-series-studio#psk-series-studio .sv-empty p{max-width:480px;font-size:16px;margin:0 0 12px}
#psk-series-studio#psk-series-studio .sv-empty button{padding:12px 22px;border-radius:12px;background:#d5ae76!important;color:#171b1e!important}
#psk-series-studio#psk-series-studio .sv-run{border:0;background:#283139;border-radius:18px 18px 5px 18px;max-width:85%;padding:16px 20px}
#psk-series-studio#psk-series-studio .sv-run>strong{font-size:12px;font-weight:500;color:#c7b090}
#psk-series-studio#psk-series-studio .sv-asset{max-width:920px}
#psk-series-studio#psk-series-studio .sv-asset>strong{font-size:12px;font-weight:400;color:#abb7c0}
#psk-series-studio#psk-series-studio .sv-current .sv-photo{border-color:#947749!important}
#psk-series-studio#psk-series-studio .sv-photo img{max-height:570px;min-height:100px}
#psk-series-studio#psk-series-studio .sv-photo-actions button{background:transparent!important;border-color:transparent!important;color:#bfc7ce!important;font-size:12px;padding:4px 10px;min-height:30px}
#psk-series-studio#psk-series-studio .sv-photo-actions button[aria-pressed=true]{color:#d5ae76!important}
#psk-series-studio#psk-series-studio .sv-composer{padding:12px max(28px,calc((100% - 1080px)/2)) 18px;border-top:0;background:linear-gradient(0deg,#151a1e 90%,transparent)}
#psk-series-studio#psk-series-studio .sv-composer>textarea{height:62px;min-height:62px;max-height:140px;margin:0;border-radius:18px 18px 0 0!important;padding:16px 18px;border-bottom:0!important;background:#232b31!important;resize:vertical}
#psk-series-studio#psk-series-studio .sv-controls{padding:8px 10px 10px;background:#232b31;border:1px solid #46525b;border-top:0;border-radius:0 0 18px 18px;flex-wrap:nowrap}
#psk-series-studio#psk-series-studio .sv-controls>button:first-child{font-size:14px;line-height:24px;width:auto;min-width:78px;white-space:nowrap;padding:3px 8px;flex-shrink:0;border-color:transparent!important;background:transparent!important}
#psk-series-studio#psk-series-studio .sv-controls select{max-width:250px;background:transparent!important;border-color:transparent!important;font-size:13px}
#psk-series-studio#psk-series-studio .sv-controls .sv-primary{min-width:154px;border-radius:10px}
#psk-series-studio#psk-series-studio .sv-status{padding:4px 0;font-size:12px;color:#899ba8;user-select:text;overflow-wrap:anywhere;min-height:20px}
#psk-series-studio#psk-series-studio .sv-status.sv-error{padding:12px 16px;margin-top:16px;border:1px solid #684541;border-radius:12px;background:#302526}
#psk-series-studio#psk-series-studio .sv-editor .sv-picture canvas{cursor:crosshair}
@media(max-width:750px){#psk-series-studio#psk-series-studio .sv-thread{padding:18px 14px 10px}#psk-series-studio#psk-series-studio .sv-composer{padding:10px 14px}#psk-series-studio#psk-series-studio .sv-controls select{max-width:165px}#psk-series-studio#psk-series-studio .sv-controls .sv-primary{min-width:110px;font-size:12px}#psk-series-studio#psk-series-studio .sv-header{gap:8px;padding:8px 14px}}
@media(prefers-reduced-motion:reduce){#psk-series-studio#psk-series-studio .sv-thread{scroll-behavior:auto}}

/* Native Windows select popup must not inherit a light theme background. */
#psk-series-studio#psk-series-studio select,#psk-series-studio#psk-series-studio option{color-scheme:dark;color:#edf0f2!important;background-color:#252c32!important}
