@keyframes kpn-bubbling{0%{transform:translateY(0);opacity:.06}to{transform:translateY(-688px);opacity:0}}@keyframes kpn-sideWays{0%{margin-left:0}to{margin-left:200px}}@keyframes kpn-floating{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-2px);opacity:1}}@keyframes kpn-popOut{0%{transform:scale(0) translateY(100%);opacity:0}50%{transform:scale(1.2) translateY(-10%);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@keyframes kpn-destroy{0%{transform:scale(1);opacity:1;rotate:120deg}50%{transform:scale(1.2);opacity:.8;rotate:240deg}to{transform:scale(.5);opacity:0;rotate:360deg}}@keyframes kpn-scaleAndFade{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1.7);opacity:0}}@keyframes kpn-repeatedRotation{0%,to{rotate:12deg;transform:scale(.9)}50%{rotate:-12deg;transform:scale(1.1)}}@keyframes kpn-opacityBlink{0%,to{opacity:1}50%{opacity:.4}}@keyframes kpn-fullRotation{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes kpn-scaling{0%,to{transform:scale(.7)}50%{transform:scale(1.2)}}@keyframes kpn-rotationAndScaling{0%{opacity:.1;transform:rotate(0deg) scale(0)}50%{transform:rotate(180deg) scale(1.2);opacity:.8}to{transform:rotate(360deg) scale(0);opacity:.1}}@keyframes kpn-alert{0%,to{transform:scale(.95)}50%{transform:scale(1.05)}}@keyframes kpn-svgFillBlinking{0%,to{fill:var(--color-bc-blue)}20%{fill:var(--color-bc-violet)}40%{fill:var(--color-bc-green)}60%{fill:var(--color-bc-red)}80%{fill:var(--color-bc-yellow)}}@keyframes kpn-boxShadowBlinking{0%,to{color:var(--color-bc-blue)}20%{color:var(--color-bc-violet)}40%{color:var(--color-bc-green)}60%{color:var(--color-bc-red)}80%{color:var(--color-bc-yellow)}}@font-face{font-family:"Knewave";src:url(../fonts/knewave/knewaveRegular.woff2)format("woff2"),url(../fonts/knewave/knewaveRegular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Kanit";src:url(../fonts/kanit/kanitRegular.woff2)format("woff2"),url(../fonts/kanit/kanitRegular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Kanit";src:url(../fonts/kanit/kanitMedium.woff2)format("woff2"),url(../fonts/kanit/kanitMedium.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Kanit";src:url(../fonts/kanit/kanitBold.woff2)format("woff2"),url(../fonts/kanit/kanitBold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}.bsmash{--color-primary:#00c55a;--color-accent:#19ee91;--tube-border-color:#e5f2f9;--ff:"Kanit", serif;--ff-logo:"Knewave", serif;--color-bc-violet:#9325ff;--color-bc-green:#25ff8c;--color-bc-blue:#25fffb;--color-bc-yellow:#f6ff25;--color-bc-red:#ff3525}.bsmash--dark{--scoreboard-label-color:#6d8785}.bsmash--bright{--scoreboard-label-color:#fff}.bsmash__bubbles{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.bsmash__bubble{width:30px;height:30px;border-radius:100%;position:absolute;background-color:#fff;bottom:-30px;opacity:.1;animation:kpn-bubbling 15s ease-in-out infinite,kpn-sideWays 4s ease-in-out infinite alternate}.bsmash__bubble--1{left:10%;animation-delay:.5s;animation-duration:16s;opacity:.1}.bsmash__bubble--2{width:15px;height:15px;left:40%;animation-delay:1s;animation-duration:10s;opacity:.1}.bsmash__bubble--3{width:10px;height:10px;left:30%;animation-delay:5s;animation-duration:20s;opacity:.2}.bsmash__bubble--4{width:25px;height:25px;left:40%;animation-delay:8s;animation-duration:17s;opacity:.1}.bsmash__bubble--5{width:30px;height:30px;left:60%;animation-delay:10s;animation-duration:15s;opacity:.1}.bsmash__bubble--6{width:10px;height:10px;left:80%;animation-delay:3s;animation-duration:30s;opacity:.3}.bsmash__bubble--7{width:15px;height:15px;left:90%;animation-delay:-7s;animation-duration:25s;opacity:.2}.bsmash__bubble--8{width:13px;height:13px;left:54%;animation-delay:-8s;animation-duration:20s;opacity:.1}.bsmash__bubble--9{width:20px;height:20px;left:50%;bottom:30px;animation-delay:-5s;animation-duration:19s;opacity:.1}.bsmash__bubble--10{width:40px;height:40px;left:30%;bottom:30px;animation-delay:-21s;animation-duration:16s;opacity:.2}.bsmash__bubble--11,.bsmash__bubble--12{width:30px;height:30px;left:60%;bottom:30px;animation-delay:-13.75s;animation-duration:20s;opacity:.2}.color-primary{color:var(--color-primary)}.bsmash{display:flex;justify-content:center;font-family:var(--ff);font-weight:400;user-select:none;padding:0 12%;font-size:16px;width:auto;max-width:80%;height:90%;aspect-ratio:10/17}.bsmash *{box-sizing:border-box;margin:0;padding:0}.bsmash__content{position:relative;width:100%}.bsmash__outer-content{position:absolute;width:100%;height:100%;top:0;left:0}.bsmash__inner-content{position:relative;overflow:hidden;width:100%;height:100%;border:.05em solid var(--tube-border-color);border-radius:4px 4px 225px 225px;display:flex;align-items:flex-end;box-shadow:0 6px 12px 4px rgba(0,0,0,.3)}.bsmash__action-area{position:relative;width:100%;height:75%;background-image:linear-gradient(0deg in oklch,#182848,#2980b9);border-bottom-left-radius:200px;border-bottom-right-radius:200px;transition:box-shadow 2s ease-in-out}.bsmash__pause-btn{position:absolute;top:0;right:calc(-10% + 1px);width:10%;height:10%;display:flex;align-items:center;justify-content:center;padding:0;border-top-right-radius:30px;border-bottom-right-radius:30px;box-shadow:0 0 2px rgba(0,0,0,.2);border:0;background-color:var(--tube-border-color);z-index:0;overflow:hidden;transition:width .2s ease-in-out,right .2s ease-in-out;cursor:pointer}.bsmash__pause-btn svg{fill:var(--color-primary);transition:transform .2s ease-in-out;width:30%;height:30%}.bsmash__pause-btn--hidden{width:0;right:0}.bsmash__pause-btn--hidden svg{transform:scale(0) translateX(-50%)}.bsmash__confetti-canvas{width:100%;height:100%;z-index:-1}.bsmash__confetti-canvas,.dialog,.dialog__bacteria{position:absolute;top:0;left:0}.dialog{z-index:9999;width:100%;height:100%;display:flex;justify-content:center;align-items:center;transition:opacity .3s ease-in-out;background-color:rgba(0,0,0,.95)}.dialog__bacteria{opacity:.4;border-radius:50%;z-index:-1;width:.6em;height:.6em}.dialog__bacteria::before,.dialog__logo::before{content:"";position:absolute;top:50%;left:50%;display:block}.dialog__bacteria::before{width:1px;height:1px;opacity:.4;color:var(--color-accent);animation:kpn-boxShadowBlinking 50s linear infinite;box-shadow:0 0 1em 1em}.dialog__bacteria-core{animation:kpn-fullRotation 50s linear infinite;border-radius:50%;padding:4px;transform-origin:center;width:100%;height:100%}.dialog__bacteria-core svg,.dialog__bacteria-small-core svg{display:block;width:100%;height:100%}.dialog__bacteria-small-core{width:40%;height:40%;border-radius:50%;padding:2px;display:inline-block;animation:kpn-rotationAndScaling 6s linear infinite;animation-delay:-1s;position:absolute}.dialog__bacteria-small-core--1{top:0;left:-.5em}.dialog__bacteria-small-core--2{animation-delay:-3s;top:.7em;right:0}.dialog__bacteria svg{fill:var(--color-accent);animation:kpn-svgFillBlinking 50s linear infinite}.dialog__content,.dialog__logo{width:100%;display:flex;align-items:center}.dialog__content{flex-direction:column;padding:3vh;text-align:center;color:#fff}.dialog__logo{font-weight:600;line-height:.9;font-family:var(--ff-logo);text-shadow:.04em .04em 0#000;color:var(--color-primary);user-select:none;position:relative;font-size:1em;aspect-ratio:1/1;max-width:100%;justify-content:center;margin-top:-50%}.dialog__logo::before{width:10px;height:10px;transform:translate(-5px,-5px);z-index:-1;box-shadow:0 0 1.4em 1.4em rgba(0,199,103,.7)}.dialog__logo img{width:86%;height:auto;animation:kpn-repeatedRotation 30s linear infinite}.dialog__logo-text{-webkit-text-stroke-color:#003310;-webkit-text-stroke-width:.02em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;z-index:1;text-transform:uppercase}.dialog__description,.dialog__title{text-shadow:2px 2px 2px rgba(0,0,0,.5)}.dialog__title{font-size:.6em;font-weight:600;line-height:1;text-transform:uppercase}.dialog__description{line-height:1.3;width:100%;font-size:.24em;margin:1em 0 2em;padding:1em .6em;border-top:.1em dashed rgba(255,255,255,.3);border-bottom:.1em dashed rgba(255,255,255,.3)}.dialog__button{width:100%;display:flex;align-items:center;line-height:1;font-family:var(--ff);color:#fff;font-weight:600;text-transform:uppercase;border:.05em solid #fff;outline:0;letter-spacing:1px;background-color:transparent;cursor:pointer;transition:transform .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out;text-align:center;justify-content:center;margin-bottom:.6em;backdrop-filter:blur(6px);font-size:.4em;border-radius:200px;padding:.4em .8em}.dialog__button:last-of-type{margin-bottom:0}@media (hover:hover){.dialog__button:hover{color:var(--color-primary);border-color:var(--color-primary)}}.dialog__dev{display:flex;align-items:center;text-align:left;margin-top:auto;position:absolute;left:50%;transform:translateX(-50%);opacity:1;transition:opacity .1s linear;width:2.5em;bottom:.4em}.dialog__dev a,.dialog__dev a img{display:block;width:100%}@media (hover:hover){.dialog__dev:hover{opacity:1}}.dialog--hidden{opacity:0;pointer-events:none}.scoreboard{position:absolute;top:0;left:0;width:100%;padding:.6em 1em;font-size:.4em;line-height:1;z-index:1;height:25%}.bsmash-fs-container::before,.scoreboard::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.scoreboard::before{z-index:-1;backdrop-filter:blur(10px)}.scoreboard__elecount{display:flex;justify-content:space-between;padding:0 .2em .5em;border-bottom:.04em dashed var(--scoreboard-label-color)}.scoreboard__timer{display:flex;flex-direction:column;align-items:center;padding:1em 0 0}.scoreboard__timer .scoreboard__value{order:-1;font-size:2em}.scoreboard__timer .scoreboard__label{font-size:.5em;margin-top:6px}.scoreboard__value{color:var(--color-primary);font-family:var(--ff);font-weight:600}.scoreboard__label{color:var(--scoreboard-label-color);text-transform:uppercase;font-weight:500}.timer{display:flex}.timer #timer-divider{margin:0 2px;transform:translateY(-2px)}.bsmash--alert .timer{animation:kpn-alert 1s ease-in-out infinite}.bsmash__bacteria{position:absolute;width:.6em;height:.6em;border-radius:50%;transform-origin:center;transition:transform .3s ease-in-out,background-color .3s ease-in-out,box-shadow .3s ease-in-out,border-color .3s ease-in-out,top 1s cubic-bezier(.7,.9,.7,1),left 1s cubic-bezier(.7,.9,.7,1),rotate .2s linear;border:1px solid var(--color-primary);background-color:#204537;box-shadow:0 0 8px var(--color-primary);cursor:crosshair;z-index:2}.bsmash__bacteria svg{fill:var(--color-primary);width:90%;height:90%;transition:fill .3s ease-in-out,transform .3s ease-in-out,width .3s ease-in-out,height .3s ease-in-out;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bsmash__bacteria--initialized{opacity:0}.bsmash__bacteria--destroyed{opacity:1;z-index:100}.bsmash-fs-container{position:fixed;z-index:99999;width:100%;height:100svh;display:flex;align-items:center;justify-content:center;background-color:#333;top:0;left:0;right:0;bottom:0;background-image:url(/img/fs-bg.jpg);background-size:cover}.bsmash-fs-container::before{background:rgba(0,0,0,.8);background:radial-gradient(circle,rgba(0,0,0,.6)0,rgba(0,0,0,.7) 100%);background-size:cover}