@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--bg-primary: #0a0a0f;--bg-card: rgba(255, 255, 255, .04);--bg-card-hover: rgba(255, 255, 255, .07);--glass: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .1);--text-primary: #f0f0f5;--text-secondary: #8888a0;--text-muted: #555566;--accent: #7c3aed;--accent-hover: #8b5cf6;--accent-glow: rgba(124, 58, 237, .4);--danger: #ef4444;--success: #22c55e;--gradient-1: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);--gradient-2: linear-gradient(135deg, #06b6d4 0%, #7c3aed 100%);--radius: 16px;--radius-sm: 10px;--radius-xs: 6px;--header-h: 52px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%;overflow:hidden}body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;overscroll-behavior:none}#root{height:100%;overflow:hidden}.loading-screen{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg-primary)}.loading-logo{font-size:3rem;font-weight:900;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.auth-page{display:flex;align-items:center;justify-content:center;height:100%;position:relative;overflow:auto;padding:20px;padding-top:calc(20px + var(--safe-top));padding-bottom:calc(20px + var(--safe-bottom))}.auth-bg{position:fixed;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(124,58,237,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(236,72,153,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(6,182,212,.08) 0%,transparent 50%);z-index:0}.auth-form{position:relative;z-index:1;width:100%;max-width:420px;padding:32px 24px;background:var(--glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:18px}.auth-form-header{text-align:center;margin-bottom:4px}.auth-title{font-size:2.2rem;font-weight:900;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.auth-subtitle{color:var(--text-secondary);font-size:.9rem}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:10px 14px;border-radius:var(--radius-xs);font-size:.85rem}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-field input{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xs);padding:12px 14px;font-size:16px;color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;-webkit-appearance:none}.form-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-field input::placeholder{color:var(--text-muted)}.password-wrapper{position:relative}.password-wrapper input{width:100%;padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;display:flex;align-items:center}.password-toggle:hover{color:var(--text-secondary)}.btn-primary{background:var(--gradient-1);color:#fff;border:none;border-radius:var(--radius-xs);padding:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;min-height:48px}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{text-align:center;color:var(--text-secondary);font-size:.85rem}.auth-toggle button{background:none;border:none;color:var(--accent-hover);cursor:pointer;font-weight:600;font-size:.85rem;font-family:inherit;padding:4px}.auth-toggle button:hover{text-decoration:underline}.spin{animation:spinner 1s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.feed-page{height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.app-header{position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;padding-top:calc(8px + var(--safe-top));background:#0a0a0fd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);min-height:var(--header-h);flex-shrink:0}.header-left{display:flex;align-items:center}.app-logo{font-size:1.3rem;font-weight:900;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:10px}.token-balance{display:flex;align-items:center;gap:6px}.token-balance-inner{display:flex;align-items:center;gap:5px;background:var(--glass);border:1px solid var(--glass-border);padding:5px 12px;border-radius:20px;color:#fbbf24;font-weight:600;font-size:.85rem}.token-count{min-width:16px;text-align:center}.buy-tokens-mini{background:var(--gradient-1);color:#fff;border:none;padding:6px 12px;border-radius:16px;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit;min-height:32px}.btn-buy-header{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-primary);padding:5px 12px;border-radius:20px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .2s;font-family:inherit;white-space:nowrap;min-height:32px}.btn-buy-header:hover{background:var(--bg-card-hover)}.user-info{display:flex;align-items:center;gap:8px}.username{font-size:.8rem;font-weight:500;color:var(--text-secondary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;display:flex;align-items:center;transition:color .2s;min-width:32px;min-height:32px;justify-content:center}.btn-logout:hover{color:var(--danger)}.feed-main{flex:1;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.feed-main::-webkit-scrollbar{display:none}.feed-container{width:100%}.feed-item{height:calc(100dvh - var(--header-h) - var(--safe-top));scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:12px;padding-bottom:calc(12px + var(--safe-bottom))}.short-card{width:100%;max-width:480px;height:100%;display:flex;align-items:center;justify-content:center}.short-card-inner{width:100%;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:16px;max-height:100%;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.short-card-inner::-webkit-scrollbar{display:none}.card-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5;padding:10px 14px;border-radius:var(--radius-xs);font-size:.85rem;text-align:center}.no-tokens-hint{text-align:center;color:#fbbf24;font-size:.85rem;font-weight:500;padding:10px;background:#fbbf2414;border-radius:var(--radius-xs);border:1px solid rgba(251,191,36,.15)}.scroll-hint{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;padding:12px;background:#7c3aed0f;border:1px solid rgba(124,58,237,.15);border-radius:var(--radius-xs)}.slot-machine{display:flex;flex-direction:column;align-items:center;gap:16px}.slot-reels{display:flex;gap:8px;width:100%}.reel-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.reel-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.reel-window{width:100%;height:48px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0000004d;border:1px solid var(--glass-border);border-radius:var(--radius-sm);position:relative}.reel-window:before,.reel-window:after{content:"";position:absolute;left:0;right:0;height:12px;z-index:2;pointer-events:none}.reel-window:before{top:0;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent)}.reel-window:after{bottom:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent)}.reel-word{font-size:.75rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);padding:4px 6px;max-width:100%}.spin-button{background:var(--gradient-1);color:#fff;border:none;padding:12px 44px;border-radius:28px;font-size:1rem;font-weight:800;letter-spacing:.15em;cursor:pointer;position:relative;overflow:hidden;font-family:inherit;box-shadow:0 4px 24px var(--accent-glow);transition:box-shadow .3s;min-height:48px;touch-action:manipulation}.spin-button:hover:not(:disabled){box-shadow:0 6px 32px var(--accent-glow)}.spin-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.spin-button-done{background:#ffffff14;opacity:.7;font-size:1.2rem;padding:10px 36px}.spin-icon{font-size:1.4rem;display:inline-block}.generated-image-container{width:100%;border-radius:var(--radius-sm);overflow:hidden;position:relative}.generated-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);display:block}.image-prompt{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);font-size:.75rem;color:#ffffffd9;font-style:italic;line-height:1.4}.image-loading{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.loading-shimmer{position:absolute;inset:0;background:linear-gradient(-45deg,#7c3aed1a,#ec489926,#06b6d41a,#7c3aed26,#ec48991a);background-size:400% 400%;animation:shimmer 3s ease infinite}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.loading-pulse{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.loading-text{font-size:.9rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;padding-top:calc(20px + var(--safe-top));padding-bottom:calc(20px + var(--safe-bottom))}.modal-content{background:#1a1a2e;border:1px solid var(--glass-border);border-radius:var(--radius);padding:32px 24px;max-width:380px;width:100%;text-align:center;position:relative}.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;display:flex;transition:color .2s;min-width:36px;min-height:36px;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-icon{color:#fbbf24;margin-bottom:12px;display:flex;justify-content:center}.modal-content h2{font-size:1.3rem;font-weight:700;margin-bottom:6px}.modal-desc{color:var(--text-secondary);font-size:.85rem;margin-bottom:20px;line-height:1.5}.token-package{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:14px}.package-info{display:flex;align-items:center;justify-content:space-between}.package-amount{font-weight:700;font-size:1rem;color:#fbbf24}.package-price{font-weight:600;font-size:.85rem;color:var(--success);background:#22c55e1a;padding:4px 12px;border-radius:12px}.btn-buy{background:var(--gradient-1);color:#fff;border:none;padding:12px;border-radius:var(--radius-xs);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s;font-family:inherit;min-height:48px;touch-action:manipulation}.btn-buy:hover{opacity:.9}.btn-buy:disabled{opacity:.6;cursor:not-allowed}@media(max-width:380px){.app-header{padding:6px 10px;padding-top:calc(6px + var(--safe-top))}.app-logo{font-size:1.1rem}.header-right{gap:6px}.username{display:none}.short-card-inner{padding:14px;gap:12px}.reel-word{font-size:.65rem}.reel-window{height:42px}.spin-button{padding:10px 32px;font-size:.9rem}}@media(max-width:600px){.btn-buy-header{display:none}.feed-item{padding:8px;padding-bottom:calc(8px + var(--safe-bottom))}.short-card-inner{padding:16px;gap:14px}.auth-form{padding:24px 20px}.auth-title{font-size:1.8rem}.slot-reels{gap:6px}.reel-word{font-size:.7rem}}@media(min-width:601px){.app-header{padding:10px 24px;padding-top:calc(10px + var(--safe-top))}.app-logo{font-size:1.5rem}.feed-item{padding:20px}.short-card-inner{padding:28px;gap:24px}.reel-window{height:56px}.reel-word{font-size:.85rem}.spin-button{padding:14px 48px;font-size:1.1rem}}
