#page-library{padding-top:20px}
.library-page.workspace-stage-shell{width:min(var(--adaptive-workspace-wide,1680px),100%);gap:18px;margin:0 auto;padding:0 2px 120px;box-sizing:border-box}
.library-pipeline{display:flex;width:max-content;max-width:100%;gap:3px;margin:-4px 0 8px;padding:3px;overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:var(--soft);scrollbar-width:none}
.library-pipeline::-webkit-scrollbar{display:none}
.library-pipeline button{display:flex;flex:none;align-items:center;gap:6px;height:34px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.library-pipeline button:hover{color:var(--ink)}
.library-pipeline button.on{background:var(--panel);color:var(--ink);box-shadow:0 2px 8px rgba(20,24,30,.06)}
.library-pipeline button>strong{font-size:10px}
.library-pipeline button>small{color:inherit;font-size:9px;font-weight:700;opacity:.7}
.library-workspace-panel.workspace-stage-panel{padding:0;border:0;border-radius:0;background:transparent}
.library-toolbar.workspace-panel-head{position:sticky;z-index:5;top:62px;display:flex;align-items:flex-end;gap:18px;margin:0 0 14px;padding:10px 0 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}
.library-toolbar-copy{display:flex;min-width:130px;flex-direction:column}
.library-toolbar-copy strong{color:var(--ink);font-size:15px}
.library-toolbar-copy span{margin-top:4px;color:var(--muted);font-size:10px}
.library-toolbar-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:7px;margin-left:auto}
.library-toolbar-actions label{display:flex;min-width:150px;flex-direction:column;gap:5px;color:var(--muted);font-size:9px}
.library-toolbar-actions select{height:39px;min-width:0;padding:0 30px 0 11px;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--panel);color:var(--ink);font:inherit;font-size:10px}
.library-toolbar-actions select:focus{border-color:#bfc5ce;box-shadow:0 0 0 3px rgba(118,132,255,.1)}
.library-toolbar-actions .library-project{min-width:170px}.library-toolbar-actions .library-sort{min-width:118px}
.library-toolbar-actions .tool-btn{height:39px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:10px;white-space:nowrap}
.library-toolbar-actions .tool-btn:hover,.library-toolbar-actions .tool-btn.on{border-color:#c8cdd5;background:var(--soft)}
.library-toolbar-actions .tool-btn.primary{border-color:var(--ink);background:var(--ink);color:var(--panel);font-weight:700}
.library-toolbar-actions .tool-btn[hidden]{display:none}
.library-selection>div{display:flex;align-items:center;gap:7px}
.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(238px,100%),1fr));gap:14px}
.library-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--panel);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.library-card:hover{border-color:#d2d6dd;box-shadow:0 10px 28px rgba(20,23,28,.07);transform:translateY(-1px)}
.library-check{cursor:pointer}
.library-grid.selecting .library-check{opacity:1;transform:none;pointer-events:auto}
.library-card.selected .library-check{background:#687fff}
.library-check input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.library-check span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.library-card-media{position:relative;display:grid;width:100%;height:206px;padding:0;place-items:center;overflow:hidden;border:0;background:var(--soft);cursor:pointer;isolation:isolate}
.library-card-media img{position:absolute;inset:0;width:100%;height:100%}
.library-card-media .library-card-backdrop{z-index:0;object-fit:cover;filter:blur(18px) saturate(.72) brightness(.93);opacity:.5;transform:scale(1.14)}
.library-card-media .library-card-image{z-index:1;object-fit:contain}
.library-card[data-library-kind="scene"] .library-card-media .library-card-image{object-fit:cover}
.library-card-media:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.library-card-media .library-status{z-index:2}
.library-placeholder{display:flex;width:100%;height:100%;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(145deg,var(--panel),var(--soft));color:var(--muted)}
.library-placeholder span{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);font-size:10px;font-weight:700}
.library-placeholder small{font-size:9px}
.library-status{position:absolute;right:9px;bottom:9px;height:25px;display:inline-flex;align-items:center;padding:0 9px;border-radius:8px;background:rgba(32,34,38,.76);color:#fff;font-size:8px;font-weight:700;backdrop-filter:blur(7px)}
.library-status.ready{background:rgba(38,123,82,.86)}
.library-status.ready.review-unreviewed{background:rgba(163,112,22,.88)}
.library-status.ready.review-rejected{background:rgba(182,60,60,.88)}
.library-status.failed{background:rgba(182,60,60,.86)}
.library-status.queued,.library-status.running{background:rgba(163,112,22,.88)}
.library-card-copy{padding:13px 13px 10px}
.library-card-title{display:flex;min-width:0;flex-direction:column;gap:4px}
.library-card-title span{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.library-card-title strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.library-card-meta{display:flex;gap:5px;margin-top:8px;overflow:hidden}
.library-card-meta span{height:20px;display:inline-flex;align-items:center;padding:0 6px;border-radius:6px;background:var(--soft);color:var(--muted);font-size:8px;white-space:nowrap}
.library-card-meta span:last-child{overflow:hidden;text-overflow:ellipsis}
.library-card-copy p{display:-webkit-box;min-height:17px;overflow:hidden;margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.55;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.library-card footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 12px 12px}
.library-card footer button{height:36px;min-width:0;padding:0 9px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.library-card footer button:last-child:nth-child(odd){grid-column:1/-1}
.library-card footer button:hover{background:var(--soft)}
.library-card footer .primary{border-color:var(--ink);background:var(--ink);color:var(--panel);font-weight:700}
.library-card footer button:disabled{cursor:default;opacity:.45}
.library-loading,.library-empty{grid-column:1/-1;display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--line);border-radius:15px;color:var(--muted);font-size:11px}
.library-loading span{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:library-spin .8s linear infinite}
.library-empty strong{color:var(--ink);font-size:11px}
.library-empty.error strong{color:#b44b4b}
@keyframes library-spin{to{transform:rotate(360deg)}}
.library-editor[hidden]{display:none}
.library-editor{position:fixed;z-index:80;left:var(--rail);inset-block:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) 440px;background:var(--bg);color:var(--ink);animation:detailIn .2s ease}
.library-editor-stage{position:relative;min-width:0;display:grid;place-items:center;padding:26px 62px;background:#eef0f2;overflow:hidden}
.library-editor-close{position:absolute;z-index:2;right:18px;top:18px;width:40px;height:40px;border:0;border-radius:10px;background:#f4f4f4;color:#111318;display:grid;place-items:center;cursor:pointer;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}
.library-editor-close:hover{background:#dedfe1;transform:scale(1.05);box-shadow:0 5px 14px rgba(18,21,26,.1)}
.library-editor-close svg,.library-editor-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.library-editor-media{width:100%;height:100%;display:grid;place-items:center}
.library-editor-media img{display:block;max-width:100%;max-height:calc(100vh - 52px);width:auto;height:auto;object-fit:contain;border-radius:13px;box-shadow:0 18px 55px rgba(17,20,27,.12)}
.library-editor-media .library-placeholder{width:min(560px,80%);height:min(560px,72vh);border-radius:16px}
.library-editor-nav{position:absolute;right:18px;top:50%;display:grid;gap:6px;transform:translateY(-50%)}
.library-editor-nav button{width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.9);color:#202329;display:grid;place-items:center;box-shadow:0 4px 16px rgba(18,22,30,.08);cursor:pointer}
.library-editor-nav button:hover{background:#fff}.library-editor-nav button:disabled{opacity:.32;cursor:default}
.library-editor-panel{min-width:0;height:100dvh;max-height:100dvh;box-sizing:border-box;border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;overflow:hidden}
.library-editor-scroll{min-height:0;display:flex;flex:1;flex-direction:column;gap:14px;padding:27px 26px 20px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.library-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.library-editor-head span{color:var(--muted);font-size:10px}
.library-editor-head h2{margin:5px 0 0;color:var(--ink);font-size:22px;line-height:1.35;letter-spacing:-.025em}
.library-editor-head>strong{height:25px;display:inline-flex;align-items:center;padding:0 8px;border-radius:7px;background:var(--soft);color:var(--muted);font-size:8px;white-space:nowrap}
.library-editor-head>strong.approved{background:#e8f6ed;color:#278a52}.library-editor-head>strong.rejected,.library-editor-head>strong.failed{background:#fff0f1;color:#b94e57}.library-editor-head>strong.unreviewed,.library-editor-head>strong.queued,.library-editor-head>strong.running{background:#fff7df;color:#8a641d}
.library-editor-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px}.library-editor-meta i{width:1px;height:10px;background:var(--line)}
.library-editor-facts{display:flex;flex-wrap:wrap;gap:6px}
.library-editor-facts:empty{display:none}
.library-editor-facts>span{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 8px;border-radius:8px;background:var(--soft);color:var(--ink);font-size:9px}
.library-editor-facts small{color:var(--muted);font-size:8px}
.library-editor-note{padding:11px;border:1px solid #efd0d2;border-radius:10px;background:#fff6f6}.library-editor-note span{color:#b94e57;font-size:8px;font-weight:700}.library-editor-note p{margin:6px 0 0;color:#8c555a;font-size:9px;line-height:1.6}
.library-editor label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px}
.library-editor input,.library-editor textarea,.library-editor select{box-sizing:border-box;width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--panel);color:var(--ink);font:inherit;font-size:11px;line-height:1.55;resize:vertical}
.library-editor select{height:39px;padding-block:0}
.library-editor textarea{min-height:76px;max-height:220px}.library-editor #libraryEditorPrompt{height:150px;min-height:150px}.library-editor #libraryEditorNegative{height:92px;min-height:92px}
.library-editor input:focus,.library-editor textarea:focus,.library-editor select:focus{border-color:#bfc5ce;box-shadow:0 0 0 3px rgba(118,132,255,.1)}
.library-editor-review-actions{display:flex;gap:7px}.library-editor-review-actions:empty{display:none}.library-editor-review-actions button{height:34px;padding:0 11px;border:0;border-radius:9px;background:var(--soft);color:var(--ink);font-size:9px;cursor:pointer}.library-editor-review-actions button.approve{background:#e8f6ed;color:#278a52;font-weight:700}
.library-editor footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;flex:none;padding:14px 26px 22px;border-top:1px solid var(--line);background:var(--panel);box-shadow:0 -12px 28px rgba(24,27,34,.035)}
.library-editor footer.approved{grid-template-columns:repeat(6,minmax(0,1fr))}
.library-editor footer.approved button{grid-column:span 2}
.library-editor footer.approved button:nth-last-child(2){grid-column:2/span 2}
.library-editor footer.approved .primary{grid-column:4/span 2}
.library-editor footer button{height:40px;min-width:0;padding:0 10px;border:0;border-radius:10px;background:var(--soft);color:var(--ink);font-size:9px;cursor:pointer}
.library-editor footer .primary{border-color:var(--ink);background:var(--ink);color:var(--panel);font-weight:700}
.library-editor footer button:disabled{opacity:.42;cursor:default}
/* 资源工作区降噪：保留完整信息与操作，减少批量卡片中的重复高对比焦点。 */
.library-toolbar.workspace-panel-head{gap:22px;margin-bottom:18px;padding:8px 0 14px;border-bottom-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(18px)}
.library-toolbar-copy{min-width:150px}.library-toolbar-copy strong{font-size:16px}.library-toolbar-copy span{margin-top:3px;font-size:9px}
.library-toolbar-actions{gap:9px}.library-toolbar-actions label{gap:4px;color:color-mix(in srgb,var(--muted) 82%,transparent);font-size:8px}
.library-toolbar-actions select{height:36px;border-color:transparent;border-radius:10px;background:var(--soft);font-size:9px}
.library-toolbar-actions .tool-btn{height:36px;border-color:transparent;border-radius:10px;background:var(--soft);font-size:9px}
.library-grid{gap:18px 16px}
.library-card{border-color:color-mix(in srgb,var(--line) 70%,transparent);border-radius:14px;box-shadow:0 1px 2px rgba(20,23,28,.025)}
.library-card:hover{border-color:#d7dbe1;box-shadow:0 8px 24px rgba(20,23,28,.055);transform:translateY(-1px)}
.library-card-media{height:188px;background:color-mix(in srgb,var(--soft) 72%,var(--bg))}
.library-placeholder{gap:5px;background:transparent;color:color-mix(in srgb,var(--muted) 82%,transparent)}
.library-placeholder span{width:auto;height:auto;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:10px}
.library-placeholder small{font-size:8px}
.library-status.draft{display:none}
.library-status{right:10px;bottom:10px;height:22px;padding:0 8px;border-radius:7px;font-size:7px}
.library-card-copy{padding:13px 14px 9px}
.library-card-title{gap:5px}.library-card-title span{font-size:8px}.library-card-title strong{font-size:12px}
.library-card-meta{gap:0;margin-top:8px;color:var(--muted)}
.library-card-meta span{height:auto;padding:0;border-radius:0;background:transparent;font-size:7px}
.library-card-meta span+span:before{content:"·";margin:0 5px;color:color-mix(in srgb,var(--muted) 55%,transparent)}
.library-card-copy p{margin-top:8px;font-size:8px;color:color-mix(in srgb,var(--muted) 86%,transparent)}
.library-card footer{gap:7px;padding:0 13px 13px}
.library-card footer button{height:34px;border-color:transparent;border-radius:9px;background:transparent;font-size:9px}
.library-card footer button:hover{background:var(--soft)}
.library-card footer .primary{border-color:transparent;background:var(--soft);color:var(--ink);font-weight:650}
.library-card footer .primary:hover{background:var(--ink);color:var(--panel)}
.library-card footer button:focus-visible,.library-toolbar-actions :is(select,.tool-btn):focus-visible{outline:0;box-shadow:0 0 0 3px rgba(100,132,196,.14)}
.library-operations{display:flex;align-items:stretch;gap:10px;margin:-4px 0 8px}
.library-worker,.library-queue{display:flex;min-width:0;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:11px;background:color-mix(in srgb,var(--panel) 74%,transparent)}
.library-queue[hidden],.library-toolbar-actions .library-project[hidden]{display:none!important}
.library-worker{flex:0 1 430px}.library-worker-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#b1b6bf;box-shadow:0 0 0 4px color-mix(in srgb,#b1b6bf 14%,transparent)}.library-worker.online .library-worker-dot{background:#25a864;box-shadow:0 0 0 4px color-mix(in srgb,#25a864 14%,transparent)}.library-worker.offline .library-worker-dot{background:#c35858}
.library-worker>div{display:flex;min-width:0;flex-direction:column;gap:2px}.library-worker strong,.library-queue strong{color:var(--ink);font-size:10px}.library-worker small,.library-queue small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.library-queue{width:fit-content;max-width:100%;flex:0 1 auto;justify-content:flex-start;gap:8px;padding:6px 7px 6px 9px;border-color:transparent;border-radius:9px;background:var(--soft)}
.library-queue:before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#bd862b;box-shadow:0 0 0 3px color-mix(in srgb,#bd862b 12%,transparent)}
.library-queue>div:first-child{display:flex;min-width:0;align-items:center;gap:7px}.library-queue strong{font-size:9px;white-space:nowrap}.library-queue small{font-size:8px}
.library-queue-actions{display:flex;gap:2px;margin-left:2px}.library-queue-actions button{height:26px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:8px;cursor:pointer}.library-queue-actions button:hover{background:var(--panel);color:var(--ink)}.library-queue-actions button[hidden]{display:none}
.library-filter-menu{position:relative}.library-filter-menu>summary{display:flex;align-items:center;list-style:none;cursor:pointer}.library-filter-menu>summary::-webkit-details-marker{display:none}.library-filter-menu[open]>summary{background:var(--ink);color:var(--panel)}
.library-filter-popover{position:absolute;z-index:12;right:0;top:44px;display:grid;width:360px;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:0 18px 50px rgba(18,22,29,.14)}.library-filter-popover label{min-width:0!important}.library-filter-popover label:last-of-type{grid-column:1/-1}.library-filter-popover button{grid-column:1/-1;height:32px;border:0;border-radius:8px;background:var(--soft);color:var(--muted);font-size:9px;cursor:pointer}
.library-toolbar-actions button:disabled{opacity:.42;cursor:default}
.library-card-copy[role="button"]{cursor:pointer}.library-card-copy[role="button"]:focus-visible{outline:0;box-shadow:inset 0 0 0 2px rgba(100,132,196,.25)}
.library-card[data-library-status="draft"] .library-card-media,.library-card[data-library-status="failed"] .library-card-media{height:64px}.library-card[data-library-status="draft"] .library-placeholder,.library-card[data-library-status="failed"] .library-placeholder{min-height:64px;flex-direction:row}.library-card[data-library-status="draft"] .library-placeholder small,.library-card[data-library-status="failed"] .library-placeholder small{font-size:7px}.library-card[data-library-status="draft"] .library-card-copy p{display:none}.library-card[data-library-status="draft"] .library-card-copy,.library-card[data-library-status="failed"] .library-card-copy{padding-top:11px}
.library-card-more{position:relative;min-width:0}.library-card-more>summary{display:flex;height:34px;align-items:center;justify-content:center;border-radius:9px;color:var(--muted);font-size:9px;list-style:none;cursor:pointer}.library-card-more>summary::-webkit-details-marker{display:none}.library-card-more>div{position:absolute;z-index:5;right:0;bottom:39px;display:grid;width:110px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 12px 30px rgba(18,22,29,.14)}.library-card-more>div button{width:100%;border:0!important}.library-card footer .library-card-more{display:block}
.library-editor-quality,.library-editor-versions{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid var(--line);border-radius:11px}.library-editor-quality>header,.library-editor-versions>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.library-editor-quality>header strong,.library-editor-versions>header strong{font-size:10px}.library-editor-quality>header span,.library-editor-versions>header span{color:var(--muted);font-size:8px}.library-editor-quality>header span.accepted{color:#278a52}.library-editor-quality>header span.blocked{color:#b94e57}
#libraryEditorQuality{display:grid;gap:7px}#libraryEditorQuality>div{display:grid;grid-template-columns:8px minmax(0,1fr);gap:2px 7px;align-items:center}#libraryEditorQuality>div>span{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#c5cad2}#libraryEditorQuality>div.quality-pass>span{background:#36a76b}#libraryEditorQuality>div.quality-warning>span,#libraryEditorQuality>div.quality-manual>span{background:#c9983e}#libraryEditorQuality>div.quality-blocked>span{background:#c35858}#libraryEditorQuality strong{font-size:9px}#libraryEditorQuality small{color:var(--muted);font-size:7px}
.library-version-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.library-version-list>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:8px;line-height:1.5}.library-version-list button{position:relative;min-width:0;padding:2px;overflow:hidden;border:1px solid transparent;border-radius:8px;background:var(--soft);cursor:pointer}.library-version-list button.current{border-color:#3a9b68}.library-version-list button.selected{box-shadow:0 0 0 2px rgba(100,132,196,.2)}.library-version-list img{display:block;width:100%;height:58px;border-radius:6px;object-fit:cover}.library-version-list span{display:block;padding:4px 2px 2px;overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.library-version-compare{display:grid;grid-template-columns:1fr 1fr;gap:6px}.library-version-compare[hidden]{display:none}.library-version-compare figure{margin:0}.library-version-compare img{display:block;width:100%;height:100px;border-radius:7px;background:var(--soft);object-fit:contain}.library-version-compare figcaption{margin-top:3px;color:var(--muted);font-size:7px;text-align:center}.library-version-compare>button{grid-column:1/-1;height:30px;border:0;border-radius:8px;background:var(--ink);color:var(--panel);font-size:8px;cursor:pointer}
.library-editor-open{overflow:hidden}
html[data-theme="dark"] .library-pipeline button.on{background:#30343a}
html[data-theme="dark"] .library-editor-stage{background:#101114}html[data-theme="dark"] .library-editor-note{border-color:#633b3e;background:#39282a}html[data-theme="dark"] .library-editor-note p{color:#dca0a5}
@media(max-width:1200px){.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-toolbar.workspace-panel-head{align-items:flex-start;flex-direction:column}.library-toolbar-actions{width:100%;justify-content:flex-start;margin-left:0;flex-wrap:wrap}.library-toolbar-actions label{flex:1}.library-operations{flex-wrap:wrap}.library-worker{flex:auto}}
@media(max-width:820px){.library-page.workspace-stage-shell{padding:8px 8px 110px}.library-hero.workspace-stage-header{align-items:flex-start;flex-direction:column}.library-summary.workspace-stage-metrics{width:100%;justify-content:space-between;margin-left:0}.library-toolbar.workspace-panel-head{top:60px}.library-toolbar-actions{align-items:stretch;flex-wrap:wrap}.library-toolbar-actions label{min-width:calc(50% - 5px)}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.library-editor{left:0;grid-template-columns:1fr;overflow:auto}.library-editor-stage{min-height:58vh;padding:58px 16px 18px}.library-editor-media{height:52vh}.library-editor-media img{max-height:52vh}.library-editor-panel{height:auto;max-height:none;min-height:42vh;border-left:0;border-top:1px solid var(--line);overflow:visible}.library-editor-scroll{overflow:visible;padding:20px 17px}.library-editor footer{padding:14px 17px 105px}.library-editor-close{right:12px;top:12px}.library-editor-nav{right:12px}}
@media(max-width:620px){#page-library{padding:18px 13px 96px}.library-page.workspace-stage-shell{gap:16px;padding:4px 0 100px}.library-hero.workspace-stage-header{padding:10px 2px 16px}.library-summary.workspace-stage-metrics{width:auto}.library-toolbar-actions label{min-width:100%}.library-toolbar-actions .tool-btn{flex:1}.library-filter-menu{flex:1}.library-filter-menu>summary{justify-content:center}.library-filter-popover{position:fixed;inset:auto 12px 92px;width:auto}.library-grid{gap:8px}.library-card-media{height:165px}.library-card[data-library-status="draft"] .library-card-media,.library-card[data-library-status="failed"] .library-card-media{height:58px}.library-card-copy p{display:none}.library-card footer{flex-wrap:wrap}.library-card footer button{flex:1 1 42%}.library-queue{flex-wrap:wrap}.library-queue>div:first-child{flex-wrap:wrap}.library-editor footer,.library-editor footer.approved{grid-template-columns:1fr 1fr}.library-editor footer.approved button,.library-editor footer.approved button:nth-last-child(2){grid-column:auto}.library-editor footer.approved .primary{grid-column:1/-1}}

/* 资源页第二阶段：批量操作渐进呈现、统一卡片节奏并提高可读性。 */
.library-toolbar.workspace-panel-head{align-items:center;padding-block:10px 13px}
.library-toolbar-actions{align-items:center}
.library-toolbar-actions>label{min-width:132px}
.library-toolbar-actions>.library-sort{display:block;min-width:132px}
.library-toolbar-actions>.library-sort>span{display:none}
.library-toolbar-actions>.library-sort select{width:100%;height:36px;border-color:transparent;border-radius:10px;background:var(--soft);font-size:9px}
.library-toolbar-actions .library-more-menu{position:relative}
.library-toolbar-actions .library-more-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer}
.library-toolbar-actions .library-more-menu>summary::-webkit-details-marker{display:none}
.library-toolbar-actions .library-more-menu[open]>summary{background:var(--ink);color:var(--panel)}
.library-production-inline{display:flex;flex:none;align-items:center;gap:8px;margin-left:auto}
.library-production-inline .library-engine{width:190px;max-width:190px;flex:0 0 190px}
.library-more-popover{position:absolute;z-index:13;right:0;top:44px;display:grid;width:150px;gap:11px;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:0 18px 50px rgba(18,22,29,.14)}
.library-more-popover button{height:36px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:12px;cursor:pointer}
.library-more-popover button:hover{background:var(--soft)}
.library-active-filters{display:flex;align-items:center;gap:7px;margin:-4px 0 14px;overflow-x:auto;scrollbar-width:none}
.library-active-filters[hidden]{display:none}.library-active-filters::-webkit-scrollbar{display:none}
.library-active-filters button{display:flex;flex:none;align-items:center;gap:7px;height:30px;padding:0 10px;border:0;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;cursor:pointer}
.library-active-filters button:hover{color:var(--ink)}.library-active-filters b{font-size:14px;font-weight:500}
.library-selection>div{flex-wrap:wrap;justify-content:flex-end}
.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px}
.library-card{display:flex;min-height:100%;flex-direction:column}
.library-card-media,.library-card[data-library-status="draft"] .library-card-media,.library-card[data-library-status="failed"] .library-card-media{height:auto;min-height:0;aspect-ratio:4/3}
.library-card[data-library-status="draft"] .library-placeholder,.library-card[data-library-status="failed"] .library-placeholder{min-height:0;flex-direction:column}
.library-placeholder span{font-size:12px}.library-placeholder small,.library-card[data-library-status="draft"] .library-placeholder small,.library-card[data-library-status="failed"] .library-placeholder small{font-size:11px}
.library-status{height:26px;padding-inline:9px;font-size:10px}
.library-status.draft{display:inline-flex;background:rgba(74,78,86,.7)}
.library-card-copy,.library-card[data-library-status="draft"] .library-card-copy,.library-card[data-library-status="failed"] .library-card-copy{display:flex;flex:1;flex-direction:column;padding:15px 15px 11px}
.library-card[data-library-status="draft"] .library-card-copy p{display:-webkit-box}
.library-card-title span{font-size:11px}.library-card-title strong{font-size:14px;line-height:1.35}
.library-card-meta{flex-wrap:wrap;row-gap:4px}.library-card-meta span{font-size:10px}
.library-card-copy p{min-height:36px;margin-top:10px;font-size:11px;line-height:1.65;-webkit-line-clamp:2}
.library-card-variants{display:flex;gap:3px;margin-top:8px}
.library-card-variants button{position:relative;display:flex;min-width:0;height:25px;align-items:center;gap:6px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:9px;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}
.library-card-variants button:hover{background:var(--soft);color:var(--ink)}
.library-card-variants button:focus-visible{outline:0;border-color:#bfc5ce;box-shadow:0 0 0 2px rgba(100,132,196,.12)}
.library-card-variants button.on{border-color:transparent;background:var(--soft);color:var(--ink);font-weight:650}
.library-card-variants button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.library-card-variants button i{width:6px;height:6px;flex:none;border-radius:999px;background:#aeb3bc}
.library-card-variants button i.running,.library-card-variants button i.queued{background:#bd862b}
.library-card-variants button i.ready{background:#bd862b}
.library-card-variants button i.ready.approved{background:#3b9365}
.library-card-variants button i.failed,.library-card-variants button i.rejected{background:#bd4e57}
.library-card-variants~.library-card-meta{margin-top:7px}
.library-card-variants~p{display:none}
.library-card footer{margin-top:auto;padding:0 14px 14px}
.library-card footer button,.library-card footer :is(.library-card-use,.library-card-more)>summary{height:36px;font-size:11px}
.library-card-use{position:relative;min-width:0}
.library-card-use>summary{display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--soft);color:var(--ink);font-weight:700;list-style:none;cursor:pointer}
.library-card-use>summary::-webkit-details-marker{display:none}.library-card-use[open]>summary{background:var(--ink);color:var(--panel)}
.library-card-use>div{position:absolute;z-index:6;left:0;bottom:42px;display:grid;width:150px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 14px 34px rgba(18,22,29,.16)}
.library-card-use>div button{width:100%;border:0;background:transparent;text-align:left}.library-card-use>div button:hover{background:var(--soft)}
.library-load-more{display:block;width:min(360px,100%);height:42px;margin:24px auto 0;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--muted);font-size:12px;cursor:pointer}
.library-load-more:hover{border-color:#cdd2da;color:var(--ink)}.library-load-more[hidden]{display:none}
.library-worker.online{flex:0 0 auto;padding:8px 11px;border-color:transparent;background:transparent}
.library-worker.online small{display:none}.library-worker.online strong{font-size:11px}.library-worker.offline{border-color:#ead2d2;background:#fff7f7}
html[data-theme="dark"] .library-worker.offline{border-color:#603b3f;background:#362729}
@media(max-width:1400px){.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-selection{top:112px;align-items:flex-start;flex-direction:column}.library-selection>div{justify-content:flex-start}.library-toolbar-actions>label{min-width:120px}.library-card-title strong{font-size:13px}}
@media(max-width:540px){.library-grid{grid-template-columns:1fr;gap:12px}.library-card-media,.library-card[data-library-status="draft"] .library-card-media,.library-card[data-library-status="failed"] .library-card-media{aspect-ratio:16/10}.library-toolbar-actions>label{min-width:100%}.library-more-popover{position:fixed;inset:auto 12px 92px;width:auto}.library-production-inline{width:auto;margin-left:auto}.library-production-inline .library-engine{width:190px;max-width:190px;flex:0 0 190px}.library-selection{position:relative;top:auto}.library-selection>div{display:grid;width:100%;grid-template-columns:1fr 1fr}.library-selection button.primary{grid-column:1/-1}}

/* 仅统一创作页“剧本资产”的文字层级，不改变资源卡片尺寸、结构和栅格。 */
.library-workspace-panel .library-toolbar-copy strong{font-size:13px;line-height:1.5;font-weight:720}
.library-workspace-panel .library-toolbar-copy span{font-size:9px;line-height:1.5}
.library-workspace-panel .library-placeholder span{font-size:8px;font-weight:700;line-height:1.4}
.library-workspace-panel .library-placeholder small,.library-workspace-panel .library-card[data-library-status="draft"] .library-placeholder small,.library-workspace-panel .library-card[data-library-status="failed"] .library-placeholder small{font-size:7px;line-height:1.5}
.library-workspace-panel .library-status{font-size:8px;font-weight:650;line-height:1}
.library-workspace-panel .library-card-title span{font-size:9px;line-height:1.5}
.library-workspace-panel .library-card-title strong{font-size:11px;font-weight:720;line-height:1.5}
.library-workspace-panel .library-card-meta span{font-size:9px;line-height:1.5}
.library-workspace-panel .library-card-copy p{font-size:10px;line-height:1.65}
.library-workspace-panel .library-card footer button,.library-workspace-panel .library-card footer :is(.library-card-use,.library-card-more)>summary{font-size:9px;font-weight:650;line-height:1}
.library-workspace-panel .library-selection{font-size:9px;line-height:1.5}
.library-workspace-panel .library-selection button,.library-workspace-panel .library-active-filters button{font-size:9px;line-height:1}

/* 资源生产控制台：所有状态共用固定外框和图片区，状态切换不改变卡片或整行高度。 */
.library-operations{margin:0 0 12px}
.library-worker.online{padding:7px 0}.library-worker.online small{display:block;max-width:520px}
.library-grid{grid-auto-rows:360px;align-items:start}
.library-card{height:360px;min-height:360px}
.library-card-media,
.library-card:is([data-library-status="draft"],[data-library-status="queued"],[data-library-status="running"],[data-library-status="failed"]) .library-card-media{height:176px;min-height:176px;aspect-ratio:auto}
.library-card:is([data-library-status="draft"],[data-library-status="queued"],[data-library-status="running"],[data-library-status="failed"]) .library-placeholder{min-height:176px;flex-direction:column;gap:8px}
.library-card:is([data-library-status="draft"],[data-library-status="queued"],[data-library-status="running"],[data-library-status="failed"]) .library-placeholder span{font-size:10px}
.library-card-copy,
.library-card:is([data-library-status="draft"],[data-library-status="queued"],[data-library-status="running"],[data-library-status="failed"]) .library-card-copy{min-height:0;padding-top:11px;overflow:hidden}
.library-card:is([data-library-status="draft"],[data-library-status="queued"],[data-library-status="running"],[data-library-status="failed"]) .library-card-copy p{display:none}
.library-card:is([data-library-status="draft"],[data-library-status="queued"],[data-library-status="running"],[data-library-status="failed"]) .library-card-meta{max-height:34px;overflow:hidden}
/* 媒体区参考分镜卡片使用独立灰底，避免待生成占位与工作区融在一起。 */
.library-workspace-panel .library-card-media{background:#eceff2}
.library-workspace-panel .library-placeholder{background:#eceff2}
html[data-theme="dark"] .library-workspace-panel .library-card-media,html[data-theme="dark"] .library-workspace-panel .library-placeholder{background:#24272d}
.library-editor-license{border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.library-editor-license>summary{padding:11px 12px;color:var(--ink);font-size:10px;font-weight:700;list-style:none;cursor:pointer}
.library-editor-license>summary::-webkit-details-marker{display:none}
.library-editor-license>summary:after{content:"展开";float:right;color:var(--muted);font-size:8px;font-weight:500}
.library-editor-license[open]>summary:after{content:"收起"}
.library-editor-license>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 12px}
.library-editor-license>div label:nth-child(3),.library-editor-license>div label:nth-child(4),.library-editor-license>div label:last-child{grid-column:1/-1}
.library-editor #libraryProjectField[hidden]{display:none!important}
.library-editor #libraryProjectField{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}
@media(max-width:620px){.library-editor-license>div{grid-template-columns:1fr}.library-editor-license>div label{grid-column:1!important}.library-worker.online small{white-space:normal}}
