:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body{background-color:#2b2b2b}canvas{position:fixed!important}.lighter{position:fixed;bottom:0;right:0;z-index:1000;margin:1rem;cursor:pointer;transition:transform .1s}.lighter:active{transform:scale(.95)}.lighter img{width:10vw}.cakeView{max-width:100vw;position:relative}.cakeView img.cake{width:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.cakeView .flame{height:6.2vw;aspect-ratio:43/62;position:absolute;top:0;left:0}.cakeView .flame.extinguished{pointer-events:none}.cakeView .flame img.fire{height:100%;transform-origin:bottom center;pointer-events:none;-webkit-user-select:none;user-select:none}.cakeView .flame.extinguished:not(.init) img.fire{animation-name:blowout;animation-duration:.4s;animation-fill-mode:forwards}.cakeView .flame:not(.extinguished) img.fire{animation-name:lightup;animation-duration:2s;animation-timing-function:ease-in;animation-fill-mode:forwards}.cakeView .flame:nth-child(2n) img.smoke{transform:scale(1.5) skew(10deg)}.cakeView .flame img.smoke{height:100%;position:absolute;transform:scale(1.5);top:-40%;left:-90%;opacity:0;filter:brightness(4) blur(.3px);pointer-events:none;-webkit-user-select:none;user-select:none}.cakeView .flame.extinguished:not(.init) img.smoke{animation-name:smokestack;animation-duration:6s;animation-delay:.3s;animation-fill-mode:forwards}.cakeView .flame.extinguished.init{display:none}@keyframes smokestack{0%{opacity:0}5%{opacity:.2}80%{opacity:.2}to{opacity:0}}@keyframes blowout{0%{transform:scaleY(1)}10%{transform:scaleY(.2)}20%{transform:scaleY(.3) skew(10deg)}30%{transform:scaleY(.2) skew(-10deg)!important}40%{transform:scaleY(.3) skew(10deg)}50%{transform:scaleY(.2)}60%{transform:scaleY(.3) skew(20deg)}70%{transform:scaleY(.2)}80%{transform:scaleY(.3) skew(-20deg)}90%{transform:scaleY(.2) skew(10deg);opacity:1}to{transform:scaleY(.1) skew(0);opacity:0}}@keyframes lightup{0%{transform:scaleY(.1) scaleX(.7)}to{transform:scaleY(1) scaleY(1)}}
