.section-title{font-family:var(--font-pixel);color:var(--section-title-color,var(--color-red));text-shadow:2px 2px 0 var(--color-ink);text-align:center;letter-spacing:.1em;justify-content:center;align-items:center;gap:1rem;margin-bottom:2.5rem;font-size:clamp(.6rem,2vw,1rem);font-weight:400;line-height:1.2;display:flex}.section-title__line{background:repeating-linear-gradient(90deg, var(--color-ink) 0, var(--color-ink) 8px, transparent 8px, transparent 16px);flex:1;height:3px}.music{padding:var(--section-padding);max-width:var(--max-width);margin:0 auto}.music__trigger-wrap{justify-content:center;margin-bottom:1.5rem;display:flex}.music__trigger{font-family:var(--font-pixel);border:3px solid var(--color-ink);cursor:pointer;box-shadow:4px 4px 0 var(--color-ink);letter-spacing:.06em;transition:transform var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:.8rem;padding:14px 32px;font-size:.6rem;display:flex}.music__trigger--closed{background:var(--color-red);color:var(--color-cream)}.music__trigger--open{background:var(--color-yellow);color:var(--color-ink)}.music__trigger:hover{box-shadow:6px 6px 0 var(--color-ink);transform:translate(-2px,-2px)}.music__trigger-icon{font-size:1.2rem}.music__trigger-arrow{transition:transform var(--transition-normal);font-size:.8rem;display:inline-block}.music__trigger-arrow--open{transform:rotate(90deg)}.music__embed-wrap{justify-content:center;margin-bottom:2rem;display:flex}.music__embed{border:0;width:400px;height:120px}.music__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem;animation:.18s fadeIn;display:grid}.music__link{border:3px solid var(--color-ink);background:linear-gradient(var(--link-bg), var(--link-bg)), var(--color-cream);transition:transform var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:1rem;padding:1.2rem 1.4rem;text-decoration:none;display:flex;box-shadow:4px 4px #0f0d0c59}.music__link:hover{box-shadow:7px 7px 0 var(--color-ink);transform:translate(-3px,-3px)}.music__link-icon{color:var(--link-color);flex-shrink:0;font-size:1.7rem}.music__link-name{font-family:var(--font-pixel);color:var(--link-color);margin-bottom:.3rem;font-size:.48rem}.music__link-label{font-family:var(--font-vt323);color:var(--color-ink);font-size:1.3rem}@media (width>=769px){.music__embed-wrap{border:3px solid var(--color-ink);width:fit-content;box-shadow:6px 6px 0 var(--color-ink);background:var(--color-cream);margin:0 auto 2rem;padding:.85rem}.music__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;margin:0 auto}}.shows{background:var(--color-sky-shade);border-top:4px solid var(--color-ink);border-bottom:4px solid var(--color-ink)}.shows__inner{padding:var(--section-padding);max-width:var(--max-width);margin:0 auto}.shows__tba{font-family:var(--font-vt323);color:var(--color-red-dark);text-align:center;letter-spacing:.05em;padding:2rem 0;font-size:2.2rem}.shows__list{flex-direction:column;gap:.9rem;display:flex}.shows__empty{border:3px solid var(--color-ink);background:var(--color-cream);box-shadow:5px 5px 0 var(--color-ink);text-align:center;margin-bottom:2.5rem;padding:1.4rem 1.8rem}.shows__empty-title{font-family:var(--font-pixel);color:var(--color-red);margin-bottom:.9rem;font-size:.7rem}.shows__empty-copy{font-family:var(--font-vt323);color:var(--color-ink);font-size:1.5rem;line-height:1.15}.shows__empty-copy a{color:var(--color-red)}.show-card{border:3px solid var(--color-ink);background:var(--color-cream);transition:transform var(--transition-fast), box-shadow var(--transition-fast);cursor:default;grid-template-columns:76px 1fr;align-items:center;gap:1.25rem;padding:1.4rem 1.8rem;display:grid;box-shadow:5px 5px #0f0d0c59}.show-card--featured{border-color:var(--color-ink);background:var(--color-yellow)}.show-card:hover{box-shadow:7px 7px 0 var(--color-ink);transform:translate(-2px,-2px)}.show-card__date{text-align:center}.show-card__meta{font-family:var(--font-pixel);color:var(--color-ink-soft);margin-bottom:.45rem;font-size:.45rem}.show-card__month{font-family:var(--font-pixel);color:var(--color-red);margin-bottom:.25rem;font-size:.55rem;display:block}.show-card__day{font-family:var(--font-pixel);color:var(--color-ink);font-size:1.2rem;display:block}.show-card__venue{font-family:var(--font-vt323);color:var(--color-ink);font-size:2.2rem;line-height:1.1;display:block}.show-card__details{font-family:var(--font-vt323);color:var(--color-ink-soft);margin-top:.2rem;font-size:1.5rem;display:block}.show-card__links{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.show-card__link{font-family:var(--font-pixel);color:var(--color-ink);border:2px solid var(--color-ink);background:var(--color-sky-light);padding:.55rem .7rem;font-size:.45rem;text-decoration:none}.show-card__link:hover,.show-card__link:focus-visible{color:var(--color-cream);background:var(--color-red);border-color:var(--color-ink);outline:2px solid var(--color-ink);outline-offset:2px}@media (width<=768px){.show-card{grid-template-columns:62px 1fr;gap:.9rem;padding:1.1rem 1rem}.shows__empty-title{font-size:.6rem}.shows__empty-copy{font-size:1.15rem}.show-card__venue{font-size:1.35rem}.show-card__details{font-size:1.05rem}.show-card__meta,.show-card__link{font-size:.4rem}}.band{padding:var(--section-padding);max-width:var(--max-width);margin:0 auto}.band__grid{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.8rem;display:grid}.band-card{border:3px solid var(--color-ink);background:var(--color-cream);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);flex-direction:column;align-items:center;gap:.9rem;padding:2rem;display:flex;box-shadow:5px 5px #0f0d0c59}.band-card:hover{box-shadow:8px 8px 0 var(--color-ink);border-color:var(--color-ink);transform:translate(-3px,-3px)}.band-card__name{font-family:var(--font-pixel);color:var(--color-red);text-align:center;font-size:.5rem}.band-card__role{font-family:var(--font-vt323);color:var(--color-ink);text-align:center;font-size:1.35rem}.band-card__bio{font-family:var(--font-vt323);color:var(--color-ink-soft);text-align:center;font-size:1.15rem;line-height:1.4}.band-card__pizza{font-family:var(--font-pixel);color:var(--color-ramp-dark);text-align:center;font-size:.42rem}.game-section{background:var(--color-ramp);border-top:4px solid var(--color-ink);border-bottom:4px solid var(--color-ink)}.game-section .section-title{--section-title-color:var(--color-cream)}.game-section__inner{max-width:820px;margin:0 auto;padding:4rem 1rem}@media (width<=768px){.game-section{border-top:none}.game-section__inner{padding:1rem .75rem 1.5rem}}.game-section__description{font-family:var(--font-vt323);color:var(--color-ink);text-align:center;margin-bottom:2rem;font-size:1.25rem;line-height:1.5}.game-section__description strong{color:var(--color-cream);text-shadow:1px 1px 0 var(--color-ink)}.game-section__description strong.danger{color:var(--color-red);text-shadow:1px 1px 0 var(--color-ink)}.m-hub{background-image:radial-gradient(circle at 100% 0%, transparent 0 110px, var(--color-ramp) 110px), radial-gradient(circle at 0% 0%, transparent 0 110px, var(--color-ramp) 110px), linear-gradient(var(--color-concrete), var(--color-concrete)), linear-gradient(180deg, var(--color-sky-light) 0%, var(--color-sky) 58%, var(--color-sky-shade) 100%);overscroll-behavior:none;background-position:left bottom 46px,right bottom 46px,0 100%,50%;background-repeat:no-repeat;background-size:110px 110px,110px 110px,100% 46px,100% 100%;flex-direction:column;align-items:stretch;height:100dvh;min-height:-webkit-fill-available;display:flex;position:relative;overflow:hidden}.m-hub-grid{pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 39px,#f7f4ec38 40px),repeating-linear-gradient(90deg,#0000,#0000 39px,#f7f4ec38 40px);background-size:40px 40px;position:absolute;inset:0}.m-hub-top{z-index:1;flex-direction:column;flex-shrink:0;align-items:center;padding:1.3rem 1.5rem .32rem;display:flex;position:relative}.m-hub-logo{filter:drop-shadow(5px 5px #0f0d0c47);margin-bottom:.65rem;animation:4s ease-in-out infinite float}.m-hub-title{font-family:var(--font-pixel);color:var(--color-cream);-webkit-text-stroke:1.5px var(--color-ink);letter-spacing:.06em;text-align:center;margin-bottom:.3rem;font-size:clamp(1rem,5.5vw,1.5rem);animation:2.5s ease-in-out infinite glow-sm}.m-hub-subtitle{font-family:var(--font-vt323);color:var(--color-red-dark);letter-spacing:.08em;text-align:center;margin-bottom:.35rem;font-size:clamp(1.05rem,5vw,1.35rem)}.m-hub-description{font-family:var(--font-vt323);color:var(--color-ink);text-align:center;max-width:22rem;margin-bottom:.6rem;font-size:1.05rem;line-height:1.05}.m-hub-chars{justify-content:center;align-items:flex-end;gap:clamp(1.25rem,7vw,2.5rem);margin-top:.65rem;display:flex}.m-hub-char{flex-direction:column;align-items:center;gap:.3rem;display:flex}.m-hub-char-name{font-family:var(--font-vt323);color:var(--color-ink);letter-spacing:.1em;font-size:.85rem}.m-hub-bandcamp{z-index:1;height:calc(var(--bandcamp-visible-height,120px) + 12px);justify-content:center;margin:.55rem 0 .82rem;padding:0 1rem;display:flex;position:relative}.m-hub-bandcamp-frame{width:calc(var(--bandcamp-visible-width,400px) + 8px);height:calc(var(--bandcamp-visible-height,120px) + 12px);border:3px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-ink);background:var(--color-cream);justify-content:center;align-items:center;display:flex;overflow:hidden}.m-hub-bandcamp-shell{width:var(--bandcamp-visible-width,400px);height:var(--bandcamp-visible-height,120px);flex-shrink:0;position:relative;overflow:hidden}.m-hub-bandcamp-embed{width:400px;height:120px;transform:scale(var(--bandcamp-scale,1));transform-origin:0 0;border:0;display:block;position:absolute;top:0;left:0}.m-hub-nav{z-index:1;flex-direction:column;flex:1;justify-content:flex-start;gap:.5rem;padding:.7rem 1.5rem .45rem;display:flex;position:relative}.m-hub-nav-btn{background:var(--color-cream);border:3px solid var(--color-ink);width:100%;box-shadow:3px 3px 0 var(--color-ink);cursor:pointer;color:var(--color-ink);font-family:var(--font-pixel);letter-spacing:.08em;text-align:left;transition:background var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;padding:.72rem 1rem;font-size:.6rem;display:flex}.m-hub-nav-btn:active{background:var(--color-yellow);transform:scale(.98)}.m-hub-nav-icon{color:var(--color-red);flex-shrink:0;margin-right:.65rem;font-size:.75rem}.m-hub-nav-label{flex:1}.m-hub-nav-btn:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid var(--color-ink);opacity:.65;flex-shrink:0;width:0;height:0;margin-left:auto;display:block}.m-hub-footer{z-index:1;flex-direction:column;flex-shrink:0;align-items:center;gap:.4rem;padding:.5rem 1.5rem 1rem;display:flex;position:relative}.m-hub-social{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.m-hub-social-link{font-family:var(--font-pixel);color:var(--color-ink);border:2px solid var(--color-ink);background:var(--color-cream);transition:color var(--transition-fast), border-color var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:2px;padding:.3rem .45rem;font-size:.38rem;text-decoration:none}.m-hub-social-link:active,.m-hub-social-link:focus-visible{color:var(--color-cream);background:var(--color-red);border-color:var(--color-ink);outline:none}.m-hub-copy{font-family:var(--font-pixel);color:var(--color-ink-soft);text-align:center;letter-spacing:.05em;font-size:.28rem}.m-hub-contact{font-family:var(--font-vt323);color:var(--color-red-dark);font-size:.95rem;text-decoration:none}.m-hub-credit{font-family:var(--font-pixel);color:var(--color-ink-soft);text-align:center;letter-spacing:.05em;margin-top:.2rem;font-size:.28rem}.m-hub-credit-link{color:var(--color-red-dark);text-decoration:none}.m-hub-credit-link:active,.m-hub-credit-link:focus-visible{color:var(--color-red);outline:none}.m-page{background:linear-gradient(180deg, var(--color-sky-light) 0%, var(--color-sky) 58%, var(--color-sky-shade) 100%);overscroll-behavior:none;flex-direction:column;height:100dvh;min-height:-webkit-fill-available;display:flex;position:relative;overflow:hidden}.m-page:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 39px,#f7f4ec38 40px),repeating-linear-gradient(90deg,#0000,#0000 39px,#f7f4ec38 40px);background-size:40px 40px;position:absolute;inset:0}.m-page-header{background:var(--color-red);border-bottom:4px solid var(--color-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;flex-shrink:0;align-items:center;padding:.75rem 1.25rem;display:flex;position:relative}.m-back-btn{border:2px solid var(--color-cream);color:var(--color-cream);font-family:var(--font-pixel);cursor:pointer;letter-spacing:.07em;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border-radius:3px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.55rem;display:flex}.m-back-btn:before{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-right:7px solid var(--color-cream);flex-shrink:0;width:0;height:0;display:block}.m-back-btn:active{background:var(--color-red-dark)}.m-page-body{-webkit-overflow-scrolling:touch;z-index:1;background:0 0;flex:1;position:relative;overflow-y:auto}.nav{z-index:500;background:var(--color-red);border-bottom:4px solid var(--color-ink);position:sticky;top:0}.nav__container{max-width:var(--max-width);justify-content:space-between;align-items:center;height:60px;margin:0 auto;padding:0 1.5rem;display:flex}.nav__logo{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav__logo:focus-visible,.nav__link:focus-visible{outline:2px solid var(--color-cream);outline-offset:4px}.nav__links{flex-wrap:wrap;justify-content:flex-end;gap:.1rem;display:flex}.nav__link{color:var(--color-cream);font-family:var(--font-pixel);letter-spacing:.07em;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:.5rem .75rem;font-size:.65rem}.nav__link:hover{color:var(--color-yellow)}.nav__link-mobile{display:none}@media (width<=640px){.nav__container{gap:.75rem;height:auto;min-height:60px;padding-block:.5rem}.nav__link{padding:.45rem .5rem;font-size:.55rem}.nav__link-desktop{display:none}.nav__link-mobile{display:inline}}.footer{background:var(--color-red);border-top:4px solid var(--color-ink);text-align:center;padding:3rem 2rem}.footer__logo{filter:drop-shadow(4px 4px #0f0d0c4d);margin-bottom:1.5rem}.footer__social{flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:2rem;display:flex}.footer__copyright{font-family:var(--font-pixel);color:#f7f4ecb8;letter-spacing:.08em;font-size:.35rem}.footer__tagline{font-family:var(--font-vt323);color:#f7f4ecb8;margin-top:.4rem;font-size:1rem}.footer__credit{font-family:var(--font-vt323);color:#f7f4ecb8;margin-top:1rem;font-size:.85rem}.footer__credit-link{color:var(--color-cream);transition:color var(--transition-normal);text-decoration:none}.footer__credit-link:hover{color:var(--color-yellow);text-decoration:underline}.social-icon{color:var(--color-cream);transition:color var(--transition-normal);flex-direction:column;align-items:center;gap:6px;text-decoration:none;display:flex}.social-icon:hover{color:var(--color-yellow)}.social-icon__label{font-family:var(--font-vt323);letter-spacing:.05em;font-size:.85rem}.hero{border-bottom:4px solid var(--color-ink);background-image:radial-gradient(circle at 100% 0%, transparent 0 170px, var(--color-ramp) 170px), radial-gradient(circle at 0% 0%, transparent 0 170px, var(--color-ramp) 170px), linear-gradient(var(--color-concrete), var(--color-concrete)), linear-gradient(180deg, var(--color-sky-light) 0%, var(--color-sky) 58%, var(--color-sky-shade) 100%);background-position:left bottom 72px,right bottom 72px,0 100%,50%;background-repeat:no-repeat;background-size:170px 170px,170px 170px,100% 72px,100% 100%;flex-direction:column;justify-content:center;align-items:center;min-height:90vh;padding:4rem 2rem;display:flex;position:relative;overflow:hidden}.hero__grid{pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 39px,#f7f4ec38 40px),repeating-linear-gradient(90deg,#0000,#0000 39px,#f7f4ec38 40px);background-size:40px 40px;position:absolute;inset:0}.hero__logo{filter:drop-shadow(6px 6px #0f0d0c47);margin-bottom:2rem;animation:4s ease-in-out infinite float}.hero__title{font-family:var(--font-pixel);color:var(--color-cream);-webkit-text-stroke:2px var(--color-ink);letter-spacing:.08em;text-align:center;margin-bottom:.8rem;font-size:clamp(1.4rem,5vw,3.2rem);animation:2.5s ease-in-out infinite glow}.hero__subtitle{font-family:var(--font-vt323);color:var(--color-red-dark);letter-spacing:.1em;text-align:center;margin-bottom:.9rem;font-size:clamp(1.2rem,3vw,2rem)}.hero__description{font-family:var(--font-vt323);color:var(--color-ink);text-align:center;max-width:760px;margin-bottom:1.4rem;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.1}.hero__actions{flex-wrap:wrap;justify-content:center;gap:.9rem;margin-bottom:2.6rem;display:flex}.hero__action{border:3px solid var(--color-ink);color:var(--color-ink);font-family:var(--font-pixel);background:var(--color-cream);box-shadow:4px 4px 0 var(--color-ink);transition:transform var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), background var(--transition-fast);padding:.95rem 1.15rem;font-size:.55rem;text-decoration:none}.hero__action--primary{background:var(--color-red);color:var(--color-cream)}.hero__action:hover,.hero__action:focus-visible{background:var(--color-yellow);color:var(--color-ink);box-shadow:6px 6px 0 var(--color-ink);transform:translate(-2px,-2px)}.hero__action:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.hero__characters{justify-content:center;align-items:flex-end;gap:clamp(2rem,6vw,5rem);margin-bottom:2.5rem;display:flex}.hero__character{flex-direction:column;align-items:center;gap:.6rem;display:flex}.hero__character-name{font-family:var(--font-vt323);color:var(--color-ink);letter-spacing:.1em;text-align:center;font-size:.95rem}.hero__scroll-hint{font-family:var(--font-pixel);color:var(--color-red);text-shadow:2px 2px 0 var(--color-ink);letter-spacing:.1em;font-size:.5rem;animation:1s step-end infinite blink}@media (width<=768px){.hero{background-position:left bottom 52px,right bottom 52px,0 100%,50%;background-size:110px 110px,110px 110px,100% 52px,100% 100%}.hero__description{font-size:1.2rem}.hero__actions{gap:.6rem}}:root{--color-sky:#7ac6f2;--color-sky-light:#a6ddf9;--color-sky-deep:#4a9fd6;--color-sky-shade:#64b4e4;--color-red:#d1241f;--color-red-light:#ee4b3f;--color-red-dark:#971410;--color-ramp:#d3922f;--color-ramp-dark:#a46a18;--color-concrete:#b3adbe;--color-yellow:#e9c118;--color-grass:#1d7c2d;--color-cream:#f7f4ec;--color-ink:#0f0d0c;--color-ink-soft:#3b342e;--font-pixel:"Press Start 2P", cursive;--font-vt323:"VT323", monospace;--font-bebas:"Bebas Neue", sans-serif;--max-width:1100px;--section-padding:5rem 2rem;--transition-fast:80ms;--transition-normal:.15s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-sky);color:var(--color-ink);font-family:var(--font-bebas);overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:9000;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#0f0d0c0d 3px 4px);position:fixed;inset:0}#root,.app{min-height:100dvh}@media (width<=768px){body{background:var(--color-sky-light)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{text-shadow:4px 4px 0 var(--color-ink), 8px 8px 0 var(--color-red-dark)}50%{text-shadow:4px 4px 0 var(--color-ink), 8px 8px 0 var(--color-red), 0 0 18px #e9c1188c}}@keyframes glow-sm{0%,to{text-shadow:2px 2px 0 var(--color-ink), 4px 4px 0 var(--color-red-dark)}50%{text-shadow:2px 2px 0 var(--color-ink), 4px 4px 0 var(--color-red), 0 0 12px #e9c1188c}}@keyframes blink{50%{opacity:0}}@keyframes float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-12px)rotate(1deg)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
