.vi-scene{cursor:crosshair;background:radial-gradient(120% 90% at 8% 6%, color-mix(in oklab, var(--lp-blue-wash) 80%, transparent) 0%, transparent 42%), radial-gradient(100% 80% at 96% 100%, color-mix(in oklab, var(--lp-red) 9%, transparent) 0%, transparent 40%), linear-gradient(180deg, var(--lp-paper) 0%, var(--lp-paper-2) 100%);min-height:100svh;position:relative;overflow:hidden}@media (pointer:coarse){.vi-scene{cursor:auto}}.vi-scene :is(input,label){cursor:auto}.vi-scene :is(a,button){cursor:pointer}.vi-grid{z-index:0;pointer-events:none;opacity:.5;background-image:linear-gradient(to right, color-mix(in oklab, var(--lp-blue) 7%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--lp-blue) 7%, transparent) 1px, transparent 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 100%,#000 30%,#0000 85%);mask-image:radial-gradient(120% 100%,#000 30%,#0000 85%)}.vi-fx-layer{z-index:25;pointer-events:none;position:absolute;inset:0;overflow:hidden}.vi-imprint{transform:translate(-50%, -50%) rotate(var(--rot));opacity:0;animation:.4s cubic-bezier(.2,1.4,.35,1) both vi-imprint-in;position:absolute}@keyframes vi-imprint-in{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--rot)) scale(2.4)}55%{opacity:.42;transform:translate(-50%, -50%) rotate(var(--rot)) scale(.92)}to{opacity:.34;transform:translate(-50%, -50%) rotate(var(--rot)) scale(1)}}.vi-cursor-stamp{z-index:26;pointer-events:none;will-change:transform;opacity:.92;filter:drop-shadow(0 6px 10px #0000001f);position:absolute;top:0;left:0}@keyframes vi-slam{0%{opacity:0;transform:translate(-50%,-50%)scale(3.2)rotate(-28deg)}58%{opacity:1;transform:translate(-50%,-50%)scale(.86)rotate(-11deg)}76%{transform:translate(-50%,-50%)scale(1.08)rotate(-13deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-12deg)}}.vi-slam{animation:.5s cubic-bezier(.2,1.5,.35,1) both vi-slam}.vi-fleck{background:var(--lp-blue);opacity:0;border-radius:2px;width:9px;height:9px;animation:.7s ease-out forwards vi-fleck;position:absolute;transform:translate(-50%,-50%)}.vi-fleck--red{background:var(--lp-red);border-radius:50%}@keyframes vi-fleck{0%{opacity:1;transform:translate(-50%,-50%)translate(0)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%, -50%) translate(var(--dx), var(--dy)) scale(.4) rotate(var(--fr))}}@keyframes vi-shake{0%,to{transform:translate(0,0)}25%{transform:translate(-4px,2px)}50%{transform:translate(4px,-2px)}75%{transform:translate(-2px,1px)}}.vi-shake{animation:.4s both vi-shake}@keyframes vi-pop{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.vi-pop{animation:.6s cubic-bezier(.22,1.2,.36,1) both vi-pop}.vi-fade{opacity:0;animation:.7s both vi-fade}@keyframes vi-fade{to{opacity:1}}.vi-bubble-btn{transition:transform .18s cubic-bezier(.22,1.4,.36,1),background-color .18s,color .18s,border-color .18s}.vi-bubble-btn:hover{transform:translateY(-2px)rotate(-3deg)}.vi-bubble-btn:active{transform:translateY(0)scale(.94)}@keyframes vi-tick{to{stroke-dashoffset:0}}@keyframes vi-bob{0%,to{transform:rotate(6deg)translateY(0)}50%{transform:rotate(6deg)translateY(-5px)}}.vi-bob{animation:3.4s ease-in-out infinite vi-bob}@media (prefers-reduced-motion:reduce){.vi-imprint,.vi-pop,.vi-fade,.vi-bob,.vi-fleck,.vi-slam,.vi-shake{animation:none}.vi-imprint{opacity:.34}.vi-fade,.vi-pop{opacity:1}.vi-scene{cursor:auto}}
