body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.background-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.floating-shapes{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.shape{filter:blur(60px);opacity:.3;border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.shape-1{background:linear-gradient(135deg,#667eea,#764ba2);width:300px;height:300px;animation-duration:25s;animation-delay:0s;top:10%;left:10%}.shape-2{background:linear-gradient(135deg,#f093fb,#f5576c);width:250px;height:250px;animation-duration:30s;animation-delay:5s;top:60%;right:10%}.shape-3{background:linear-gradient(135deg,#4facfe,#00f2fe);width:200px;height:200px;animation-duration:20s;animation-delay:10s;bottom:20%;left:20%}.shape-4{background:linear-gradient(135deg,#43e97b,#38f9d7);width:280px;height:280px;animation-duration:35s;animation-delay:15s;top:40%;right:30%}@keyframes float{0%,to{transform:translate(0)scale(1)}25%{transform:translate(50px,-50px)scale(1.1)}50%{transform:translate(-30px,50px)scale(.9)}75%{transform:translate(40px,30px)scale(1.05)}}.sticker-visual-container{justify-content:center;align-items:center;min-height:200px;margin-bottom:1.5rem;display:flex;position:relative;overflow:hidden}.visual-sticker{object-fit:contain;filter:drop-shadow(0 10px 30px #0006);background:#ffffff0d;border-radius:16px;width:100%;max-width:250px;height:auto;min-height:200px;transition:transform .3s}.visual-sticker.loading{background:linear-gradient(90deg,#ffffff0d 0%,#ffffff1a 50%,#ffffff0d 100%) 0 0/200% 100%;animation:2s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sticker-card:hover .visual-sticker{transform:scale(1.05)rotate(3deg)}.fallback-emoji{text-align:center;filter:drop-shadow(0 10px 30px #0006);font-size:8rem}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f0f23;min-height:100vh;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.app{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.input-screen{z-index:1;text-align:center;width:100%;max-width:700px;position:relative}.graffiti-text{background:linear-gradient(135deg,#fff 0%,#a8a8ff 50%,#ffd6ff 100%);-webkit-text-fill-color:transparent;letter-spacing:-2px;filter:drop-shadow(0 0 30px #a8a8ff80);-webkit-background-clip:text;background-clip:text;margin-bottom:4rem;font-size:4rem;font-weight:900;line-height:1.1}.chat-form{width:100%}.input-container{-webkit-backdrop-filter:blur(30px)saturate(180%);background:#ffffff14;border:1px solid #ffffff1a;border-radius:28px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #0000004d}.input-container:focus-within{background:#ffffff1f;border-color:#667eea80;box-shadow:0 20px 60px #667eea66,inset 0 1px #ffffff4d,inset 0 -1px #0000004d}.chat-input{color:#fff;resize:none;background:0 0;border:none;outline:none;width:100%;padding-right:70px;font-family:inherit;font-size:1.2rem;font-weight:400;line-height:1.6}.chat-input::placeholder{color:#fff6}.send-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s;display:flex;position:absolute;bottom:2rem;right:2rem;box-shadow:0 8px 24px #667eea80}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 40px #667eea99}.send-button:disabled{opacity:.3;cursor:not-allowed}.loading-screen{z-index:1;text-align:center;position:relative}.loader{filter:drop-shadow(0 0 40px #fffc);margin-bottom:2rem;font-size:5rem;display:inline-block}.loading-screen p{color:#ffffffe6;letter-spacing:1px;font-size:1.8rem;font-weight:600}.result-screen{z-index:1;text-align:center;width:100%;max-width:1400px;position:relative}.story-title{background:linear-gradient(135deg,#fff 0%,#a8a8ff 100%);-webkit-text-fill-color:transparent;letter-spacing:-1px;filter:drop-shadow(0 0 30px #a8a8ff80);-webkit-background-clip:text;background-clip:text;margin-bottom:4rem;font-size:3.5rem;font-weight:900}.stickers-grid{perspective:1000px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-bottom:4rem;padding:0 1rem;display:grid}.sticker-card{-webkit-backdrop-filter:blur(30px)saturate(180%);cursor:pointer;transform-style:preserve-3d;background:#ffffff14;border:1px solid #ffffff1a;border-radius:32px;padding:2.5rem 2rem;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d,inset 0 1px #fff3,inset 0 -1px #0000004d}.sticker-card:before{content:"";opacity:0;background:radial-gradient(circle,#ffffff26 0%,#0000 70%);width:200%;height:200%;transition:opacity .4s;position:absolute;top:-50%;left:-50%;transform:translateZ(20px)}.sticker-card:hover:before{opacity:1}.sticker-card:hover{background:#ffffff1f;border-color:#667eea4d;box-shadow:0 30px 80px #667eea66,inset 0 1px #ffffff4d,inset 0 -1px #0000004d}.sticker-caption{color:#fffffff2;letter-spacing:.3px;font-size:1.2rem;font-weight:600;line-height:1.5}.new-story-button{-webkit-backdrop-filter:blur(30px)saturate(180%);color:#fff;cursor:pointer;letter-spacing:1px;background:#ffffff1a;border:1px solid #fff3;border-radius:50px;padding:1.5rem 3.5rem;font-size:1.2rem;font-weight:700;transition:all .3s;box-shadow:0 20px 60px #0000004d,inset 0 1px #fff3}.new-story-button:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 30px 80px #667eea66,inset 0 1px #ffffff4d}@media (width<=768px){.graffiti-text{margin-bottom:3rem;font-size:2.5rem}.story-title{margin-bottom:3rem;font-size:2.2rem}.stickers-grid{grid-template-columns:1fr;gap:2rem}.sticker-card{padding:2rem 1.5rem}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#fff3;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
