*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:system-ui,sans-serif}[hidden]{display:none!important}body{display:grid;grid-template-rows:54px minmax(0,1fr);overflow:hidden;background:#eff8f4}header{display:flex;align-items:center;gap:12px;padding:0 18px;background:#fff;border-bottom:1px solid #dbe8e2}header strong{font-size:18px}#guest-badge{padding:4px 10px;border-radius:999px;background:#e4f5ed;color:#247455}header button{border:0;border-radius:18px;padding:9px 15px;background:#247455;color:#fff;cursor:pointer}#user-center{margin-left:auto;background:transparent;padding:0}main{min-width:0;min-height:0;overflow:hidden}main,iframe{width:100%;height:100%;border:0}iframe{display:block}dialog{border:0;border-radius:18px;box-shadow:0 20px 70px #0004;max-width:520px}dialog form,dialog label{display:grid;gap:8px}dialog input{padding:9px;border:1px solid #ccd8d2;border-radius:8px}dialog button{border:0;border-radius:16px;padding:9px 16px;margin:4px}.project-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid #ddd;padding:9px 0}.project-row img,.project-placeholder{width:52px;height:52px;border-radius:10px;background:#dcece5;object-fit:cover}.project-meta{display:grid;gap:3px}.project-meta small{color:#667}.project-actions{display:flex;flex-wrap:wrap}.project-empty-state{text-align:center;padding:20px;color:#52625d}.project-empty-state img{display:block;max-width:300px;width:100%;margin:0 auto 12px}#toast{position:fixed;right:16px;bottom:84px;background:#183b2e;color:#fff;padding:10px 16px;border-radius:12px;display:none;z-index:40}
#ai-launcher{position:fixed;right:18px;bottom:18px;z-index:30;border:0;border-radius:999px;padding:13px 18px;background:#6c4cd4;color:#fff;font-weight:700;box-shadow:0 8px 28px #34226b55;cursor:pointer}#ai-panel{position:fixed;right:18px;bottom:76px;width:min(370px,calc(100vw - 24px));max-height:calc(100vh - 90px);overflow:auto;z-index:35;background:#fff;border:1px solid #ded7f7;border-radius:18px;box-shadow:0 18px 60px #2e215355}#ai-drag-handle{display:flex;align-items:center;gap:8px;padding:13px 14px;background:#f2efff;border-radius:18px 18px 0 0;cursor:move;touch-action:none;user-select:none}#ai-drag-handle span{font-size:12px;color:#756c89}#ai-close{margin-left:auto;border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer}#ai-form{display:grid;gap:12px;padding:14px}#ai-form label{display:grid;gap:6px;font-size:14px;font-weight:650}#ai-form input,#ai-form select,#ai-form textarea{width:100%;padding:9px;border:1px solid #cfc8df;border-radius:9px;font:inherit}#ai-form textarea{resize:vertical}.ai-cost{margin:0;padding:9px;border-radius:10px;background:#fff7dc;color:#6e5011;font-size:13px}.ai-actions{display:flex;gap:8px}.ai-actions button,#ai-insufficient-recharge,#ai-login-link{border:0;border-radius:14px;padding:9px 14px;cursor:pointer}#ai-generate{background:#6c4cd4;color:#fff}#ai-cancel{background:#eee9f8}#ai-status{margin:0 14px 14px;padding:10px;border-radius:10px;background:#f5f5f7}#ai-status[data-state=failed],#ai-status[data-state=insufficient]{background:#fff0ee;color:#9b2c23}#ai-status[data-state=completed]{background:#e7f7ed;color:#17663a}#ai-insufficient-recharge,#ai-login-link{margin:0 14px 12px}#ai-insufficient-recharge{background:#247455;color:#fff}#ai-login-link{background:transparent;color:#5b3fc1;text-decoration:underline}#ai-result{padding:0 14px 14px}#ai-result img{display:block;width:100%;max-height:310px;object-fit:contain;border-radius:12px;background:#eee}#ai-result a{display:inline-block;margin-top:10px;padding:9px 14px;border-radius:14px;background:#247455;color:#fff;text-decoration:none}#ai-result p{font-size:12px;color:#665f70}
#ai-input-preview{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px;padding:8px;border-radius:10px;background:#f6f3ff}#ai-input-preview img{width:72px;height:72px;object-fit:cover;border-radius:8px}#ai-file-info{font-size:12px;color:#5e566b;overflow-wrap:anywhere}
@media(max-width:640px){#ai-panel{left:8px!important;right:8px!important;bottom:70px!important;top:auto!important;width:auto;max-height:70vh}#ai-drag-handle{cursor:default}header{gap:5px;padding:0 8px}header button{padding:7px 9px}header>strong{display:none}}
.field-help{max-width:34rem;margin:.25rem 0 .75rem;color:#4c5f50;font-size:.9rem}.terms-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:.4rem}.terms-confirm input{margin-top:.25rem}.terms-confirm a,.legal-footer a{color:#175d34}.terms-confirm a:focus-visible,.legal-footer a:focus-visible{outline:3px solid #65a96f;outline-offset:2px}#auth-error{min-height:1.4em;color:#a02020}.legal-footer{position:fixed;left:1rem;bottom:.5rem;z-index:9;display:flex;gap:1rem;padding:.35rem .6rem;border-radius:8px;background:rgba(255,255,255,.9);font-size:.85rem}
#ai-history-dialog{width:min(760px,calc(100vw - 24px));max-width:760px;max-height:85vh;overflow:auto}#ai-history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.ai-history-card{overflow:hidden;border:1px solid #d9e4df;border-radius:14px;background:#fff}.ai-history-media{display:grid;place-items:center;aspect-ratio:16/9;background:#edf3f0;color:#607068}.ai-history-media img{width:100%;height:100%;object-fit:cover}.ai-history-meta{display:grid;gap:7px;padding:11px}.ai-history-meta p{margin:0;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-history-meta small{color:#68736e}.ai-history-meta strong[data-status=failed]{color:#9b2c23}.ai-history-meta strong[data-status=completed]{color:#17663a}.ai-history-actions{display:flex;gap:8px;align-items:center}.ai-history-actions a,.ai-history-actions button,#ai-history-preview-download{border:0;border-radius:12px;padding:7px 11px;background:#247455;color:#fff;text-decoration:none;cursor:pointer;font:inherit}#ai-history-preview{width:min(920px,calc(100vw - 24px));max-width:920px}#ai-history-preview-image{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain;border-radius:12px;background:#edf3f0}
#payment-methods{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}#payment-methods h3{width:100%;margin:0}#payment-methods button,#package-list button,#qr-checkout button{padding:10px 16px;border:1px solid #bfd7ca;border-radius:12px;background:#fff;cursor:pointer}#qr-checkout{text-align:center;min-width:290px}#qr-checkout h3{margin:8px 0;color:#174b36}#qr-amount{display:block;font-size:32px;font-variant-numeric:tabular-nums;line-height:1.2;color:#174b36}#qr-credits{margin:4px 0 12px;color:#476356}#qr-image{display:block;width:220px;height:220px;margin:12px auto;border:10px solid #fff;box-shadow:0 2px 14px #0002}#qr-instruction{margin:8px 0;color:#476356}#qr-state[data-state=paid]{color:#167245;font-weight:700}#qr-state[data-state=expired]{color:#9a4a20;font-weight:700}
#nav-recharge-button{margin-left:auto;background:#e4f5ed;color:#176343;font-weight:700}#user-center{margin-left:0}
#create-confirm-dialog{width:min(400px,calc(100vw - 28px));padding:26px 28px;color:#173d2c}#create-confirm-dialog h2{margin:0 0 18px}#create-confirm-dialog p{margin:12px 0}.project-create-price{background:#e4f5ed;border-radius:12px;padding:13px 16px;color:#176343}.project-create-price strong{font-size:2rem;font-variant-numeric:tabular-nums}.project-create-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}#create-confirm-accept{background:#247455;color:#fff}#create-confirm-cancel{background:#edf1ef;color:#254539}#create-confirm-dialog button:focus-visible{outline:3px solid #7cbd9a;outline-offset:2px}
