:root{--night-1:#1b0a38;--night-2:#250e4a;--night-3:#170830;--ink:#fff3fc;--muted:#d3b8ea;--faint:#a284c6;--pink:#ff4fb8;--pink-hot:#ff1f9c;--pink-deep:#c4157c;--pink-shadow:#96105f;--violet:#a06bff;--violet-deep:#6d3fc4;--gold:#ffd44f;--gold-deep:#b8860b;--win-border:#fffc;--win-glow:#a06bff59;--font-display:"Baloo 2", "Comic Sans MS", cursive;--font-body:"Nunito", system-ui, sans-serif;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--container:72rem;--heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 29'%3E%3Cpath fill='%23ff4fb8' d='M23.6 0c-3.4 0-6.3 2.7-7.6 5.6C14.7 2.7 11.8 0 8.4 0 3.8 0 0 3.8 0 8.4c0 9.4 9.5 11.9 16 20.4 6.1-8.4 16-11.3 16-20.4C32 3.8 28.2 0 23.6 0z'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:radial-gradient(65rem 45rem at 12% 4%, #ff1f9c21, transparent 60%), radial-gradient(60rem 42rem at 88% 24%, #823cff2b, transparent 60%), radial-gradient(70rem 50rem at 30% 62%, #ff1f9c17, transparent 60%), radial-gradient(60rem 45rem at 78% 92%, #823cff21, transparent 60%), linear-gradient(180deg, var(--night-1) 0%, var(--night-2) 40%, var(--night-1) 75%, var(--night-3) 100%);font-weight:400;line-height:1.65;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;opacity:.04;background-image:var(--heart);background-size:46px 42px;position:fixed;inset:0}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}::selection{background:var(--pink-hot);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--night-3)}::-webkit-scrollbar-thumb{background:var(--violet-deep);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--pink)}.container{width:min(var(--container), 100% - 2.5rem);z-index:1;margin-inline:auto;position:relative}section{z-index:1;scroll-margin-top:5rem;position:relative}.section-head{text-align:center;margin-bottom:3rem}.kicker{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--pink);align-items:center;gap:.7rem;font-size:.82rem;font-weight:600;display:inline-flex}.kicker:before,.kicker:after{content:"";background:var(--heart) no-repeat center / contain;width:.85rem;height:.8rem}.bubble-title{font-family:var(--font-display);color:#fff;letter-spacing:.01em;text-shadow:0 3px 0 var(--pink-deep), 0 10px 30px #ff1f9c66;margin-top:.5rem;font-size:clamp(2.3rem,5.5vw,3.8rem);font-weight:800;line-height:1.08}.bubble-title .hl{color:var(--gold);text-shadow:0 3px 0 var(--gold-deep), 0 10px 30px #ffd44f59}.section-sub{color:var(--muted);max-width:36rem;margin:.9rem auto 0;font-size:1.02rem}.rpg-window{border:2px solid var(--win-border);box-shadow:0 0 0 5px var(--win-glow), inset 0 0 0 1px #ffffff1f, inset 0 0 34px #a06bff29, 0 22px 50px -18px #000000a6;background:linear-gradient(#2c1254eb,#180a30f2);border-radius:14px;position:relative}.rpg-tag{font-family:var(--font-display);color:#fff;border:2px solid var(--win-border);background:linear-gradient(180deg, var(--pink-hot), var(--pink-deep));box-shadow:0 0 0 4px var(--win-glow), 0 6px 16px -6px #0009;border-radius:10px;padding:.28rem 1.1rem;font-size:.92rem;font-weight:700;position:absolute;top:-1.15rem;left:1.4rem}.rpg-cursor{color:var(--pink);animation:1.1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.candy{font-family:var(--font-display);color:#fff;white-space:nowrap;background:linear-gradient(180deg, #ff7fce 0%, var(--pink-hot) 55%, #ee1490 100%);box-shadow:0 5px 0 var(--pink-shadow), 0 14px 28px -8px #ff1f9c8c, inset 0 2px 0 #ffffff80;transition:transform .18s var(--ease-pop), box-shadow .18s var(--ease-pop), filter .18s ease;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.95rem 2.1rem;font-size:1.02rem;font-weight:700;display:inline-flex;position:relative}.candy:hover{filter:brightness(1.07);box-shadow:0 7px 0 var(--pink-shadow), 0 18px 34px -8px #ff1f9cb3, inset 0 2px 0 #ffffff80;transform:translateY(-2px)}.candy:active{box-shadow:0 2px 0 var(--pink-shadow), 0 8px 18px -8px #ff1f9c80, inset 0 2px 0 #ffffff59;transform:translateY(3px)}.candy :where(svg){width:1.15rem;height:1.15rem}.candy-violet{background:linear-gradient(180deg, #bd93ff 0%, var(--violet) 55%, #8a4fe8 100%);box-shadow:0 5px #4e2a95,0 14px 28px -8px #a06bff8c,inset 0 2px #ffffff80}.candy-violet:hover{box-shadow:0 7px #4e2a95,0 18px 34px -8px #a06bffb3,inset 0 2px #ffffff80}.candy-violet:active{box-shadow:0 2px #4e2a95,0 8px 18px -8px #a06bff80,inset 0 2px #ffffff59}.candy-gold{color:#6b3c00;text-shadow:0 1px #fff6;background:linear-gradient(180deg, #ffe58a 0%, var(--gold) 55%, #f5b93a 100%);box-shadow:0 5px #a8770a,0 14px 28px -8px #ffd44f80,inset 0 2px #ffffffa6}.candy-gold:hover{box-shadow:0 7px #a8770a,0 18px 34px -8px #ffd44fa6,inset 0 2px #ffffffa6}.candy-gold:active{box-shadow:0 2px #a8770a,0 8px 18px -8px #ffd44f73,inset 0 2px #ffffff80}.sticker{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#7a1049;background:var(--gold);border:3px solid #fff;border-radius:12px;padding:.35rem 1rem;font-size:.95rem;font-weight:800;display:inline-block;rotate:-6deg;box-shadow:0 8px 20px -6px #00000080}.reveal{opacity:0;transform:translateY(26px)}.reveal.in{opacity:1;transition:opacity .8s var(--ease-out) var(--d,0s), transform .8s var(--ease-out) var(--d,0s);transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--pink-hot);color:#fff;border-radius:8px;padding:.6rem 1.2rem;font-weight:700;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
