:root{--ink:#20213c;--navy:#222341;--paper:#f4f2fa;--white:#fff;--violet:#4c32b4;--lav:#e7e0ff;--coral:#ff826e;--blue:#b6c9ff;--muted:#554e70;--line:#dcd6ea}
body{background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif}
header{min-height:126px;gap:20px;padding:22px max(24px,calc((100vw - 1340px)/2));background:var(--navy);border-bottom:5px solid var(--coral)}
header>div:first-child{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:18px}
header>div:first-child br{display:none}
header strong{font-family:"Bahnschrift Condensed","Arial Narrow",sans-serif;font-size:clamp(33px,5vw,61px);line-height:.9;letter-spacing:-.045em}
header small{grid-row:2;grid-column:1;color:#e2daf8;margin-top:10px;font-weight:600;font-size:12px}
header>div:first-child::after{content:"CARD LAB";grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:start;background:var(--coral);color:var(--ink);font:800 13px "Bahnschrift",sans-serif;letter-spacing:.10em;padding:8px 10px;border-radius:4px;transform:rotate(-7deg)}
header #demo{background:var(--blue);color:var(--ink);border:2px solid var(--ink);font-weight:800}
.header-user{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:0;margin-left:auto;padding:9px 13px;border:1px solid #77708f;border-left:3px solid var(--coral);border-radius:8px;background:#ffffff0d;text-align:right}
.header-user span{max-width:min(240px,100%);color:#fff;font-size:15px;font-weight:800;overflow-wrap:anywhere}
.header-user small{max-width:min(240px,100%);margin:0;color:#e2daf8;font-size:12px;font-weight:500;overflow-wrap:anywhere}
main{max-width:1400px;grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:"rail rail" "bench inspector";gap:22px;padding:22px 24px 50px}
main>nav{grid-area:rail;position:static;border:0;box-shadow:none;background:transparent;padding:0}
main>nav h2{font-size:12px;letter-spacing:.13em;margin:0 0 8px;color:var(--muted)}
#steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
#steps button{width:auto;min-width:0;min-height:50px;margin:0;padding:8px 11px;border:1px solid var(--line);border-bottom:3px solid #c4b7e7;background:#fff;text-align:left;font-size:13px;color:var(--ink)}
#steps button.active{background:var(--navy);border-color:var(--navy);border-bottom-color:var(--coral);color:white}
main>section{grid-area:bench;padding:22px;background:#fff;box-shadow:0 7px 0 #e6e0f0;border:1px solid var(--line);border-radius:17px}
main>aside{grid-area:inspector;grid-column:auto;position:sticky;top:16px;padding:16px;background:#eef0ff;border:1px solid #d4dcf5;border-radius:15px;box-shadow:none}
main>aside h2{background:var(--navy);color:white;padding:12px;margin:-8px -8px 10px;border-radius:9px;font-size:14px}
#layers p{margin:6px 0;padding:9px 8px;background:#fff;border-left:3px solid #8d75d3;border-radius:5px;color:var(--ink);font-size:13px}
aside hr{border:0;border-top:1px dashed #a59abf}aside summary{font-weight:700}
#heading{display:grid;gap:7px;padding:16px 20px;background:linear-gradient(102deg,#e2dcff,#f3eeff);border:1px solid #d5c9fa;border-radius:12px}
#heading .tag{justify-self:start;background:var(--navy);color:#fff;padding:3px 8px;border-radius:4px;font-weight:700}
#heading h1{font-size:clamp(25px,4vw,38px);line-height:1.13;letter-spacing:-.045em;margin:0}
#heading p{margin:0;color:var(--muted)}
#editor details{padding:10px 12px;background:#f8f6fc;border:1px solid var(--line);border-radius:9px}
#editor details summary{font-weight:750}
.batch-toolbar,.batch-card{border:1px solid var(--line);background:#f6f3ff}
#job-status{background:#e9e4ff}
#editor>.row{border-top:1px solid var(--line);padding-top:12px}
button,.person-file-button{border:1px solid #d4c9ec;background:#eee7fa;color:var(--ink);font-weight:700;border-radius:8px}
button.primary{background:var(--violet);color:white;border-color:var(--violet)}
button:not(:disabled):hover{filter:brightness(.95)}
button:disabled{opacity:.56}
:where(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #215fc2;outline-offset:3px}
input:not([type=range]):not([type=file]):not([type=color]),select,textarea{background:white;color:var(--ink);border:1px solid #a197b8;border-radius:7px;max-width:100%}
figure{background:#e5e4f3;border:1px solid #d2cce5;padding:10px}canvas{border-radius:6px}
#shared-controls{max-width:1352px;margin:20px auto 0;padding:15px 18px;background:white;border:1px solid var(--line);border-radius:12px}
#shared-controls:has(#employee-login:not([hidden])){max-width:420px;margin:45px auto 24px;padding:23px;border-top:6px solid var(--coral);box-shadow:0 8px 0 #e0d8f4}
#shared-controls:has(#employee-login:not([hidden]))::before{content:"员工登录";font-size:26px;font-weight:900}
#shared-controls #employee-login{display:grid;gap:4px}
#employee-login input{display:block;width:100%;margin-top:5px}
#shared-status:empty,#status:empty{display:none}
#project-title-form,#project-history{flex:1 0 100%}
#project-title-form label{margin:0}
#project-history{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#faf8ff}
#project-history summary{color:var(--violet);font-weight:700}
#project-history ul{list-style:none;margin:4px 0 0;padding:0}
#project-history li{display:flex;justify-content:space-between;align-items:center;gap:8px}
#project-history li button{flex:none;padding:4px 8px}
@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 218px;gap:15px;padding-inline:16px}#shared-controls{margin-inline:16px}#steps button{padding-inline:7px}}
@media(max-width:760px){main{grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "bench" "inspector"}main>aside{position:static;max-height:none}#steps{grid-template-columns:repeat(4,minmax(0,1fr))}main>section{padding:14px}}
@media(max-width:540px){header{min-height:98px;padding:16px;flex-wrap:wrap}header>div:first-child::after{display:none}.header-user{padding:7px 9px}.header-user span,.header-user small{max-width:130px}header #demo{max-width:113px;font-size:12px}#steps{grid-template-columns:repeat(2,minmax(0,1fr))}#shared-controls:has(#employee-login:not([hidden])){margin:22px 16px}}
@media(max-width:540px){
 header:has(.header-user:not([hidden])){flex-wrap:nowrap}
 header:has(.header-user:not([hidden]))>div:first-child{min-width:0}
 header:has(.header-user:not([hidden])) strong{font-size:clamp(22px,6vw,33px)}
 .header-user span,.header-user small{max-width:min(130px,100%)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.person-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.person-panel{min-width:0;padding:14px;border:1px solid var(--line);background:#f8f6fc;border-radius:11px}
.person-panel h2{margin:0 0 10px}
.person-panel p{margin:6px 0;overflow-wrap:anywhere}
.person-character{margin-bottom:12px}
.person-character-row,.person-character-options,.person-character-actions,.person-character form{display:flex;align-items:center;gap:8px}
.person-character-row{justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.person-character-options,.person-character form{flex-wrap:wrap;min-width:0}
.person-character-options{align-items:stretch}
.person-character-actions{margin-left:auto}
.person-character-card{position:relative;display:grid;align-content:start;gap:5px;width:90px;margin:0;padding:5px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;text-align:center}
.person-character-card input{position:absolute;width:1px;height:1px;opacity:0}
.person-character-card:has(input:checked){border-color:var(--violet);background:var(--lav);box-shadow:0 0 0 1px var(--violet)}
.person-character-card:focus-within{outline:2px solid var(--violet);outline-offset:2px}
.person-character-thumb{display:block;height:72px;border-radius:5px;background:#fff;overflow:hidden}
.person-character-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.person-character-caption{font-size:13px;overflow-wrap:anywhere}
.person-character form{margin-top:8px}
.person-character input[type=text]{flex:0 1 340px;min-width:0;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font:inherit}
.person-character button{flex:none}
#person-character-status:empty{display:none}
.person-source{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.person-command{display:flex;flex-direction:column;align-items:stretch}
#person-upload-status:empty{display:none}
.person-image-frame{min-width:0;min-height:190px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:repeating-conic-gradient(#eee 0% 25%,white 0% 50%) 0 0/16px 16px}
.person-source .person-image-frame{width:min(144px,40vw);height:112px;min-height:0}
.person-image-frame img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.person-command textarea{flex:1;min-height:130px;margin-bottom:10px;resize:vertical}
.person-prompt-row{position:relative;display:flex;align-items:center;gap:9px;margin:0 0 10px}
.person-prompt-help{flex:none}
.person-prompt-preview{position:absolute;z-index:5;top:100%;left:0;width:min(100%,40rem);max-height:min(48vh,22rem);overflow:auto;padding:12px 14px;border:1px solid #c4b3eb;border-radius:9px;background:#fcfaff;color:var(--ink);box-shadow:0 6px 18px #33214f26;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.55;visibility:hidden}
.person-prompt-help:hover .person-prompt-preview,.person-prompt-help:has(:focus-visible) .person-prompt-preview{visibility:visible}
.person-prompt-toggle{display:grid;place-items:center;width:38px;height:38px;flex:none;padding:7px;border-radius:9px;background:#e8e6eb;border:1px solid #b9b5c2;color:#686571}
.person-prompt-toggle[aria-pressed="true"]{background:#e3edff;border-color:#2e67d1;color:#205bc2;box-shadow:inset 0 0 0 1px #2e67d1}
.person-prompt-toggle svg{width:21px;height:21px}
.person-prompt-label{font-size:13px;font-weight:700;color:var(--muted)}
.person-prompt-label span{font-weight:500}
.person-model-actions{display:flex;gap:8px;flex-wrap:wrap}
.film-direct-actions{margin-top:8px}
#film-size{min-width:0;max-width:100%;padding:7px;font:inherit}
.film-crop-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}
.film-crop-compare small{color:var(--muted);font-variant-numeric:tabular-nums}
.film-crop-compare [data-imagine-zoom]{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.film-crop-compare img{display:block;width:100%;height:clamp(180px,36vw,520px);margin-top:5px;object-fit:contain;background:#eeedf2}
#film-hd-toggle{background:#e8e6eb;border-color:#b9b5c2;color:#686571}
#film-hd-toggle[aria-pressed=true]{background:#5631a6;border-color:#5631a6;color:#fff}
.person-result{margin:12px 0;background:#fff}
.person-result-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.person-result-heading h2{margin:0}
#editor :is(#person-review-actions,#film-review-actions,#logo-review-actions){position:relative;padding:4px 8px;font-size:12px}
.person-result-menu{position:absolute;z-index:2;right:0;top:calc(100% + 4px);width:min(220px,75vw);padding:10px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 3px 14px #33214f18}
.person-result-menu .row{margin:6px 0}
.person-result .person-image-frame{height:clamp(230px,42vw,560px)}
.person-result .person-image-frame:not(:has(img)){height:112px;min-height:112px}

.imagine-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.imagine-counts label{display:flex;align-items:center;gap:4px;margin:0;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}
.imagine-counts label:has(input:checked){background:var(--lav);border-color:var(--violet)}
.imagine-counts input{accent-color:var(--violet)}
.imagine-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.imagine-option{display:grid;justify-items:center;gap:6px;min-width:0}
.imagine-option[data-imagine-zoom]{cursor:zoom-in}
.imagine-option img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:5px}


.person-command.is-running{background:#fff0ee;border-color:#edaaa3}
.imagine-running-label{color:#8b2924;font-weight:800}
main>aside.studio-sidebar{display:grid;gap:12px;padding:0;background:transparent;border:0}
.studio-side-panel{min-width:0;padding:16px;background:#eef0ff;border:1px solid #d4dcf5;border-radius:15px}
#imagine-history{padding:0;overflow:hidden;background:#fcfaff;border-color:#d1c4ef}
.imagine-history-header{display:flex;align-items:center;gap:9px;padding:13px 10px;border-bottom:1px solid #d1c4ef}
.imagine-history-header svg{flex:none;width:32px;height:32px;padding:5px;border:1px solid #a991df;border-radius:7px;color:var(--violet);background:#f4eeff}
.imagine-history-header h2{margin:0;padding:0;background:none;color:var(--ink);font-size:16px}
.imagine-history-scope{margin:2px 0 0;font-size:12px;color:var(--muted)}
#imagine-history-rows>p{margin:12px}
#imagine-history-rows ol{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}
#imagine-history-rows li{display:grid;grid-template-columns:27px minmax(0,1fr);gap:7px;align-items:center;margin:0;padding:10px 8px;border-bottom:1px solid #e3d9f5;font-size:12px}
#imagine-history-rows li:nth-child(even){background:#f6f2fc}
#imagine-history-rows li:has(.imagine-history-preview){grid-template-columns:27px minmax(0,1fr) auto}
.imagine-history-number{display:grid;place-items:center;min-height:32px;border-right:1px solid #bcabe9;color:var(--violet);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.imagine-history-card,.imagine-history-title>*{min-width:0}
.imagine-history-title{display:flex;align-items:baseline;gap:5px;overflow-wrap:anywhere}
.imagine-history-title strong{font-size:14px;line-height:1.3}
.imagine-history-character{color:#56349b;font-weight:700;font-size:11px}
.imagine-history-meta,.imagine-history-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;overflow-wrap:anywhere}
.imagine-history-meta{margin-top:3px;color:var(--muted);font-size:11px}
.imagine-history-meta time{white-space:nowrap;font-variant-numeric:tabular-nums}
.imagine-history-actions{margin-top:6px}
.imagine-history-badge{padding:3px 5px;border-inline-start:2px solid #8172a5;border-radius:4px;background:#f1edf8;font-size:11px;line-height:1.35}
.success .imagine-history-badge{background:#e4f5e4;border-color:#3caa4b}
.running .imagine-history-badge{background:#fff3d7;border-color:#e6a015}
.failed .imagine-history-badge{background:#fce8e9;border-color:#e76270}
.imagine-history-actions details[open]{flex-basis:100%;min-width:0}
.imagine-history-actions summary{color:#4f358a;font-size:11px;list-style:none}
.imagine-history-actions summary::-webkit-details-marker{display:none}
.imagine-history-actions summary::after{content:" ›"}
.imagine-history-actions details[open]>summary::after{content:" ⌄"}
.imagine-history-request-body{display:grid;gap:4px;margin-top:5px;color:var(--muted);font-size:11px}
.imagine-history-request-body span{display:block}
.imagine-history-preview{width:clamp(38px,4vw,52px);height:clamp(38px,4vw,52px);object-fit:contain;background:#f0eaf9;border-radius:6px}

.imagine-card{min-width:0}
.imagine-card .imagine-option{width:100%;padding:5px}
.imagine-card div.imagine-option{border:1px solid transparent}
.imagine-card-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:5px;margin-top:6px;font-size:12px}
.imagine-card-footer>div:first-child{flex:1 1 68px;min-width:0}
.imagine-card-name{overflow-wrap:anywhere}
.imagine-archive-groups{display:grid;gap:8px;margin-top:8px}
.imagine-archive-groups>details>summary{overflow-wrap:anywhere}
#imagine-zoom{padding:14px;max-width:95vw;max-height:95vh;border:1px solid var(--line);border-radius:14px}
#imagine-zoom::backdrop{background:#221c35cc}
#imagine-zoom>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
#imagine-zoom h2{margin:0}
#imagine-zoom img{display:block;width:min(86vw,1200px);height:min(76vh,850px);object-fit:contain;background:#f8f6fc;border-radius:8px}
#imagine-zoom:has(#imagine-zoom-nav:not([hidden])) img{height:min(70vh,850px)}
#imagine-zoom-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
#imagine-zoom-nav span{font-variant-numeric:tabular-nums;color:var(--muted)}
#imagine-zoom-nav [aria-disabled="true"]{opacity:.56;cursor:default}
.imagine-marks{display:flex;gap:3px;flex:none;margin-left:auto}
.imagine-marks button,.imagine-marks .asset-download{padding:3px 5px;line-height:1.25;font-size:13px;background:#fff}
.imagine-marks .asset-download{display:grid;place-items:center;color:var(--ink);border:1px solid #d4c9ec;border-radius:8px}
.imagine-marks .asset-download:hover{filter:brightness(.95)}
.asset-download svg{width:16px;height:16px}
.imagine-marks button[aria-pressed=true]{background:#ffe69a;border-color:#a66d00;box-shadow:0 0 0 1px #a66d00}
@media(max-width:480px){.imagine-options{gap:6px}.imagine-card-footer{gap:3px}}

.imagine-history-nav{display:flex;justify-content:center;align-items:center;gap:8px;padding:10px 6px;font-size:12px}
.imagine-history-nav button{padding:4px 6px;background:#fcfaff;color:#4f358a;border-color:#c4b1e9;font-size:12px}
