@font-face{font-family:Robofan;src:url(/fonts/Robofan.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ThinItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraLightItalic.ttf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBoldItalic.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraBoldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-BlackItalic.ttf) format("truetype");font-weight:900;font-style:italic;font-display:swap}:root{font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f5f5;background-color:#000}*{box-sizing:border-box}html{max-width:100vw;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{margin:0;min-height:100vh;background:#000;max-width:100vw;overflow-x:clip;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;background:#000;display:flex;flex-direction:column;width:100%}.content{flex:1;padding:16px 16px 96px;overflow-x:clip}h1,h2,h3,h4,h5,h6,.header-title{font-family:Robofan,sans-serif;font-weight:400}.header-title{font-size:24px;margin:80px 0 12px}.subtitle{color:#b5b5b5;font-size:14px;margin:0 0 16px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.btn-primary{width:100%;background:linear-gradient(135deg,#40e0d0,#00ced1,#20b2aa);color:#000;border:none;border-radius:12px;padding:14px;font-weight:700;font-size:16px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #40e0d066}.btn-primary:active{transform:translateY(0)}.btn-primary.generate-btn{background:linear-gradient(135deg,#40e0d0,#00ced1,#20b2aa,#00ced1,#40e0d0);background-size:200% 200%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes shimmerButton{0%{left:-100%}50%{left:100%}to{left:-100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmerText{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.bottom-spacer{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#0e0e12;border-radius:20px;padding:20px;width:90%;max-width:420px;color:#fff}.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{background:#1a1a1f;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;min-height:120px;justify-content:space-between;border:1px solid #24242b}.tile-title{font-weight:700;font-size:16px}.premium-text-animated{background:linear-gradient(120deg,#fff,#dcdcdc,#a9a9a9,#dcdcdc,#fff);background-size:250% 250%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmerText 4s ease-in-out infinite}.category-capsule{background:#1a1a1a99;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:8px 16px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:transparent;background-clip:padding-box}.category-capsule:hover{background:#1a1a1acc;border-color:#fff3;transform:translateY(-2px)}.category-capsule.active{background:#1a1a1ae6;border-color:#ffffff4d}.category-capsule-text{background:linear-gradient(120deg,#fff,#dcdcdc,#a9a9a9,#dcdcdc,#fff);background-size:250% 250%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmerText 4s ease-in-out infinite}.premium-icon-animated{animation:premiumIconShimmer 4s ease-in-out infinite}@keyframes premiumIconShimmer{0%,to{filter:brightness(1) saturate(1) hue-rotate(0deg)}50%{filter:brightness(1.25) saturate(1.4) hue-rotate(40deg)}}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#00000080;border:1px solid rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.badge.new,.badge.popular{background:#00000080;border:1px solid rgba(255,255,255,.3);color:#fff}.panel{background:transparent;border:none;border-radius:16px;padding:16px;margin-bottom:16px}.vip-border-animated{position:relative;border-radius:12px;border:2px solid transparent!important;background:linear-gradient(#3c3c3c99,#3c3c3c99) padding-box,linear-gradient(120deg,#40e0d005,#40e0d040,#20b2aa4d,#00ced140,#40e0d005) border-box!important;background-size:100% 100%,220% 220%;background-origin:border-box;background-clip:padding-box,border-box;animation:vipBorderFlow 5s ease-in-out infinite}.premium-border-animated{position:relative;border-radius:12px;border:2px solid transparent!important;background:linear-gradient(#20b2aa0a,#20b2aa0a) padding-box,linear-gradient(120deg,#40e0d008,#40e0d059,#20b2aa8c,#00ced173,#40e0d008) border-box!important;background-size:100% 100%,240% 240%;background-origin:border-box;background-clip:padding-box,border-box;animation:vipBorderFlowReverse 4s ease-in-out infinite}.top-border-animated{position:relative;border-radius:12px;border:2px solid transparent!important;background:linear-gradient(#20b2aa05,#20b2aa05) padding-box,linear-gradient(120deg,#40e0d005,#40e0d040,#20b2aa73,#00ced159,#40e0d005) border-box!important;background-size:100% 100%,240% 240%;background-origin:border-box;background-clip:padding-box,border-box;animation:vipBorderFlow 4s ease-in-out infinite}@keyframes vipBorderFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes vipBorderFlowReverse{0%{background-position:100% 50%}50%{background-position:0% 50%}to{background-position:100% 50%}}.profile-page .panel,.buy-credits-page .panel{background:#0f0f13;border:1px solid #1f1f26}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{color:#d8d8dc;font-weight:600;font-size:13px}.input,.select{background:#111117;border:1px solid #1f1f26;border-radius:12px;padding:12px;color:#fff;font-size:14px}.aspect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pill{padding:10px 12px;border-radius:12px;background:#111117;border:1px solid #1f1f26;text-align:center;font-weight:600;cursor:pointer;color:#fff}.pill.active{border-color:#40e0d0;color:#fff;background:#1c1c22}.model-tag{background:#1a1a1f!important;padding:4px 8px!important;margin:0!important;border:none!important;border-radius:8px!important;box-shadow:none!important;outline:none!important}.upload{border:1px dashed #2b2b33;border-radius:12px;padding:16px;text-align:center;background:#0f0f13;color:#c1c1c7}.history-item{border:1px solid #1f1f26;border-radius:12px;padding:12px;margin-bottom:10px;background:#0f0f13}.top-header{position:sticky;top:0;left:0;right:0;width:100vw;margin-left:calc(-50vw + 50%);background:#0a0a0a;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;z-index:100}.top-header:before{content:"";position:absolute;top:-90px;left:0;right:0;height:90px;background:#0a0a0a;z-index:-1}body.platform-mobile .top-header{top:90px}body.platform-web .top-header{top:0}body.platform-web .top-header:before{content:"";position:fixed;top:0;left:0;right:0;width:100vw;bottom:auto;height:64px;background:#0a0a0a;z-index:-1;pointer-events:none}.bottom-nav-fixed{position:fixed!important;bottom:0!important;left:0!important;right:0!important;transform:translateZ(0)!important;-webkit-transform:translateZ(0)!important;will-change:transform!important;z-index:1000!important}.creepy-btn{--primary3: #7ff9f0;--primary5: #40E0D0;--primary6: #00CED1;--gray1: #f3f3f5;--black: #0f0f13;background-color:transparent;border-radius:8px;border:none;box-shadow:none;color:var(--gray1);cursor:pointer;letter-spacing:1px;outline:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.creepy-btn,.creepy-btn__cover,.creepy-btn__eye{position:relative}.creepy-btn__pupil{background-color:var(--black)}.creepy-btn__cover,.creepy-btn__pupil{border-radius:inherit;display:block}.creepy-btn__cover{background:linear-gradient(135deg,var(--primary5),var(--primary6));padding:12px 16px;top:0;right:0;bottom:0;left:0;transform-origin:16px 50%;transition:background-color .3s ease,transform .3s cubic-bezier(.65,0,.35,1);display:flex;align-items:center;justify-content:center;color:#000}.creepy-btn__eyes{position:absolute;display:flex;align-items:center;gap:6px;right:16px;bottom:8px;height:12px}.creepy-btn__eye{animation:creepy-eye-blink 3s infinite;background-color:var(--gray1);border-radius:999px;overflow:hidden;width:12px;height:12px}.creepy-btn__pupil{position:absolute;aspect-ratio:1;top:50%;left:50%;width:6px;border-radius:inherit;transform:translate(-50%,-50%)}.creepy-btn:focus-visible{outline:none}.creepy-btn:hover .creepy-btn__cover{background:linear-gradient(135deg,var(--primary6),var(--primary5))}.creepy-btn:focus-visible .creepy-btn__cover,.creepy-btn:hover .creepy-btn__cover{transform:rotate(-8deg);transition-timing-function:cubic-bezier(.65,0,.35,1.65)}.creepy-btn:active .creepy-btn__cover{transform:rotate(0);transition-timing-function:cubic-bezier(.65,0,.35,1)}@keyframes creepy-eye-blink{0%,92%,to{animation-timing-function:cubic-bezier(.32,0,.67,0);height:12px}96%{animation-timing-function:cubic-bezier(.33,1,.68,1);height:0}}@property --s1{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --s2{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --s3{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --rotation{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --depth{syntax: "<number>"; inherits: false; initial-value: .3;}@keyframes s1{to{--s1: 360deg}}@keyframes s2{to{--s2: 360deg}}@keyframes s3{to{--s3: 360deg}}@keyframes rotation{to{--rotation: 360deg}}@keyframes rotateouter{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.blob-button{aspect-ratio:1;width:60px;height:60px;background-color:transparent;border:none;cursor:pointer;position:relative;padding:0;overflow:visible}.blob-button-wrapper{filter:url(#edge-displacement);transform-origin:center;transition:transform .1s ease-out;animation:rotateouter 21s linear infinite;animation-composition:add;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.blob-button-blob{aspect-ratio:1;width:100%;height:100%;background:radial-gradient(ellipse at center,#40e0d0,#40e0d0 30%,#00ced1 50%,#008b8b 80%,#066);--rotation: 0deg;overflow:hidden;animation:s1 3s linear infinite,s2 5s linear infinite,s3 7s linear infinite,rotation 21s linear infinite;box-shadow:inset -15px 0 30px -5px #066,inset 15px 0 30px -5px #066}.blob-button-shape{--angle0: 0deg;--p1-0: 0deg;--p2-0: 0deg;--p3-0: 0deg;--angle1: 51.43deg;--p1-1: 137.5deg;--p2-1: 222.5deg;--p3-1: 360.1deg;--angle2: 102.86deg;--p1-2: 275deg;--p2-2: 85deg;--p3-2: 80.2deg;--angle3: 154.29deg;--p1-3: 52.5deg;--p2-3: 307.5deg;--p3-3: 200.3deg;--angle4: 205.71deg;--p1-4: 190deg;--p2-4: 170deg;--p3-4: 320.4deg;--angle5: 257.14deg;--p1-5: 327.5deg;--p2-5: 32.5deg;--p3-5: 80.5deg;--angle6: 308.57deg;--p1-6: 105deg;--p2-6: 255deg;--p3-6: 200.6deg;--rand0: calc(.5 + .5*(.5*sin(var(--s1) + var(--p1-0)) + .3*sin(var(--s2) + var(--p2-0)) + .2*sin(var(--s3) + var(--p3-0)))) ;--d0: calc(50 * (1 - var(--depth)) + 50 * var(--rand0) * var(--depth));--x0: calc((50 + var(--d0) * cos(var(--rotation) + var(--angle0))) * 1%);--y0: calc((50 + var(--d0) * sin(var(--rotation) + var(--angle0))) * 1%);--rand1: calc(.5 + .5*(.5*sin(var(--s1) + var(--p1-1)) + .3*sin(var(--s2) + var(--p2-1)) + .2*sin(var(--s3) + var(--p3-1)))) ;--d1: calc(50 * (1 - var(--depth)) + 50 * var(--rand1) * var(--depth));--x1: calc((50 + var(--d1) * cos(var(--rotation) + var(--angle1))) * 1%);--y1: calc((50 + var(--d1) * sin(var(--rotation) + var(--angle1))) * 1%);--rand2: calc(.5 + .5*(.5*sin(var(--s1) + var(--p1-2)) + .3*sin(var(--s2) + var(--p2-2)) + .2*sin(var(--s3) + var(--p3-2)))) ;--d2: calc(50 * (1 - var(--depth)) + 50 * var(--rand2) * var(--depth));--x2: calc((50 + var(--d2) * cos(var(--rotation) + var(--angle2))) * 1%);--y2: calc((50 + var(--d2) * sin(var(--rotation) + var(--angle2))) * 1%);--rand3: calc(.5 + .5*(.5*sin(var(--s1) + var(--p1-3)) + .3*sin(var(--s2) + var(--p2-3)) + .2*sin(var(--s3) + var(--p3-3)))) ;--d3: calc(50 * (1 - var(--depth)) + 50 * var(--rand3) * var(--depth));--x3: calc((50 + var(--d3) * cos(var(--rotation) + var(--angle3))) * 1%);--y3: calc((50 + var(--d3) * sin(var(--rotation) + var(--angle3))) * 1%);--rand4: calc(.5 + .5*(.5*sin(var(--s1) + var(--p1-4)) + .3*sin(var(--s2) + var(--p2-4)) + .2*sin(var(--s3) + var(--p3-4)))) ;--d4: calc(50 * (1 - var(--depth)) + 50 * var(--rand4) * var(--depth));--x4: calc((50 + var(--d4) * cos(var(--rotation) + var(--angle4))) * 1%);--y4: calc((50 + var(--d4) * sin(var(--rotation) + var(--angle4))) * 1%);--rand5: calc(.5 + .5*(.5*sin(var(--s1) + var(--p1-5)) + .3*sin(var(--s2) + var(--p2-5)) + .2*sin(var(--s3) + var(--p3-5)))) ;--d5: calc(50 * (1 - var(--depth)) + 50 * var(--rand5) * var(--depth));--x5: calc((50 + var(--d5) * cos(var(--rotation) + var(--angle5))) * 1%);--y5: calc((50 + var(--d5) * sin(var(--rotation) + var(--angle5))) * 1%);--rand6: calc(.5 + .5*(.5*sin(var(--s1) + var(--p1-6)) + .3*sin(var(--s2) + var(--p2-6)) + .2*sin(var(--s3) + var(--p3-6)))) ;--d6: calc(50 * (1 - var(--depth)) + 50 * var(--rand6) * var(--depth));--x6: calc((50 + var(--d6) * cos(var(--rotation) + var(--angle6))) * 1%);--y6: calc((50 + var(--d6) * sin(var(--rotation) + var(--angle6))) * 1%);--mx0: calc((var(--x0) + var(--x1)) / 2);--my0: calc((var(--y0) + var(--y1)) / 2);--mx1: calc((var(--x1) + var(--x2)) / 2);--my1: calc((var(--y1) + var(--y2)) / 2);--mx2: calc((var(--x2) + var(--x3)) / 2);--my2: calc((var(--y2) + var(--y3)) / 2);--mx3: calc((var(--x3) + var(--x4)) / 2);--my3: calc((var(--y3) + var(--y4)) / 2);--mx4: calc((var(--x4) + var(--x5)) / 2);--my4: calc((var(--y4) + var(--y5)) / 2);--mx5: calc((var(--x5) + var(--x6)) / 2);--my5: calc((var(--y5) + var(--y6)) / 2);--mx6: calc((var(--x6) + var(--x0)) / 2);--my6: calc((var(--y6) + var(--y0)) / 2);clip-path:circle(50%)}@supports (clip-path: shape(from 0% 0%,move to 100% 100%)){.blob-button-shape{clip-path:content-box shape(from var(--mx6) var(--my6),curve to var(--mx0) var(--my0) with var(--x0) var(--y0),curve to var(--mx1) var(--my1) with var(--x1) var(--y1),curve to var(--mx2) var(--my2) with var(--x2) var(--y2),curve to var(--mx3) var(--my3) with var(--x3) var(--y3),curve to var(--mx4) var(--my4) with var(--x4) var(--y4),curve to var(--mx5) var(--my5) with var(--x5) var(--y5),curve to var(--mx6) var(--my6) with var(--x6) var(--y6));border-radius:0}}.horizontal-scroll::-webkit-scrollbar{display:none;width:0;height:0}.horizontal-scroll{-ms-overflow-style:none;scrollbar-width:none}
