:root{--bg:#f6f8fc;--surface:#fff;--surface-soft:#eef3fb;--text:#172033;--muted:#68748a;--border:#dde4ef;--primary:#233c88;--primary-2:#6c4fd9;--danger:#b42318;--success:#067647;--shadow:0 18px 45px #1e2d4e1f;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #6c4fd91f, transparent 34rem), linear-gradient(180deg, #f9fbff 0%, var(--bg) 42%);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.66}a{color:inherit}#app{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border-bottom:1px solid #dde4efdb;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:16px 32px;display:grid;position:sticky;top:0}.brand,.topnav a{text-decoration:none}.brand{color:#111827;align-items:center;gap:10px;font-weight:800;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-2));border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.topnav{justify-content:center;gap:6px;display:flex}.topnav a{color:var(--muted);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700}.topnav a.router-link-active{color:var(--primary);background:#edf1ff}.topnav .admin-nav-link{color:var(--primary);background:#f5f7ff}.topnav .admin-nav-link.router-link-active{background:#e7edff}.account{align-items:center;gap:12px;display:flex}.account-meta{justify-items:end;gap:2px;font-size:13px;display:grid}.email{max-width:190px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.credits,.muted{color:var(--muted)}.logout-button.ghost-button{color:#64748b;background:#f8fafcb8;border:1px solid #d8e0eb;border-radius:10px;flex:none;place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;display:inline-grid}.logout-button.ghost-button:hover{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.logout-icon{width:17px;height:17px}.content{flex:1;width:min(1180px,100% - 40px);margin:0 auto;padding:34px 0 56px}.login-shell,.verify-shell{flex-direction:column;min-height:100vh;display:flex}.login-page{flex:1;grid-template-columns:minmax(0,1.06fr) minmax(360px,.72fr);align-items:center;gap:40px;width:min(1120px,100% - 40px);margin:0 auto;padding:56px 0;display:grid}.verify-page{flex:1;place-items:center;width:min(100% - 40px,460px);margin:0 auto;padding:48px 0;display:grid}.verify-card{gap:22px;width:100%;padding:34px;display:grid}.verify-brand{margin-bottom:2px}.verify-card .section-heading{margin-bottom:0}.verify-card .section-heading p{color:var(--muted);margin:2px 0 0;font-size:14px}.verify-email{background:#f8fafc;border-radius:12px;gap:6px;padding:13px 14px;display:grid}.verify-email span{color:var(--muted);font-size:12px;font-weight:700}.verify-email strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.verify-guidance{color:var(--muted);margin:-6px 0 0;font-size:13px}.verify-form{gap:14px;display:grid}.verification-code-input{letter-spacing:.22em;text-align:center;min-height:56px;font-size:24px;font-weight:800}.verify-send-button{width:100%}.verify-logout-button{color:var(--muted);background:0 0;border:0;font-size:13px}.login-hero{color:#fff;min-height:620px;box-shadow:var(--shadow);background:linear-gradient(135deg,#101e4aeb,#6449c9e0),url(/assets/hero-CLDdwZDr.png) 50%/cover;border-radius:28px;align-content:center;gap:24px;padding:54px;display:grid;overflow:hidden}.login-hero h1{letter-spacing:0;max-width:620px;margin:0;font-size:48px;line-height:1.08}.login-hero p{color:#ffffffd1;max-width:560px;margin:0;font-size:20px}.brand-pill,.eyebrow{width:fit-content;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.brand-pill{color:#fff;background:#ffffff1f;border:1px solid #ffffff42;border-radius:999px;padding:8px 12px}.hero-panel{grid-template-columns:repeat(3,1fr);gap:14px;max-width:520px;display:grid}.hero-panel>div{background:#ffffff1a;border:1px solid #ffffff38;border-radius:18px;gap:6px;padding:18px;display:grid}.metric{font-size:26px;font-weight:800}.auth-card,.card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px}.auth-card{padding:34px}.section-heading{gap:8px;margin-bottom:24px;display:grid}.section-heading h1,.section-heading h2,.workspace-header h1,.preview-card h2,.empty-state h1,.empty-state h3{color:var(--text);letter-spacing:0;margin:0;line-height:1.15}.section-heading h1,.workspace-header h1{font-size:32px}.section-heading h2,.preview-card h2{font-size:24px}.form-stack,.design-form{gap:18px;display:grid}.form-stack label,.field-label{color:#334155;gap:8px;font-size:14px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:12px;outline:none;transition:border-color .18s,box-shadow .18s}input,select{min-height:46px;padding:0 14px}textarea{resize:vertical;min-height:140px;padding:13px 14px}input:focus,select:focus,textarea:focus{border-color:#6c4fd9b8;box-shadow:0 0 0 4px #6c4fd91f}.auth-actions,.redeem-form{gap:12px;display:flex}.primary-button,.secondary-button,.ghost-button{border:0;border-radius:12px;min-height:42px;padding:0 18px;font-weight:800}.primary-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-2))}.primary-button.large{min-height:50px;font-size:16px}.secondary-button{color:var(--primary);background:#edf1ff}.ghost-button{border:1px solid var(--border);color:#334155;background:#fff}.alert{border-radius:12px;margin:0;padding:12px 14px;font-size:14px;font-weight:700}.alert.error{color:var(--danger);background:#fff1f0}.alert.success{color:var(--success);background:#ecfdf3}.workspace-header{justify-content:space-between;margin-bottom:24px;display:flex}.workspace-header p{max-width:720px;color:var(--muted);margin:10px 0 0}.design-layout,.page-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.card{padding:26px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:#334155;margin-bottom:10px;font-size:14px;font-weight:800}.option-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.radio-card,.segmented label{position:relative}.radio-card input,.segmented input{opacity:0;position:absolute}.radio-card span,.segmented span{border:1px solid var(--border);color:#334155;background:#fff;border-radius:12px;place-items:center;min-height:44px;font-weight:800;display:grid}.radio-card input:checked+span,.segmented input:checked+span{color:var(--primary);background:#edf1ff;border-color:#6c4fd994}.quantity-segmented span{gap:2px;min-height:54px}.quantity-segmented small{color:var(--muted);font-size:11px;font-weight:700}.quantity-segmented input:disabled+span{color:#94a3b8;background:#f8fafc}.field-help{color:var(--muted);margin:-2px 0 12px;font-size:13px;line-height:1.6}.reference-upload-section{gap:12px;display:grid}.reference-file-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.reference-upload-card{color:var(--text);cursor:pointer;text-align:center;background:#fbfcff;border:1px dashed #cbd5e1;border-radius:14px;justify-items:center;gap:8px;padding:26px 16px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.reference-upload-card:hover{background:#f7f8ff;border-color:#6c4fd980;box-shadow:0 8px 20px #1e2d4e0f}.reference-file-input:focus-visible+.reference-upload-card{border-color:#6c4fd9b8;box-shadow:0 0 0 4px #6c4fd91f}.reference-upload-card.uploading{cursor:wait;opacity:.72;pointer-events:none}.reference-upload-icon{width:34px;height:34px;color:var(--primary);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;background:#edf1ff;border-radius:11px;padding:7px}.reference-upload-card strong{font-size:14px}.reference-upload-card small{color:var(--muted);font-size:12px;font-weight:700}.reference-uploading{width:fit-content;color:var(--primary);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.loader.small{border-width:3px;width:18px;height:18px}.reference-preview{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.reference-preview img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:92px}.reference-preview-content{justify-items:start;gap:10px;min-width:0;display:grid}.reference-preview strong{color:var(--text);font-size:14px}.reference-preview-actions{flex-wrap:wrap;gap:8px;display:flex}.reference-preview .secondary-button,.reference-preview .ghost-button{border-radius:10px;min-height:34px;padding:0 12px;font-size:13px}.reference-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.two-column{grid-template-columns:1fr 1fr;gap:16px;display:grid}.segmented{grid-template-columns:repeat(3,80px);gap:10px;display:grid}.preview-card{background:linear-gradient(#fff 0%,#f7f9ff 100%);position:sticky;top:92px}.prompt-summary{gap:12px;margin:24px 0 0;display:grid}.prompt-summary div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.prompt-summary dt{color:var(--muted)}.prompt-summary dd{margin:0;font-weight:800}.recharge-link{justify-content:center;align-items:center;width:fit-content;text-decoration:none;display:inline-flex}.credit-estimate{color:var(--text);gap:6px;display:grid}.credit-estimate small{color:var(--muted)}.result-card{min-height:360px}.mode-badge{width:fit-content;color:var(--primary);background:#edf1ff;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.loading-state{text-align:center;justify-items:center;gap:12px;padding:48px 0;display:grid}.loading-state p{color:var(--text);margin:0;font-weight:800}.loading-state small{color:var(--muted)}.loader{border:4px solid #dbe4f0;border-top-color:var(--primary-2);border-radius:999px;width:34px;height:34px;animation:.86s linear infinite spin}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.generated-image-item{gap:10px;min-width:0;display:grid}.generated-image,.job-thumb{border:1px solid var(--border);background:#f8fafc;border-radius:14px;display:block;overflow:hidden}.generated-image{aspect-ratio:1}.generated-image img,.job-thumb img{object-fit:cover;width:100%;height:100%;display:block}.image-download-button{justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}.recharge-grid{margin-bottom:24px}.balance-card{color:#fff;background:linear-gradient(135deg,#14204c,#5b4ac8);gap:16px;display:grid}.balance-card .eyebrow,.balance-card p{color:#ffffffc7}.balance-card strong{font-size:54px;line-height:1}.balance-card .secondary-button{color:#172033;background:#fff}.redeem-form input{flex:1}.inline-heading{justify-content:space-between;align-items:end;display:flex}.ledger-list{gap:12px;display:grid}.ledger-row{border:1px solid var(--border);background:#fbfcff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.ledger-row p{color:var(--muted);margin:4px 0}.ledger-row time{color:var(--muted);font-size:13px}.amount{font-size:20px;font-weight:900}.amount.positive{color:var(--success)}.amount.negative{color:var(--danger)}.history-card{place-items:center;min-height:520px;display:grid}.history-list-card{place-items:stretch stretch;gap:18px;display:grid}.history-heading h1{margin:4px 0 0;font-size:30px;line-height:1.15}.history-loading{min-height:300px}.history-filters{border:1px solid var(--border);background:#fbfcff;border-radius:16px;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(150px,180px)) auto;align-items:end;gap:14px;padding:16px;display:grid}.history-refresh-button{min-width:86px}.job-list{gap:14px;display:grid}.job-row{border:1px solid var(--border);background:#fbfcff;border-radius:16px;grid-template-columns:132px minmax(0,1fr);gap:18px;padding:16px;display:grid}.job-media{align-content:start;gap:10px;display:grid}.job-thumb{aspect-ratio:1;width:132px}.job-thumb.placeholder{color:var(--muted);place-items:center;font-size:13px;font-weight:800;display:grid}.job-main{gap:12px;min-width:0;display:grid}.job-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.job-title h2{margin:0;font-size:20px;line-height:1.2}.job-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.status-badge{color:var(--muted);background:#eef3fb;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:900}.status-SUCCESS{color:var(--success);background:#ecfdf3}.status-FAILED{color:var(--danger);background:#fff1f0}.status-PENDING,.status-PROCESSING{color:var(--primary);background:#edf1ff}.share-button.ghost-button,.delete-placeholder-button.ghost-button{color:#64748b;border-radius:10px;min-height:32px;padding:0 12px;font-size:13px}.share-button.ghost-button{color:var(--primary);background:#f8faff}.job-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.job-meta div{min-width:0}.job-meta dt{color:var(--muted);font-size:12px}.job-meta dd{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-weight:800;overflow:hidden}.job-meta a{color:var(--primary);text-decoration:none}.share-views{color:var(--muted);font-size:13px}.job-error{color:var(--danger);margin:0;font-size:14px;font-weight:700}.empty-state{text-align:center;justify-items:center;gap:12px;display:grid}.empty-state.compact{padding:36px 0 18px}.empty-state p{max-width:420px;color:var(--muted);margin:0}.empty-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-2));border-radius:22px;place-items:center;width:72px;height:72px;font-weight:900;display:grid}.share-page{width:min(1120px,100% - 40px);min-height:100vh;margin:0 auto;padding:28px 0 48px}.share-header{margin-bottom:26px}.share-state{text-align:center;align-content:center;place-items:center;gap:14px;min-height:440px;display:grid}.share-state p,.share-state h1{margin:0}.share-error h1{font-size:24px}.share-content{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.share-gallery{place-items:center;padding:22px;display:grid}.share-images{justify-items:center;gap:16px;width:100%;display:grid}.share-image-item{gap:10px;width:min(100%,680px);display:grid}.share-image{border:1px solid var(--border);background:#f8fafc;border-radius:16px;width:100%;display:block;overflow:hidden}.share-image img{width:100%;height:auto;display:block}.share-details{gap:18px;display:grid;position:sticky;top:28px}.share-title{gap:12px;display:grid}.share-title h1{margin:0;font-size:28px;line-height:1.15}.share-description{color:var(--muted);margin:0;font-size:14px}.share-meta{gap:12px;margin:0;display:grid}.share-meta div{border-bottom:1px solid var(--border);justify-content:space-between;gap:14px;padding-bottom:10px;display:flex}.share-meta dt{color:var(--muted)}.share-meta dd{text-align:right;margin:0;font-weight:800}.share-reference{border:1px solid var(--border);background:#fbfcff;border-radius:12px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid}.share-reference img{aspect-ratio:1;object-fit:cover;border-radius:9px;width:64px}.share-reference div{gap:4px;display:grid}.share-reference small,.share-keywords{color:var(--muted)}.share-keywords{background:#f8fafc;border-radius:12px;margin:0;padding:12px;font-size:14px;line-height:1.6}.share-copy-button{width:100%}.share-copy-message{color:var(--success);text-align:center;margin:-8px 0 0;font-size:13px;font-weight:700}.share-brand-note{color:var(--muted);text-align:center;margin:2px 0 0;font-size:12px}.app-footer{color:#94a3b8;text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 18px;width:min(1180px,100% - 40px);margin:0 auto;padding:0 0 26px;font-size:12px;line-height:1.6;display:flex}.share-page>.app-footer{margin-top:34px;padding-bottom:0}.admin-header{margin-bottom:18px}.admin-tabs{gap:8px;margin-bottom:20px;display:flex;overflow-x:auto}.admin-tab{border:1px solid var(--border);min-height:42px;color:var(--muted);background:#fff;border-radius:12px;flex:none;padding:0 18px;font-weight:800}.admin-tab.active{color:var(--primary);background:#edf1ff;border-color:#6c4fd942}.admin-mobile-tab-select{margin-bottom:20px;display:none}.admin-message{margin-bottom:18px}.admin-denied{text-align:center;justify-items:center;gap:8px;padding:56px 24px;display:grid}.admin-denied h2,.admin-denied p{margin:0}.admin-denied p{color:var(--muted)}.admin-panel{gap:18px;display:grid}.admin-loading{min-height:320px}.admin-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-metric{gap:12px;padding:22px;display:grid}.admin-metric span{color:var(--muted);font-size:13px;font-weight:700}.admin-metric strong{color:var(--text);font-size:32px;line-height:1}.admin-filters{grid-template-columns:minmax(220px,320px) 190px auto;justify-content:start;gap:10px;display:grid}.admin-filters .ghost-button{min-height:46px}.admin-table-wrap{border:1px solid var(--border);border-radius:14px;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;background:#fff;width:100%;min-width:860px;font-size:13px}.admin-table th{color:var(--muted);text-align:left;white-space:nowrap;background:#f8fafc;font-weight:800}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 10px}.admin-table tbody tr:last-child td{border-bottom:0}.admin-inline-action,.admin-credit-action{align-items:center;gap:6px;display:flex}.admin-inline-action select{width:156px;min-height:34px;padding:0 8px;font-size:12px}.admin-credit-action input{width:94px;min-height:34px;padding:0 8px;font-size:12px}.admin-credit-action input:nth-child(2){width:124px}.admin-small-button{white-space:nowrap;border-radius:9px;min-height:34px;padding:0 10px;font-size:12px}.admin-error-cell{max-width:220px;color:var(--danger);word-break:break-word}.admin-thumb{object-fit:cover;border-radius:8px;width:46px;height:46px;display:block}.admin-empty-cell{color:var(--muted);text-align:center}.admin-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.admin-pagination .ghost-button{min-height:34px;padding:0 12px;font-size:13px}.admin-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-panel-heading h2,.admin-panel-heading h3{margin:0}.admin-codes-layout{gap:20px;display:grid}.admin-code-form{grid-template-columns:120px 140px 120px 220px minmax(180px,1fr) auto;align-items:end;gap:10px;display:grid}.admin-code-form .primary-button{min-height:46px}.admin-generated-codes{border:1px solid var(--border);background:#fbfcff;border-radius:12px;gap:8px;padding:14px;display:grid}.admin-generated-code{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.admin-generated-code:last-child{border-bottom:0}.admin-generated-code code,.admin-table code{color:var(--primary);font-size:13px;font-weight:700}.admin-code-filter{grid-template-columns:190px auto}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=920px){.topbar{grid-template-columns:1fr;gap:14px;padding:14px 20px}.topnav{flex-wrap:wrap;justify-content:flex-start}.account{justify-content:space-between}.logout-button.ghost-button{border-radius:9px;width:30px;min-width:30px;height:30px;min-height:30px}.logout-icon{width:15px;height:15px}.account-meta{justify-items:start}.content{width:min(100% - 28px,1180px);padding-top:22px}.login-page,.design-layout,.page-grid,.share-content{grid-template-columns:1fr}.login-hero{min-height:auto;padding:34px}.login-hero h1{font-size:38px}.preview-card,.share-details{position:static}.job-meta{grid-template-columns:1fr}.history-filters,.admin-overview,.admin-code-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-code-remark,.history-filters .field-label:first-child{grid-column:1/-1}.history-refresh-button{width:fit-content}}@media (width<=639px){.admin-tabs{display:none}.admin-mobile-tab-select{display:grid}}@media (width<=620px){.share-page{width:min(100% - 28px,1120px);padding:18px 0 28px}.share-header{margin-bottom:18px}.app-footer{flex-direction:column;gap:2px;width:min(100% - 28px,1180px);padding-bottom:18px}.login-page{width:min(100% - 28px,1120px);padding:24px 0}.verify-page{width:min(100% - 28px,460px);padding:24px 0}.login-hero,.auth-card,.card{border-radius:16px;padding:22px}.login-hero h1,.section-heading h1,.workspace-header h1,.empty-state h1,.share-title h1{font-size:28px}.login-hero p{font-size:17px}.hero-panel,.option-grid,.two-column,.reference-mode-grid{grid-template-columns:1fr}.reference-preview{grid-template-columns:74px minmax(0,1fr)}.reference-preview img{width:74px}.reference-preview-actions{width:100%}.auth-actions,.redeem-form{flex-direction:column}.segmented{grid-template-columns:repeat(3,1fr)}.image-grid,.job-row{grid-template-columns:1fr}.job-thumb{width:100%}.job-title{flex-direction:column;align-items:flex-start}.job-actions{justify-content:flex-start}.history-filters,.admin-overview,.admin-filters,.admin-code-form{grid-template-columns:1fr}.admin-pagination{flex-wrap:wrap;justify-content:flex-start}}
