*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);min-height:100vh;padding:0;margin:0}.container{max-width:600px;margin:0 auto;padding:16px}header{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0)}h1{font-size:24px;margin-bottom:12px;color:var(--tg-theme-text-color, #000000)}.credits-display{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:20px;font-weight:600;font-size:16px}.credits-icon{font-size:20px}.upload-section{margin-bottom:24px}.upload-area{border:2px dashed var(--tg-theme-hint-color, #999999);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease}.upload-area:hover{border-color:var(--tg-theme-button-color, #3390ec);background:var(--tg-theme-secondary-bg-color, #f8f9fa)}.upload-label{cursor:pointer;display:block}.upload-icon{font-size:48px;margin-bottom:12px}.upload-hint{font-size:14px;color:var(--tg-theme-hint-color, #999999);margin-top:8px}.image-preview{margin-top:20px;text-align:center}.image-preview img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #0000001a}.actions-section{margin-bottom:24px}.btn{width:100%;padding:14px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;margin-bottom:12px}.btn-icon{font-size:20px}.btn-primary{background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff)}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000)}.btn-secondary:hover{opacity:.9;transform:translateY(-1px)}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{opacity:.9;transform:translateY(-1px)}.processed-image{margin-top:24px;text-align:center}.processed-image h3{margin-bottom:16px;color:var(--tg-theme-text-color, #000000)}#result-canvas{max-width:100%;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-bottom:16px;display:block;margin-left:auto;margin-right:auto}.earn-credits-section{background:var(--tg-theme-secondary-bg-color, #f8f9fa);padding:20px;border-radius:12px}.earn-credits-section h2{font-size:18px;margin-bottom:16px;text-align:center;color:var(--tg-theme-text-color, #000000)}.credit-options{display:flex;flex-direction:column;gap:12px}.loading-overlay{position:fixed;inset:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay p{color:#fff;font-size:16px;margin:0}.progress-container{width:200px;height:6px;background:#fff3;border-radius:3px;overflow:hidden}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#3390ec,#4caf50);border-radius:3px;transition:width .3s ease}.progress-hint{font-size:13px!important;opacity:.7}.result-buttons{display:flex;flex-direction:column;gap:10px;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn.loading{position:relative;color:transparent!important}.btn.loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;left:50%;top:50%;margin-left:-10px;margin-top:-10px}.btn-secondary.loading:after{border-top-color:var(--tg-theme-text-color, #000000)}.btn-primary.loading:after,.btn-success.loading:after{border-top-color:#fff}@media(max-width:480px){.container{padding:12px}h1{font-size:20px}.btn{padding:12px 20px;font-size:14px}}
