:root{--ink:#151515;--paper:#f2f0ea;--card:#faf9f5;--line:#d6d2c8;--acid:#d8ff45;--muted:#77746c}
*{box-sizing:border-box}
*[hidden]{display:none !important}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"PingFang SC",sans-serif}
header{height:72px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{color:inherit;text-decoration:none;font-size:18px;font-weight:800;letter-spacing:-.03em}.brand span{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;background:var(--ink);color:var(--acid);border-radius:50%}
.account-info{display:flex;gap:12px;align-items:center}.credits{font-weight:800}.text-button{display:block;margin:14px auto 0;border:0;border-bottom:1px solid;background:none;padding:0;cursor:pointer}
button,select,input,textarea{font:inherit}.ghost,.close{border:0;background:transparent;cursor:pointer}.ghost{padding:9px 14px;border:1px solid var(--line);border-radius:99px}.ghost:hover{border-color:var(--ink)}
main{max-width:1320px;margin:auto;padding:clamp(42px,7vw,90px) clamp(20px,5vw,72px)}
.intro{max-width:850px;margin-bottom:48px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.24em}.intro h1{margin:14px 0 18px;font:700 clamp(46px,7vw,92px)/.94 Georgia,serif;letter-spacing:-.065em}.intro h1 em{font-weight:400;color:#69665e}.intro>p:last-child{color:var(--muted);font-size:17px}
.studio{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(400px,1.18fr);min-height:610px;border:1px solid var(--line);background:var(--card)}
.studio form{padding:clamp(24px,4vw,48px);border-right:1px solid var(--line)}label{display:block;margin:0 0 9px;font-weight:700}label small{margin-left:8px;color:var(--muted);font-weight:400}
textarea,select,input{width:100%;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);outline:none;transition:.2s}textarea{padding:16px;resize:vertical}.prompt-box{position:relative}.prompt-box textarea{padding-bottom:38px}.prompt-box span{position:absolute;right:13px;bottom:11px;color:var(--muted);font-size:11px}.compact{margin-bottom:22px}
.drop-zone{display:grid;place-items:center;gap:5px;min-height:104px;margin-bottom:10px;padding:16px;border:1px dashed #aaa69b;background:#fff;text-align:center;transition:.2s}.drop-zone.dragging{border-color:var(--ink);background:#f8f7f0}.drop-zone button{border:0;background:none;font-weight:800;cursor:pointer}.drop-zone small{color:var(--muted)}.reference-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.reference-item{position:relative;width:64px;height:64px;border:1px solid var(--line);background:#fff}.reference-item img{width:100%;height:100%;object-fit:cover}.reference-item button{position:absolute;right:-6px;top:-6px;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer}
textarea:focus,select:focus,input:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.options{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:10px;margin:22px 0}.options label{font-size:12px}.options select{margin-top:7px}select,input{height:44px;padding:0 12px}
.primary{width:100%;min-height:52px;padding:0 18px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.primary b{color:var(--acid);font-size:20px}.primary:hover{background:#2a2a2a}.primary:disabled{opacity:.55;cursor:wait}
#status{min-height:22px;margin:12px 0 0;color:var(--muted);font-size:13px}.result{position:relative;display:grid;place-items:center;min-height:560px;padding:30px;background:#e8e5dd;overflow:hidden}.placeholder{text-align:center;color:#8b887f;display:grid;gap:9px}.placeholder span{font-size:48px;color:#c7c3ba}.placeholder strong{color:#5d5b55}.result img{max-width:100%;max-height:720px;object-fit:contain;box-shadow:0 18px 60px #302d2533}.actions{position:absolute;right:18px;bottom:18px;display:flex;gap:8px}.actions a{padding:10px 14px;background:#fff;color:var(--ink);text-decoration:none;font-weight:700;border:1px solid var(--line)}
.history{margin-top:72px}.history-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.history-head .eyebrow{margin:0 0 4px}.history h2{margin:0;font:700 clamp(30px,4vw,48px)/1 Georgia,serif;letter-spacing:-.04em}.history-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.history-item{position:relative;aspect-ratio:1;background:#e8e5dd;overflow:hidden;border:1px solid var(--line);cursor:pointer}.history-item img{width:100%;height:100%;object-fit:cover;display:block}.history-item button{position:absolute;right:7px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:#ffffffe8;cursor:pointer;font-size:18px}.history-empty{grid-column:1/-1;padding:28px;border:1px dashed var(--line);text-align:center;color:var(--muted)}
.admin{max-width:1100px}.admin h1{margin:8px 0 28px;font:700 clamp(40px,6vw,72px)/1 Georgia,serif;letter-spacing:-.05em}.admin-table-wrap{overflow:auto;border:1px solid var(--line);background:var(--card)}table{width:100%;border-collapse:collapse}th,td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:12px;letter-spacing:.08em}td .ghost{margin-right:6px;padding:5px 9px}
dialog{width:min(440px,calc(100% - 32px));border:1px solid var(--ink);padding:0;background:var(--card);box-shadow:0 30px 90px #0005}dialog::backdrop{background:#1118;backdrop-filter:blur(5px)}dialog form{padding:28px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.dialog-head small{letter-spacing:.2em}.dialog-head h2{margin:3px 0;font:700 34px Georgia,serif}.close{font-size:30px}.dialog-head~label{margin-top:16px}dialog p{color:var(--muted);font-size:12px}
@media(max-width:800px){.studio{grid-template-columns:1fr}.studio form{border-right:0;border-bottom:1px solid var(--line)}.result{min-height:420px}.options{grid-template-columns:1fr 1fr}.options label:first-child{grid-column:1/-1}.intro h1{font-size:52px}}
@media(max-width:600px){.history-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){header{height:62px}.intro h1{font-size:42px}.options{grid-template-columns:1fr}.options label:first-child{grid-column:auto}.studio form{padding:20px}.result{min-height:350px}.history{margin-top:48px}}
.progress-wrap{margin-top:8px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.progress-track{height:4px;margin-top:8px;background:#e5e2da;overflow:hidden}.progress-track i{display:block;width:8%;height:100%;background:var(--ink);transition:width .6s ease;animation:progressPulse 1.4s ease-in-out infinite alternate}@keyframes progressPulse{to{opacity:.55}}
.site-disclaimer{padding:24px 20px 36px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}
.announcement{padding:30px}.announcement p{margin:14px 0;font-size:16px;line-height:1.9}.announcement .dialog-head h2{font-size:38px}
.history-pending,.history-failed{display:grid;place-items:center;color:var(--muted);font-size:13px;cursor:default}.history-failed{color:#a34b3d}
