.button{text-decoration:none;color:var(--bg);display:flex;align-items:center;gap:.85rem;padding:.95rem 1.2rem;border-radius:999px;background-color:var(--ink);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.button,.button .button-label{position:relative;width:max-content}.button .button-label{display:inline-block;transform:translateY(.05rem);color:inherit;font-family:Geist Mono;font-size:.82rem;font-weight:500;-webkit-font-smoothing:antialiased;letter-spacing:.08rem;text-transform:uppercase}.button .button-label:after{content:"";position:absolute;width:100%;height:1px;bottom:-.3rem;left:0;background:currentColor;transform:scaleX(0);transform-origin:bottom right;transition:transform .25s ease-out;will-change:transform}.button:hover .button-label:after{transform:scaleX(1);transform-origin:bottom left}.button .button-icon{transition:transform .6s ease-out;transform-style:preserve-3d;perspective:1000px;will-change:transform}.button .button-icon,.button .button-icon-inner{display:flex;justify-content:center;align-items:center}.button .button-icon-inner{width:1.5rem;height:1.5rem;background-color:rgba(244,243,238,.16);color:inherit;border-radius:10rem}.button:hover{background-color:#000;color:var(--bg)}.button:hover .button-icon{animation:flipTwice .8s ease-out forwards}.button:not(:hover) .button-icon{animation:flipBack .8s ease-out forwards}@keyframes flipTwice{0%{transform:rotateY(0deg)}to{transform:rotateY(2turn)}}@keyframes flipBack{0%{transform:rotateY(2turn)}to{transform:rotateY(0deg)}}.button--light{color:var(--ink);background-color:var(--bg);border:1px solid var(--rule)}.button--light .button-label{color:inherit}.button--light .button-label:after{background:currentColor}.button--light .button-icon-inner{background-color:rgba(15,14,12,.08);color:inherit}.button--light:hover{color:var(--bg);border-color:transparent}@media (max-width:1000px){.button{padding:.85rem 1rem}.button .button-label:after{display:none}.button:hover .button-icon,.button:not(:hover) .button-icon{animation:none}}.button .line{position:relative;transform:translateY(100%);will-change:transform;padding-bottom:.2em;margin-bottom:-.2em}footer{position:relative;width:100vw;height:100.5svh;background-color:var(--surface);color:var(--ink);padding:clamp(1.25rem,3vw,2.5rem);border-top:1px solid var(--rule)}footer .explosion-container{position:absolute;bottom:0;left:0;width:100%;height:200%;pointer-events:none;overflow:hidden}footer img.explosion-particle-img{position:absolute;bottom:-200px;left:50%;width:var(--particle-size,300px)!important;height:auto!important;border-radius:.75rem;object-fit:cover;transform:translateX(-50%);will-change:transform}footer .footer-header-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(52rem,100%);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:2rem}footer .footer-byline{position:absolute;left:0;bottom:0;width:100%;display:flex;padding:clamp(1.25rem,3vw,2.5rem)}footer .footer-byline>div{flex:1 1;display:flex}footer .footer-copyright{justify-content:flex-end}footer .footer-author{justify-content:center;color:var(--ink-muted)}footer .footer-author p{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem}footer .footer-music-link{position:relative;color:var(--ink);text-decoration:none;transition:color .35s ease}footer .footer-music-link:after,footer .footer-music-link:before{content:"";position:absolute;left:0;bottom:-.08em;width:100%;height:1px}footer .footer-music-link:after{background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .35s ease}footer .footer-music-link:before{display:none}footer .footer-music-link:focus-visible:after,footer .footer-music-link:hover:after{transform-origin:0 50%;transform:scaleX(1)}footer .footer-music-link:focus-visible,footer .footer-music-link:hover{color:#8f6a16}footer .footer-music-link:focus-visible{outline:none}footer .footer-time{color:var(--ink-muted);justify-content:flex-start}footer .footer-time span{color:var(--ink)}footer .footer-byline p{font-size:.9rem}@media (max-width:1000px){footer{height:100svh}footer .explosion-container{display:none}footer .footer-header-content{width:100%;padding:1.25rem}footer .footer-copyright{display:none!important}footer .footer-author{justify-content:flex-end}footer .footer-byline{padding:1.25rem}}