.auth-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-secondary);border:1px solid #ffffff26;border-radius:24px;width:90%;max-width:440px;padding:40px;animation:.3s ease-out slideUp;position:relative;box-shadow:0 4px 20px #00000080}.auth-modal-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:28px;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.auth-modal-close:hover{background:#fff3;transform:rotate(90deg)}.auth-modal-header{text-align:center;margin-bottom:32px}.auth-modal-logo{width:80px;height:auto;filter:drop-shadow(0 0 10px var(--glow-gold));margin:0 auto 1.5rem;display:block}.auth-modal-header h2{color:#fff;margin:0 0 8px;font-size:28px;font-weight:700}.auth-modal-header p{color:#ffffffb3;margin:0;font-size:15px}.auth-modal-content{margin-bottom:24px}.auth-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;padding:16px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-google{color:#333;background:#fff;margin-bottom:16px}.auth-btn-google:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #fff3}.auth-btn-google svg{flex-shrink:0}.auth-divider{color:#ffffff80;align-items:center;margin:24px 0;font-size:14px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#fff3;flex:1;height:1px}.auth-divider span{padding:0 16px}.auth-input{background:var(--bg-tertiary);color:#fff;box-sizing:border-box;border:1px solid #ffffff26;border-radius:12px;width:100%;margin-bottom:12px;padding:16px;font-size:16px;transition:all .2s}.auth-input:focus{border-color:var(--gold-primary);box-shadow:0 0 0 3px var(--glow-gold);outline:none}.auth-input::placeholder{color:var(--text-muted)}.auth-btn-email{background:linear-gradient(135deg,var(--gold-dark),var(--gold-primary));color:#fff}.auth-btn-email:hover:not(:disabled){box-shadow:0 4px 12px var(--glow-gold-strong);transform:translateY(-1px)}.auth-message{text-align:center;border-radius:8px;margin-top:16px;padding:12px 16px;font-size:14px}.auth-message.success{color:#4ade80;background:#22c55e33;border:1px solid #22c55e4d}.auth-message.error{color:#f87171;background:#ef444433;border:1px solid #ef44444d}.auth-success{text-align:center;padding:20px 0}.success-icon{margin-bottom:16px;font-size:64px}.auth-success h3{color:#fff;margin:0 0 16px;font-size:24px}.auth-success p{color:#fffc;margin:8px 0;font-size:15px;line-height:1.6}.success-hint{color:#fff9!important;margin-top:16px!important;font-size:14px!important}.auth-btn-secondary{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;margin-top:24px;padding:12px 32px;font-size:15px;font-weight:600;transition:all .2s}.auth-btn-secondary:hover{background:#ffffff26;transform:translateY(-1px)}.auth-modal-footer{text-align:center;border-top:1px solid #ffffff1a;padding-top:20px}.auth-modal-footer p{color:#fff9;margin:0;font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.pricing-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.pricing-modal{background:var(--bg-secondary);border:1px solid #ffffff26;border-radius:24px;width:100%;max-width:1200px;margin:auto;padding:40px;animation:.3s ease-out slideUp;position:relative;box-shadow:0 4px 20px #00000080}.pricing-modal-close{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:28px;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.pricing-modal-close:hover{background:#fff3;transform:rotate(90deg)}.pricing-modal-header{text-align:center;margin-bottom:40px}.pricing-modal-header h2{color:#fff;margin:0 0 12px;font-size:36px;font-weight:700}.pricing-modal-header p{color:#ffffffb3;margin:0;font-size:16px}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.pricing-card{background:var(--bg-tertiary);border:1px solid #ffffff26;border-radius:16px;padding:24px;transition:all .2s;position:relative}.pricing-card:hover{border-color:var(--gold-primary);box-shadow:0 4px 12px var(--glow-gold);transform:translateY(-2px)}.pricing-card.popular{border-color:var(--gold-primary)}.pricing-card.popular:hover{box-shadow:0 4px 12px var(--glow-gold-strong)}.popular-badge{background:linear-gradient(135deg,var(--gold-dark),var(--gold-primary));color:#fff;white-space:nowrap;box-shadow:0 2px 8px var(--glow-gold);border-radius:20px;padding:6px 16px;font-size:12px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card-header{text-align:center;margin-bottom:20px}.pricing-card-header h3{color:#fff;margin:0 0 12px;font-size:24px;font-weight:700}.pricing-credits{flex-direction:column;align-items:center;gap:4px;display:flex}.credits-count{background:linear-gradient(135deg,var(--gold-dark),var(--gold-primary),var(--gold-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:48px;font-weight:700}.credits-label{color:#fff9;text-transform:uppercase;letter-spacing:1px;font-size:14px}.pricing-card-body{text-align:center;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;margin-bottom:20px;padding:16px 0}.pricing-price{justify-content:center;align-items:flex-start;margin-bottom:8px;display:flex}.price-currency{color:#fffc;margin-top:4px;font-size:24px;font-weight:600}.price-amount{color:#fff;font-size:42px;font-weight:700}.pricing-perunit{color:#ffffff80;font-size:13px}.pricing-btn{background:linear-gradient(135deg,var(--gold-dark),var(--gold-primary));color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;min-height:48px;padding:14px 24px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.pricing-btn:hover:not(:disabled){box-shadow:0 4px 12px var(--glow-gold-strong);transform:translateY(-1px)}.pricing-btn:disabled{opacity:.6;cursor:not-allowed}.pricing-error{color:#f87171;text-align:center;background:#ef444433;border:1px solid #ef44444d;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;padding:16px;font-size:14px;display:flex}.pricing-footer{text-align:center;border-top:1px solid #ffffff1a;padding-top:20px}.pricing-footer p{color:#fff9;margin:0;font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.pricing-modal{padding:24px}.pricing-modal-header h2{font-size:28px}.pricing-grid{grid-template-columns:1fr;gap:16px}.pricing-card{padding:20px}}
.favorites-wrapper{max-width:900px;margin:2rem auto;padding:0 1rem}.favorites-btn-row{justify-content:center;margin-bottom:1.25rem;display:flex}.gallery-toggle{color:#f5a623;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#1a1208,#1e1810);border:1.5px solid #f5a623;border-radius:50px;justify-content:center;align-items:center;gap:.5rem;min-width:160px;padding:.65rem 1.75rem;font-size:1rem;font-weight:600;transition:all .25s;display:inline-flex;box-shadow:0 0 14px #f5a62340}.gallery-toggle:hover{background:linear-gradient(135deg,#221a0c,#2a2010);transform:translateY(-1px);box-shadow:0 0 22px #f5a62380}.gallery-toggle-active{color:#0a0a0a!important;background:linear-gradient(135deg,#f5a623,#e8941a)!important;box-shadow:0 0 24px #f5a62399!important}.favorites-section{padding:0}.favorites-heading{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.4rem;font-weight:700}.favorites-loading{color:var(--text-secondary);padding:1rem 0;font-size:.95rem}.gallery-modal{z-index:1000;background:#000000e6;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.gallery-content{background:var(--bg-secondary);border:1px solid #ffffff26;border-radius:16px;width:100%;max-width:1200px;max-height:90vh;padding:30px;overflow-y:auto;box-shadow:0 4px 12px #00000080}.gallery-header{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.gallery-header h2{color:var(--text-primary);margin:0;font-size:28px}.gallery-close{width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.gallery-close:hover{background:var(--error);border-color:var(--error);transform:rotate(90deg)translateZ(0)}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px;display:grid}@media (max-width:375px){.gallery-grid{grid-template-columns:repeat(1,1fr);gap:10px}}@media (min-width:376px) and (max-width:576px){.gallery-grid{grid-template-columns:repeat(1,1fr);gap:12px}}@media (min-width:577px) and (max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:15px}}@media (min-width:769px) and (max-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:18px}}.gallery-empty{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:60px 20px;font-size:18px}.gallery-item{background:var(--bg-tertiary);border:1px solid #ffffff26;border-radius:12px;transition:all .2s;position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--gold-primary);box-shadow:0 4px 12px var(--glow-gold);transform:translateY(-2px)translateZ(0)}.gallery-item-video{object-fit:cover;background:#000;width:100%;height:200px;display:block}.image-placeholder-broken{text-align:center;background:#1a1a1acc;border:2px dashed #d4af374d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;height:200px;min-height:200px;padding:1.5rem;display:flex}.placeholder-icon{opacity:.6;margin-bottom:.5rem;font-size:3rem}.placeholder-text{color:#e8c87c99;margin:0;font-family:Inter,sans-serif;font-size:.9rem}.gallery-item-info{padding:15px}.gallery-date{color:var(--text-secondary);margin:0;font-size:12px}.gallery-download-btn{background:linear-gradient(135deg,var(--gold-dark),var(--gold-primary));cursor:pointer;width:40px;height:40px;box-shadow:0 2px 8px var(--glow-gold);opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex;position:absolute;top:10px;right:10px;transform:scale(.8)translateZ(0)}.gallery-download-btn:disabled{opacity:.4;cursor:not-allowed;background:#64646480}.gallery-item:hover .gallery-download-btn{opacity:1;transform:scale(1)translateZ(0)}.gallery-download-btn:hover:not(:disabled){box-shadow:0 4px 12px var(--glow-gold-strong);transform:scale(1.05)translateZ(0)}.gallery-download-btn:active:not(:disabled){transform:scale(.95)translateZ(0)}.gallery-delete-btn{cursor:pointer;opacity:0;background:#b42828d9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:10px;left:10px;transform:scale(.8)translateZ(0)}.gallery-item:hover .gallery-delete-btn{opacity:1;transform:scale(1)translateZ(0)}.gallery-delete-btn:hover{background:#c22;transform:scale(1.05)translateZ(0)!important}@media (max-width:768px){.gallery-delete-btn,.gallery-download-btn{opacity:1;transform:scale(1)}.gallery-toggle{min-width:140px;padding:.6rem 1.4rem;font-size:.9rem}.gallery-content{max-height:95vh;padding:20px}.gallery-header h2{font-size:24px}}
.hub-header{z-index:100;background:0 0;flex-direction:column;align-items:center;padding:2rem 1rem 1rem;display:flex;position:relative}.back-to-hub-link{color:#d4af37;z-index:10;background:#d4af371a;border:1px solid #d4af3780;border-radius:8px;padding:.4rem 1rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s;position:absolute;top:1rem;left:1rem}.back-to-hub-link:hover{background:#d4af3733;border-color:#d4af37;transform:translate(-2px)}.logo-display-zone{justify-content:center;align-items:center;width:auto;margin:0 auto 1rem;display:flex;height:130px!important}@keyframes logoVortex{0%,to{filter:drop-shadow(0 0 8px #ffa00073)drop-shadow(0 0 2px #000c);transform:translateZ(0)rotate(-3deg)scale(.98)}50%{filter:drop-shadow(0 0 20px #ffa000d9)drop-shadow(0 0 40px #ff640066)drop-shadow(0 0 2px #000c);transform:translateZ(0)rotate(3deg)scale(1.02)}}.brand-logo-image{object-fit:contain;will-change:transform,filter;transform-origin:50%;width:auto;height:180px;animation:5s ease-in-out infinite logoVortex}.brand-title-text{background:linear-gradient(135deg,#e8c87c 0%,#d4af37 50%,#b8960c 100%);-webkit-text-fill-color:transparent;letter-spacing:3px;text-align:center;-webkit-background-clip:text;background-clip:text;margin:1rem 0;font-family:Orbitron,sans-serif;font-size:3rem;font-weight:900}.primary-tagline{color:#d4af37;text-align:center;letter-spacing:.3px;margin:.4rem 0 1.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600}.hub-pills-container{flex-flow:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.hub-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;cursor:default;background:#1a1a1acc;border-radius:50px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.pill-icon{font-size:1.1rem;line-height:1}.pill-text{line-height:1}.credits-pill{color:gold;border:2px solid gold}.buy-credits-pill{color:gold;cursor:pointer;border:2px solid gold;box-shadow:0 2px 8px #ffd7004d}.buy-credits-pill:hover{background:#ffd7001a;transform:translateY(-2px);box-shadow:0 4px 16px #ffd70066}.profile-pill{color:#d4af37;border:1px solid #d4af374d;gap:.75rem;padding:.5rem 1rem}.profile-avatar{border:2px solid gold;border-radius:50%;flex-shrink:0;width:32px;height:32px;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-fallback{color:#0a0a0a;background:linear-gradient(135deg,#d4af37,#e8c87c);border:2px solid gold;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.profile-name{color:#e8c87c;font-size:.9rem}.hub-pill .signout-btn{color:#d4af37;cursor:pointer;background:#d4af371a;border:1px solid #d4af374d;border-radius:20px;padding:.3rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s}.hub-pill .signout-btn:hover{background:#d4af3733;border-color:#d4af37}.signin-pill{color:#d4af37;cursor:pointer;border:1px solid #d4af374d}.signin-pill:hover:not(:disabled){background:#ffd7000d;border-color:gold;transform:translateY(-2px)}.signin-pill:disabled{opacity:.6;cursor:not-allowed}.retry-pill{color:#d4af37;cursor:pointer;border:1px solid #d4af374d}.retry-pill:hover{background:#ffd7000d;border-color:gold}@media (max-width:768px){.hub-header{padding:3rem 1rem 1rem}.back-to-hub-link{padding:.25rem .65rem;font-size:.75rem}.logo-display-zone{width:auto;margin:0 auto 1rem;height:130px!important}.brand-title-text{letter-spacing:2px;margin:1rem 0 .4rem;font-size:1.5rem}.primary-tagline{font-size:1rem}.hub-pills-container{gap:.75rem}.hub-pill{padding:.5rem 1rem;font-size:.9rem}.pill-icon{font-size:1rem}.profile-name{display:none}.profile-pill{padding:.5rem .75rem}}@media (max-width:480px){.hub-header{padding:3rem .5rem 1rem}.logo-display-zone{width:auto;height:130px!important}.brand-title-text{letter-spacing:1px;font-size:1.2rem}.hub-pills-container{flex-direction:column;width:100%;max-width:300px}.hub-pill{justify-content:center;width:100%;padding:.7rem 1rem}.profile-name{display:inline}}@media (prefers-reduced-motion:reduce){.brand-logo-image{animation:none}.back-to-hub-link:hover,.buy-credits-pill:hover,.signin-pill:hover{transform:none}}
.notification{color:#fff;z-index:2000;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:12px;align-items:center;gap:12px;max-width:420px;padding:16px 24px;animation:.3s ease-out slideInRight;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 12px 40px #10b98166}.notification-error{background:linear-gradient(135deg,#991b1b 0%,#dc2626 100%);box-shadow:0 12px 40px #dc262666}.notification-warning{background:linear-gradient(135deg,#92400e 0%,#d97706 100%);box-shadow:0 12px 40px #d9770666}.notification-icon{flex-shrink:0;font-size:24px}.notification-content{flex:1}.notification-title{margin-bottom:4px;font-size:16px;font-weight:600}.notification-message{opacity:.9;font-size:14px;line-height:1.4}.notification-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;transition:all .2s;display:flex}.notification-close:hover{background:#ffffff4d}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@media (max-width:768px){.notification{max-width:none;top:16px;left:16px;right:16px}}
