@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700;800&family=Noto+Serif+SC:wght@600;800&display=swap";:root{color:#2b201a;background:#f7efe2;font-family:Noto Sans SC,PingFang SC,sans-serif;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(90deg,rgba(128,31,18,.07) 1px,transparent 1px),linear-gradient(180deg,rgba(128,31,18,.07) 1px,transparent 1px),#f7efe2;background-size:42px 42px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.shell{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:10px 0 44px}.shell:has(.preauth-page){width:100%;padding-top:10px}.shell:has(.preauth-page)>.mast{padding:0 24px}.mast,.workspace,.auth-panel,.admin-page{display:grid;gap:clamp(20px,3vw,36px)}.mast{grid-template-columns:1fr auto;align-items:center;margin-bottom:clamp(4px,1vw,12px)}.brand,.account,.composer-head,.history-head,.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{gap:12px;justify-content:flex-start}.mark{display:grid;width:46px;height:46px;place-items:center;background:#b72018;color:#fff7e8;font-family:"Noto Serif SC",serif;font-size:28px;font-weight:800}.eyebrow{margin:0 0 2px;color:#8f2c1f;font-size:11px;font-weight:700;letter-spacing:0}h1,h2,h3{margin:0;font-family:"Noto Serif SC",serif;letter-spacing:0}h1{font-size:clamp(28px,3.6vw,44px);line-height:.95}h2{font-size:clamp(26px,3.6vw,44px);line-height:1.1}h3{font-size:24px;line-height:1.15}h3 span{color:#8f2c1f;font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:16px}.account{justify-content:flex-end;gap:10px;padding:0;border:0;background:transparent}.account span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account strong,.price-line strong{color:#b72018;white-space:nowrap}.price-line{display:flex;gap:10px;align-items:baseline;justify-content:flex-end;color:#7c6757;text-align:right}.price-line span{white-space:nowrap;font-size:13px;font-weight:700}.price-line strong{font-size:18px;font-weight:800}.logout-btn,.ghost{border:1px solid #2b201a;background:transparent;color:#2b201a}.logout-btn{min-height:38px;padding:0 14px}.guest-actions{display:grid;grid-template-columns:repeat(2,132px);align-items:center;justify-content:flex-end;gap:10px}.guest-actions button{width:100%;min-height:38px;padding:0 14px;white-space:nowrap}.guest-register{background:#b72018}.preauth-page{display:grid;width:min(1180px,calc(100vw - 32px));gap:70px;margin:0 auto}.preauth-hero{display:grid;grid-template-columns:minmax(0,860px);justify-content:center;gap:clamp(8px,1.5vw,16px)}.auth-copy{padding-top:0;text-align:center}.auth-copy h2{max-width:720px;font-size:clamp(44px,7vw,96px);line-height:.98}.auth-tagline{display:inline-flex;min-height:60px;align-items:center;max-width:none;margin:0;color:#2b201a;font-family:"Noto Serif SC",serif;font-size:48px;font-weight:800;line-height:1.25}.auth-tagline span{position:relative;display:inline-block;min-width:1ch}.auth-tagline span:after{display:inline-block;width:2px;height:.85em;margin-left:4px;background:#b72018;content:"";vertical-align:-.08em;animation:caret-blink .9s steps(1,end) infinite}@keyframes caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}.auth-subcopy{margin:10px 0 0;color:#b72018;font-size:16px;font-weight:400}.auth-form,.composer,.history,.admin-page{border:1px solid #d9bfa2;background:#fff9ee;box-shadow:10px 10px #b72018}.auth-form,.composer{padding:clamp(18px,3vw,32px)}.auth-form{display:grid;gap:16px}.auth-modal{width:min(560px,100%);gap:20px;padding:clamp(24px,4vw,40px)}.auth-modal .section-head{align-items:flex-start;margin-bottom:2px}.auth-modal .section-head h2{font-size:clamp(34px,4vw,48px)}.auth-benefit{margin:0;padding:14px 16px;background:#efe1c8;color:#8f2c1f;font-weight:800;line-height:1.55}.auth-modal .tabs,.auth-modal label{gap:10px}.password-label-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}.forgot-password{position:relative;border:0;background:transparent;color:#5b463694;font-size:13px;font-weight:700;padding:0}.forgot-password:hover,.forgot-password:focus-visible{color:#8f2c1f}.forgot-password:after{position:absolute;right:0;bottom:calc(100% + 8px);z-index:2;width:max-content;max-width:260px;padding:8px 10px;border:1px solid #2b201a;background:#fff9ee;color:#2b201a;content:"忘记密码请联系lbq766@gmail.com";font-size:12px;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}.forgot-password:hover:after,.forgot-password:focus-visible:after{opacity:1;transform:translateY(0)}.auth-modal input{height:54px;padding:0 16px}.auth-modal .primary{min-height:58px}.tabs,fieldset{display:flex;gap:8px}.tabs button,fieldset button{min-height:42px;border:1px solid #d9bfa2;background:#f7efe2;color:#2b201a}.tabs button{padding:0 16px}fieldset button{display:inline-flex;align-items:center;gap:0;padding:16px}.tabs .active,fieldset .active{border-color:#b72018;background:#b72018;color:#fff7e8}label{display:grid;gap:8px;color:#5b4636;font-weight:700}input,textarea{width:100%;border:1px solid #d9bfa2;border-radius:0;background:#fffdf8;color:#2b201a;outline:none}input{height:48px;padding:0 14px}textarea{min-height:190px;resize:vertical;padding:14px}.prompt-box{position:relative}.prompt-box textarea{min-height:182px;padding-bottom:74px}.prompt-examples{position:absolute;right:14px;bottom:14px;left:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.prompt-examples button{min-width:0;min-height:42px;overflow:hidden;border:1px solid #cfc4b3;background:#fffdf8;color:#5b4636;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.prompt-group-enter-active,.prompt-group-leave-active{transition:opacity .36s ease,transform .36s ease}.prompt-group-enter-from{opacity:0;transform:translateY(10px)}.prompt-group-leave-to{opacity:0;transform:translateY(-10px)}input:focus,textarea:focus{border-color:#b72018;box-shadow:0 0 0 3px #b7201824}.workspace{grid-template-columns:minmax(0,1fr) 430px;align-items:start}.preauth-composer{padding:clamp(18px,2.4vw,26px);box-shadow:12px 12px #b72018}.preauth-composer .controls{gap:12px}.preauth-composer .ratio-options{gap:8px}.preauth-composer .ratio-button{font-size:13px;padding:6px}.preauth-composer .ratio-1-1{width:48px;height:48px}.preauth-composer .ratio-3-4{width:40px;height:54px}.preauth-composer .ratio-4-3{width:54px;height:40px}.preauth-composer .ratio-16-9{width:68px;height:38px}.preauth-composer .ratio-9-16{width:38px;height:68px}.benefit-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d9bfa2;background:#2b201a;color:#fff7e8}.benefit-strip span{min-height:58px;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-right:1px solid rgba(255,247,232,.28);font-weight:800;text-align:center}.benefit-strip span:last-child{border-right:0}.benefit-icon{position:relative;display:inline-block;width:24px;height:24px;flex:0 0 24px;border:2px solid currentColor}.benefit-svg{width:26px;height:26px;flex:0 0 26px;filter:brightness(0) invert(1);object-fit:contain}.benefit-icon.daily:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"3";display:grid;place-items:center;font-size:13px;font-weight:800;line-height:1}.example-section{display:grid;gap:18px}.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.example-card{display:grid;grid-template-rows:auto 1fr;border:1px solid #d9bfa2;background:#fff9ee}.sample-art{position:relative;display:block;width:100%;aspect-ratio:4 / 3;overflow:hidden;border:0;padding:0;background:#efe1c8}.sample-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .24s ease}.sample-art:hover img,.sample-art:focus-visible img{transform:scale(1.03)}.example-card>div{display:grid;gap:10px;padding:14px}.example-card strong{color:#2b201a;font-size:18px}.example-card p{display:-webkit-box;min-height:63px;margin:0;overflow:hidden;color:#5b4636;font-size:14px;font-weight:700;-webkit-box-orient:vertical;-webkit-line-clamp:3}.use-example{width:100%;min-height:42px}.composer,.history{position:relative}.controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-top:14px}fieldset{min-width:0;margin:0;padding:0;border:0;flex-wrap:wrap;align-items:center}.ratio-options{align-items:center;gap:10px}.ratio-button{justify-content:center;border-style:dashed;font-size:13px;font-weight:800;padding:6px}.ratio-button.active{border-style:dashed}.ratio-1-1{width:48px;height:48px}.ratio-3-4{width:40px;height:54px}.ratio-4-3{width:54px;height:40px}.ratio-16-9{width:68px;height:38px}.ratio-9-16{width:38px;height:68px}fieldset:not(.ratio-options) button{width:48px;height:48px;min-height:48px;justify-content:center;padding:0;font-size:15px;font-weight:800}.locked-option{position:relative;opacity:.48}.locked-option:hover:after,.locked-option:focus-visible:after{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:2;min-width:76px;padding:6px 8px;background:#2b201a;color:#fff7e8;content:"暂未开放";font-size:12px;transform:translate(-50%)}legend{width:auto;margin:0 8px 0 0;color:#5b4636;font-weight:700}.primary{min-height:52px;border:0;background:#2b201a;color:#fff7e8;font-weight:800}.generate{width:100%;margin-top:20px;background:#b72018}.error,.notice{margin:10px 0 0;padding:10px 12px}.error{background:#f9d8ce;color:#8f2c1f}.notice{background:#efe1c8;color:#5b4636}.notice.loading{display:flex;align-items:center;gap:10px;min-height:52px;overflow:hidden}.notice-spinner{position:relative;display:block;width:42px;height:24px;flex:0 0 auto;align-self:center;color:#b72018;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:16px;font-weight:800;line-height:1;text-shadow:0 0 10px rgba(183,32,24,.28)}.notice-spinner:before{position:absolute;top:50%;left:50%;content:"⠀⠶⠀";display:block;transform:translate(-50%,-54%);animation:pulse-braille .9s steps(1,end) infinite}.notice-slide-enter-active,.notice-slide-leave-active{transition:opacity .26s ease,transform .26s ease}.notice-slide-enter-from{opacity:0;transform:translateY(6px)}.notice-slide-leave-to{opacity:0;transform:translateY(-6px)}@keyframes pulse-braille{0%,to{content:"⠀⠶⠀"}20%{content:"⠰⣿⠆"}40%{content:"⢾⣉⡷"}60%{content:"⣏⠀⣹"}80%{content:"⡁⠀⢈"}}.history{padding:20px;box-shadow:none}.admin-page{padding:clamp(18px,3vw,32px)}.history-head{margin-bottom:18px}.admin-head{margin-bottom:4px}.admin-timezone{color:#7c6757;font-size:13px;font-weight:700;text-align:right}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.admin-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #d9bfa2;background:#f7efe2}.admin-tabs button{display:flex;min-width:0;min-height:48px;align-items:center;justify-content:center;gap:8px;border:0;border-right:1px solid #d9bfa2;background:transparent;color:#5b4636;font-weight:800}.admin-tabs button:last-child{border-right:0}.admin-tabs button.active{background:#b72018;color:#fff7e8}.admin-tabs button.alert:not(.active){color:#b72018}.admin-tabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-tabs button strong{display:grid;min-width:24px;height:24px;place-items:center;border:1px solid currentColor;border-radius:999px;font-size:12px;line-height:1}.ghost{min-height:38px;padding:0 14px}.empty{display:grid;gap:4px;min-height:170px;place-content:center;border:1px dashed #d9bfa2;color:#5b4636;text-align:center}.empty.compact{min-height:110px}.history-list{max-height:min(62vh,620px);overflow-y:auto;padding-right:8px}.image-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid #ead8c0}.admin-list{display:grid;gap:12px}.admin-block{display:grid;gap:12px;padding-top:20px;border-top:1px solid #ead8c0}.admin-block+.admin-block{margin-top:20px}.tab-panel{min-height:320px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ead8c0;border-left:1px solid #ead8c0}.metric-card{display:grid;min-height:104px;align-content:space-between;gap:12px;padding:14px;border-right:1px solid #ead8c0;border-bottom:1px solid #ead8c0;background:#fff9ee}.metric-card span{color:#7c6757;font-size:13px;font-weight:700}.metric-card strong{color:#2b201a;font-size:clamp(22px,3vw,34px);line-height:1}.metric-card.good strong{color:#3f7a49}.metric-card.warn strong{color:#b72018}.user-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px minmax(180px,240px) 92px;gap:12px;align-items:end;padding:14px 0;border-top:1px solid #ead8c0}.recharge-admin-list{display:grid;gap:10px}.recharge-row{display:grid;grid-template-columns:minmax(220px,1fr) 110px 84px 210px;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #ead8c0}.recharge-amount{display:grid;gap:4px}.recharge-amount span{color:#7c6757;font-size:13px}.status-pill{display:grid;min-height:32px;place-items:center;border:1px solid #d9bfa2;background:#f7efe2;color:#5b4636;font-size:13px;font-weight:800}.status-pill.pending{border-color:#b72018;color:#b72018}.status-pill.paid,.status-pill.succeeded{border-color:#3f7a49;color:#3f7a49}.status-pill.failed,.status-pill.rejected,.status-pill.processing,.status-pill.pending{border-color:#b72018;color:#b72018}.status-pill.cancelled{color:#7c6757}.job-list{display:grid;gap:10px}.job-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.4fr) 86px;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #ead8c0}.job-row p,.job-row em{display:-webkit-box;margin:0;overflow:hidden;color:#2b201a;font-size:14px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.job-row em{color:#8f2c1f;font-style:normal;font-weight:700}.admin-actions{display:grid;grid-template-columns:1fr 68px;gap:8px}.admin-actions .ghost,.admin-actions .adjust{min-height:42px}.user-main{display:grid;gap:5px;min-width:0}.user-main strong{overflow:hidden;text-overflow:ellipsis}.user-main span{color:#7c6757;font-size:13px}.adjust{min-height:48px}.thumb{display:grid;aspect-ratio:1;place-items:center;overflow:hidden;border:0;background:#efe1c8;color:#8f2c1f;text-decoration:none}.thumb img{width:100%;height:100%;object-fit:cover}.meta{min-width:0}.meta p{display:-webkit-box;margin:0 0 8px;overflow:hidden;color:#2b201a;-webkit-box-orient:vertical;-webkit-line-clamp:3}.meta span,.meta em{display:block;color:#7c6757;font-size:13px;font-style:normal}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#2b201a9e}.confirm-modal,.image-modal,.recharge-modal{width:min(520px,100%);border:1px solid #d9bfa2;background:#fff9ee;box-shadow:10px 10px #b72018}.confirm-modal{padding:28px}.recharge-modal{display:grid;gap:18px;width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:28px}.recharge-modal .section-head h2{font-size:clamp(30px,4vw,42px)}.recharge-modal fieldset{width:100%}.balance-line{margin:0;color:#5b4636}.balance-line strong{color:#b72018}.recharge-modal .tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recharge-modal .tier-grid legend,.recharge-modal .payment-options legend{width:100%;margin:0 0 8px;grid-column:1 / -1}.recharge-modal .tier-grid button{display:grid;width:auto;height:auto;min-height:88px;align-content:center;justify-content:start;gap:8px;padding:16px;text-align:left}.recharge-modal .tier-grid button strong{height:auto;line-height:1.15}.recharge-modal .tier-grid span{font-size:14px;font-weight:800;line-height:1.2}.recharge-modal .payment-options{display:flex;gap:10px}.recharge-modal .payment-options button{width:auto;height:48px;min-width:96px;min-height:48px;justify-content:center;padding:0 18px;font-size:16px;font-weight:800}.pay-panel,.submitted-panel{display:grid;gap:14px;padding:18px;border:1px solid #ead8c0;background:#fffdf8}.pay-panel span,.submitted-panel span{display:block;color:#7c6757;font-size:14px}.pay-panel img{display:block;width:min(280px,100%);aspect-ratio:1;margin:0 auto;border:1px solid #d9bfa2;object-fit:contain}.confirm-modal h2{margin-bottom:10px;font-size:30px}.confirm-modal p{margin:0;color:#5b4636}.image-modal{display:grid;width:min(920px,100%);max-height:calc(100vh - 40px);padding:14px}.image-modal img{display:block;max-width:100%;max-height:calc(100vh - 148px);margin:0 auto;object-fit:contain}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions button{min-height:44px;padding:0 18px}.modal-primary{background:#b72018}@media(max-width:900px){.mast,.preauth-hero,.workspace{grid-template-columns:1fr}.account{justify-self:start;max-width:100%}.guest-actions{justify-self:start}.example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.controls,.preauth-composer .controls,.prompt-examples{grid-template-columns:1fr}.prompt-box textarea{min-height:231px;padding-bottom:172px}.user-row{grid-template-columns:1fr 130px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tabs button{flex:0 0 auto;min-width:132px;padding:0 14px}.job-row{grid-template-columns:1fr 88px}.job-row p,.job-row em{grid-column:1 / -1}.recharge-row{grid-template-columns:1fr 110px}.user-main,.admin-actions{grid-column:1 / -1}}@media(max-width:560px){.shell{width:min(100% - 20px,1180px);padding-top:14px}.brand{align-items:flex-start}.guest-actions{display:grid;width:100%;grid-template-columns:1fr 1.35fr}.guest-actions button{width:100%}.mark{width:48px;height:48px;font-size:28px}.auth-form,.composer,.history,.admin-page{box-shadow:6px 6px #b72018}.preauth-composer{box-shadow:8px 8px #b72018}.benefit-strip,.example-grid{grid-template-columns:1fr}.benefit-strip span{border-right:0;border-bottom:1px solid rgba(255,247,232,.28)}.benefit-strip span:last-child{border-bottom:0}.image-row{grid-template-columns:74px minmax(0,1fr)}.user-row{grid-template-columns:1fr}.account{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 100px 92px;gap:10px;align-items:center;padding:14px}.account span{grid-column:1;grid-row:1;max-width:none}.account strong{grid-column:1;grid-row:2}.account .ghost:not(.recharge-entry){grid-column:1 / -1;grid-row:3}.account .recharge-entry{grid-column:2;grid-row:1 / span 2;width:100%;height:58px}.logout-btn{grid-column:3;grid-row:1 / span 2;width:100%;min-width:0;height:58px}.modal-actions{display:flex}.modal-actions button{flex:1 1 0;min-width:0}.tier-grid,.recharge-row,.admin-actions,.metric-grid,.job-row{grid-template-columns:1fr}.metric-card{min-height:86px}}
