*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Arial Rounded MT Bold,Arial,sans-serif;min-height:100vh;background:linear-gradient(150deg,#c2006e,#8b0098 55%,#4a006e);display:flex;flex-direction:column;align-items:center;overflow-x:hidden}#app,.app-container{width:100%;display:flex;justify-content:center}.screen{width:100%;max-width:460px;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:28px 22px 44px}.logo-wrap{margin-bottom:8px;text-align:center}.logo-wrap img{height:88px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.logo2-wrap{text-align:center;margin-bottom:18px}.logo2-wrap img{width:72%;max-width:280px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}input[type=text],textarea{width:100%;border:none;border-radius:22px;padding:15px 20px;font-size:1rem;color:#333;background:#fff;outline:none;margin-bottom:13px;resize:none;box-shadow:0 3px 12px #0000002e}input[type=text]{text-align:center;font-weight:600}textarea{border-radius:16px;height:120px;font-family:inherit}::placeholder{color:#bbb}.gender-label{color:#ffffffd9;font-size:.9rem;text-align:center;margin-bottom:8px;width:100%}.gender-select{width:100%;padding:14px 46px 14px 20px;margin-bottom:13px;border-radius:50px;border:2.5px solid rgba(255,255,255,.7);background-color:#ffffff1f;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;letter-spacing:.3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 18px center;background-size:16px}.gender-select:focus{border-color:#fff}.gender-select option{color:#1a1a2e;background:#fff}.gender-select:invalid{color:#ffffffb3}#preview-thumb{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid white;display:none;margin:0 auto 12px;box-shadow:0 3px 14px #00000059}#preview-thumb.show{display:block}.btn-camera{width:100%;padding:15px;border-radius:50px;border:2px solid rgba(255,255,255,.5);background:#ffffff2e;color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:13px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .18s}.btn-camera:active{background:#ffffff4d}.btn-submit{width:100%;padding:16px;border-radius:50px;border:none;background:#00c9a7;color:#fff;font-size:1.15rem;font-weight:900;cursor:pointer;box-shadow:0 4px 22px #00c9a773;letter-spacing:1px;transition:transform .12s}.btn-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-submit:not(:disabled):active{transform:scale(.97)}.spinner{width:62px;height:62px;border:6px solid rgba(255,255,255,.25);border-top-color:#00c9a7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-msg{color:#fff;font-size:1.15rem;font-weight:700;text-align:center;margin-top:18px}.loading-sub{color:#ffffffb3;font-size:.85rem;text-align:center;margin-top:8px}.polaroid{background:#fff;border-radius:16px;padding:12px;box-shadow:0 12px 48px #00000059;width:100%;margin:14px 0 16px;overflow:hidden}#result-img{width:100%;height:auto;display:block;border-radius:8px}.polaroid-text{padding:16px 14px 20px}.p-name{font-size:1.2rem;font-weight:900;color:#1a1a2e;text-transform:uppercase;letter-spacing:1px}.p-power{font-size:.9rem;color:#666;margin-top:4px;line-height:1.4;font-style:italic}.btn-download{width:100%;padding:15px;border-radius:50px;border:none;background:#00c9a7;color:#fff;font-size:1.05rem;font-weight:900;cursor:pointer;margin-bottom:13px;letter-spacing:.5px;box-shadow:0 4px 20px #00c9a766}.share-q{color:#ffffffe6;font-size:.95rem;text-align:center;margin-bottom:12px;line-height:1.4}.share-row{display:flex;gap:14px;width:100%;margin-bottom:14px}.btn-yes{flex:1;padding:14px;border-radius:50px;border:none;background:#00c9a7;color:#fff;font-size:1.05rem;font-weight:900;cursor:pointer}.btn-no{flex:1;padding:14px;border-radius:50px;border:none;background:#e91e8c;color:#fff;font-size:1.05rem;font-weight:900;cursor:pointer}.btn-restart{width:100%;padding:12px;border-radius:50px;border:2px solid rgba(255,255,255,.4);background:transparent;color:#ffffffd9;font-size:.95rem;font-weight:700;cursor:pointer}
