.hero{background:var(--bg-hero);align-items:center;min-height:600px;padding:64px 0 120px;display:grid;position:relative;overflow:hidden}.rainbow{opacity:.85;width:760px;height:380px;position:absolute;bottom:-1px;right:max(-60px,50% - 680px);-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.rainbow path{fill:none;stroke-width:30px;stroke-dasharray:1600;stroke-dashoffset:1600px;animation:1.6s cubic-bezier(.6,0,.2,1) forwards draw;animation-delay:var(--d)}@keyframes draw{to{stroke-dashoffset:0}}.stars i{left:var(--x);top:var(--y);background:var(--star);opacity:.2;width:3px;height:3px;animation:3.4s ease-in-out infinite twinkle;animation-delay:var(--t);border-radius:50%;position:absolute}@keyframes twinkle{50%{opacity:.9;transform:scale(1.6)}}.hero-in{z-index:2;width:min(1120px,100% - 32px);margin-inline:auto;position:relative}.kicker{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:999px;margin:0 0 16px;padding:4px 14px;font-size:14px;font-weight:700;display:inline-block}.headline{letter-spacing:-.01em;margin:0;font-size:clamp(38px,7vw,76px);font-weight:800;line-height:1.2}.word{display:inline-block;position:relative}.ch{transition:transform .5s var(--spring-big), color .3s;transition-delay:calc(var(--i) * 35ms);display:inline-block}.word:hover .ch{color:var(--primary);transform:translateY(-14px)rotate(-4deg)}.sparkle .star{pointer-events:none;animation:.9s ease-in-out forwards star;position:absolute;transform:translate(-50%,-50%)}@keyframes star{0%{transform:translate(-50%,-50%)scale(0)rotate(0)}50%{transform:translate(-50%,-50%)scale(1)rotate(90deg)}to{transform:translate(-50%,-50%)scale(0)rotate(180deg)}}.lead{max-width:30em;color:var(--mute);margin:20px 0 32px;font-size:18px}.cta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.mascot{z-index:3;flex-direction:column;align-items:center;gap:4px;animation:5s ease-in-out infinite float;display:flex;position:absolute;bottom:40px;right:max(210px,50% - 410px)}@keyframes float{50%{transform:translateY(-14px)}}.m-hit{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;padding:0;position:relative}.m-swap{border:2px solid var(--line);background:var(--bg-2);color:var(--text);font:inherit;cursor:pointer;transition:transform .4s var(--spring), border-color .2s;border-radius:999px;padding:2px 14px;font-size:13px;font-weight:800}.m-swap:hover{border-color:var(--primary);transform:translateY(-2px)rotate(-2deg)}.mascot svg{filter:drop-shadow(0 18px 24px var(--shadow));display:block;overflow:visible}.m-body{transform-origin:110px 218px;transition:transform .5s var(--spring-big)}.mascot:hover .m-body{transform:scale(1.05,.95)}.mascot.poke .m-body{animation:squish .6s var(--spring-big)}@keyframes squish{0%{transform:scale(1)}25%{transform:scale(1.18,.78)}55%{transform:scale(.92,1.1)}to{transform:scale(1)}}.m-cap{transform-origin:110px 70px;animation:5s ease-in-out infinite cap}@keyframes cap{50%{transform:rotate(-5deg)}}.pupil{transition:transform .12s}.lid{transition:height 80ms}.mascot.blink .lid{height:34px}.closed{opacity:0}.mascot.blink .closed{opacity:1}.smug,.face3{opacity:0}.mascot.poke.face-closed .closed,.mascot.poke.face-smug .smug,.mascot.poke.face-more .face3{animation:1.1s step-end shut}@keyframes shut{0%,90%{opacity:1}to{opacity:0}}.girl.photo{filter:drop-shadow(0 10px 18px var(--shadow))}html[data-cursor=cookie],html[data-cursor=cookie] *{cursor:url(/cursors/cookie.svg) 6 6,auto!important}html[data-cursor=cookie] :is(a,button,summary,label,[role=tab]),html[data-cursor=cookie] :is(a,button,summary,label,[role=tab]) *{cursor:url(/cursors/cookie-bite.svg) 6 6,pointer!important}html[data-cursor=niboshi],html[data-cursor=niboshi] *{cursor:url(/cursors/niboshi.svg) 27 7,auto!important}html[data-cursor=niboshi] :is(a,button,summary,label,[role=tab]),html[data-cursor=niboshi] :is(a,button,summary,label,[role=tab]) *{cursor:url(/cursors/niboshi-bite.svg) 27 7,pointer!important}html[data-cursor=ice],html[data-cursor=ice] *{cursor:url(/cursors/ice.svg) 9 5,auto!important}html[data-cursor=carrot],html[data-cursor=carrot] *{cursor:url(/cursors/carrot.svg) 6 6,auto!important}html[data-cursor=carrot] :is(a,button,summary,label,[role=tab]),html[data-cursor=carrot] :is(a,button,summary,label,[role=tab]) *{cursor:url(/cursors/carrot-bite.svg) 6 6,pointer!important}html[data-cursor=ice] :is(a,button,summary,label,[role=tab]),html[data-cursor=ice] :is(a,button,summary,label,[role=tab]) *{cursor:url(/cursors/ice-bite.svg) 9 5,pointer!important}.zzz{fill:var(--mute);font:800 26px "M PLUS Rounded 1c",sans-serif;animation:3s ease-in-out infinite zzz}@keyframes zzz{0%{opacity:0;transform:translateY(10px)}40%{opacity:1}to{opacity:0;transform:translate(14px,-24px)}}.bubble{white-space:nowrap;background:var(--bg-2);color:var(--text);box-shadow:0 6px 18px var(--shadow);border-radius:14px;padding:6px 14px;font-size:14px;font-weight:700;position:absolute;top:10px;right:160px}.bubble:after{content:"";border:8px solid #0000;border-bottom:0;border-top-color:var(--bg-2);position:absolute;bottom:-7px;right:18px}.mascot.poke .bubble{animation:pop .5s var(--spring-big)}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.sec-head h2{margin:0;font-size:30px;font-weight:800}.filters{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--line);background:var(--bg-2);color:var(--text);font:inherit;cursor:pointer;transition:transform .4s var(--spring), border-color .2s, background-color .2s;border-radius:999px;padding:4px 14px;font-size:14px;font-weight:700}.chip:hover{border-color:var(--primary);transform:translateY(-2px)scale(1.04)}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--bg-2);border:1px solid var(--line);height:100%;box-shadow:0 2px 0 var(--line);transition:transform .45s var(--spring), box-shadow .3s, border-color .3s;border-radius:18px;flex-direction:column;gap:10px;padding:22px 22px 18px;display:flex;position:relative}.card:before{content:"";border-radius:inherit;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--c) 14%, transparent), transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.card:hover{border-color:var(--c);box-shadow:0 16px 34px var(--shadow);transform:translateY(-6px)rotate(-.4deg)}.card:hover:before{opacity:1}.card-cat{color:var(--c);font-size:13px;font-weight:800}.card-cat em{opacity:.6;margin-left:4px;font-style:normal}.card-title{font-size:18px;font-weight:800;line-height:1.55}.card-ex{color:var(--mute);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.8;display:-webkit-box;overflow:hidden}.card-foot{color:var(--mute);justify-content:space-between;margin-top:auto;font-size:13px;display:flex}.more{color:var(--c);font-weight:800}.arrow{transition:transform .45s var(--spring-big);display:inline-block}.card:hover .arrow{transform:translate(6px)}.news{padding:24px 0 72px}.news-card{background:linear-gradient(120deg, color-mix(in srgb, var(--primary) 22%, var(--bg-2)), var(--bg-2));border:1px solid var(--line);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:32px 36px;display:flex}.news-card h2{margin:0 0 4px;font-size:24px}.news-card p{color:var(--mute);margin:0}.card-li.pop-in{animation:popIn .55s var(--spring-big) both;animation-delay:var(--d)}@keyframes popIn{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rainbow path{stroke-dashoffset:0}}@media (width<=960px){.rainbow{width:460px;height:230px;right:-50px}.mascot{bottom:30px;right:70px}.mascot svg{width:150px;height:170px}.bubble{right:100px}}@media (width<=640px){.hero{align-items:start;min-height:560px;padding:40px 0 270px}.mascot{bottom:16px}.lead br{display:none}.lead{font-size:16px}.cards{grid-template-columns:1fr}.news-card{padding:24px}}
