:root{font-family:Nunito,ui-rounded,Segoe UI,sans-serif;color:#302a3d;background:#fff8ed;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #302a3d;--cream: #fff8ed;--paper: #fffdf8;--coral: #ff7c73;--coral-dark: #e95f59;--yellow: #ffd663;--mint: #8edab9;--lavender: #b8a8ff;--line: #302a3d;--shadow: 0 12px 0 rgba(48, 42, 61, .08), 0 24px 55px rgba(74, 55, 102, .13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 12% 18%,rgba(255,214,99,.19),transparent 24rem),radial-gradient(circle at 89% 55%,rgba(184,168,255,.16),transparent 26rem),var(--cream);transition:color .45s ease,background .55s ease}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lavender);outline-offset:4px}.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.ambient{position:fixed;z-index:-1;border-radius:47% 53% 56% 44%/57% 38% 62% 43%;filter:saturate(.95);animation:blob-drift 12s ease-in-out infinite alternate}.ambient-one{width:310px;height:280px;top:90px;left:-170px;background:#ffe29b}.ambient-two{width:300px;height:320px;top:540px;right:-190px;background:#d8d0ff;animation-delay:-4s}.ambient-three{width:190px;height:180px;top:830px;left:6%;background:#cceede;opacity:.5;animation-delay:-7s}.floaty{position:absolute;z-index:0;pointer-events:none;font-size:34px;font-weight:900;color:var(--coral);animation:float-around 5s ease-in-out infinite}.floaty-one{top:175px;left:4%;transform:rotate(-14deg)}.floaty-two{top:580px;left:3%;color:var(--lavender);animation-delay:-2s}.floaty-three{top:210px;right:4%;color:var(--mint);animation-delay:-3.5s}.site-header{width:min(1180px,calc(100% - 40px));height:108px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand:hover .logo-mark{animation:logo-pop .55s cubic-bezier(.2,.8,.25,1.3)}.brand:hover .paw{animation:paw-wave .6s ease-in-out;transform-origin:28px 31px}.logo-mark{width:51px;height:51px;display:block}.logo-mark svg{width:100%;overflow:visible}.logo-blob{fill:var(--coral)}.paw{fill:#fff9ed}.logo-spark{fill:var(--yellow);transform-origin:45px 12px;animation:spark-pulse 2.4s ease-in-out infinite}.brand-name{font-family:"DM Serif Display",Georgia,serif;font-size:31px;line-height:1;letter-spacing:-1px}.brand-name span{color:var(--coral)}.header-note{display:flex;align-items:center;gap:9px;padding:10px 15px;border:1.5px solid rgba(48,42,61,.16);border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.04em;color:#302a3db8;background:#fffdf89e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#52bd8c;box-shadow:0 0 #52bd8c66;animation:pulse 2s infinite}.hero-shell{width:min(1180px,calc(100% - 40px));min-height:700px;margin:36px auto 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(45px,7vw,105px);align-items:center;position:relative;z-index:2}.hero-copy{padding-bottom:40px}.eyebrow,.mini-kicker{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--coral-dark)}.eyebrow span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--ink);background:var(--yellow);animation:spin-bop 4s ease-in-out infinite}.eyebrow b,.keyboard-tip b{font-weight:inherit}h1{max-width:620px;margin:22px 0 24px;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(52px,5.25vw,78px);font-weight:400;line-height:.98;letter-spacing:-.045em}.scribble{position:relative;display:inline-block;color:var(--coral);white-space:nowrap}.scribble:after{content:"";position:absolute;height:9px;left:2%;right:0;bottom:-8px;background:url("data:image/svg+xml,%3Csvg width='300' height='12' viewBox='0 0 300 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 8C65 1 132 11 195 5c38-4 69-1 103 2' fill='none' stroke='%23ff7c73' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;transform-origin:left;animation:underline-draw 1.2s .9s both cubic-bezier(.3,.8,.4,1)}.intro{max-width:470px;margin:0;font-size:17px;line-height:1.7;font-weight:600;color:#302a3dad}.tiny-proof{display:flex;align-items:center;gap:14px;margin-top:35px}.face-stack{display:flex;padding-left:9px}.face-stack span{width:38px;height:38px;margin-left:-9px;display:grid;place-items:center;border:3px solid var(--cream);border-radius:50%;font-size:19px;background:#d7f1e4;transition:transform .2s ease}.face-stack span:nth-child(2){background:#ffe2dd}.face-stack span:nth-child(3){background:#e4ddff}.face-stack:hover span:nth-child(1){transform:rotate(-9deg) translateY(-3px)}.face-stack:hover span:nth-child(2){transform:translateY(-6px)}.face-stack:hover span:nth-child(3){transform:rotate(9deg) translateY(-3px)}.tiny-proof p{margin:0;font-size:12px;line-height:1.4;color:#302a3d94}.tiny-proof strong{color:var(--ink);font-weight:900}.name-machine-wrap{position:relative;perspective:1200px}.name-machine{--tilt-x: 0deg;--tilt-y: 0deg;position:relative;border:2px solid var(--line);border-radius:30px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .3s ease}.name-machine:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 5px #ffffff6b;z-index:4}.machine-top{padding:28px 30px 25px}.step-label{margin:0 0 13px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#302a3d99}.step-label>span{color:var(--coral-dark)}.vibe-label{margin-top:23px}.pet-tabs,.vibe-tabs{display:grid;gap:8px}.pet-tabs{grid-template-columns:repeat(5,1fr)}.pet-tab{min-width:0;height:72px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px solid rgba(48,42,61,.15);border-radius:15px;background:#fff;cursor:pointer;font-size:10px;font-weight:800;transition:transform .22s cubic-bezier(.2,.8,.3,1.4),border-color .2s ease,background .2s ease,box-shadow .2s ease}.pet-tab:hover{transform:translateY(-4px) rotate(-1deg);border-color:var(--coral);box-shadow:0 5px #302a3d14}.pet-tab:active{transform:translateY(1px) scale(.95)}.pet-tab.active{color:var(--ink);background:#ffe5df;border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral)}.pet-tab.active .tab-icon{animation:tab-bounce .5s cubic-bezier(.2,.8,.3,1.45)}.tab-icon{width:27px;height:27px}.tab-icon svg,.favorite-icon svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vibe-tabs{grid-template-columns:repeat(5,minmax(0,1fr));padding:4px;border-radius:14px;background:#f4efe9}.vibe-tab{min-width:0;padding:10px 7px;border:0;border-radius:10px;background:transparent;cursor:pointer;font-size:11px;font-weight:900;transition:transform .2s cubic-bezier(.2,.8,.3,1.4),color .2s ease,background .2s ease,box-shadow .2s ease}.vibe-tab span{display:inline-block;margin-right:3px}.vibe-tab:hover{color:var(--coral-dark)}.vibe-tab:active{transform:scale(.94)}.vibe-tab.active{color:var(--coral-dark);background:#fff;box-shadow:0 3px 10px #302a3d1a}.vibe-tab.bop span{animation:tab-bounce .45s cubic-bezier(.2,.8,.3,1.45)}body:not(.naughty-mode) .naughty-tab{color:#fff;background:#3d2637;box-shadow:inset 0 0 0 1px #ff7c7338}body:not(.naughty-mode) .naughty-tab:hover{color:#fff;background:#543148}.result-stage{min-height:175px;position:relative;display:grid;grid-template-columns:122px 1fr auto;align-items:center;gap:20px;padding:22px 25px;border-top:1.5px dashed rgba(48,42,61,.22);border-bottom:1.5px dashed rgba(48,42,61,.22);background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.72),transparent 140px),#fff0b8}.result-stage:before,.result-stage:after{content:"";position:absolute;width:18px;height:18px;top:-10px;border:1.5px solid rgba(48,42,61,.18);border-radius:50%;background:var(--paper)}.result-stage:before{left:-10px}.result-stage:after{right:-10px}.pet-portrait{width:116px;height:116px;position:relative;display:grid;place-items:center;filter:drop-shadow(0 9px 8px rgba(48,42,61,.13));animation:portrait-float 3.6s ease-in-out infinite}.portrait-halo{position:absolute;inset:4px;border-radius:50%;background:var(--lavender);border:2px solid var(--ink);transition:background .35s ease,border-radius .35s ease}.pet-head{width:68px;height:58px;position:relative;z-index:2;border:2px solid var(--ink);border-radius:47% 47% 44% 44%;background:#fffaf0;transition:all .3s ease}.ear{width:27px;height:31px;position:absolute;z-index:1;top:23px;border:2px solid var(--ink);background:#fffaf0;transition:all .35s cubic-bezier(.2,.8,.3,1.2)}.ear-left{left:26px;border-radius:6px 18px 8px 13px;transform:rotate(-28deg)}.ear-right{right:26px;border-radius:18px 6px 13px 8px;transform:rotate(28deg)}.eye{width:6px;height:8px;position:absolute;top:20px;border-radius:50%;background:var(--ink);animation:blink 4.5s infinite}.eye-left{left:17px}.eye-right{right:17px}.nose{width:7px;height:5px;position:absolute;top:31px;left:50%;border-radius:55% 55% 75% 75%;background:var(--coral);transform:translate(-50%)}.mouth{width:14px;height:7px;position:absolute;top:36px;left:50%;border-bottom:1.8px solid var(--ink);border-radius:50%;transform:translate(-50%)}.cheek{width:10px;height:5px;position:absolute;top:35px;border-radius:50%;background:#ffc5bd;opacity:.75}.cheek-left{left:7px}.cheek-right{right:7px}.whiskers{width:20px;height:1px;position:absolute;top:34px;background:var(--ink)}.whiskers:after{content:"";position:absolute;width:100%;height:1px;top:5px;background:var(--ink);transform:rotate(8deg)}.whiskers-left{left:-14px;transform:rotate(5deg)}.whiskers-right{right:-14px;transform:rotate(175deg)}.portrait-star{position:absolute;z-index:4;color:var(--coral);animation:sparkle 1.8s ease-in-out infinite}.star-a{top:3px;right:5px;font-size:18px}.star-b{bottom:10px;left:1px;font-size:11px;animation-delay:-.8s}.pet-portrait.dog .portrait-halo{background:#b9e8d3}.pet-portrait.dog .ear{top:31px;width:25px;height:37px;background:#d99b72}.pet-portrait.dog .ear-left{left:20px;border-radius:18px 7px 14px 18px;transform:rotate(16deg)}.pet-portrait.dog .ear-right{right:20px;border-radius:7px 18px 18px 14px;transform:rotate(-16deg)}.pet-portrait.dog .pet-head{background:#edbd88;border-radius:48% 48% 42% 42%}.pet-portrait.dog .whiskers{opacity:0}.pet-portrait.bunny .portrait-halo{background:#ffb9b4}.pet-portrait.bunny .ear{top:4px;width:22px;height:51px;background:#fffaf0}.pet-portrait.bunny .ear:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#ffc7cb}.pet-portrait.bunny .ear-left{left:32px;border-radius:50% 50% 35% 35%;transform:rotate(-9deg)}.pet-portrait.bunny .ear-right{right:32px;border-radius:50% 50% 35% 35%;transform:rotate(9deg)}.pet-portrait.bunny .pet-head{transform:translateY(9px)}.pet-portrait.bunny .whiskers{opacity:.45}.pet-portrait.bird .portrait-halo{background:#9ed9ee;border-radius:48% 52% 44% 56%}.pet-portrait.bird .ear{opacity:0;transform:scale(0)}.pet-portrait.bird .pet-head{width:64px;height:68px;border-radius:50% 50% 46% 46%;background:#ffdd67}.pet-portrait.bird .pet-head:after{content:"";width:14px;height:11px;position:absolute;top:31px;right:-11px;border:2px solid var(--ink);background:var(--coral);clip-path:polygon(0 0,100% 50%,0 100%)}.pet-portrait.bird .nose,.pet-portrait.bird .mouth,.pet-portrait.bird .whiskers{opacity:0}.pet-portrait.bird .cheek{top:39px}.pet-portrait.surprise .portrait-halo{animation:surprise-hue 2.3s linear infinite}.pet-portrait.switching .pet-head{animation:switch-face .5s ease}.pet-portrait.celebrate{animation:portrait-celebrate .75s cubic-bezier(.2,.8,.3,1.35)}.pet-portrait.celebrate .ear-left{animation:ear-wiggle-left .65s ease}.pet-portrait.celebrate .ear-right{animation:ear-wiggle-right .65s ease}.name-result{min-width:0}.tiny-label{margin:0 0 2px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#302a3d8c}.name-result h2{min-height:59px;margin:0;overflow-wrap:anywhere;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(40px,5vw,57px);font-weight:400;line-height:1.05;letter-spacing:-.03em;color:var(--ink);transition:opacity .2s ease,transform .2s ease}.name-result h2 span{display:inline-block;animation:letter-pop .5s calc(var(--i) * 45ms) both cubic-bezier(.2,.8,.25,1.35)}.name-result h2.leaving{opacity:0;transform:translateY(8px) scale(.96)}.name-result>p:last-child{max-width:310px;margin:7px 0 0;font-size:11px;line-height:1.45;font-weight:700;color:#302a3da6;transition:opacity .2s ease,transform .2s ease}.name-result>p:last-child.leaving{opacity:0;transform:translateY(5px)}.result-actions{display:flex;flex-direction:column;gap:8px}.round-button{width:39px;height:39px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:#ffffffb3;cursor:pointer;box-shadow:0 3px 0 var(--ink);transition:transform .2s cubic-bezier(.2,.8,.3,1.5),background .2s ease,color .2s ease,box-shadow .2s ease}.round-button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.round-button:hover{transform:translateY(-3px) rotate(-7deg);color:#fff;background:var(--coral)}.round-button:active{transform:translateY(2px) scale(.92);box-shadow:0 1px 0 var(--ink)}.round-button.saved{color:#fff;background:var(--coral)}.round-button.saved svg{fill:currentColor}.round-button.success{color:var(--ink);background:var(--mint);animation:success-ring .6s ease}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;z-index:20;right:calc(100% + 9px);top:50%;padding:6px 8px;border-radius:7px;color:#fff;background:var(--ink);font-size:9px;font-weight:800;white-space:nowrap;opacity:0;transform:translate(5px,-50%);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.tooltip:hover:after,.tooltip:focus-visible:after{opacity:1;transform:translateY(-50%)}.machine-bottom{padding:21px 30px 25px;text-align:center}.generate-button{width:100%;min-height:59px;position:relative;display:flex;align-items:center;justify-content:center;gap:13px;overflow:hidden;border:2px solid var(--ink);border-radius:17px;color:#fff;background:var(--coral);box-shadow:0 6px 0 var(--ink);cursor:pointer;font-size:14px;font-weight:900;letter-spacing:.01em;transition:transform .18s cubic-bezier(.2,.8,.3,1.4),box-shadow .18s ease,background .2s ease}.generate-button:before{content:"";position:absolute;width:120px;height:130%;top:-15%;left:-150px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:skew(-20deg);animation:button-shine 4s 2s infinite}.generate-button:hover{transform:translateY(-3px);background:#ff6f66;box-shadow:0 9px 0 var(--ink)}.generate-button:hover .button-spark{transform:rotate(180deg) scale(1.25)}.generate-button:active{transform:translateY(5px) scale(.99);box-shadow:0 1px 0 var(--ink)}.generate-button.shaking{animation:jar-shake .65s ease-in-out}.button-spark{font-size:17px;color:var(--yellow);transition:transform .45s ease}.dice{width:22px;height:22px;position:relative;border:1.5px solid currentColor;border-radius:6px;transform:rotate(7deg);transition:transform .3s ease}.generate-button:hover .dice{transform:rotate(-12deg) scale(1.08)}.dice i{width:3px;height:3px;position:absolute;border-radius:50%;background:currentColor}.dice i:nth-child(1){top:4px;left:4px}.dice i:nth-child(2){top:9px;left:9px}.dice i:nth-child(3){right:4px;bottom:4px}.keyboard-tip{margin:12px 0 0;font-size:9px;font-weight:800;color:#302a3d7a}.keyboard-tip kbd{padding:2px 7px;border:1px solid rgba(48,42,61,.25);border-bottom-width:2px;border-radius:5px;color:#302a3dad;background:#fff;font-family:inherit;font-size:8px;text-transform:uppercase}.keyboard-tip span{color:var(--coral)}.favorites-section{width:min(1050px,calc(100% - 40px));margin:105px auto 100px;position:relative;z-index:2}.favorites-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.favorites-heading h2{margin:7px 0 0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(32px,4vw,46px);font-weight:400;letter-spacing:-.02em}.clear-button{padding:9px 13px;border:1.5px solid rgba(48,42,61,.2);border-radius:999px;color:#302a3da6;background:transparent;cursor:pointer;font-size:10px;font-weight:900;transition:border-color .2s,color .2s,transform .2s}.clear-button:hover{border-color:var(--coral);color:var(--coral-dark);transform:rotate(-2deg)}.favorites-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.empty-favorites{min-height:104px;grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:18px;padding:24px;border:2px dashed rgba(48,42,61,.16);border-radius:20px;color:#302a3d80;background:#ffffff4d}.empty-favorites p{max-width:430px;margin:0;font-size:12px;font-weight:700;line-height:1.5}.empty-favorites em{color:var(--coral-dark)}.empty-heart{display:block;font-family:sans-serif;font-size:38px;color:var(--coral);animation:heart-beat 2.4s ease-in-out infinite}.favorite-card{min-width:0;min-height:92px;position:relative;display:flex;align-items:center;gap:12px;padding:16px 12px;border:1.5px solid var(--ink);border-radius:17px;background:var(--paper);box-shadow:0 5px #302a3d1a;cursor:pointer;animation:favorite-in .45s calc(var(--i) * 60ms) both cubic-bezier(.2,.8,.3,1.3);transition:transform .2s cubic-bezier(.2,.8,.3,1.3),box-shadow .2s ease,background .2s ease}.favorite-card:hover{transform:translateY(-5px) rotate(-1deg);background:#fff0eb;box-shadow:0 9px #302a3d1c}.favorite-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;padding:8px;border-radius:50%;color:var(--ink);background:#ffe09b}.favorite-copy{min-width:0;display:flex;flex-direction:column}.favorite-copy strong{overflow:hidden;text-overflow:ellipsis;font-family:"DM Serif Display",Georgia,serif;font-size:21px;font-weight:400;white-space:nowrap}.favorite-copy small{color:#302a3d80;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.remove-favorite{width:24px;height:24px;position:absolute;top:7px;right:7px;border:0;border-radius:50%;color:#302a3d61;background:transparent;cursor:pointer;font-size:19px;line-height:1;transition:color .2s,background .2s,transform .2s}.remove-favorite:hover{color:#fff;background:var(--coral);transform:rotate(90deg)}.remove-favorite.tooltip:after{top:auto;right:0;bottom:calc(100% + 4px);transform:translateY(3px)}.remove-favorite.tooltip:hover:after{transform:translateY(0)}.ticker{width:calc(100% + 20px);margin-left:-10px;overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--yellow);transform:rotate(-1deg)}.ticker-track{width:max-content;display:flex;align-items:center;gap:36px;padding:14px 18px;animation:ticker-roll 24s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker span{font-size:11px;font-weight:900;letter-spacing:.16em}.ticker span:nth-child(2n){color:var(--coral-dark);font-size:18px}footer{width:min(1180px,calc(100% - 40px));min-height:165px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand .logo-mark{width:38px;height:38px}.footer-brand .brand-name{font-size:24px}footer p{margin:0;font-size:11px;font-weight:800;color:#302a3d80}.footer-flower{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:var(--lavender);animation:slow-spin 9s linear infinite}.toast{position:fixed;z-index:100;left:50%;bottom:25px;display:flex;align-items:center;gap:10px;padding:12px 17px 12px 12px;border:1.5px solid var(--ink);border-radius:999px;color:#fff;background:var(--ink);box-shadow:0 7px #302a3d24;opacity:0;pointer-events:none;transform:translate(-50%,25px) scale(.9)}.toast span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--yellow)}.toast strong{font-size:11px;font-weight:900}.toast.show{animation:toast-in-out 2.2s both cubic-bezier(.2,.8,.3,1.3)}.spark-layer{position:fixed;inset:0;z-index:99;pointer-events:none;overflow:hidden}.click-spark{width:7px;height:7px;position:absolute;border-radius:2px;animation:click-spark .65s ease-out forwards}.confetti{width:7px;height:11px;position:absolute;border-radius:2px;animation:confetti-pop 1.2s ease-out forwards}.burst-heart{position:absolute;color:var(--coral);font-family:sans-serif;font-size:18px;font-style:normal;animation:heart-fly .9s ease-out forwards}body.naughty-mode{--ink: #fff1f6;--cream: #11060d;--paper: #1d0b17;--coral: #ff246f;--coral-dark: #ff65a0;--yellow: #ffcf4a;--mint: #39e0c1;--lavender: #bd68ff;--line: #ff3d80;--shadow: 0 13px 0 rgba(255, 36, 111, .18), 0 26px 70px rgba(255, 0, 89, .28), 0 0 45px rgba(189, 104, 255, .13);color:var(--ink);background:radial-gradient(circle at 15% 16%,rgba(255,36,111,.25),transparent 28rem),radial-gradient(circle at 88% 52%,rgba(157,41,255,.22),transparent 32rem),linear-gradient(128deg,#090307,#1c0714 48%,#0e0412)}body.naughty-mode .noise{opacity:.13;mix-blend-mode:soft-light}body.naughty-mode .ambient{filter:blur(4px) saturate(1.35);opacity:.52}body.naughty-mode .ambient-one{background:#9e003c;box-shadow:0 0 90px #ff1f6d73}body.naughty-mode .ambient-two{background:#611297;box-shadow:0 0 100px #b32cff6b}body.naughty-mode .ambient-three{background:#ce164f;opacity:.35}body.naughty-mode .floaty{color:#ff3e82;text-shadow:0 0 18px rgba(255,36,111,.9)}body.naughty-mode .floaty-two{color:#c970ff}body.naughty-mode .floaty-three{color:#ffcf4a}body.naughty-mode .header-note{border-color:#ff65a061;color:#fff1f6c7;background:#28091dad;box-shadow:0 0 22px #ff246f1f}body.naughty-mode .pulse-dot{background:#ff246f;box-shadow:0 0 #ff246f8c;animation-name:naughty-pulse}body.naughty-mode .eyebrow,body.naughty-mode .mini-kicker{color:#ff72a9}body.naughty-mode .eyebrow>span:first-child{color:#fff;background:#ff246f;box-shadow:0 0 22px #ff246f8c}body.naughty-mode .scribble{color:#ff3c82;text-shadow:0 0 28px rgba(255,36,111,.2)}body.naughty-mode .scribble:after{height:4px;bottom:-5px;border-radius:999px;background:linear-gradient(90deg,#ff246f,#bd68ff,#ff246f);box-shadow:0 0 12px #ff246fa6}body.naughty-mode .intro,body.naughty-mode .tiny-proof p,body.naughty-mode footer p{color:#ffe7f1a8}body.naughty-mode .face-stack span{border-color:#11060d;background:#5d1533}body.naughty-mode .face-stack span:nth-child(2){background:#842045}body.naughty-mode .face-stack span:nth-child(3){background:#5e246f}body.naughty-mode .name-machine{background:#1d0b17f5;box-shadow:var(--shadow)}body.naughty-mode .name-machine:before{box-shadow:inset 0 0 0 4px #ff49861f,inset 0 0 45px #ff00590d}body.naughty-mode .machine-top,body.naughty-mode .machine-bottom{background:linear-gradient(145deg,#2f0d23f5,#140711fa)}body.naughty-mode .step-label{color:#ffe7f19e}body.naughty-mode .step-label>span{color:#ff6da6}body.naughty-mode .pet-tab{border-color:#ff65a040;color:#fff1f6c2;background:#12050eb8}body.naughty-mode .pet-tab:hover{border-color:#ff3d80;background:#2b0b20;box-shadow:0 5px #ff246f21,0 0 16px #ff246f1f}body.naughty-mode .pet-tab.active{color:#fff;border-color:#ff3d80;background:linear-gradient(145deg,#6e173e,#42102c);box-shadow:inset 0 0 0 1px #ff3d80,0 0 18px #ff246f33}body.naughty-mode .vibe-tabs{border:1px solid rgba(255,101,160,.14);background:#0d040a}body.naughty-mode .vibe-tab{color:#ffe7f18c}body.naughty-mode .vibe-tab:hover{color:#ff82b2}body.naughty-mode .vibe-tab.active{color:#fff;background:linear-gradient(135deg,#ff246f,#ba235c);box-shadow:0 4px 18px #ff246f59}body.naughty-mode .result-stage{border-color:#ff65a061;background:radial-gradient(circle at 20% 50%,rgba(255,87,147,.23),transparent 145px),linear-gradient(120deg,#3c0c2a,#220918 47%,#4d0c29)}body.naughty-mode .result-stage:before,body.naughty-mode .result-stage:after{border-color:#ff65a061;background:#1d0b17}body.naughty-mode .pet-portrait{filter:drop-shadow(0 10px 10px rgba(0,0,0,.35)) drop-shadow(0 0 11px rgba(255,36,111,.25))}body.naughty-mode .pet-portrait .portrait-halo{border-color:#ff77ab;background:linear-gradient(135deg,#ff246f,#7623a5);box-shadow:0 0 24px #ff246f75;animation:naughty-halo 2.2s ease-in-out infinite}body.naughty-mode .pet-head,body.naughty-mode .ear,body.naughty-mode .pet-portrait.dog .pet-head,body.naughty-mode .pet-portrait.dog .ear,body.naughty-mode .pet-portrait.bunny .ear,body.naughty-mode .pet-portrait.bird .pet-head{border-color:#ffb4ce;background:#361020}body.naughty-mode .pet-portrait.bird .pet-head{background:#c5265e}body.naughty-mode .eye,body.naughty-mode .whiskers,body.naughty-mode .whiskers:after{background:#fff1f6}body.naughty-mode .mouth{border-color:#fff1f6}body.naughty-mode .nose,body.naughty-mode .cheek,body.naughty-mode .pet-portrait.bunny .ear:after{background:#ff4a8a}body.naughty-mode .portrait-star{color:#ffcf4a;text-shadow:0 0 10px rgba(255,207,74,.55)}body.naughty-mode .tiny-label,body.naughty-mode .name-result>p:last-child,body.naughty-mode .keyboard-tip{color:#ffe2eea1}body.naughty-mode .name-result h2{color:#fff7fa;text-shadow:0 0 28px rgba(255,36,111,.32)}body.naughty-mode .round-button{border-color:#ff76aa;color:#fff;background:#2b0b20;box-shadow:0 3px #ff246f}body.naughty-mode .round-button:hover,body.naughty-mode .round-button.saved{background:#ff246f}body.naughty-mode .generate-button{border-color:#ffb1cd;color:#fff;background:linear-gradient(110deg,#ff1467,#ba205a 56%,#7d1b68);box-shadow:0 6px #650b35,0 0 24px #ff246f4d;text-transform:uppercase;letter-spacing:.09em}body.naughty-mode .generate-button:hover{background:linear-gradient(110deg,#ff347c,#d12867 56%,#98217b);box-shadow:0 9px #650b35,0 0 34px #ff246f73}body.naughty-mode .keyboard-tip kbd{border-color:#ff65a066;color:#ffb2cf;background:#140610}body.naughty-mode .keyboard-tip span:last-child{color:#ff3d80}body.naughty-mode .clear-button{border-color:#ff65a059;color:#ffe7f1ad}body.naughty-mode .empty-favorites{border-color:#ff65a045;color:#ffe7f194;background:#2f0a2161}body.naughty-mode .empty-favorites em{color:#ff70a8}body.naughty-mode .favorite-card{border-color:#ff65a094;color:#fff1f6;background:linear-gradient(145deg,#2b0c21,#180811);box-shadow:0 5px #ff246f24}body.naughty-mode .favorite-card:hover{background:linear-gradient(145deg,#48102f,#240a19);box-shadow:0 9px #ff246f2e,0 0 24px #ff246f1f}body.naughty-mode .favorite-icon{color:#fff;background:linear-gradient(135deg,#ff246f,#7d1b68)}body.naughty-mode .favorite-copy small,body.naughty-mode .remove-favorite{color:#ffe2ee85}body.naughty-mode .ticker{border-color:#ffb0cc;background:linear-gradient(90deg,#ff1769,#9e1d72,#ff1769);box-shadow:0 0 35px #ff246f3d;transform:rotate(1deg)}body.naughty-mode .ticker span:nth-child(2n){color:#ffdb5c}body.naughty-mode .footer-flower{color:#fff;background:linear-gradient(135deg,#ff246f,#8f32d1);box-shadow:0 0 20px #ff246f4d}body.naughty-mode .toast{border-color:#ff78ac;color:#fff;background:#350d25;box-shadow:0 7px #ff246f33,0 0 25px #ff246f38}body.naughty-mode .toast span{color:#fff;background:#ff246f}body.naughty-mode .burst-heart{color:#ff246f;text-shadow:0 0 8px rgba(255,36,111,.6)}.reveal{opacity:0;transform:translateY(22px)}.loaded .reveal{animation:reveal-up .75s var(--delay) both cubic-bezier(.2,.8,.3,1)}@keyframes reveal-up{to{opacity:1;transform:translateY(0)}}@keyframes underline-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{70%{box-shadow:0 0 0 8px #52bd8c00}to{box-shadow:0 0 #52bd8c00}}@keyframes naughty-pulse{70%{box-shadow:0 0 0 9px #ff246f00}to{box-shadow:0 0 #ff246f00}}@keyframes naughty-halo{0%,to{box-shadow:0 0 18px #ff246f61}50%{box-shadow:0 0 33px #ff246fad}}@keyframes spark-pulse{0%,to{transform:scale(.7) rotate(0)}50%{transform:scale(1.15) rotate(45deg)}}@keyframes blob-drift{to{transform:translate(18px,27px) rotate(7deg);border-radius:58% 42% 38% 62%/45% 57% 43% 55%}}@keyframes float-around{0%,to{translate:0 0;rotate:-4deg}50%{translate:0 -18px;rotate:8deg}}@keyframes spin-bop{0%,85%,to{transform:rotate(0) scale(1)}90%{transform:rotate(20deg) scale(1.12)}95%{transform:rotate(-10deg) scale(.96)}}@keyframes logo-pop{40%{transform:translateY(-5px) rotate(-8deg) scale(1.08)}70%{transform:rotate(5deg)}}@keyframes paw-wave{35%{transform:rotate(-15deg) scale(1.08)}70%{transform:rotate(9deg)}}@keyframes slow-spin{to{transform:rotate(360deg)}}@keyframes tab-bounce{45%{transform:translateY(-6px) scale(1.12) rotate(-5deg)}75%{transform:translateY(1px) scale(.96)}}@keyframes portrait-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes portrait-celebrate{0%{transform:scale(.75) rotate(-10deg)}50%{transform:scale(1.14) rotate(8deg) translateY(-8px)}75%{transform:scale(.96) rotate(-3deg)}to{transform:scale(1)}}@keyframes ear-wiggle-left{35%{transform:rotate(-50deg)}65%{transform:rotate(-15deg)}}@keyframes ear-wiggle-right{35%{transform:rotate(50deg)}65%{transform:rotate(15deg)}}@keyframes blink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.08)}}@keyframes sparkle{0%,to{transform:scale(.5) rotate(0);opacity:.45}50%{transform:scale(1.2) rotate(90deg);opacity:1}}@keyframes switch-face{0%{transform:scale(1) rotate(0)}45%{transform:scale(.4) rotate(-12deg)}65%{transform:scale(1.15) rotate(5deg)}}@keyframes surprise-hue{0%{background:#b8a8ff}33%{background:#8edab9}66%{background:#ffb9b4}to{background:#b8a8ff}}@keyframes letter-pop{0%{opacity:0;transform:translateY(18px) rotate(8deg) scale(.7)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes success-ring{50%{box-shadow:0 0 0 8px #6ed3aa4d}}@keyframes button-shine{0%,40%{left:-150px}60%,to{left:calc(100% + 50px)}}@keyframes jar-shake{0%,to{transform:translateY(0) rotate(0)}20%{transform:translateY(-2px) rotate(-2deg)}40%{transform:translateY(-3px) rotate(2deg)}60%{transform:translateY(-1px) rotate(-1.5deg)}80%{transform:translateY(-2px) rotate(1deg)}}@keyframes heart-beat{0%,75%,to{transform:scale(1)}82%{transform:scale(1.22)}90%{transform:scale(.94)}}@keyframes favorite-in{0%{opacity:0;transform:translateY(15px) rotate(3deg) scale(.9)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes ticker-roll{to{transform:translate(-50%)}}@keyframes toast-in-out{0%{opacity:0;transform:translate(-50%,25px) scale(.9)}12%,82%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,8px) scale(.96)}}@keyframes click-spark{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(0) rotate(150deg)}}@keyframes confetti-pop{0%{opacity:1;transform:translate(-50%,-50%)}45%{opacity:1;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(var(--rot))}to{opacity:0;transform:translate(calc(-50% + var(--tx) * 1.2),calc(-50% + 130px)) rotate(var(--rot))}}@keyframes heart-fly{0%{opacity:1;transform:translate(-50%,-50%) scale(.6) rotate(-10deg)}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.4) rotate(18deg)}}@media(max-width:1020px){.hero-shell{grid-template-columns:minmax(0,.75fr) minmax(490px,1.1fr);gap:40px}.floaty{display:none}.favorites-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:830px){.site-header{height:88px}.hero-shell{min-height:0;margin-top:35px;grid-template-columns:1fr;gap:80px}.hero-copy{padding:0;text-align:center}.eyebrow{justify-content:center}h1,.intro{margin-left:auto;margin-right:auto}.tiny-proof{justify-content:center}.name-machine-wrap{width:min(590px,100%);margin:0 auto}.favorites-section{margin-top:90px}.favorites-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.site-header,.hero-shell,.favorites-section,footer{width:min(100% - 24px,520px)}.header-note{width:11px;height:11px;padding:0;border:0;font-size:0;background:#52bd8c;box-shadow:0 0 0 5px #52bd8c26}body.naughty-mode .header-note{background:#ff246f;box-shadow:0 0 0 5px #ff246f2e,0 0 18px #ff246f7a}.pulse-dot{display:none}.logo-mark{width:45px;height:45px}.brand-name{font-size:27px}.hero-shell{margin-top:28px;gap:69px}h1{font-size:clamp(42px,13.3vw,61px)}.intro{padding:0 10px;font-size:15px}.machine-top{padding:24px 18px 21px}.name-machine{border-radius:24px}.pet-tabs{gap:5px}.pet-tab{height:62px;font-size:8px;border-radius:12px}.tab-icon{width:22px;height:22px}.vibe-tabs{gap:2px}.vibe-tab{padding:9px 2px;font-size:9px}.result-stage{min-height:260px;grid-template-columns:90px 1fr auto;gap:13px;padding:20px 16px}.pet-portrait{width:90px;height:90px}.portrait-halo{inset:2px}.pet-head{transform:scale(.78)}.ear{transform-origin:center bottom;scale:.78}.pet-portrait.bunny .pet-head{transform:scale(.78) translateY(9px)}.pet-portrait.bird .pet-head{transform:scale(.78)}.name-result h2{min-height:45px;font-size:clamp(33px,10vw,46px)}.name-result>p:last-child{font-size:9px}.result-actions{gap:7px}.round-button{width:35px;height:35px}.machine-bottom{padding:19px 18px 23px}.generate-button{min-height:56px}.favorites-section{margin-top:82px;margin-bottom:75px}.favorites-heading{align-items:center}.favorites-list{grid-template-columns:1fr}.empty-favorites{text-align:left}footer{min-height:135px}footer p{display:none}}@media(max-width:390px){.tiny-proof{transform:scale(.94)}.result-stage{grid-template-columns:1fr auto;text-align:center}.pet-portrait{grid-column:1 / -1;margin:0 auto -6px}.name-result>p:last-child{margin-left:auto;margin-right:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
