:root{color-scheme:light;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6fa;color:#17202a;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f6fa}button,textarea,select,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.54}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(280px,1fr);align-items:center;gap:20px;height:72px;padding:0 28px;border-bottom:1px solid #e3e8f0;background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand,.account,.history-head,.actions,.summary,.label-row,.section-title,.art-overlay,.ledger-row{display:flex;align-items:center}.brand{gap:12px}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:#111827;color:#fff;font-weight:850}h1,h2,p{margin:0}.brand h1{font-size:17px;line-height:1.2;font-weight:850;letter-spacing:0}.brand p,.section-title p,.current-task p,.cost-panel p,.hint,.upload-card span,.history-head time,.ledger-row time{color:#687385}.brand p{margin-top:2px;font-size:12px}nav{display:flex;align-items:center;gap:8px;padding:4px;border-radius:10px;background:#eef2f7}nav button{min-width:82px;padding:9px 14px;border-radius:8px;background:transparent;color:#5d6675;font-size:14px;font-weight:700;text-align:center}nav button.active{background:#fff;color:#111827;box-shadow:0 1px 3px #151f2f14}.account{justify-content:flex-end;gap:12px}.points-card{display:flex;align-items:baseline;gap:8px;padding:9px 13px;border:1px solid #dbe3ee;border-radius:999px;background:#f8fafc}.points-card span{color:#687385;font-size:13px}.points-card strong{font-size:15px;color:#111827}.avatar{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;background:#e8edf5;color:#334155;font-weight:800}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 18% 20%,rgba(22,119,255,.12),transparent 28%),linear-gradient(180deg,#fff,#f4f6fa)}.login-card{width:min(430px,100%);padding:28px;border:1px solid #e1e7ef;border-radius:8px;background:#fff;box-shadow:0 22px 60px #1f29371f}.login-brand{margin-bottom:24px}.login-card form{display:grid;gap:16px}.field input{width:100%;height:44px;padding:0 12px;border:1px solid #dbe3ee;border-radius:8px;background:#fbfcfe;color:#17202a}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr) 360px;gap:22px;width:100%;max-width:1480px;margin:0 auto;padding:24px 28px 20px}.create-layout{grid-template-columns:340px minmax(0,1fr)}.page-shell{width:100%;max-width:1424px;margin:0 auto;padding:24px 28px 32px}.composer,.results,.history,.ledger,.recharge-modal{min-width:0;border:1px solid #e1e7ef;border-radius:8px;background:#fff;box-shadow:0 18px 45px #1f29370d}.composer{display:flex;flex-direction:column;gap:17px;padding:20px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:10px;background:#eef2f7}.segmented button,.chips button{border-radius:8px;background:transparent;color:#5d6675;font-size:13px;font-weight:750}.segmented button{padding:10px 0}.segmented .selected,.chips .selected{background:#111827;color:#fff}.field{display:grid;gap:8px}.field>span,.label-row span{font-size:13px;font-weight:800;color:#1f2937}.label-row{justify-content:space-between}.label-row small,.label-row strong{color:#687385;font-size:12px;font-weight:700}textarea,select{width:100%;border:1px solid #dbe3ee;border-radius:8px;background:#fbfcfe;color:#17202a}textarea{resize:vertical;min-height:138px;padding:12px;line-height:1.55}select{height:42px;padding:0 10px}textarea:focus,select:focus,input[type=range]:focus-visible,button:focus-visible{outline:3px solid rgba(22,119,255,.22);outline-offset:2px}.upload-card{display:grid;min-height:94px;place-items:center;padding:12px;border:1px dashed #b7c1d0;border-radius:8px;background:#f8fafc;text-align:center}.upload-card input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.upload-card strong{color:#334155;font-size:14px}.upload-card span{margin-top:4px;font-size:12px}.reference-list{display:grid;gap:8px}.reference-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 9px;border:1px solid #dbe3ee;border-radius:8px;background:#fff}.reference-item span{overflow:hidden;color:#334155;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.reference-item button{padding:5px 8px;background:#eef2f7;color:#5d6675;font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{padding:8px 12px;background:#eef2f7}.ratio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ratio-grid button{display:grid;gap:4px;min-height:58px;padding:10px 8px;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc;color:#334155;text-align:left}.ratio-grid button.selected{border-color:#111827;background:#111827;color:#fff}.ratio-grid strong{font-size:13px}.ratio-grid span{color:inherit;font-size:11px;opacity:.78}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}input[type=range]{accent-color:#1677ff}.cost-panel{display:grid;gap:5px;padding:14px;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc}.cost-panel div{display:flex;justify-content:space-between;color:#5d6675;font-size:13px}.cost-panel strong{color:#111827;font-size:18px}.cost-panel p,.hint{font-size:12px}.primary,.secondary{border-radius:8px;font-weight:800}.primary{background:#1677ff;color:#fff}.primary:hover{background:#0f65dc}.primary.small{height:38px;padding:0 14px;font-size:13px}.generate{height:48px;font-size:15px}.secondary{height:38px;padding:0 14px;border:1px solid #dbe3ee;background:#fff;color:#1f2937}.results,.history{padding:22px}.section-title{justify-content:space-between;gap:16px;margin-bottom:18px}.section-title h2{font-size:22px;line-height:1.2;font-weight:900;letter-spacing:0}.section-title p{margin-top:5px;font-size:13px}.summary{gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary span{padding:8px 10px;border-radius:999px;background:#f2f5f9;color:#5d6675;font-size:12px;font-weight:750}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.result-card{position:relative;display:grid;aspect-ratio:1 / 1;place-items:center;overflow:hidden;border-radius:8px;border:1px solid #dfe6ef;background:#f8fafc;color:#687385;font-size:14px}.result-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.artwork{border:0;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.85),transparent 16%),linear-gradient(135deg,#182233,#5a6e8c 48%,#f2be61)}.art-1{background:radial-gradient(circle at 66% 28%,rgba(255,255,255,.78),transparent 14%),linear-gradient(145deg,#eef5ff,#9db6d6 42%,#1f405d)}.art-2{background:radial-gradient(circle at 38% 30%,rgba(247,218,164,.9),transparent 18%),linear-gradient(135deg,#203333,#607663 54%,#e3dcc8)}.art-3{background:radial-gradient(circle at 72% 34%,rgba(255,255,255,.88),transparent 16%),linear-gradient(135deg,#2f3142,#815f75,#e7b384)}.art-overlay{position:absolute;right:12px;bottom:12px;left:12px;justify-content:space-between}.art-overlay span,.art-overlay button{padding:7px 10px;border-radius:8px;font-size:12px;font-weight:750}.art-overlay span{background:#ffffffdb;color:#111827}.art-overlay button{background:#111827d6;color:#fff}.progress-state{gap:12px;background:linear-gradient(145deg,#f8fbff,#edf4ff)}.ratio-note{color:#687385;font-size:12px;font-weight:700}.progress-ring{--progress: 0%;display:grid;width:88px;height:88px;place-items:center;border-radius:50%;background:conic-gradient(#1677ff var(--progress),#dbe6f4 0)}.progress-ring:before{position:absolute;width:64px;height:64px;border-radius:50%;background:#fff;content:""}.progress-ring span{position:relative;z-index:1;color:#111827;font-weight:850}.failed-state{gap:6px;background:#fff7f7;color:#b42318}.empty{border-style:dashed}.current-task{margin-top:18px;padding:16px;border:1px solid #e1e7ef;border-radius:8px;background:#fbfcfe}.current-task div{display:flex;align-items:center;gap:10px}.current-task strong{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.current-task p{margin-top:8px;font-size:13px}.status{display:inline-flex;align-items:center;min-width:max-content;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800}.is-queued{background:#eef2f7;color:#475569}.is-running{background:#eaf3ff;color:#0f65dc}.is-succeeded{background:#e9f8ef;color:#14743a}.is-failed,.is-blocked{background:#fff0f0;color:#b42318}.compact-title{margin-bottom:14px}.compact-title h2{font-size:18px}.history-list{display:grid;gap:12px}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-card{overflow:hidden;border:1px solid #e1e7ef;border-radius:8px;background:#fff;box-shadow:0 18px 45px #1f29370d}.work-card .result-card{border:0;border-bottom:1px solid #e1e7ef;border-radius:0}.work-card-body{display:grid;gap:10px;padding:14px}.work-card-body h3{display:-webkit-box;margin:0;overflow:hidden;color:#111827;font-size:15px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.work-card-body p{color:#687385;font-size:13px}.history-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #e1e7ef;border-radius:8px;background:#fbfcfe}.thumb{display:grid;aspect-ratio:1;place-items:center;border-radius:8px;color:#687385;font-size:12px;text-align:center}.thumb.is-succeeded{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.8),transparent 18%),linear-gradient(135deg,#1c2838,#6b7893 48%,#eab965)}.history-body{min-width:0}.history-head{justify-content:space-between;gap:8px}.history-head time{font-size:12px}.history-body p{display:-webkit-box;margin-top:8px;overflow:hidden;color:#334155;font-size:13px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.actions{flex-wrap:wrap;gap:6px;margin-top:10px}.actions button{padding:6px 8px;border:1px solid #dbe3ee;border-radius:8px;background:#fff;color:#334155;font-size:12px;font-weight:750}.ledger{max-width:1424px;margin:0 auto 32px;padding:22px}.records-panel{margin:18px 0 0;max-width:none}.record-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:stretch}.record-summary section,.record-summary button{min-height:78px}.record-summary section{display:grid;gap:8px;padding:16px;border:1px solid #e1e7ef;border-radius:8px;background:#fff}.record-summary span{color:#687385;font-size:13px;font-weight:700}.record-summary strong{color:#111827;font-size:22px;line-height:1.2}.ledger-table{display:grid;overflow:hidden;border:1px solid #e1e7ef;border-radius:8px}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 120px;gap:16px;padding:13px 16px;border-bottom:1px solid #e8edf5}.ledger-row:last-child{border-bottom:0}.ledger-row span{font-size:14px;font-weight:750}.ledger-row time{font-size:13px}.ledger-row strong{text-align:right}.positive{color:#14743a}.negative{color:#b42318}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#0f172a5c}.recharge-modal{width:min(480px,100%);padding:22px}.icon-button{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#eef2f7;color:#334155;font-size:22px;line-height:1}.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.amount-grid button{display:grid;gap:8px;padding:20px 12px;border:1px solid #dbe3ee;border-radius:8px;background:#fbfcfe;color:#17202a}.amount-grid button:hover{border-color:#1677ff}.amount-grid strong{font-size:20px}.amount-grid span{color:#687385;font-size:13px}@media(max-width:1180px){.topbar{grid-template-columns:1fr;height:auto;padding:16px 20px}nav,.account{justify-content:flex-start}.workspace,.create-layout{grid-template-columns:320px minmax(0,1fr)}.works-grid,.record-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.workspace,.ledger,.page-shell{padding-right:16px;padding-left:16px}.workspace{grid-template-columns:1fr;gap:16px}.result-grid,.ledger-row{grid-template-columns:1fr}.ledger-row strong{text-align:left}.amount-grid,.control-grid,.ratio-grid,.works-grid,.record-summary{grid-template-columns:1fr}}
