/* Storyboard asset rail, sized and spaced against the reference editor. */
body .native-storyboard.studio:not(.assets-collapsed){grid-template-columns:340px minmax(0,1fr)}
body .native-storyboard .studio-assets.sa-library{padding:16px 18px 20px;display:flex;flex-direction:column;gap:0;border:1px solid #292929;border-radius:24px;background:#191919;overflow:hidden;min-height:0}
.sa-library button,.sa-menu button,.sa-preview button{font:inherit;color:inherit;cursor:pointer}
.sa-library button{border:0;background:transparent;padding:0}
.sa-library .icon{width:15px;height:15px;stroke-width:1.6;flex:none}
.sa-head{display:flex;align-items:center;gap:8px;height:28px;flex:none;margin-bottom:16px}
.sa-head h2{font-size:14px!important;font-weight:500;margin:0;color:#eee}
.sa-head>button{width:28px;height:28px;display:grid;place-items:center;border-radius:6px}
.sa-head>button:hover{background:#333}
.sa-views{display:flex;align-items:center;border:1px solid #4b4b4b;border-radius:20px;height:27px;padding:2px}
.sa-views button{display:grid;place-items:center;width:30px;height:21px;border-radius:15px;color:#aaa}
.sa-views button[aria-checked=true]{background:#454545;color:#eee}
.sa-views .icon{width:13px;height:13px}
.sa-filters{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex:none;min-width:0}
.sa-search{height:28px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #3a3a3a;border-radius:20px;background:#252525;flex:1;min-width:0;color:#888}
.sa-search input{width:100%;min-width:0;border:0!important;box-shadow:none!important;outline:0;background:transparent!important;padding:0!important;font-size:12px;height:26px;color:#ddd}
.sa-search input::placeholder{color:#888}
.sa-filters>button{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:12px;height:28px;color:#ccc}
.sa-filters>button .icon{width:12px;height:12px}
.sa-scroll{flex:1;overflow:auto;min-height:0;scrollbar-width:thin;padding-right:1px}
.sa-group{margin-bottom:26px}
.sa-group-head{display:flex;align-items:center;gap:4px;height:28px;margin-bottom:8px}
.sa-group-head>button:first-child{display:flex;align-items:center;gap:8px;min-width:0;flex:1;font-size:12px;text-align:left;color:#eee}
.sa-group-head>button:first-child>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-group-head>button:first-child>.icon:first-child{width:9px;height:9px;transition:transform .15s}
.sa-group-head>button[aria-expanded=false]>.icon:first-child{transform:rotate(-90deg)}
.sa-group-more{width:24px;height:24px;border-radius:5px}
.sa-group-more:hover{background:#333}
.sa-cards{padding-left:16px;display:flex;flex-direction:column;gap:6px}
.sa-cards[hidden]{display:none}
.sa-item{position:relative;min-width:0;border-radius:9px}
.sa-item:hover,.sa-item:focus-within{background:#282828}
.sa-library .sa-card{width:100%;display:flex;align-items:center;text-align:left;gap:9px;min-width:0;height:42px;border-radius:8px;padding:1px}
.sa-thumb{width:40px;height:40px;border-radius:8px;background:#101010;border:1px solid #3b3b3b;overflow:hidden;flex:none;display:grid;place-items:center}
.sa-thumb img{width:100%;height:100%;object-fit:contain}
.sa-thumb>.icon{width:20px;height:20px;color:#bbb}
.sa-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#929292;padding-right:20px;line-height:18px}
.sa-name b{font-weight:400;color:#c7c7c7}
.sa-more{position:absolute;right:3px;top:10px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;opacity:0;background:#383838!important;color:#ddd;line-height:1}
.sa-item:hover .sa-more,.sa-item:focus-within .sa-more{opacity:1}
.sa-grid .sa-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px}
.sa-grid .sa-cards[hidden]{display:none}
.sa-grid .sa-card{display:flex;flex-direction:column;height:auto;gap:6px;align-items:stretch;padding:0}
.sa-grid .sa-thumb{width:100%;height:84px;border-radius:16px;border:2px solid #3b3b3b}
.sa-grid .sa-name{font-size:11px;padding:0;line-height:16px;width:100%}
.sa-grid .sa-more{top:57px;right:5px}
.sa-library .sa-new{flex:none;display:flex;align-items:center;justify-content:center;height:31px;gap:4px;border:1px dashed #555;border-radius:20px;margin:18px 2px 0;font-size:13px;color:#eee}
.sa-new:hover{background:#292929}
.sa-empty{text-align:center;color:#777;font-size:12px;padding:40px 8px}
.sa-menu{position:fixed;z-index:180;min-width:132px;padding:6px;background:#2b2b2b;border:1px solid #414141;border-radius:12px;box-shadow:0 8px 30px #0006;color:#eee;font-size:13px}
.sa-menu button{border:0;background:transparent;display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:34px;padding:7px 10px;width:100%;text-align:left;border-radius:7px}
.sa-menu button:hover,.sa-menu button:focus-visible{background:#424242;outline:0}
.sa-menu .icon{width:14px;height:14px}
.sa-preview{position:fixed;z-index:130;padding:16px;width:320px;max-width:45vw;max-height:70vh;overflow:hidden;border-radius:26px;border:1px solid #3b3b3b;box-shadow:0 10px 35px #0005;background:#292929f5}
.sa-preview>img,.sa-preview>video{height:216px;width:100%;object-fit:contain;background:#333;border-radius:18px}
.sa-preview audio{width:100%}.sa-preview p{font-size:12px;color:#aaa;margin:8px 10px 0;line-height:1.5}
.sa-fullscreen-modal{width:96vw;max-width:96vw;max-height:96vh;border:0;background:#141414}
.sa-fullscreen-modal .modal-body{max-height:87vh;padding:12px}
.sa-fullscreen{display:grid;place-items:center;height:80vh}
.sa-fullscreen img,.sa-fullscreen video{max-width:100%;max-height:80vh;object-fit:contain}
#modal.sa-editor{width:900px;max-width:calc(100vw - 48px);border-radius:24px;background:#222;border-color:#383838}
.sa-editor .modal-head{border:0;padding:24px 28px 14px}.sa-editor .modal-head h2{font-size:18px;font-weight:500}
.sa-editor .modal-body{padding:0 24px 20px;max-height:calc(100vh - 190px)}
.sa-editor .modal-foot{padding:14px 24px 20px;background:transparent;border:0}
.sa-editor .modal-foot .btn{border-radius:22px;font-size:13px;min-width:90px}
.sa-editor-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:24px}
.sa-editor-main{min-width:0;display:flex;flex-direction:column;gap:12px}
.sa-upload{border:0;background:#191919;border-radius:20px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:270px;padding:14px;overflow:hidden;color:#aaa;cursor:pointer}
.sa-editor-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:250px;gap:12px;font-size:13px}
.sa-editor-preview>img,.sa-editor-preview>video{object-fit:contain;max-height:250px;max-width:100%}.sa-editor-preview>audio{width:95%}
.sa-replace{position:absolute;bottom:14px;padding:7px 14px;border-radius:20px;background:#333d;font-size:12px;color:#eee}
.sa-prompt-panel{background:#191919;border-radius:18px;padding:12px;position:relative}
.sa-prompt-panel textarea{background:transparent;border:0;box-shadow:none;resize:vertical;width:100%;min-height:115px;max-height:230px;padding:8px;font-size:13px;line-height:1.8}
.sa-reference-strip{display:flex;gap:6px;align-items:center;min-height:35px}.sa-reference-strip>button{color:#bbb;background:#292929;border:1px dashed #444;border-radius:7px;width:32px;height:32px;cursor:pointer}
#sa-selected-refs{display:flex;gap:6px;overflow:auto}#sa-selected-refs>span{position:relative;flex:none}#sa-selected-refs img{width:32px;height:32px;object-fit:cover;border-radius:6px}#sa-selected-refs button{position:absolute;right:-2px;top:-2px;border-radius:50%;border:0;background:#444;color:white;width:14px;height:14px;line-height:12px;padding:0;cursor:pointer}
.sa-generate-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:30px;padding-top:7px}
.sa-generate{border:0;border-radius:20px;margin-left:auto;background:#eee;color:#111;padding:7px 12px;font-size:12px;cursor:pointer}.sa-generate:disabled{background:#333;color:#777;cursor:default}
.sa-parameters{position:relative;font-size:11px;color:#aaa}.sa-parameters summary{list-style:none;cursor:pointer;display:flex;gap:3px;align-items:center}.sa-parameters summary::-webkit-details-marker{display:none}.sa-parameters summary .icon{width:11px;height:11px}.sa-parameters>div{position:absolute;z-index:5;bottom:28px;background:#333;padding:14px;border-radius:12px;min-width:175px;box-shadow:0 6px 25px #0009}.sa-parameters>div>label{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:6px 0}.sa-parameters select{width:105px;font-size:12px;padding:5px;background:#222}
.sa-generation-status{font-size:12px;color:#aaa;line-height:1.6}.sa-generation-status:empty{display:none}.sa-generation-status button{margin-left:8px;color:#eee;background:transparent;border:0;cursor:pointer}
.sa-editor-fields{display:flex;flex-direction:column;gap:16px;padding-top:6px;min-width:0}
.sa-editor-fields>label{font-size:12px;color:#999;display:flex;flex-direction:column;gap:8px}
.sa-editor-fields input:not([type=checkbox]):not([type=radio]){border:0;background:#191919;border-radius:14px;padding:12px 14px;font-size:14px;color:#eee;width:100%;height:42px}
.sa-episode-picker{position:relative;background:#191919;border:1px solid #3b3b3b;border-radius:18px;color:#ddd;font-size:12px}
.sa-episode-picker summary{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;list-style:none;cursor:pointer}.sa-episode-picker summary .icon{width:12px;height:12px}.sa-episode-picker summary::-webkit-details-marker{display:none}.sa-episode-picker>div{position:absolute;top:100%;background:#303030;z-index:4;width:100%;padding:10px;border-radius:12px;box-shadow:0 8px 20px #0008}.sa-episode-picker>div>label{display:flex;gap:8px;padding:7px 0;align-items:center}
.sa-voice{border:0;padding:0;position:relative;display:flex;flex-direction:column;gap:12px}.sa-voice legend{font-size:12px;color:#999;margin-bottom:8px}.sa-voice>div{border:1px solid #3b3b3b;border-radius:22px;overflow:hidden;background:#1a1a1a}.sa-voice textarea{background:transparent;border:0;box-shadow:none;padding:12px;resize:vertical;width:100%;height:110px;font-size:12px;line-height:1.8}.sa-voice>div>label{display:flex;align-items:center;gap:7px;padding:10px 12px;background:#242424;font-size:12px;color:#bbb}.sa-voice-actions{display:flex;min-height:60px}.sa-voice-actions button{flex:1;border:0;background:transparent;color:#bbb;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.sa-voice-actions button+button{border-left:1px solid #333}.sa-voice-actions .icon{width:15px;height:15px}#sa-voice-preview audio{width:100%;height:34px}
.sa-reference-picker,.sa-voice-picker{position:absolute;inset:auto 0 100%;background:#303030;padding:12px;border:1px solid #444;border-radius:18px;box-shadow:0 8px 30px #000a;z-index:8;color:#eee;font-size:12px}.sa-reference-picker header,.sa-voice-picker header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sa-reference-picker button,.sa-voice-picker button{border:0;background:transparent;color:inherit;cursor:pointer}.sa-reference-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto}.sa-reference-picker label{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;cursor:pointer}.sa-reference-picker img{height:68px;width:100%;object-fit:contain;background:#181818;border-radius:7px}.sa-reference-picker input{position:absolute;top:4px;left:4px}.sa-reference-picker label>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sa-voice-picker>button{display:block;padding:8px}
@media(max-width:1350px){body .native-storyboard.studio:not(.assets-collapsed){grid-template-columns:300px minmax(0,1fr)}body .native-storyboard .studio-assets.sa-library{padding-left:14px;padding-right:14px}.sa-grid .sa-thumb{height:72px}.sa-grid .sa-more{top:46px}}
@media(max-width:1000px){body .native-storyboard.studio:not(.assets-collapsed){grid-template-columns:270px minmax(0,1fr)}.sa-filters{gap:8px}.sa-cards{padding-left:8px}.sa-grid .sa-thumb{height:65px}}
@media(max-width:760px){body .native-storyboard.studio:not(.assets-collapsed){grid-template-columns:220px minmax(420px,1fr)}.sa-editor-grid{grid-template-columns:1fr}.sa-preview{max-width:65vw}.sa-grid .sa-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-filters{flex-wrap:wrap}.sa-search{flex-basis:100%}}
#sa-rename-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#bbb;margin-bottom:18px}
.sa-existing{position:relative;align-self:flex-end;margin-top:-41px;height:34px;margin-right:6px;padding:6px;background:#191919;border-radius:10px;font-size:12px;color:#999}
.sa-existing summary{list-style:none;display:flex;gap:4px;align-items:center;cursor:pointer}.sa-existing summary::-webkit-details-marker{display:none}.sa-existing summary .icon{width:12px;height:12px}
.sa-existing>div{position:absolute;right:0;top:32px;width:210px;max-height:220px;overflow:auto;background:#303030;border:1px solid #444;padding:6px;border-radius:12px;z-index:6;box-shadow:0 8px 24px #0009}.sa-existing button{display:block;text-align:left;width:100%;padding:8px;border:0;background:transparent;color:#eee;cursor:pointer}.sa-existing button:hover{background:#444}
.sa-editor-fields>label:has(.sa-existing)>input{padding-right:94px!important}
.sa-upload>.sa-replace{border:0;cursor:pointer}.sa-editor-lightbox{position:absolute;inset:0;z-index:20;background:#141414;display:grid;place-items:center;border-radius:24px}.sa-editor-lightbox>img{max-width:98%;max-height:95%;object-fit:contain}.sa-editor-lightbox>button{position:absolute;right:20px;top:15px;background:#333;border:0;color:#eee;font-size:24px;cursor:pointer;border-radius:50%;width:34px;height:34px}
.sa-text-content{white-space:pre-wrap;word-break:break-word;line-height:1.8;font:13px/1.8 inherit;color:#ddd;max-height:60vh;overflow:auto;width:100%;padding:12px}#sa-text-form textarea{width:100%;resize:vertical;background:#191919;font-size:14px;line-height:1.8}
