@font-face{font-family:'Fixel Text';src:url('/fonts/body.2c75d22d1ebe.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fixel Text';src:url('/fonts/body-semibold.d7282278a8ff.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{color-scheme:dark;font-family:'Fixel Text',Arial,sans-serif;background:#000;color:#efc69c}
*{box-sizing:border-box}
body{margin:0;min-width:280px}
main{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px 52px;overflow:hidden}
.artwork{--art-width:clamp(680px,80vw,1000px);position:relative;flex:none;width:100%;height:calc(var(--art-width) * .4);overflow:hidden;margin:0 0 26px;isolation:isolate}
.artwork img{position:absolute;top:0;left:50%;transform:translateX(-50%);width:var(--art-width);max-width:none;height:auto;mask-image:linear-gradient(to bottom,#000 66.8%,transparent 71%)}
/* The original image is unchanged at rest. Only this separate light layer fades in. */
.lamp-hover{pointer-events:none;position:absolute;z-index:1;top:calc(var(--art-width) * .045);left:50%;transform:translate3d(-50%,0,0);width:calc(var(--art-width) * .2);height:calc(var(--art-width) * .355);mix-blend-mode:screen;opacity:0;transition:opacity .4s ease;will-change:opacity}
/* Keep one compositing group through the fade and the held state. Leaving its
   peak just below 1 avoids an opaque-layer optimization at the end in WebKit. */
.lamp-hover::before,.lamp-hover::after{content:"";position:absolute;pointer-events:none}
.lamp-hover::before{opacity:.6}
.lamp-hover::after{opacity:.4}
.lamp-hover::before{left:50%;top:calc(var(--art-width) * .208);width:calc(var(--art-width) * .24);height:calc(var(--art-width) * .2);transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffbd6270 0%,#ff8a2540 20%,#ff600012 48%,transparent 72%);filter:blur(7px)}
.lamp-hover::after{top:calc(var(--art-width) * -.045);left:50%;transform:translateX(-50%);width:var(--art-width);height:calc(var(--art-width) * .4);background:url('/assets/vacuum-tube.png') center top / var(--art-width) auto no-repeat;filter:brightness(3) saturate(1.3) blur(2px);mask-image:radial-gradient(ellipse calc(var(--art-width) * .055) calc(var(--art-width) * .04) at 50% calc(var(--art-width) * .253),#000 15%,transparent 80%)}
@media(hover:hover) and (pointer:fine){
  .lamp-hover[data-glow-active]{opacity:.999}
}
@media(prefers-reduced-motion:no-preference){
  .lamp-hover[data-flickering]{animation:voltage-flicker .72s linear;transition:none}
}
@keyframes voltage-flicker{0%,8%,30%,60%,100%{opacity:0}18%{opacity:.999}42%{opacity:.667}}
h1{margin:0;padding-left:.2em;font-size:clamp(25px,3.1vw,40px);font-weight:600;line-height:1.4;letter-spacing:.2em}
.latin-name{margin:10px 0 30px;padding-left:.42em;color:#a88564;font-size:12px;line-height:1.7;letter-spacing:.42em}
main>.latin-name{margin-bottom:12px}
.genre-tagline{font:400 12px/1.8 'Fixel Text',Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#c59e7b;margin:18px 0 0;text-align:center}
.genre-tagline span{display:inline-block;padding-bottom:7px;border-bottom:1px solid #75351f}
main>.genre-tagline{margin:0 0 25px;text-transform:none}
nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;max-width:640px}
nav a{min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:10px 8px;color:#d4b18d;font-size:14px;line-height:1.5;text-decoration:none;transition:color .2s}
nav a:hover{color:#ffe0bf}
nav a:focus-visible{outline:2px solid #efc69c;outline-offset:5px;border-radius:3px}
nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4}
nav svg path{fill:currentColor;stroke:none}
.arrow{margin-left:2px;color:#a88564}
@media(max-width:480px){main{padding:24px 16px 36px}.artwork{margin-bottom:28px}h1{font-size:clamp(23px,6.5vw,29px);letter-spacing:.15em;padding-left:.15em}.latin-name{margin-bottom:26px}}
@media(max-height:620px) and (min-width:600px){main{padding-block:20px}.artwork{--art-width:680px;margin-bottom:12px}h1{font-size:28px}.latin-name{margin:5px 0 12px}}
@media(prefers-reduced-motion:reduce){nav a,.lamp-hover{transition:none}}
