:root{color-scheme:dark;--paper:#eee8d7;--gold:#cfb772;--muted:#a6ab9f;--border:#41473d;--panel:#222722}*{box-sizing:border-box}body{margin:0;background:#151a17;color:var(--paper);font:15px/1.6 system-ui,"Microsoft YaHei",sans-serif;background-image:radial-gradient(ellipse at 15% 0,#2b332750,transparent 60%)}main{max-width:1240px;margin:auto;padding:34px 28px}header{display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:23px;margin-bottom:28px}small{color:var(--gold);font-size:11px;letter-spacing:2px}h1{font-size:31px;font-weight:500;margin:5px 0}h1 span{font:13px Georgia,serif;letter-spacing:3px;color:var(--gold);display:inline-block;margin-left:13px}header p{margin:4px 0;color:var(--muted)}h2{font-size:18px;font-weight:500;margin:0}.connection{font-size:12px;border:1px solid var(--border);border-radius:30px;padding:8px 13px;white-space:nowrap}.connection.online{color:#bed1a6}.connection.offline{color:#e4af98}.layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,1.15fr);gap:38px;align-items:start}.preview{background:linear-gradient(160deg,#2b322a,#202520);border:1px solid var(--border);border-radius:16px;padding:24px;position:sticky;top:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-head>span{font-size:14px}.pill{border:1px solid #5c644d;border-radius:20px;padding:3px 9px;color:var(--gold);font-size:11px!important}.canvas-wrap{text-align:center;min-height:300px}canvas{width:min(100%,300px);height:auto;box-shadow:0 18px 40px #0006;touch-action:none;cursor:move;border-radius:11px}.hint{font-size:12px;color:var(--muted);margin:10px 0}.preview>.hint{text-align:center}.step{display:flex;gap:14px;margin-bottom:18px}.step b{font:25px Georgia,serif;color:var(--gold);border-bottom:1px solid var(--gold);align-self:start}.step p{font-size:13px;color:var(--muted);margin:3px 0}.upload{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:5px;border:1px dashed #777b5d;border-radius:10px;background:#242a22;padding:19px;position:relative;cursor:pointer;margin-top:0}.upload>span{color:var(--gold);font-size:16px}.upload small{letter-spacing:0;color:var(--muted)}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.upload:focus-within{outline:2px solid var(--gold)}label{display:block;margin:15px 0 6px;font-size:13px}.optional{color:var(--muted);font-size:11px;margin-left:5px}input[type=text],textarea,select{width:100%;padding:10px 12px;background:#232923;border:1px solid #4b5346;color:var(--paper);font:inherit;border-radius:7px}textarea{resize:vertical}input[type=range]{width:100%;accent-color:var(--gold)}button{font:inherit;cursor:pointer;border:1px solid #59634f;border-radius:7px;background:#2a3128;color:var(--paper);padding:9px 13px}button:hover{background:#3a4333}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.row{display:flex;gap:8px}.row button{flex:1;font-size:12px;white-space:nowrap}.primary{width:100%;background:var(--gold);color:#191f19;font-weight:600;border:1px solid var(--gold);margin-top:14px;padding:12px}.primary:hover:not(:disabled){background:#e3ce92}.draw-button{margin-top:8px;font-size:17px}.quiet{border:0;background:transparent;padding:5px 0;font-size:12px;color:var(--gold)}.preview>.quiet{display:block;margin:auto}#status,#generation-status{font-size:12px;color:var(--gold);min-height:22px;margin:8px 0;overflow-wrap:anywhere}.reference-preview{display:flex;gap:14px;align-items:center;background:#20251f;border:1px solid var(--border);border-radius:9px;padding:10px;margin-top:12px}.reference-preview[hidden]{display:none}.reference-preview img{width:66px;height:82px;object-fit:cover;border-radius:5px}.reference-preview strong,.reference-preview span{display:block;word-break:break-all}.reference-preview strong{font-size:13px}.reference-preview span{font-size:11px;color:var(--muted)}.style-note{display:flex;gap:12px;align-items:center;padding:15px 0}.style-images{display:flex;gap:5px}.style-images img{width:42px;height:54px;object-fit:cover;border-radius:5px}.style-note strong{font-size:12px;font-weight:500}.style-note p{font-size:11px;color:var(--muted);margin:3px 0}.settings{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.settings select{font-size:12px;padding:9px 6px}.cost{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#252b21;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-top:18px}.cost p{font-size:12px;margin:0;color:#d6c998}.cost button{font-size:11px;padding:6px 10px;white-space:nowrap}.divider{border-top:1px solid var(--border);margin:24px 0}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.skills button{font-size:13px}.skills button[aria-pressed=true]{background:var(--gold);color:#191f19;border-color:var(--gold)}details{border-top:1px solid var(--border);margin-top:16px;padding-top:12px;font-size:12px}summary{cursor:pointer;color:var(--muted)}a{color:var(--gold)}.gallery-section{border-top:1px solid var(--border);margin-top:38px;padding-top:23px}.gallery-section .section-head p{font-size:12px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.candidate{padding:0;overflow:hidden;text-align:left;border:1px solid var(--border);background:#232923;position:relative}.candidate img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.candidate span{display:block;padding:9px 11px;font-size:12px}.candidate[aria-pressed=true]{border:2px solid var(--gold)}.candidate[aria-pressed=true]:after{content:'已入卡';position:absolute;right:7px;top:7px;background:var(--gold);color:#20241e;border-radius:4px;font-size:10px;padding:3px 6px}.empty{grid-column:1/-1;text-align:center;padding:42px 15px;border:1px dashed var(--border);border-radius:10px;color:#c4c8b9;font-size:14px}.empty span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.job{padding:12px;border:1px solid var(--border);border-radius:8px;font-size:12px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.job button{font-size:11px;padding:5px 9px}.job small{display:block;letter-spacing:0;color:var(--muted);overflow-wrap:anywhere}.job.waiting{border-color:#867c54}footer{text-align:center;color:#737d6c;font:11px Georgia,serif;letter-spacing:2px;padding:35px 0 10px}@media(max-width:820px){main{padding:20px 16px}header{align-items:start;flex-direction:column;gap:12px}h1{font-size:26px}h1 span{display:block;margin:0}.layout{grid-template-columns:1fr;gap:24px}.preview{position:static;padding:18px}.canvas-wrap{min-height:0}canvas{width:min(100%,270px)}.settings{grid-template-columns:1.7fr 1fr 1fr}.gallery-section .section-head{align-items:start}.gallery-section .section-head p{max-width:120px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

#preview-retry[hidden]{display:none}
