:root{--ink: #12151a;--paper: #e9ecf1;--surface: rgba(247, 248, 250, .88);--surface-solid: #f7f8fa;--line: rgba(18, 21, 26, .1);--muted: #66707d;--accent: #0e8c7c;--accent-soft: #3db8a6;--accent-mist: rgba(14, 140, 124, .12);--danger: #c9444a;--font-display: "Instrument Serif", Georgia, serif;--font-body: "Sora", system-ui, sans-serif;--radius: 14px;--shadow: 0 14px 36px rgba(18, 21, 26, .08)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);min-height:100vh;background:radial-gradient(ellipse 90% 55% at 10% -8%,rgba(14,140,124,.16),transparent 55%),radial-gradient(ellipse 70% 45% at 100% 0%,rgba(18,21,26,.06),transparent 50%),var(--paper);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{max-width:480px;margin:0 auto;padding:22px 18px 110px}.hero{margin-bottom:24px;animation:rise .55s cubic-bezier(.22,1,.36,1)}.brand-lockup{font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:-.03em;line-height:.95;color:var(--ink);margin-bottom:10px}.hero-top{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:8px}.credits-chip{border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.hero h1{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1.15;letter-spacing:-.02em}.hero.has-brand h1{font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}.subtitle{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.45;max-width:36ch}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#12151a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:fadeIn .2s ease}.balance-sheet{width:100%;max-width:480px;background:var(--surface-solid);border:1px solid var(--line);border-radius:20px 20px 16px 16px;padding:24px 20px 16px;box-shadow:0 -10px 40px #12151a24;animation:sheetUp .28s cubic-bezier(.22,1,.36,1);text-align:center}.balance-sheet-label{font-size:13px;color:var(--muted);margin-bottom:8px}.balance-sheet-amount{font-family:var(--font-display);font-size:40px;font-weight:400;color:var(--ink);margin-bottom:8px;line-height:1.05}.balance-sheet-amount span{font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--muted)}.balance-sheet-hint{font-size:14px;color:var(--muted);margin-bottom:20px;line-height:1.45}.balance-sheet .primary-btn,.balance-sheet .back-btn{width:100%}.balance-sheet .primary-btn{margin-bottom:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.account-bar{display:flex;gap:8px;margin-bottom:16px}.secondary-btn.compact{flex:1;padding:11px 10px;font-size:13px}.billing-section,.home-section,.upload-section,.history-section,.result-section{animation:rise .4s cubic-bezier(.22,1,.36,1)}.demo-pay-banner{background:var(--accent-mist);border:1px solid rgba(14,140,124,.28);color:#0a5f54;font-size:13px;font-weight:600;text-align:center;padding:14px 16px;border-radius:var(--radius);margin-bottom:14px;line-height:1.4}.demo-card-form{text-align:left;margin:8px 0 18px;padding:16px;border-radius:var(--radius);background:var(--surface-solid);border:1px solid var(--line)}.demo-card-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-card-form .prompt-field input:disabled,.demo-card-form .prompt-field input[readonly]{opacity:.85;cursor:default;background:var(--paper)}.gate-form{text-align:left}.prompt-field input,.prompt-field textarea{width:100%;margin-top:8px;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-solid);font-size:14px}.prompt-field input:focus,.prompt-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-mist)}.prompt-field textarea{resize:vertical}.balance-line{font-size:18px;margin-bottom:8px}.amount-line{margin:8px 0 16px;font-size:16px}.linkish{background:none;border:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer;padding:0}.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ref-card{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;aspect-ratio:3/4;cursor:pointer;background:var(--surface-solid);padding:0;animation:rise .5s cubic-bezier(.22,1,.36,1) backwards;transition:transform .2s ease}.ref-card:active{transform:scale(.98)}.ref-card img{width:100%;height:100%;object-fit:cover;display:block}.ref-card--text{background:linear-gradient(160deg,rgba(14,140,124,.14),transparent 55%),var(--surface-solid)}.ref-placeholder{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;text-align:center}.ref-placeholder .ref-title{color:var(--ink);font-size:16px}.ref-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 40%,#12151ac7);display:flex;flex-direction:column;justify-content:flex-end;padding:12px;text-align:left;color:#f4f6f8}.ref-title{font-family:var(--font-display);font-size:17px;font-weight:400;line-height:1.15}.ref-desc{font-size:11px;color:#f4f6f8c7;margin-top:3px}.ref-cat{font-size:11px;color:var(--accent-soft);margin-bottom:4px}.mode-tabs,.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.mode-tab,.cat-tab{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-solid);color:var(--muted);font-size:13px;font-weight:500;cursor:pointer}.mode-tab.active,.cat-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.prompt-mode-card{background:var(--surface-solid);border:1px solid var(--line);border-radius:18px;padding:24px 20px;text-align:center;box-shadow:var(--shadow)}.prompt-mode-desc{color:var(--muted);font-size:15px;margin-bottom:22px;line-height:1.5}.prompt-field{display:block;margin-bottom:16px}.compare-item .label,.prompt-field .label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:500}.upload-prompt-head{margin-bottom:16px}.upload-prompt-title{font-family:var(--font-display);font-size:22px;margin-top:4px}.upload-example,.upload-user-photo{margin-bottom:16px}.preview.wide,.upload-zone.wide{width:100%;display:block;aspect-ratio:4/3}.preview.wide{border-radius:14px;margin-top:8px}.upload-zone.wide{margin-top:8px}.compare-item.single{margin-bottom:16px}.compare-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.preview{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:3/4;border:1.5px dashed rgba(14,140,124,.4);border-radius:14px;cursor:pointer;color:var(--muted);gap:8px;background:var(--accent-mist);transition:border-color .2s,background .2s}.upload-zone:hover{border-color:var(--accent);background:#0e8c7c2e}.upload-icon{font-size:28px;color:var(--accent);font-weight:300}.processing{text-align:center;padding:72px 20px;animation:rise .4s ease}.spinner{width:44px;height:44px;border:3px solid rgba(14,140,124,.18);border-top-color:var(--accent);border-radius:50%;margin:0 auto 22px;animation:spin .9s linear infinite}.processing p{color:var(--muted);font-size:15px;line-height:1.5}.processing.queued{display:flex;flex-direction:column;align-items:center;gap:12px}.queued-icon{width:52px;height:52px;border-radius:50%;background:var(--accent-mist);color:var(--accent);font-size:28px;line-height:52px;text-align:center;margin-bottom:4px}.queued-title{color:var(--ink);font-size:18px;font-weight:600}.queued-hint{max-width:280px}.queued-hint.muted{font-size:13px;color:var(--muted)}.processing.queued .primary-btn,.processing.queued .secondary-btn{width:100%;max-width:280px;margin-top:4px}.result-image{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}.result-actions{display:flex;gap:12px;margin-top:22px}.history-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.history-card{display:grid;grid-template-columns:88px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-solid)}.history-thumb-btn{border:none;padding:0;background:none;cursor:pointer;border-radius:10px;overflow:hidden}.history-thumb{width:88px;height:88px;object-fit:cover;display:block}.history-meta{min-width:0;text-align:left}.history-date{font-size:14px;font-weight:600;margin-bottom:4px}.history-ref{font-size:12px;color:var(--muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-card .secondary-btn.compact{flex:none;padding:10px 12px;white-space:nowrap}.primary-btn,.secondary-btn,.back-btn{flex:1;padding:14px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;border:none;text-align:center;text-decoration:none;display:inline-block;transition:transform .15s ease,opacity .15s ease,background .15s ease}.primary-btn:active,.secondary-btn:active{transform:scale(.98)}.primary-btn{background:var(--accent);color:#fff}.primary-btn:hover{background:#0a7467}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.secondary-btn{background:var(--surface-solid);color:var(--ink);border:1px solid var(--line)}.back-btn{width:100%;margin-top:12px;background:transparent;color:var(--muted);border:none;font-weight:500}.error-banner{background:#c9444a1a;border:1px solid rgba(201,68,74,.25);color:var(--danger);padding:12px 14px;border-radius:12px;margin-bottom:16px;font-size:14px}.empty,.loader{text-align:center;color:var(--muted);padding:40px 20px;grid-column:1 / -1}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}
