*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{height:100%}:root{--color-pink: #FFB6C1;--color-lavender: #E6E6FA;--color-mint: #98FF98;--color-peach: #FFDAB9;--color-sky: #87CEEB;--color-white: #FFFFFF;--color-dark: #333333;--font-family: "Segoe UI", "Comic Sans MS", cursive, sans-serif}body{overflow:hidden;width:100vw;height:100vh;position:relative;background:linear-gradient(135deg,var(--color-pink),var(--color-lavender),var(--color-mint));font-family:var(--font-family);color:var(--color-dark)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--z-background: 0;--z-photos: 10;--z-sprites: 30;--z-particles: 50;--z-text: 70;--z-ui: 90;--z-overlay: 100}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}.screen--active{opacity:1;pointer-events:auto}#password-screen{background:#ffffff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.password-card{background:#fffffff2;border-radius:24px;padding:3rem 2.5rem;max-width:400px;width:90%;text-align:center;box-shadow:0 8px 32px #0000001a}.password-card__icon{font-size:3rem;margin-bottom:1rem}.password-card__title{font-size:1.5rem;color:var(--color-dark);margin-bottom:.5rem;font-weight:600}.password-card__subtitle{font-size:1rem;color:#666;margin-bottom:2rem}.password-form{display:flex;flex-direction:column;gap:1rem}.password-form__input{padding:.875rem 1.25rem;font-size:1rem;border:2px solid var(--color-lavender);border-radius:12px;font-family:var(--font-family);transition:border-color .2s;outline:none}.password-form__input:focus{border-color:var(--color-pink)}.password-form__input--error{animation:shake .4s;border-color:#ff6b6b}.password-form__button{padding:.875rem 1.25rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--color-pink),var(--color-lavender));color:#fff;border:none;border-radius:12px;cursor:pointer;font-family:var(--font-family);transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #ffb6c14d}.password-form__button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffb6c166}.password-form__button:active{transform:translateY(0)}.password-form__error{color:#ff6b6b;font-size:.875rem;min-height:1.25rem;margin-top:-.5rem}#warning-screen{background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.warning-card{background:#fffffffa;border-radius:24px;padding:3rem 2.5rem;max-width:500px;width:90%;text-align:center;box-shadow:0 8px 32px #0000004d;border:3px solid var(--color-peach)}.warning-card__icon{font-size:4rem;margin-bottom:1.5rem;filter:drop-shadow(0 0 8px rgba(255,193,7,.5))}.warning-card__title{font-size:1.75rem;color:var(--color-dark);margin-bottom:1.5rem;font-weight:700}.warning-card__text{font-size:1.125rem;color:#555;line-height:1.6;margin-bottom:2rem}.warning-card__button{padding:1rem 3rem;font-size:1.125rem;font-weight:600;background:linear-gradient(135deg,var(--color-peach),var(--color-sky));color:var(--color-dark);border:none;border-radius:12px;cursor:pointer;font-family:var(--font-family);transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #ffdab966}.warning-card__button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffdab980}.warning-card__button:active{transform:translateY(0)}#splash-screen{background:transparent}.splash-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3rem}.splash-title{font-size:clamp(2.5rem,8vw,6rem);font-weight:900;color:var(--color-pink);text-shadow:0 0 20px rgba(255,182,193,.8),0 0 40px rgba(230,230,250,.6),3px 3px 0 var(--color-lavender),6px 6px 0 var(--color-mint);animation:wobble 3s ease-in-out infinite;letter-spacing:.05em;line-height:1.1;-webkit-user-select:none;user-select:none}.splash-enter-button{padding:1.5rem 4rem;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-mint),var(--color-sky));color:var(--color-dark);border:none;border-radius:50px;cursor:pointer;font-family:var(--font-family);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 0 30px #98ff9899;animation:pulse 2s ease-in-out infinite,buttonGlow 2s ease-in-out infinite;transition:transform .2s;position:relative}.splash-enter-button:before{content:"";position:absolute;inset:-10px;background:radial-gradient(circle,rgba(152,255,152,.4),transparent 70%);border-radius:60px;z-index:-1;animation:glow 2s ease-in-out infinite}.splash-enter-button:hover{transform:scale(1.05)}.splash-enter-button:active{transform:scale(.98)}.experience{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:var(--z-background);overflow:hidden;opacity:0;transition:opacity 1s ease}.experience--active{opacity:1}.reveal-element{position:absolute;will-change:transform}.mute-toggle{position:fixed;bottom:20px;right:20px;z-index:var(--z-ui);width:44px;height:44px;border-radius:50%;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s,opacity .3s,background-color .2s;opacity:0;pointer-events:none}.mute-toggle--visible{opacity:1;pointer-events:auto}.mute-toggle:hover{transform:scale(1.1);background:#fffffff2}.mute-toggle:active{transform:scale(.95)}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}@keyframes wobble{0%,to{transform:rotate(-2deg) scale(1)}25%{transform:rotate(2deg) scale(1.02)}50%{transform:rotate(-1deg) scale(.98)}75%{transform:rotate(1deg) scale(1.01)}}@keyframes buttonGlow{0%,to{box-shadow:0 0 30px #98ff9899}50%{box-shadow:0 0 50px #98ff98e6,0 0 80px #87ceeb80}}.photo-frame{position:absolute;background:#fff;padding:8px 8px 30px;box-shadow:0 2px 4px #00000026,0 8px 16px #0000001a;z-index:var(--z-photos);will-change:transform;overflow:hidden}.photo-frame img{display:block;width:100%;height:auto;pointer-events:none}@keyframes photo-sway{0%{transform:rotate(-3deg) translate(0) translateY(0)}25%{transform:rotate(2deg) translate(10px) translateY(-8px)}50%{transform:rotate(3deg) translate(18px) translateY(3px)}75%{transform:rotate(-2deg) translate(8px) translateY(8px)}to{transform:rotate(-3deg) translate(0) translateY(0)}}.photo-frame--active{animation:fadeIn 1s ease-out,photo-sway var(--sway-duration, 6s) ease-in-out infinite;animation-delay:0s,1s}.photo-frame--sm{width:120px}.photo-frame--md{width:160px}.photo-frame--lg{width:200px}@media(min-width:1025px){.photo-frame{padding:12px 12px 40px}.photo-frame--sm{width:220px}.photo-frame--md{width:300px}.photo-frame--lg{width:380px}}@media(max-width:768px){.photo-frame--sm{width:84px}.photo-frame--md{width:112px}.photo-frame--lg{width:140px}}@media(prefers-reduced-motion:reduce){.photo-frame--active{animation:fadeIn 1s ease-out,gentle-pulse 4s ease-in-out infinite;animation-delay:0s,1s}@keyframes gentle-pulse{0%,to{opacity:.85}50%{opacity:1}}}.sprite{position:absolute;z-index:var(--z-sprites);will-change:transform;cursor:pointer;image-rendering:auto}.sprite img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;border-radius:50%}.sprite--fusilli{width:80px;height:80px}.sprite--fusilli img{border-radius:50%}.sprite--fusilli{animation:sprite-walk 20s linear forwards}.sprite--fusilli.sprite--dancing{animation:sprite-dance .5s ease-in-out 4}.sprite--stevie{width:90px;height:90px}.sprite--stevie img{border-radius:50%}.sprite--stevie{animation:sprite-peek 7s ease-in-out forwards}.sprite--stevie.sprite--tilting{animation:sprite-tilt 1.5s ease-in-out}.sprite--pip{width:85px;height:85px}.sprite--pip img{border-radius:50%}.sprite--pip{animation:sprite-peek 6.5s ease-in-out forwards}.sprite--pip.sprite--bouncing{animation:sprite-bounce 2s ease-out}.sprite--breathing{animation:sprite-breathing 3s ease-in-out infinite}@keyframes sprite-walk{0%{transform:translate(-100px) translateY(0);opacity:0}5%{opacity:1}10%{transform:translate(10vw) translateY(-8px)}20%{transform:translate(20vw) translateY(5px)}30%{transform:translate(30vw) translateY(-10px)}40%{transform:translate(40vw) translateY(8px)}50%{transform:translate(50vw) translateY(-6px)}60%{transform:translate(60vw) translateY(10px)}70%{transform:translate(70vw) translateY(-5px)}80%{transform:translate(80vw) translateY(7px)}90%{transform:translate(90vw) translateY(-8px)}95%{opacity:1}to{transform:translate(calc(100vw + 100px)) translateY(0);opacity:0}}@keyframes sprite-dance{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-15deg)}75%{transform:scale(1.2) rotate(15deg)}}@keyframes sprite-peek{0%{transform:translateY(100%);opacity:0}15%{transform:translateY(0);opacity:1}85%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes sprite-tilt{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.05)}75%{transform:rotate(10deg) scale(1.05)}}@keyframes sprite-bounce{0%,to{transform:translateY(0)}10%{transform:translateY(-40px)}20%{transform:translateY(0)}30%{transform:translateY(-30px)}40%{transform:translateY(0)}50%{transform:translateY(-20px)}60%{transform:translateY(0)}70%{transform:translateY(-10px)}80%{transform:translateY(0)}}@keyframes sprite-breathing{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes gentle-pulse{0%,to{opacity:1}50%{opacity:.85}}@media(max-width:768px){.sprite--fusilli{width:60px;height:60px}.sprite--stevie{width:65px;height:65px}.sprite--pip{width:60px;height:60px}}@media(prefers-reduced-motion:reduce){.sprite{animation:none!important}.sprite--breathing{animation:gentle-pulse 4s ease-in-out infinite!important}}.particle{position:absolute;z-index:var(--z-particles);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform,opacity}.particle--pizza{font-size:2rem}.particle--pasta{font-size:1.8rem}.particle--heart{font-size:2.2rem}.particle--paint{font-size:1.5rem}.particle--sparkle{font-size:1.6rem}.particle--confetti{font-size:1.4rem}.particle--glitter{font-size:2rem}@keyframes particle-rain{0%{transform:translateY(-50px) translate(0);opacity:0}10%{opacity:1}25%{transform:translateY(25vh) translate(30px)}50%{transform:translateY(50vh) translate(-20px)}75%{transform:translateY(75vh) translate(30px)}90%{opacity:1}to{transform:translateY(calc(100vh + 50px)) translate(-10px);opacity:0}}@keyframes particle-float-up{0%{transform:translateY(calc(100vh + 50px)) translate(0);opacity:0}10%{opacity:1}25%{transform:translateY(75vh) translate(-30px)}50%{transform:translateY(50vh) translate(20px)}75%{transform:translateY(25vh) translate(-30px)}90%{opacity:1}to{transform:translateY(-50px) translate(10px);opacity:0}}@keyframes particle-drift{0%{transform:translate(-50px) translateY(0);opacity:0}10%{opacity:1}25%{transform:translate(25vw) translateY(20px)}50%{transform:translate(50vw) translateY(-30px)}75%{transform:translate(75vw) translateY(20px)}90%{opacity:1}to{transform:translate(calc(100vw + 50px)) translateY(-10px);opacity:0}}.particle--active{animation-timing-function:linear;animation-fill-mode:forwards}@media(prefers-reduced-motion:reduce){.particle{animation:none!important;opacity:.6}}.caption{position:absolute;z-index:var(--z-text);font-family:inherit;color:var(--color-pink);font-weight:600;font-size:clamp(1rem,3vw,1.5rem);text-shadow:0 0 10px rgba(255,192,203,.6),0 0 20px rgba(255,192,203,.4),0 2px 4px rgba(0,0,0,.2);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:opacity;transform:translate(-50%);max-width:90vw;overflow:hidden;text-overflow:ellipsis}@keyframes caption-appear{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.cursor-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:var(--z-overlay)}@media(min-width:1025px){body.custom-cursor{cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGvSURBVFhH7ZbBTsJAEIanpYCcPPkEPoFXPagHL3ryBfQNeAGfwKsP4MmrHjx49KSJMczuTO3SLmVLCQnxTzZtZ3f+b2a6293EwsJCFwaDQfL7+5tkWZacn59fxHG8j3a9Xi/J8/x0Pp+fYM3jON6h3Wg0ktls9vD19XXJ3hPW7/f3sN5Bo9F4xtp7rH0fxzEdcJCm6RnWO6jX6x9Y+4i1D1h7j7UnfAcdNJvNZ6x9wto7rL3F2hu6wMHOzs4z1p6w9hprr+gCB7vb2y9Ye8LaK7rAwV6r9Yy1R6w9ogsccAcc+IEC3wUO+IEC3wUO+IEC3wUO+OG+osCH9dv19TVdZKdSqVyiPXC5XI7Ypu/sAXxf//X1NeI7CwscBAEOggAHQYADfwgCHPhDEODAH4IAB/4QBDjwhyDAgT8EAQ78IQhw4A9BgAN/CAIc+EMQ4MAfggAH/hAEOPCHIMCBPwQBDvwhCHDgD0GAA38IAhz4QxDgwB+CAAf+EAQ48IcgwIE/BAEOqhYEh4eHpJ/FYpGcnJwkl5eXCXvdbjfBL5f0KmAP+dXVVYL9X758+fIPsrCw8B8kfwG1SL/OI+2aAAAAAElFTkSuQmCC) 16 16,pointer}}@media(prefers-reduced-motion:reduce){.cursor-canvas{display:none}}.mega-chaos-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ffb6c1,#e6e6fa,#ffb6c1);color:#333;padding:12px 24px;border-radius:20px;font-family:inherit;font-size:1.2rem;font-weight:700;z-index:9999;animation:banner-appear 3s ease-in-out forwards;pointer-events:none;text-align:center;box-shadow:0 4px 20px #ffb6c180}@keyframes banner-appear{0%{opacity:0;transform:translate(-50%) translateY(-20px)}15%{opacity:1;transform:translate(-50%) translateY(0)}75%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.stevie-takeover{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background:#ffb6c1f2;display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px;padding:4px;overflow:hidden;animation:fadeIn .5s ease-out}.stevie-takeover img{width:100%;height:auto;border-radius:50%;object-fit:cover;aspect-ratio:1}.stevie-takeover__hero{position:fixed!important;width:300px!important;height:300px!important;object-fit:contain!important;z-index:10000!important;animation:stevie-hero-scroll 8s linear infinite!important;pointer-events:none!important;filter:drop-shadow(0 10px 40px rgba(0,0,0,.3)) contrast(1.1) saturate(1.2)}@keyframes stevie-hero-scroll{0%{left:-350px;top:10%;transform:rotate(-15deg) scale(1)}25%{left:50%;top:20%;transform:rotate(5deg) scale(1.2)}50%{left:calc(100% + 50px);top:30%;transform:rotate(15deg) scale(1)}51%{left:calc(100% + 50px);top:60%;transform:rotate(-10deg) scale(.9)}75%{left:30%;top:70%;transform:rotate(8deg) scale(1.1)}to{left:-350px;top:80%;transform:rotate(-15deg) scale(1)}}.stevie-takeover__dismiss-button{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ffb6c1,#e6e6fa);color:#333;font-size:1.1rem;font-weight:700;padding:16px 32px;border:none;border-radius:30px;cursor:pointer;z-index:10001;animation:pulse 1.5s ease-in-out infinite;box-shadow:0 4px 20px #0003;transition:transform .2s ease,box-shadow .2s ease}.stevie-takeover__dismiss-button:hover{transform:translate(-50%) scale(1.05);box-shadow:0 6px 30px #0000004d}.stevie-takeover__dismiss-button:active{transform:translate(-50%) scale(.98)}.stevie-takeover--dismissing{animation:fadeOut .3s ease-out forwards}@media(prefers-reduced-motion:reduce){.mega-chaos-banner{animation:none;opacity:1}.stevie-takeover{animation:none}}
