:root{--ink:#1c3035;--muted:#667c83;--line:#dce5e8;--paper:#fff;--ground:#f4f6f8;--accent:#146958;--accent-soft:#e8f4ee;--side:#133c40;--radius:14px}
*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:15px/1.6 system-ui,"Microsoft YaHei",sans-serif}button,input,select{font:inherit}button,select,input{border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#fff;color:var(--ink)}button{cursor:pointer}button:hover{background:#f0f5f4}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #45a692;outline-offset:3px}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h2{font-size:20px}h3{font-size:17px}summary{cursor:pointer;list-style-position:outside}code,pre{font-family:ui-monospace,Consolas,monospace}pre{white-space:pre-wrap;overflow-wrap:anywhere}input[type=checkbox]{accent-color:var(--accent)}[hidden]{display:none!important}
.workspace-header{height:78px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;color:#fff;background:var(--side);border-radius:12px;font:600 22px serif}.brand-name{font-size:18px;font-weight:700;line-height:1.35}.brand small{display:block;font-size:12px;letter-spacing:2px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:10px}.header-actions a{text-decoration:none}.header-actions .workflow-link{padding:9px 13px;background:var(--accent);color:#fff;border-radius:8px}.header-actions button{white-space:nowrap}
.workspace{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 78px)}.workspace-sidebar{padding:26px 18px;background:var(--side);color:#fff}.sidebar-heading{font-size:15px;margin:0 10px 20px;font-weight:650}.sidebar-heading small{display:block;color:#a2bcbc;font-size:12px;font-weight:400;margin-top:5px}.sidebar-section{margin-top:24px}.sidebar-section h2{font-size:12px;letter-spacing:1px;color:#9ebabc;font-weight:500;margin:0 10px 10px}.sidebar-section label{display:block;color:#bdd0d0;font-size:13px;margin-bottom:14px}.sidebar-section select{width:100%;margin-top:7px}.workspace-sidebar .classification-bar{display:flex;flex-direction:column;gap:14px;align-items:stretch;padding:0;margin:0;border:0;border-radius:0;background:none}.workspace-sidebar .classification-bar>label{display:flex;flex-direction:column;align-items:stretch;gap:5px;color:#b6cccc;font-size:13px}.workspace-sidebar .classification-bar select,.workspace-sidebar .sidebar-section select{background:#214a4e;color:#f3f8f7;border-color:#3a5d61;border-radius:8px;font-size:14px;min-width:0}.workspace-sidebar .classification-bar>label:has(input){display:flex;flex-direction:row;align-items:flex-start;color:#d9e6e6;font-size:13px;margin-top:5px}.workspace-sidebar input[type=checkbox]{margin:5px 5px 0 0}.workspace-sidebar #windmoon{background:#d6ece4;color:#154f45;border:0;font-size:14px;text-align:left}.workspace-sidebar #clear-classification{background:none;border-color:#49676a;color:#bed3d1;font-size:13px}.workspace-sidebar #classification-note{width:auto;color:#9ebbbc;font-size:12px;line-height:1.75;margin-top:4px}.sidebar-tip{border-top:1px solid #3c5b5e;margin-top:24px;padding-top:18px;color:#a1bdbd;font-size:12px;line-height:1.8}.sidebar-tip a{color:#d8eae4}
.catalog-main{padding:28px 32px 40px;min-width:0;max-width:1880px;width:100%;margin:0 auto}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:21px}.catalog-heading h1{font-size:28px;letter-spacing:-.6px;line-height:1.3;margin:0}.catalog-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.mini-metrics{display:flex;gap:22px}.mini-metrics button{background:none;border:0;padding:0 0 0 20px;border-left:1px solid var(--line);text-align:left}.mini-metrics span{display:block;color:var(--muted);font-size:12px}.mini-metrics strong{font-size:23px;color:var(--accent);font-weight:650}.mini-metrics em{font-size:12px;font-style:normal;color:var(--muted);margin-left:5px}.catalog-main .bar{display:flex;align-items:center;gap:10px;padding:0;margin:0 0 17px;background:none;position:static;box-shadow:none;z-index:auto}.bar #q{width:100%;min-width:0;max-width:560px;background:#fff;padding:11px 16px}.mobile-filter-toggle{display:none}.catalog-main .review-tabs{display:flex;align-items:center;gap:6px;margin:0;padding:0 0 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.review-tabs>button,.other-states summary{border:0;background:none;padding:9px 12px;font-size:14px;color:var(--muted);border-radius:8px}.catalog-main .review-tabs button.active{background:var(--accent-soft);color:#12614e;font-weight:650}.view-count{margin-left:7px;opacity:.72;font-size:12px}.other-states{position:relative;margin-left:auto;font-size:14px;z-index:3}.other-states summary{list-style:none}.other-states summary:after{content:'⌄';margin-left:8px}.other-states[open]>div{position:absolute;right:0;top:43px;width:230px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 30px #173b401c}.other-states button{display:block;width:100%;border:0;text-align:left;margin:2px 0}.catalog-main .pager{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:15px 0 19px;font-size:13px;color:var(--muted)}.pager #count{margin-right:auto;order:-1}.pager button{font-size:13px;padding:6px 11px}.catalog-main .save-msg:empty{display:none}.catalog-main .save-msg{font-size:13px;padding-top:8px;color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));align-items:start;gap:18px}.card{position:relative;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:15px;min-width:0;overflow:hidden;box-shadow:0 2px 3px #21394204}.card:hover{border-color:#afc4c1;box-shadow:0 6px 22px #173c400c}.card.confirmed{border:1px solid #bdcfc8}.card.archived{border:1px solid #cbd0df;background:#fff}.card-head{display:flex;justify-content:space-between;gap:6px;align-items:start;margin-bottom:10px}.card-head h2{font-size:18px;line-height:1.4;margin:0 0 2px}.card-id{font-size:11px;color:#829397;letter-spacing:.25px}.card .badge{font-size:11px;white-space:nowrap;padding:3px 7px;border-radius:5px;margin:0;background:#f0f3f4;color:#687e84;font-weight:500}.card .badge.mother-badge{background:#e5f2eb;color:#27745e}.card .badge.complete-badge{background:#e7edf9;color:#44649b}.card .badge.archive-badge{background:#eeeaf7;color:#75668d}.portrait-preview{display:flex;position:relative;justify-content:center;align-items:center;height:262px;background:linear-gradient(135deg,#e9efef,#f6f7f6 56%,#e9efee);border:1px solid #eef1f1;border-radius:9px;overflow:hidden;text-decoration:none}.portrait-preview img{width:100%;height:100%;object-fit:contain;padding:10px 9px 0}.portrait-preview .preview-label{position:absolute;left:8px;bottom:8px;font-size:11px;color:#536d6b;background:#ffffffdb;backdrop-filter:blur(5px);padding:2px 7px;border-radius:5px}.portrait-preview.placeholder{font-size:14px;color:#91a19f}.card .classification-tags{margin:10px 0 2px;font-size:12px;color:#66827b}.card .character-title{font-size:13px;color:#65767b;margin:0 0 10px;min-height:20px}.card .card-stage{display:flex;align-items:center;justify-content:space-between;color:#6e8386;font-size:12px;border-top:1px solid #eef2f2;padding-top:10px;margin-bottom:10px}.card-stage b{font-weight:500;color:#27745e}.card .card-action{display:flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid #ccdeda;border-radius:7px;background:#f4f9f7;color:#236753;padding:7px 10px;font-size:13px;margin-bottom:9px}.card .asset-drawer>summary,.card .record-drawer>summary{font-size:12px;color:#6b8085;padding:5px 0}.card .asset-drawer{border-top:1px solid #eef2f2;padding-top:6px}.pictures{display:flex;overflow-x:auto;gap:8px;margin:9px 0;padding-bottom:8px;scrollbar-width:thin}.pic{flex:0 0 136px;min-width:136px;width:136px;font-size:11px}.pic img{width:124px;height:126px;object-fit:contain;background:#eef1f0}.pic code{font-size:11px;overflow-wrap:anywhere}.pic[data-replace-path]{min-width:136px;width:136px}.pic .replace-select{font-size:11px;padding:5px 3px}.pic .replace-label{font-weight:500}.card .record-drawer{border-top:1px solid #eef2f2;margin-top:5px;padding-top:5px;font-size:12px;overflow-wrap:anywhere}.record-drawer .muted{font-size:12px}.card .status{width:100%;margin:6px 0 8px;font-size:13px}.card .note{width:100%;margin-top:8px;font-size:12px}.card .archive-btn{width:100%;font-size:12px;margin-top:8px}.card .shared-art{font-size:12px;color:#8a7248;background:#faf7ef;border-radius:5px;padding:5px 7px;margin:6px 0}.shared-art summary{font-size:12px}.shared-art p{margin:7px 0 0}.character-family{grid-column:1/-1;background:#eef3f3;border:1px solid #d6e3e1;border-radius:15px;padding:15px}.family-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:16px}.family-title small{font-size:12px;color:#71888a;font-weight:400}.family-title:before{content:'';height:16px;width:3px;background:#448b78;border-radius:2px}.character-family .grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr))}.empty{grid-column:1/-1;background:#fff;border:1px dashed var(--line);border-radius:12px;text-align:center;padding:60px 20px;color:var(--muted)}
.workspace-dialog{border:1px solid #c9d8d6;border-radius:16px;width:min(940px,calc(100vw - 36px));max-height:88vh;padding:0;background:var(--ground);color:var(--ink);box-shadow:0 25px 100px #102d3a40}.workspace-dialog::backdrop{background:#10262db3;backdrop-filter:blur(3px)}.workspace-dialog>.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.dialog-heading h2{font-size:19px;margin:0}.dialog-body{padding:24px}.workspace-dialog .replace-toolbar{margin:0;padding:20px;border:1px solid var(--line);border-radius:10px}.workspace-dialog .replace-muted{font-size:13px}.workspace-dialog .replace-toolbar h2{font-size:17px}.workspace-dialog #art-progress{margin:0!important;padding:20px!important;border-color:var(--line)!important}.workspace-dialog #art-progress strong{font-size:25px!important}.workspace-dialog .review-tools{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.report-docs{padding:20px;background:#fff;border:1px solid var(--line);border-radius:10px;margin:18px 0}.report-docs h3{font-size:16px}.report-docs p{font-size:13px;color:var(--muted)}.report-docs a{display:inline-block;margin:4px 16px 4px 0;font-size:14px}.data-scope{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.replace-dialog{font:14px/1.6 system-ui,"Microsoft YaHei"}.replace-dialog button{font-size:14px}.replace-dialog header{background:#fff;color:var(--ink)}.replace-dialog h2{font-size:20px}
@media(min-width:1680px){.grid,.character-family .grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.portrait-preview{height:290px}}
@media(max-width:1150px){.workspace{grid-template-columns:205px minmax(0,1fr)}.catalog-main{padding:23px 23px 35px}.workspace-sidebar{padding:23px 14px}.header-actions{gap:7px}.mini-metrics{gap:10px}.mini-metrics button{padding-left:13px}.mini-metrics span{font-size:11px}.catalog-heading h1{font-size:25px}.grid,.character-family .grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr))}}
@media(max-width:800px){.workspace-header{height:auto;min-height:72px;padding:13px 17px;gap:10px;flex-wrap:wrap}.brand-name{font-size:16px}.header-actions{margin-left:auto}.header-actions button,.header-actions a{font-size:12px!important;padding:8px!important}.brand small{display:none}.workspace{grid-template-columns:180px minmax(0,1fr)}.catalog-main{padding:22px 16px}.catalog-heading{align-items:start;flex-wrap:wrap}.mini-metrics{gap:20px}.mini-metrics button:first-child{border-left:0;padding-left:0}.grid,.character-family .grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.catalog-main .review-tabs{gap:2px}.review-tabs>button{font-size:12px;padding:7px}.portrait-preview{height:260px}}
@media(max-width:600px){.workspace{display:block}.workspace-sidebar{display:none}.workspace.filters-visible .workspace-sidebar{display:block}.workspace-sidebar .classification-bar{display:grid;grid-template-columns:1fr 1fr}.workspace-sidebar #classification-note{grid-column:1/-1}.sidebar-heading,.sidebar-tip{display:none}.sidebar-section{margin-top:12px}.workspace-sidebar .sidebar-section{display:flex;gap:12px}.sidebar-section h2{display:none}.sidebar-section label{width:50%}.mobile-filter-toggle{display:block;white-space:nowrap}.header-actions .workflow-link{display:none}.workspace-header{padding:13px 14px}.brand-mark{width:32px;height:32px;font-size:18px}.catalog-main{padding:20px 14px}.mini-metrics strong{font-size:20px}.catalog-heading{gap:14px}.grid,.character-family .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:10px}.card-head{display:block;min-height:72px}.card-head h2{font-size:16px}.card-head .badge{display:inline-block;margin-top:5px}.portrait-preview{height:200px}.card .classification-tags,.card .character-title{font-size:11px}.character-family{padding:10px}.card-stage{gap:4px;flex-wrap:wrap}.other-states{margin-left:0}.pager #count{font-size:11px}.pager button{padding:5px 7px}.dialog-body{padding:13px}.workspace-dialog>.dialog-heading{padding:16px}.header-actions button{font-size:11px!important}.card .shared-art summary{font-size:11px}}
.workspace-header{position:sticky;top:0;z-index:10}
@media(min-width:801px){.workspace-sidebar{position:sticky;top:78px;height:calc(100vh - 78px);overflow-y:auto;align-self:start;scrollbar-width:thin;scrollbar-color:#537778 var(--side)}}
@media(prefers-reduced-motion:no-preference){button,a.card-action{transition:background .15s,border-color .15s}.card{transition:border-color .15s,box-shadow .15s}}

.card-sync-status{font-size:12px;color:#2a7464;background:#edf7f1;border-radius:5px;padding:5px 7px;margin:-3px 0 10px}
