/* Layout, media, controls and small-screen refinements. */
.user-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.creation-toggles{display:flex;align-items:center;gap:16px;margin-left:auto;flex-wrap:wrap}.creation-toggles .reference-name-toggle{margin-left:0}
body{font-family:'Segoe UI','Microsoft YaHei',sans-serif;font-weight:400}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a.button{text-decoration:none}.auth-art{background:radial-gradient(ellipse at 15% 60%,#51402e 0,transparent 50%),linear-gradient(135deg,#161c1e,#0a0c0e)}.auth-art:before{content:"";position:absolute;width:340px;height:340px;border:1px solid #a17e4c44;border-radius:50%;right:-120px;top:140px;box-shadow:0 0 0 58px #ab86520a,0 0 0 116px #ab865207}.sidebar{overflow-y:auto}.side-head{padding-left:6px;padding-right:6px}.brand{letter-spacing:.1em;font-size:13px}.nav-item{height:35px}.nav-label-gap{margin-top:17px}#admin-nav{display:grid;gap:3px}.side-bottom{padding-top:26px}.topbar{font-size:12px}.view-head h1{font-size:33px;letter-spacing:-.045em}.view-head p{line-height:1.8}.view-root{max-width:1380px}.composer-options{grid-template-columns:2fr 1fr 1fr}.composer{padding:22px 24px;background:linear-gradient(120deg,#181b1d,#141719)}.composer-head{margin-bottom:17px}.type-tabs{display:flex;gap:5px}.type-tabs button{border:0;background:none;color:#858d91;font-size:12px;padding:10px 13px;border-radius:6px}.type-tabs button.selected{color:#f3eadd;background:#303331}.prompt{min-height:156px}.reference-row{display:flex;align-items:center;gap:9px;margin-top:13px;flex-wrap:wrap;font-size:10px}.upload-ref{border:1px dashed #3d4347;background:#1c2022;color:#bec0b9;height:33px;border-radius:6px;padding:0 11px;font-size:10px}.ref-thumb{width:44px;height:44px;padding:0;position:relative;background:#222;border:1px solid #555;border-radius:5px;overflow:hidden}.ref-thumb img{width:100%;height:100%;object-fit:cover}.ref-thumb span{position:absolute;right:0;top:0;background:#141719cc;color:white;padding:0 3px}.hint-block{font-size:11px;color:#80898d;line-height:1.7;align-self:center}.studio-footer{display:flex;align-items:center;gap:8px;font-size:10px;color:#5e686d;margin-top:24px}.studio-footer>span:last-child{margin-left:auto;font:9px monospace;letter-spacing:.1em}.empty{padding:35px 15px;line-height:1.8;color:#899196}.empty-icon{display:block;font-size:27px;color:#4a565d;line-height:1.4;margin-bottom:7px}.status-chip{white-space:nowrap}.status-error{background:#35231f;color:#eea28b}.job-label{max-width:240px;display:flex;gap:9px;align-items:center}.job-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button-ghost{color:#b5bfbe;background:#242a2c;border:1px solid #3b4346;height:34px;font-size:11px;padding:0 12px}.model-card{text-align:left;min-width:0}.model-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.model-card h3{overflow-wrap:anywhere}.table-wrap .button{margin-right:5px}.credit-plus{color:var(--green)!important;font-family:monospace}.gallery-grid,.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.asset-card{border:1px solid var(--line);border-radius:10px;background:#15191b;overflow:hidden}.gallery-image{width:100%;height:195px;display:block;object-fit:contain;background:#090b0c}.asset-caption{padding:15px}.asset-caption b{font-size:12px}.asset-prompt{color:#7f8a90;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:13px;font-size:10px}.asset-placeholder{height:195px;padding:25px;color:#89938f;background:radial-gradient(ellipse at 80% 80%,#30362c 0,transparent 75%),#181d1e;display:flex;align-items:center;justify-content:center;flex-direction:column}.asset-placeholder>span{font-size:32px;color:#c2b79a}.asset-placeholder p{font-size:12px;line-height:1.7;overflow:hidden;max-height:83px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px}.form-actions>.muted{font-size:11px}.form-row.three{grid-template-columns:repeat(3,1fr)}.panel input[type=file]{padding:9px;height:42px}.panel input[type=file]::file-selector-button{background:#2b3236;border:0;color:#c7c9c4;padding:3px 8px;border-radius:3px}.big-balance{font:40px monospace;color:#f2e4cd;margin:32px 0 25px}.big-balance span{font:12px sans-serif;color:#8d9796;margin-left:12px}.balance-panel{background:radial-gradient(ellipse at 110% 30%,#3b3125 0,transparent 75%),#15181b}.redeem-panel,.balance-panel{padding:28px}.modal-backdrop{padding:20px;overflow:auto;align-items:start}.modal{margin:auto;max-height:calc(100vh - 40px);overflow:auto;width:min(620px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.modal-head h2{font-size:19px;margin:0}.icon-button{border:0;background:#2b3235;color:#b6beba;width:28px;height:28px;border-radius:5px;font-size:20px}.modal .form-grid label{display:grid;gap:8px;color:#929d9f;font-size:12px}.modal input{height:42px;border:1px solid #455055;border-radius:6px;background:#101416;color:#e6e4dc;padding:0 10px}.secret-block{user-select:all;max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.modal .gallery-image{height:auto;max-height:55vh}.gallery-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.picker-card{padding:0 0 7px;border:1px solid #414b4f;background:#1a2023;color:#ced1c8;border-radius:6px;overflow:hidden}.picker-card img{width:100%;height:95px;object-fit:cover}.picker-card span{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.connection{color:#8b9696}.nav-label{color:#87918f}.muted{color:#929c9f!important}.data-table th{color:#929b9c}.data-table{min-width:650px}.code-block{overflow-wrap:anywhere}select option{color:#ddd;background:#191d20}.view-head>button{flex-shrink:0}
@media(max-width:1100px){.gallery-grid,.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-head .tiny-label{display:none}.topbar{padding:0 24px}.view-root{padding-left:24px;padding-right:24px}.form-actions{align-items:flex-start;flex-direction:column}.form-actions button{align-self:flex-end}.panel-grid{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{height:66px;overflow-x:auto;overflow-y:hidden;display:block}.nav-list{justify-content:flex-start;gap:3px;width:max-content}.nav-item{height:48px;min-width:65px}.nav-label,.nav-label-gap{display:none}#admin-nav{display:flex}.nav-badge{display:none!important}.view-head{gap:12px;flex-wrap:wrap;margin-bottom:23px}.view-head h1{font-size:28px}.view-head .button{height:34px;font-size:11px}.view-root{padding:25px 16px 65px}.type-tabs button{padding:8px 9px;font-size:11px}.composer{padding:17px 14px}.composer-options{grid-template-columns:1fr 1fr}.composer-options .select-wrap:first-child{grid-column:1/-1}.gallery-grid,.asset-grid{grid-template-columns:1fr}.studio-footer>span:last-child{display:none}.form-row.three{grid-template-columns:1fr}.model-grid{grid-template-columns:1fr}.balance-chip{font-size:10px}.brand{font-size:12px}.auth-panel{padding:28px 24px}.auth-content{margin:auto}.auth-content>.brand{margin-bottom:32px}.modal{padding:19px}.modal-actions{flex-wrap:wrap}.form-actions{gap:9px}.nav-list #admin-nav .nav-label{display:none}}
.sidebar{scrollbar-width:thin;scrollbar-color:#333b3e #111315}.stat-number,.big-balance{font-family:Consolas,monospace}.tiny-label,.eyebrow-muted,.code,.mono{font-family:Consolas,monospace}
.admin-page{--accent:#8ed4bd;--accent-2:#b4e6d7}.admin-page .auth-error{margin:0;color:#ac3029;font-size:12px;line-height:1.6}.admin-page .admin-user-site,.admin-page .side-bottom a{text-decoration:none}.admin-page .admin-identity{white-space:nowrap}.admin-page .admin-identity b{font-weight:600}.admin-page .admin-logout{height:30px}.admin-page .nav-list{gap:8px}@media(max-width:650px){.admin-page .admin-identity{display:inline;font-size:10px}.admin-page .top-actions{gap:7px}.admin-page .avatar{display:none}.admin-page .admin-user-site{font-size:10px}.admin-page .admin-logout{padding:0 8px;font-size:10px}}
.asset-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#15191b;font-size:11px}.asset-toolbar label,.asset-top-actions label{display:flex;align-items:center;gap:6px}.asset-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:9px 10px;border-bottom:1px solid var(--line-soft)}.asset-top-actions .button{height:30px;font-size:10px;padding:0 10px}
.pager-size{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted)}.pager-size select{width:auto;min-width:78px;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}.pager-size select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pager-size select:disabled{cursor:wait;opacity:.65}
.job-prompt-short,.job-prompt-details{font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:12px 0 18px;min-width:0}.job-prompt-short{white-space:pre-wrap;max-height:180px;overflow:auto}.job-prompt-details summary{cursor:pointer;white-space:normal}.job-prompt-toggle{display:block;color:var(--accent);font-size:11px;margin-top:5px}.job-prompt-details[open] .job-prompt-toggle{font-size:0}.job-prompt-details[open] .job-prompt-toggle:after{content:'收起完整提示词';font-size:11px}.job-prompt-full{max-height:180px;overflow:auto;white-space:pre-wrap;padding:10px 12px;margin-top:8px;border:1px solid var(--line);border-radius:6px}.reference-media-section{margin-top:12px}.reference-media-controls{display:flex;flex-wrap:wrap;gap:12px}.reference-media-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px}.reference-media-control .upload-ref:disabled{opacity:.5;cursor:default}.reference-media-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.reference-media-card{max-width:320px;min-width:0;flex:1 1 260px;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px}.reference-media-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.reference-media-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-media-card audio,.reference-media-card video{display:block;width:100%;max-height:180px;margin:8px 0;border-radius:5px}.dola-media-settings{border:1px solid var(--line);border-radius:8px;padding:15px;min-width:0}.dola-media-settings[hidden],.dola-media-settings [hidden]{display:none}.dola-media-settings legend{padding:0 6px;font-weight:600}.dola-media-settings .check-line{display:flex;align-items:center;gap:8px}.dola-media-settings .check-line input{width:16px;height:16px;margin:0}.dola-media-settings .muted{font-size:11px;line-height:1.7;margin:0}
.jobs-pager{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px 0;font-size:11px;color:#a1abad}.pager-total{margin-right:auto}.pager-controls{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.pager-button{min-width:32px;height:32px;padding:0 10px;border:1px solid #3b4346;border-radius:5px;background:#1a2022;color:#c4ccca;font-size:11px;cursor:pointer}.pager-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pager-button.active,.pager-button.active:disabled{background:#38392f;border-color:var(--accent);color:var(--accent);opacity:1}.pager-button:disabled{cursor:default;opacity:.4}.pager-page{white-space:nowrap;font-variant-numeric:tabular-nums}.reference-limit-error{color:#f2a18e}.jobs-pager[aria-busy=true]{opacity:.7}@media(max-width:650px){.jobs-pager{gap:9px}.pager-total{width:100%}.pager-controls{gap:4px}.pager-button{height:31px;min-width:28px;padding:0 7px;font-size:10px}}
.asset-toolbar{flex-wrap:wrap}.download-help,.download-notice{font-size:11px;color:var(--muted);margin:8px 0 16px}.download-notice{min-height:16px}.key-actions{display:flex;align-items:center;gap:8px}.batch-download-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:11px}.batch-download-toolbar label,.batch-item-select{display:flex;align-items:center;gap:7px}.batch-download-toolbar>span{color:var(--muted)}
.announcement-published-at{font-size:11px!important;margin:0 0 12px!important;color:var(--muted)!important}.announcement-modal .modal-actions{justify-content:space-between;align-items:center}.announcement-dismiss{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;cursor:pointer}.announcement-dismiss input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
@media(max-width:650px){.asset-toolbar{align-items:stretch}.asset-toolbar .button,.asset-toolbar .link-button{flex:1 1 calc(50% - 8px);min-height:36px}.asset-toolbar label{flex-basis:100%;height:30px}.batch-download-toolbar{align-items:flex-start}.batch-download-toolbar .button{width:100%}.batch-download-toolbar>span{line-height:1.5}.key-actions{flex-wrap:wrap;justify-content:flex-end}}

.prompt-footer{display:flex;align-items:center;gap:12px;min-height:42px;flex-wrap:wrap;padding:5px 12px;background:#101214;border:1px solid #30363c;border-top:0;border-radius:0 0 9px 9px}.prompt-footer .char-count{position:static;flex:0 0 auto;margin-left:auto;white-space:nowrap}.prompt-hint{color:#858d91;font-size:11px;line-height:1.5}.prompt-tools{display:flex;align-items:center;gap:6px;margin-left:auto}.prompt-tool{min-height:29px;padding:0 9px;border:1px solid #343a3f;border-radius:5px;background:#1b2023;color:#c7cbc7;font:inherit;font-size:10px;cursor:pointer}.prompt-tool:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.prompt-tool:disabled{opacity:.45;cursor:default}.prompt-mention-menu{position:absolute;z-index:8;left:10px;top:calc(100% + 4px);width:min(340px,calc(100% - 20px));max-height:235px;overflow:auto;padding:6px;border:1px solid #3a4247;border-radius:7px;background:#191e21;box-shadow:0 10px 28px #0009}.prompt-mention-menu[hidden]{display:none}.mention-option{display:flex;width:100%;align-items:center;gap:10px;padding:7px;border:0;border-radius:5px;background:transparent;color:#e5e7e2;text-align:left;cursor:pointer}.mention-option:hover,.mention-option:focus-visible{background:#292f32;outline:none}.mention-option img{width:38px;height:38px;flex:0 0 38px;object-fit:cover;border-radius:4px}.mention-option span{display:grid;gap:4px;min-width:0}.mention-option b{font-size:11px}.mention-option small{max-width:245px;overflow:hidden;color:#858e90;text-overflow:ellipsis;white-space:nowrap}.mention-empty{margin:0;padding:12px;color:#969e9f;font-size:11px}.reference-row{align-items:flex-start}.reference-thumbs{display:flex;gap:8px;flex-wrap:wrap}.reference-item{width:62px;flex:0 0 62px;cursor:grab;touch-action:manipulation}.reference-item.is-dragging{opacity:.45}.reference-item.is-drop-target .reference-preview{outline:2px solid var(--accent);outline-offset:2px}.reference-preview{position:relative;width:62px;height:62px;overflow:hidden;border:1px solid #444c50;border-radius:6px;background:#111416}.reference-preview img{display:block;width:100%;height:100%;object-fit:cover}.reference-number{position:absolute;left:3px;bottom:3px;padding:2px 4px;border-radius:3px;background:#111d;color:#fff;font-size:9px}.reference-remove{position:absolute;right:3px;top:3px;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:#111d;color:#fff;font-size:15px;line-height:18px;cursor:pointer}.reference-order{display:flex;align-items:center;justify-content:center;gap:7px;height:23px;color:#858d91;font-size:10px}.reference-order button{width:22px;height:20px;padding:0;border:0;border-radius:4px;background:#252b2e;color:#c5cbc8;cursor:pointer}.reference-order button:disabled{opacity:.35;cursor:default}.reference-order span{cursor:grab}.prompt{border-radius:9px 9px 0 0;padding-bottom:17px}.prompt:focus+.prompt-footer{border-color:#77736b}@media(max-width:650px){.prompt-footer{gap:8px;padding:7px 9px}.prompt-hint{flex-basis:100%}.prompt-tools{margin-left:0}.prompt-footer .char-count{margin-left:auto}.reference-item{width:58px;flex-basis:58px}.reference-preview{width:58px;height:58px}}

/* Keep user task text compact without changing the stored prompt or failure. */
.job-detail-text,.job-detail-details{font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:12px 0 18px;min-width:0}.job-detail-text{white-space:pre-wrap;max-height:220px;overflow:auto}.job-detail-details summary{cursor:pointer;white-space:normal}.job-detail-toggle{display:block;color:var(--accent);font-size:11px;margin-top:5px}.job-detail-details[open] .job-detail-toggle{font-size:0}.job-detail-details[open] .job-detail-toggle:after{content:"收起完整说明";font-size:11px}.job-detail-full{max-height:220px;overflow:auto;white-space:pre-wrap;padding:10px 12px;margin-top:8px;border:1px solid var(--line);border-radius:6px;user-select:text}.job-label{min-width:0}.job-label span{min-width:0;display:block}.asset-caption{min-width:0}.asset-prompt{max-width:100%;min-width:0}.modal-actions{flex-wrap:wrap}
