@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:.9;transform:scale(1.1)}}@keyframes marq{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes fall{0%{transform:translateY(-10vh) rotate(0)}to{transform:translateY(110vh) rotate(24deg)}}@keyframes rainfall{0%{transform:translateY(-14vh)}to{transform:translateY(116vh)}}@keyframes sway{0%,to{margin-left:-10px}50%{margin-left:10px}}@keyframes drift{0%{transform:translateX(-12px)}to{transform:translateX(12px)}}@keyframes eq{0%,to{height:30%}50%{height:100%}}@keyframes popin{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes glowpulse{0%,to{box-shadow:0 8px 22px -8px rgba(0,0,0,.45)}50%{box-shadow:0 8px 30px -4px var(--accent,#ff7ec0)}}@keyframes textglow{0%,to{text-shadow:0 0 7px var(--accent)}50%{text-shadow:0 0 15px var(--accent),0 0 26px var(--accent)}}@keyframes cardfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes cardpulse{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}@keyframes statusblink{0%,to{opacity:1}50%{opacity:.45}}@keyframes spinhue{to{transform:rotate(1turn)}}@keyframes wipeOut{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes wipeReveal{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes splitTop{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes splitBottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes splashFade{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes hue{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes neonflicker{0%,to{text-shadow:0 0 6px var(--accent),0 0 14px var(--accent)}47%{text-shadow:0 0 6px var(--accent),0 0 14px var(--accent)}48%{text-shadow:none}49%{text-shadow:0 0 6px var(--accent),0 0 22px var(--accent),0 0 38px var(--accent)}50%{text-shadow:none}51%{text-shadow:0 0 6px var(--accent),0 0 14px var(--accent)}}@keyframes flameglow{0%,to{filter:drop-shadow(0 -1px 4px #ff5e1a) drop-shadow(0 -2px 9px #ffb020)}50%{filter:drop-shadow(0 -2px 7px #ff7a1a) drop-shadow(0 -4px 14px #ffd24a)}}@keyframes shimmer{0%{background-position:140% 0}to{background-position:-40% 0}}@keyframes firefly{0%,to{transform:translate(0)}25%{transform:translate(16px,-12px)}50%{transform:translate(-10px,10px)}75%{transform:translate(12px,14px)}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes sceneIn{0%{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:none}}@keyframes auroraA{0%,to{transform:translate(0) scale(1)}50%{transform:translate(60px,44px) scale(1.14)}}@keyframes auroraB{0%,to{transform:translate(0) scale(1.08)}50%{transform:translate(-70px,-30px) scale(.94)}}@keyframes skel{0%{background-position:130% 0}to{background-position:-30% 0}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--accent,#ff6fb5);color:var(--on-accent,#fff)}.k-btn{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;will-change:transform}.k-btn:hover{transform:translateY(-1.5px);filter:brightness(1.06)}.k-btn:active{transform:translateY(0) scale(.97);filter:brightness(.97)}.k-lift{transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease;will-change:transform}.k-lift:hover{transform:translateY(-5px)}.k-focus{transition:box-shadow .15s ease,border-color .15s ease}.k-focus:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#ff6fb5) 32%,transparent)}.k-navlink{position:relative;opacity:.75;transition:opacity .15s ease}.k-navlink:hover{opacity:1}.k-navlink:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;border-radius:2px;background:var(--accent,#ff6fb5);transition:right .22s cubic-bezier(.2,.7,.2,1)}.k-navlink:hover:after{right:0}.k-chip{transition:transform .15s ease,background .15s ease,border-color .15s ease}.k-chip:hover{transform:translateY(-1px)}.k-skel{background:linear-gradient(100deg,color-mix(in srgb,var(--ink,#888) 8%,transparent) 40%,color-mix(in srgb,var(--ink,#888) 16%,transparent) 50%,color-mix(in srgb,var(--ink,#888) 8%,transparent) 60%);background-size:300% 100%;animation:skel 1.5s linear infinite}@media (max-width:820px){.hero-grid{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:640px){.k-nav{gap:10px!important;padding:0 8px 0 14px!important}.k-nav-links{display:none!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important}}