/* Shared creation tools and dialogs. Loaded after the application skin. */
:root{--tool-bg:#202020;--tool-raised:#272429;--tool-input:#18171a;--tool-line:#413947;--tool-text:#e9e3ef;--tool-muted:#92879f;--tool-accent:#bc92ed}
dialog{color-scheme:dark;color:var(--tool-text);width:min(900px,calc(100vw - 48px));max-width:940px;max-height:calc(100dvh - 64px);margin:auto;padding:30px 32px;border:1px solid #54435e;border-radius:18px;background:linear-gradient(145deg,#29232f 0%,#201d25 45%,#1e1c22 100%);box-shadow:0 35px 110px #0009,0 0 0 1px #ffffff03;overflow:auto;overscroll-behavior:contain;scrollbar-color:#6b4f7b #211b29}
dialog::backdrop{background:#08060bbd;backdrop-filter:blur(8px)}
dialog h2{font-size:21px;font-weight:650;line-height:1.4;letter-spacing:.2px;margin:0 0 17px;color:#f1e9f8}
dialog h3{font-size:14px;font-weight:600;letter-spacing:.2px;color:#d9c8e8;margin:25px 0 13px}
dialog h4{font-size:13px;color:#d8c8e5}
dialog p{font-size:12px;line-height:1.85;color:#b3a5bf}
dialog>.muted,dialog form>.muted{font-size:11px;color:#9789a5;line-height:1.85;max-width:760px}
dialog .split{align-items:flex-start;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #48374f}
dialog .split h2{margin:0}
dialog form{margin-top:20px}
dialog label{display:grid;gap:9px;margin-bottom:19px;color:#bdb0c9;font-size:12px;font-weight:500;line-height:1.65}
dialog input,dialog select,dialog textarea{width:100%;min-width:0;border:1px solid #483a52;border-radius:8px;background:#19161e;color:#e0d5e9;padding:12px 13px;box-shadow:inset 0 1px 3px #00000012;outline:0;transition:border-color .18s,box-shadow .18s,background .18s;font-size:12px;line-height:1.7}
dialog input::placeholder,dialog textarea::placeholder{color:#6e607b}
dialog input:hover,dialog select:hover,dialog textarea:hover{border-color:#655071}
dialog input:focus,dialog select:focus,dialog textarea:focus{border-color:#b282df;background:#211a29;box-shadow:0 0 0 3px #b17de61a}
dialog input:read-only,dialog textarea:read-only{color:#a79ab4;background:#211c28}
dialog input:disabled,dialog select:disabled,dialog textarea:disabled{color:#766980;cursor:not-allowed;border-color:#3a303f;background:#231c2a}
dialog textarea{min-height:136px;resize:vertical;line-height:1.85}
dialog textarea[spellcheck="false"],dialog [data-json]{font-family:"Cascadia Code",Consolas,ui-monospace,monospace;font-size:11px;line-height:1.8;tab-size:2}
dialog input[type=checkbox],dialog input[type=radio],input[type=checkbox],input[type=radio]{appearance:auto;width:16px;min-width:16px;height:16px;padding:0;margin:3px 0 0;accent-color:#b185db;box-shadow:none;flex:none}
dialog label:has(>input[type=checkbox]),dialog label:has(>input[type=radio]){display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.7;font-weight:400}
dialog input[type=color]{width:65px;height:42px;padding:4px}
dialog input[type=range]{accent-color:#b185db;box-shadow:none;background:transparent;padding:0;min-height:25px}
dialog fieldset{min-width:0;border:1px solid #47344f;border-radius:10px;padding:17px 19px;margin:23px 0;background:#211b28}
dialog legend{padding:0 9px;color:#baa4cb;letter-spacing:.3px;font-size:11px}
dialog fieldset label{font-size:11px;margin-bottom:10px}
dialog fieldset label:last-child{margin-bottom:0}
dialog button{border:1px solid #55415f;background:#32273c;color:#d2bfdf;border-radius:8px;padding:10px 15px;font-size:12px;line-height:1.5;font-weight:500;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
dialog button:hover{border-color:#9971b5;background:#42304f;color:#f3defe}
dialog button:active{transform:translateY(1px)}
dialog button.primary,dialog [data-submit],dialog [data-quote],dialog form>button[type=submit]{background:linear-gradient(105deg,#9360ce,#bb6f9d);border-color:#b585c8;color:#fff;box-shadow:0 4px 14px #9c60bd20}
dialog button.primary:hover,dialog [data-submit]:hover,dialog [data-quote]:hover{background:linear-gradient(105deg,#a66cde,#ca7bac);border-color:#d3a8e6;box-shadow:0 6px 22px #a868ce30}
dialog button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}
dialog button:focus-visible,dialog summary:focus-visible{outline:2px solid #c99aed;outline-offset:4px}
dialog .actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 8px}
dialog .actions button{flex:none}
dialog>[data-close],dialog>button:last-child{margin-top:22px}
dialog>h2+button{float:right;margin-top:-46px;font-size:11px;padding:6px 11px}
dialog .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
dialog .form-grid>.full{grid-column:1/-1}
dialog .form-grid>label{min-width:0}
dialog pre{font-family:"Cascadia Code",Consolas,ui-monospace,monospace;color:#b9a7ca;background:#18131e;border:1px solid #3e2e48;border-radius:9px;padding:17px 18px;font-size:11px;line-height:1.85;overflow-wrap:anywhere;white-space:pre-wrap;max-height:360px;overflow:auto;scrollbar-color:#654777 transparent}
dialog [role=status],dialog [data-status]{min-height:19px;color:#b7a2c7;font-size:11px;line-height:1.8;margin-top:14px}
dialog .error{color:#f3a1ae;background:#3c2530;border:1px solid #6b3949;border-radius:8px;font-size:11px;padding:12px 14px}
dialog .badge{background:#3a2949;color:#c9a7e5;border:1px solid #5b3d70;font-size:10px;border-radius:5px;padding:4px 8px}
dialog details{border:1px solid #493453;border-radius:9px;background:#241c2c;margin:12px 0;padding:14px 16px}
dialog summary{color:#c6add9;font-size:12px;cursor:pointer;line-height:1.7}
dialog details[open]>summary{margin-bottom:15px}
dialog [data-confirm],dialog [data-quote-panel]{margin:22px 0;padding:19px 20px;border:1px solid #6b467d;border-radius:11px;background:linear-gradient(110deg,#40294e38,#2c223336)}
dialog [data-confirm]>p:first-child,dialog [data-quote-summary]{margin-top:0;color:#dec1f0;font-weight:500}
dialog [data-conversation]{padding:1px 18px 17px;background:#201926;border:1px solid #3c2b47;border-radius:10px;margin-top:25px}
dialog [data-transcript]{max-height:340px;overflow:auto;padding-right:6px}
dialog [data-transcript] p{display:grid;gap:6px;margin:10px 0;padding:12px 14px;background:#2d2235;border-radius:8px;border:1px solid #483252;color:#c6b5d3;font-size:12px}
dialog [data-transcript] p:has(strong:first-child){line-height:1.9}
dialog [data-transcript] strong{font-size:10px;letter-spacing:.4px;color:#b388d0;font-weight:600}
dialog [data-transcript] span{white-space:pre-wrap}
dialog [data-action]{border:1px solid #79578b;border-radius:10px;padding:1px 19px 19px;background:linear-gradient(115deg,#50305c38,#31243a30);margin:20px 0}
dialog [data-action] h3{color:#d8b1ee}
dialog [data-images]{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}
dialog [data-images]>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;padding:12px;border-radius:10px;min-height:150px;overflow:hidden}
dialog [data-images]>button img{border-radius:6px;width:100%;height:110px;object-fit:contain;background:#151019}
dialog [data-images]>button span{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
dialog [data-images]>label{display:flex;align-items:center;padding:9px 11px;border:1px solid #46304f;border-radius:7px;background:#2b2033;gap:9px;margin:0;font-size:11px}
dialog video,dialog audio{border-radius:10px;background:#0f0d12;max-width:100%;margin:10px 0 18px}
dialog [data-stage]{border-radius:10px;border:1px solid #57415e;overflow:hidden;margin:18px 0 22px;background:#141017}
dialog [data-editor]{padding:0 0 8px}
.table-wrap{border:1px solid #38313e;border-radius:10px;overflow:auto;background:#201b26}
.table-wrap table th{background:#29212f;color:#9d8baa;font-weight:500;letter-spacing:.4px}
.table-wrap table th,.table-wrap table td{padding:16px 18px;border-color:#3a2d44;font-size:12px}
.table-wrap table td{color:#bbaac8}
.table-wrap table tbody tr:hover{background:#2c2036}
[data-cards]>.card{position:relative;padding:22px;border-color:#3a313f;transition:border-color .18s,transform .18s,box-shadow .18s}
[data-cards]>.card:hover{border-color:#705184;transform:translateY(-2px);box-shadow:0 10px 25px #09060f30}
[data-cards]>.card h3{font-size:17px;letter-spacing:.1px}
[data-cards]>.card p{overflow-wrap:anywhere;font-size:11px;line-height:1.8}
[data-cards]>.card>.error{font-size:10px;padding:9px 11px;line-height:1.7;background:#35232c;color:#bc8d9a;border-color:#573240;min-height:35px}
[data-cards]>.card>button:last-child{margin-top:10px;width:100%;font-size:11px}
[data-tabs]{margin-bottom:23px;border-bottom:1px solid #39313f;padding-bottom:15px}
[data-tabs] button.active{background:linear-gradient(110deg,#8456b7,#a9658e);border-color:#a67bbb;color:white}
[data-tracks]{padding:15px 18px 18px;margin:22px 0 0;background:#17121d;border:1px solid #3c2c46;border-radius:10px;overflow:auto}
[data-tracks]>div{min-width:420px;font-size:11px;color:#a38caf}
[data-tracks]>div>div{background:repeating-linear-gradient(90deg,#291d33 0,#291d33 calc(10% - 1px),#45314e calc(10% - 1px),#45314e 10%)!important;border:1px solid #4c335a!important;border-radius:5px!important;height:44px!important}
[data-tracks] button{color:#f1dffd;border-color:#b48dcc;background:#7a4b97!important;font-size:10px;border-radius:4px!important;box-shadow:inset 0 1px #ffffff12}
[data-tracks] button[aria-label^="音轨"]{background:#7e6842!important;border-color:#ad935f;color:#f1e0ba}
[data-tracks] button[aria-label^="字幕轨"]{background:#3a706f!important;border-color:#5a9995;color:#d0efeb}
[data-preview] video,[data-preview] img{border:1px solid #47314f;border-radius:9px;background:#0e0b12;margin-bottom:19px}
[data-detail-content], [data-detail] pre{overflow-wrap:anywhere}
[data-shots]>.card{margin-top:15px;border-color:#42334c;padding:20px}
[data-shots]>.card pre{background:#1a131f;border:1px solid #3c2947;color:#ba9eca;font-size:12px}
[data-segments]>.card{margin:13px 0;border-color:#654575;background:linear-gradient(125deg,#33223e,#251b2d)}
[data-segments]>.card h4{color:#d1abeb}
[data-segments]>.card pre{color:#bea0d0;background:#1b1322}
@media(max-width:760px){dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 28px);padding:23px 20px;border-radius:14px}dialog h2{font-size:19px;max-width:calc(100% - 50px)}dialog .form-grid{grid-template-columns:1fr;gap:0}dialog .actions{gap:8px}dialog .actions button{flex:1 1 145px}dialog [data-confirm],dialog [data-quote-panel]{padding:17px 15px}dialog [data-images]{grid-template-columns:repeat(2,minmax(0,1fr))}dialog fieldset{padding:15px 13px}dialog .split{gap:10px}dialog>h2+button{margin-top:-43px}dialog [data-conversation]{padding:1px 12px 14px}.table-wrap table th,.table-wrap table td{padding:13px 14px}.table-wrap{border-radius:8px}}
@media(prefers-reduced-motion:reduce){dialog,dialog *,[data-cards]>.card{transition:none!important;scroll-behavior:auto!important}}
/* Comfortable reading sizes for dense configuration tools. */
dialog label{font-size:13px}dialog input,dialog select,dialog textarea{font-size:13px}dialog p{font-size:13px}dialog>.muted,dialog form>.muted,dialog [role=status],dialog [data-status],dialog legend{font-size:12px}dialog button{font-size:13px}dialog .error{font-size:12px}dialog pre{font-size:12px}dialog [data-images]>label{font-size:12px}dialog label:has(>input[type=checkbox]),dialog label:has(>input[type=radio]){font-size:12px}dialog [data-confirm],dialog [data-quote-panel]{scroll-margin:20px}dialog:modal:has(~dialog[open]){filter:brightness(.75)}
@media(max-width:760px){dialog input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),dialog select,dialog textarea{font-size:14px}dialog .form-grid{display:grid}dialog label{font-size:13px}dialog pre{max-height:300px}dialog video{max-height:260px}}
[data-cards]>.card p{font-size:12px}[data-cards]>.card>.error{font-size:11px}dialog .badge{font-size:11px}
