/* ============ MINA VEGA — NEON ARENA ============
   Design identity: a cyber-pop concert at peak moment.
   Marquee bulbs, chrome type, neon marquee signage (Monoton),
   animated equalizer strips, ticket-stub cards, stage-light beams.
   Pure CSS/SVG. No two character sites share a look; this one is Mina's. */
:root{
  --bg:#060714;
  --bg2:#0a0c22;
  --panel:#0c0f26;
  --card:#10142f;
  --ink:#f4f5ff;
  --muted:#a9b0da;
  --line:#283058;
  --magenta:#ff2bd1;
  --magenta-hot:#ff6fe3;
  --magenta-deep:#a3128f;
  --cyan:#00e5ff;
  --cyan-deep:#0d86ad;
  --violet:#8b5cf6;
  --bulb:#ffd166;
  --chrome1:#f4f8ff;
  --chrome2:#93aed6;
  --chrome3:#dce9ff;
  --focus:#ff2bd1;
  --glow-m:rgba(255,43,209,.55);
  --glow-c:rgba(0,229,255,.45);
  --display:"Orbitron","Arial Black","Segoe UI",system-ui,sans-serif;
  --neon:"Monoton","Orbitron","Arial Black",system-ui,sans-serif;
  --body:"Rajdhani","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  --mono:"SF Mono","Cascadia Code",Consolas,monospace;
}
html[data-theme="light"]{
  --bg:#f5f1fc;
  --bg2:#efe9fb;
  --panel:#ffffff;
  --card:#ffffff;
  --ink:#141633;
  --muted:#4b5070;
  --line:#d8d2ee;
  --magenta:#b30f92;
  --magenta-hot:#d61aad;
  --magenta-deep:#8a0b72;
  --cyan:#0077a3;
  --cyan-deep:#005e82;
  --violet:#6d3fd4;
  --bulb:#ff2bd1;
  --chrome1:#ffffff;
  --chrome2:#9fb6d8;
  --chrome3:#e8efff;
  --focus:#b30f92;
  --glow-m:rgba(179,15,146,.28);
  --glow-c:rgba(0,119,163,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--body);font-weight:500;line-height:1.62;font-size:1.06rem;
}
/* Arena ambience: circuit-trace pattern + stage-light beams from the top,
   crowd glow rising from the bottom. */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='%23ff2bd1' stroke-opacity='0.06' stroke-width='1.5'%3E%3Cpath d='M0 34h46l12 12v44'/%3E%3Cpath d='M140 106h-46l-12-12V50'/%3E%3Cpath d='M58 140v-30l10-10h30'/%3E%3Ccircle cx='58' cy='46' r='4'/%3E%3Ccircle cx='82' cy='94' r='4'/%3E%3C/g%3E%3Cg fill='none' stroke='%2300e5ff' stroke-opacity='0.05' stroke-width='1.5'%3E%3Cpath d='M0 106h30l10-10V60'/%3E%3Ccircle cx='40' cy='96' r='4'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(58rem 26rem at 50% -9rem, rgba(255,43,209,.20), rgba(255,43,209,0) 62%),
    radial-gradient(42rem 20rem at 88% -4rem, rgba(0,229,255,.15), rgba(0,229,255,0) 62%),
    radial-gradient(42rem 20rem at 12% -4rem, rgba(139,92,246,.14), rgba(139,92,246,0) 62%),
    radial-gradient(70rem 30rem at 50% 112%, rgba(255,43,209,.10), rgba(255,43,209,0) 60%);
}
html[data-theme="light"] body::before{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='%23b30f92' stroke-opacity='0.05' stroke-width='1.5'%3E%3Cpath d='M0 34h46l12 12v44'/%3E%3Cpath d='M140 106h-46l-12-12V50'/%3E%3Ccircle cx='58' cy='46' r='4'/%3E%3Ccircle cx='82' cy='94' r='4'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(58rem 26rem at 50% -9rem, rgba(179,15,146,.10), rgba(179,15,146,0) 62%),
    radial-gradient(42rem 20rem at 88% -4rem, rgba(0,119,163,.10), rgba(0,119,163,0) 62%),
    radial-gradient(70rem 30rem at 50% 112%, rgba(179,15,146,.07), rgba(179,15,146,0) 60%);
}
.wrap{max-width:48rem;margin:0 auto;padding:0 1.25rem}

/* ---------- Header: theater marquee ---------- */
header.site{
  position:relative;border-bottom:1px solid var(--line);background:var(--panel);
  box-shadow:0 1px 0 var(--magenta-deep),0 8px 30px rgba(255,43,209,.14);
}
/* Marquee bulb strip along the top of the header. */
header.site::before{
  content:"";display:block;height:1.05rem;
  background-color:color-mix(in srgb, var(--bg) 55%, var(--panel));
  background-image:radial-gradient(circle,#fffbe8 0 26%,var(--bulb) 34%,rgba(255,209,102,0) 62%);
  background-size:1.5rem 1.05rem;background-repeat:repeat-x;background-position:center;
  border-bottom:1px solid var(--line);
}
html[data-theme="light"] header.site::before{
  background-image:radial-gradient(circle,#ffffff 0 26%,var(--bulb) 36%,rgba(255,43,209,0) 64%);
}
.brandbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0 .9rem}
/* Neon-sign brand name with a soft flicker. */
.brand{
  font-family:var(--neon);font-size:2rem;line-height:1;text-decoration:none;color:#fff;
  text-shadow:0 0 .45rem var(--glow-m),0 0 1.4rem var(--glow-m),0 0 3rem rgba(255,43,209,.35);
  animation:neonflicker 7s linear infinite;
}
html[data-theme="light"] .brand{
  color:var(--magenta-deep);
  text-shadow:0 0 .6rem rgba(179,15,146,.25),0 0 1.8rem rgba(179,15,146,.18);
}
@keyframes neonflicker{
  0%,100%{opacity:1}91%{opacity:1}92%{opacity:.55}93%{opacity:1}
  95%{opacity:.8}96%{opacity:1}
}
.brand small{
  display:block;font-family:var(--display);font-size:.68rem;font-weight:700;
  letter-spacing:.42em;text-transform:uppercase;color:var(--cyan);
  margin-top:.45rem;text-shadow:0 0 .8rem var(--glow-c);
}
.themebtn{
  background:none;border:1px solid var(--line);border-radius:.5rem;color:var(--ink);
  padding:.45rem .9rem;cursor:pointer;font-size:.78rem;font-family:var(--display);
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  transition:border-color .2s,color .2s,box-shadow .2s;
}
.themebtn:hover{border-color:var(--magenta);color:var(--magenta);box-shadow:0 0 12px var(--glow-m)}

/* Nav: marquee ticket links. */
nav.main ul{
  list-style:none;margin:0;padding:.6rem 0;display:flex;flex-wrap:wrap;gap:.25rem .3rem;
  border-top:1px solid var(--line);
}
nav.main a{
  display:block;padding:.42rem .68rem;border-radius:.45rem;color:var(--ink);text-decoration:none;
  font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  font-family:var(--display);border:1px solid transparent;
  transition:background .2s,border-color .2s,box-shadow .2s,color .2s;
}
nav.main a:hover{background:rgba(255,43,209,.12);border-color:rgba(255,43,209,.4)}
nav.main a[aria-current="page"]{
  background:linear-gradient(90deg,rgba(255,43,209,.28),rgba(0,229,255,.22));
  border-color:var(--magenta);color:var(--ink);
  box-shadow:inset 0 -2px 0 var(--magenta),0 0 12px var(--glow-m);
}
.skip{position:absolute;left:-9999px;top:0;background:var(--magenta-deep);color:#fff;padding:.6rem 1.1rem;z-index:100;font-weight:700;text-decoration:none;border-radius:0 0 .4rem 0}
.skip:focus{left:0}
a{color:var(--cyan)}
a:hover{color:var(--magenta-hot)}
a:focus-visible,.themebtn:focus-visible,nav.main a:focus-visible,.btn:focus-visible{
  outline:3px solid var(--focus);outline-offset:2px;border-radius:.3rem;
}
main{padding:2.2rem 0 3.2rem}

/* ---------- Headings ---------- */
h1,h2,h3{line-height:1.22;color:var(--ink)}
/* h1: the neon marquee sign. */
h1{
  font-family:var(--neon);font-weight:400;font-size:2.6rem;margin:.4rem 0 .8rem;
  letter-spacing:.02em;color:#fff;
  text-shadow:0 0 .4rem var(--glow-m),0 0 1.2rem var(--glow-m),0 0 2.6rem rgba(255,43,209,.4);
  animation:neonflicker 9s linear infinite;
}
html[data-theme="light"] h1{
  color:var(--magenta-deep);
  text-shadow:0 0 .7rem rgba(179,15,146,.28),0 0 2rem rgba(179,15,146,.16);
}
/* Animated equalizer strip under the page title (decorative, aria-hidden). */
.eqline{display:flex;align-items:flex-end;gap:.32rem;height:2.1rem;margin:0 0 1.4rem;max-width:22rem}
.eqline i{
  flex:1;min-width:.45rem;height:100%;border-radius:.25rem;transform-origin:bottom;
  background:linear-gradient(180deg,var(--magenta),var(--cyan));
  box-shadow:0 0 .5rem var(--glow-m);
  animation:eqbounce 1.15s ease-in-out infinite;
}
.eqline i:nth-child(odd){background:linear-gradient(180deg,var(--cyan),var(--violet));box-shadow:0 0 .5rem var(--glow-c)}
.eqline i:nth-child(2){animation-delay:-.15s}.eqline i:nth-child(3){animation-delay:-.5s}
.eqline i:nth-child(4){animation-delay:-.3s}.eqline i:nth-child(5){animation-delay:-.8s}
.eqline i:nth-child(6){animation-delay:-.1s}.eqline i:nth-child(7){animation-delay:-.65s}
.eqline i:nth-child(8){animation-delay:-.4s}.eqline i:nth-child(9){animation-delay:-.9s}
.eqline i:nth-child(10){animation-delay:-.25s}.eqline i:nth-child(11){animation-delay:-.7s}
.eqline i:nth-child(12){animation-delay:-.55s}.eqline i:nth-child(13){animation-delay:-.05s}
.eqline i:nth-child(14){animation-delay:-.85s}.eqline i:nth-child(15){animation-delay:-.35s}
.eqline i:nth-child(16){animation-delay:-.6s}
@keyframes eqbounce{0%,100%{transform:scaleY(.22)}50%{transform:scaleY(1)}}
/* h2: venue placard with waveform underline. */
h2{
  font-family:var(--display);font-size:1.35rem;font-weight:800;margin:2.4rem 0 .7rem;
  text-transform:uppercase;letter-spacing:.1em;color:var(--ink);
}
h2::after{
  content:"";display:block;height:.85rem;margin-top:.5rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='14' viewBox='0 0 260 14'%3E%3Cg fill='%2300e5ff'%3E%3Crect x='0' y='6' width='7' height='3'/%3E%3Crect x='11' y='4' width='7' height='7'/%3E%3Crect x='22' y='2' width='7' height='11'/%3E%3Crect x='33' y='5' width='7' height='5'/%3E%3Crect x='44' y='1' width='7' height='13'/%3E%3Crect x='55' y='4' width='7' height='7'/%3E%3Crect x='66' y='6' width='7' height='3'/%3E%3Crect x='77' y='3' width='7' height='9'/%3E%3Crect x='88' y='0' width='7' height='14'/%3E%3Crect x='99' y='5' width='7' height='5'/%3E%3Crect x='110' y='2' width='7' height='11'/%3E%3Crect x='121' y='6' width='7' height='3'/%3E%3Crect x='132' y='4' width='7' height='7'/%3E%3Crect x='143' y='1' width='7' height='13'/%3E%3Crect x='154' y='5' width='7' height='5'/%3E%3Crect x='165' y='3' width='7' height='9'/%3E%3Crect x='176' y='6' width='7' height='3'/%3E%3Crect x='187' y='2' width='7' height='11'/%3E%3Crect x='198' y='4' width='7' height='7'/%3E%3Crect x='209' y='0' width='7' height='14'/%3E%3Crect x='220' y='5' width='7' height='5'/%3E%3Crect x='231' y='6' width='7' height='3'/%3E%3C/g%3E%3C/svg%3E") left center/16.25rem .85rem no-repeat,
    linear-gradient(90deg,var(--magenta),var(--cyan)) left bottom/100% .16rem no-repeat;
  opacity:.9;
}
html[data-theme="light"] h2::after{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='14' viewBox='0 0 260 14'%3E%3Cg fill='%230077a3'%3E%3Crect x='0' y='6' width='7' height='3'/%3E%3Crect x='11' y='4' width='7' height='7'/%3E%3Crect x='22' y='2' width='7' height='11'/%3E%3Crect x='33' y='5' width='7' height='5'/%3E%3Crect x='44' y='1' width='7' height='13'/%3E%3Crect x='55' y='4' width='7' height='7'/%3E%3Crect x='66' y='6' width='7' height='3'/%3E%3Crect x='77' y='3' width='7' height='9'/%3E%3Crect x='88' y='0' width='7' height='14'/%3E%3Crect x='99' y='5' width='7' height='5'/%3E%3Crect x='110' y='2' width='7' height='11'/%3E%3Crect x='121' y='6' width='7' height='3'/%3E%3Crect x='132' y='4' width='7' height='7'/%3E%3Crect x='143' y='1' width='7' height='13'/%3E%3Crect x='154' y='5' width='7' height='5'/%3E%3Crect x='165' y='3' width='7' height='9'/%3E%3Crect x='176' y='6' width='7' height='3'/%3E%3Crect x='187' y='2' width='7' height='11'/%3E%3Crect x='198' y='4' width='7' height='7'/%3E%3Crect x='209' y='0' width='7' height='14'/%3E%3Crect x='220' y='5' width='7' height='5'/%3E%3Crect x='231' y='6' width='7' height='3'/%3E%3C/g%3E%3C/svg%3E") left center/16.25rem .85rem no-repeat,
    linear-gradient(90deg,var(--magenta),var(--cyan)) left bottom/100% .16rem no-repeat;
}
h3{font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan)}
.lede{font-size:1.22rem;font-weight:600;color:var(--muted);margin:0 0 1.6rem;max-width:40rem}

/* ---------- Hero: the stage ---------- */
.hero{
  position:relative;margin:1.6rem 0 2rem;padding:0;border-radius:.7rem;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 0 0 1px rgba(255,43,209,.35),0 0 2.5rem var(--glow-m),0 1.2rem 3rem rgba(0,0,0,.45);
}
/* Marquee bulbs along the top edge of the stage frame. */
.hero::before{
  content:"";position:absolute;top:-.95rem;left:1.4rem;right:1.4rem;height:1.05rem;z-index:2;
  background-image:radial-gradient(circle,#fffbe8 0 26%,var(--bulb) 34%,rgba(255,209,102,0) 62%);
  background-size:1.5rem 1.05rem;background-repeat:repeat-x;background-position:center;
  filter:drop-shadow(0 0 .35rem rgba(255,209,102,.8));
}
html[data-theme="light"] .hero::before{
  background-image:radial-gradient(circle,#ffffff 0 26%,var(--bulb) 36%,rgba(255,43,209,0) 64%);
  filter:drop-shadow(0 0 .35rem rgba(255,43,209,.5));
}
.hero img{
  width:100%;height:auto;border-radius:.7rem .7rem 0 0;display:block;background:var(--card);
  /* Stage-light wash over the photo. */
  -webkit-mask-image:linear-gradient(180deg,#000 92%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 92%,transparent 100%);
}
/* Caption as a perforated ticket stub. */
.hero figcaption{
  position:relative;font-size:.86rem;font-weight:600;color:var(--muted);
  padding:.9rem 1.2rem 1rem;margin-top:-.4rem;
  border-top:2px dashed var(--line);
  background:
    radial-gradient(circle at 0 0,var(--bg) .6rem,transparent .62rem),
    radial-gradient(circle at 100% 0,var(--bg) .6rem,transparent .62rem);
  border-radius:0 0 .7rem .7rem;
}

/* ---------- Badges, notes, entries ---------- */
.badge{
  display:inline-block;font-family:var(--display);font-size:.7rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  background:rgba(255,43,209,.14);color:var(--magenta-hot);
  border:1px solid var(--magenta);border-radius:2rem;padding:.3rem .85rem;margin-bottom:.6rem;
  box-shadow:0 0 .9rem var(--glow-m),inset 0 0 .6rem rgba(255,43,209,.12);
  text-shadow:0 0 .5rem var(--glow-m);
}
html[data-theme="light"] .badge{color:var(--magenta-deep);text-shadow:none}
/* Announcement card. */
.note{
  position:relative;border:1px solid var(--line);border-radius:.6rem;
  background:linear-gradient(120deg,rgba(0,229,255,.10),rgba(255,43,209,.06)),var(--card);
  padding:1rem 1.2rem 1rem 1.4rem;margin:1.4rem 0;font-size:.96rem;
  box-shadow:0 .6rem 1.6rem rgba(0,0,0,.25);
}
.note::before{
  content:"";position:absolute;top:0;bottom:0;left:0;width:.4rem;border-radius:.6rem 0 0 .6rem;
  background:linear-gradient(180deg,var(--cyan),var(--magenta));
  box-shadow:0 0 .8rem var(--glow-c);
}
/* Ticket-stub content blocks. */
.entry{
  position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:.6rem;padding:1.3rem 1.5rem;margin:1.4rem 0;overflow:hidden;
  box-shadow:0 .7rem 1.8rem rgba(0,0,0,.28);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.entry::before{
  content:"";position:absolute;top:0;left:0;right:0;height:.32rem;
  background:linear-gradient(90deg,var(--magenta),var(--violet),var(--cyan));
  box-shadow:0 0 1rem var(--glow-m);
}
.entry::after{
  content:"";position:absolute;top:.32rem;bottom:0;left:0;width:0;
  border-left:2px dashed transparent;
}
.entry:hover{transform:translateY(-3px);border-color:var(--magenta);box-shadow:0 1rem 2.2rem rgba(0,0,0,.35),0 0 1.6rem var(--glow-m)}
.entry h3{margin:.1rem 0 .5rem}
.entry.cy::before{background:linear-gradient(90deg,var(--cyan),var(--violet),var(--magenta));box-shadow:0 0 1rem var(--glow-c)}
.entry.cy:hover{border-color:var(--cyan);box-shadow:0 1rem 2.2rem rgba(0,0,0,.35),0 0 1.6rem var(--glow-c)}
.entry ol,.entry ul{padding-left:1.4rem}
.entry li{margin:.3rem 0}

/* ---------- Pull quotes ---------- */
blockquote{
  position:relative;margin:1.6rem 0;padding:1.4rem 1.4rem 1.2rem 3.6rem;
  background:linear-gradient(120deg,rgba(255,43,209,.10),rgba(0,229,255,.05)),var(--card);
  border:1px solid var(--line);border-radius:.6rem;
  box-shadow:inset 0 0 2.5rem rgba(255,43,209,.07),0 .6rem 1.6rem rgba(0,0,0,.25);
  font-style:italic;font-size:1.08rem;
}
blockquote::before{
  content:"\201C";position:absolute;top:.2rem;left:1rem;
  font-family:var(--neon);font-size:3.4rem;line-height:1;color:var(--magenta);
  text-shadow:0 0 1rem var(--glow-m);
}
blockquote::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:.32rem;border-radius:.6rem 0 0 .6rem;
  background:linear-gradient(180deg,var(--magenta),var(--cyan));
  box-shadow:0 0 .8rem var(--glow-m);
}
blockquote .who{display:block;margin-top:.7rem;font-style:normal;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}

/* ---------- Tables: the setlist ---------- */
table{border-collapse:separate;border-spacing:0;width:100%;margin:1.4rem 0;font-size:.95rem;border:1px solid var(--line);border-radius:.6rem;overflow:hidden;box-shadow:0 .7rem 1.8rem rgba(0,0,0,.28)}
th,td{padding:.65rem .85rem;text-align:left;vertical-align:top}
th{
  background:linear-gradient(90deg,var(--magenta-deep),var(--violet));color:#fff;
  font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;
  border-bottom:2px solid var(--magenta);
}
td{border-bottom:1px solid var(--line)}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even) td{background:rgba(255,43,209,.045)}
tbody tr:hover td{background:rgba(0,229,255,.07)}
td:first-child{font-weight:700}

/* ---------- Cards, buttons ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.1rem;margin:1.5rem 0}
.card{
  position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:.6rem;padding:1.2rem 1.3rem;overflow:hidden;
  box-shadow:0 .7rem 1.8rem rgba(0,0,0,.28);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:.28rem;
  background:linear-gradient(90deg,var(--cyan),var(--magenta));
  box-shadow:0 0 .8rem var(--glow-m);
}
.card:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 1.1rem 2.4rem rgba(0,0,0,.4),0 0 1.4rem var(--glow-c)}
.card h3{margin:.3rem 0 .45rem}
.card p{margin:.45rem 0}
.card a{font-weight:700}
.btn{
  display:inline-block;margin:.4rem .6rem .4rem 0;padding:.7rem 1.4rem;border-radius:2rem;
  background:linear-gradient(100deg,#c40e96,var(--magenta-deep));color:#fff;text-decoration:none;
  font-family:var(--display);font-weight:800;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--magenta-hot);
  box-shadow:0 0 1.2rem var(--glow-m),inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.btn:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 0 1.8rem var(--glow-m),inset 0 1px 0 rgba(255,255,255,.25);color:#fff}
.btn.ghost{
  background:rgba(0,229,255,.06);border:1px solid var(--cyan);color:var(--cyan);box-shadow:0 0 .9rem var(--glow-c);
}
.btn.ghost:hover{background:rgba(0,229,255,.14);color:var(--cyan);box-shadow:0 0 1.5rem var(--glow-c)}

/* ---------- Footer: the arena floor ---------- */
footer.site{
  position:relative;border-top:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel),var(--bg2));
  padding:1.8rem 0 2.8rem;font-size:.9rem;color:var(--muted);
  box-shadow:0 -1px 0 var(--magenta-deep),0 -8px 30px rgba(255,43,209,.10);
}
footer.site::before{
  content:"";position:absolute;top:-1.05rem;left:0;right:0;height:1.05rem;
  background-image:radial-gradient(circle,#fffbe8 0 26%,var(--bulb) 34%,rgba(255,209,102,0) 62%);
  background-size:1.5rem 1.05rem;background-repeat:repeat-x;background-position:center;
  filter:drop-shadow(0 0 .35rem rgba(255,209,102,.8));
}
html[data-theme="light"] footer.site::before{
  background-image:radial-gradient(circle,#ffffff 0 26%,var(--bulb) 36%,rgba(255,43,209,0) 64%);
  filter:drop-shadow(0 0 .35rem rgba(255,43,209,.5));
}
footer.site nav ul{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .8rem}
footer.site a{color:var(--muted);text-decoration:none}
footer.site a:hover{color:var(--magenta-hot)}
.footgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1.2rem;margin-bottom:1.2rem}
.footgrid h4{
  font-family:var(--display);font-size:.82rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);margin:.2rem 0 .7rem;
  text-shadow:0 0 .7rem var(--glow-c);
}
.footgrid ul{list-style:none;margin:0;padding:0}
.footgrid li{margin:.32rem 0}
.fineprint{font-size:.84rem;color:var(--muted)}

/* ---------- Timeline: the light-beam setlist ---------- */
.timeline-event{
  position:relative;border-left:3px solid var(--line);
  padding:.4rem 0 .4rem 1.6rem;margin:1.5rem 0 1.5rem .4rem;
}
.timeline-event::before{
  content:"";position:absolute;top:.55rem;left:-.62rem;width:1rem;height:1rem;border-radius:50%;
  background:radial-gradient(circle,#fff 0 22%,var(--magenta) 45%,rgba(255,43,209,0) 72%);
  box-shadow:0 0 .9rem var(--glow-m);
}
.timeline-event::after{
  content:"";position:absolute;top:1.6rem;bottom:-1.6rem;left:-2px;width:1px;
  background:linear-gradient(180deg,var(--magenta),transparent);
  opacity:.5;
}
.timeline-event:last-of-type::after{display:none}
.timeline-event .t{
  display:inline-block;font-family:var(--display);font-weight:800;color:var(--cyan);
  font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.4);border-radius:2rem;
  padding:.22rem .8rem;margin-bottom:.4rem;
  box-shadow:0 0 .7rem var(--glow-c);
}

/* ---------- Stream page chrome (stream.html untouched) ---------- */
.player-wrap{margin:1.5rem 0;border:1px solid var(--line);border-radius:.6rem;overflow:hidden;background:var(--card);box-shadow:0 0 1.6rem var(--glow-m)}
.player-wrap iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.mockup-badge{padding:1.1rem 1rem .3rem;text-align:center}
.not-connected{padding:2.2rem 1.5rem;text-align:center}
code{font-family:var(--mono);background:rgba(0,229,255,.1);padding:.12rem .4rem;border-radius:.3rem;font-size:.9em}
pre{font-family:var(--mono);background:var(--card);border:1px solid var(--line);border-radius:.5rem;padding:1rem;overflow:auto}

/* ---------- Marquee strip: scrolling neon ---------- */
.marquee{
  overflow:hidden;border:1px solid var(--line);border-radius:.6rem;margin:1.6rem 0;
  background:linear-gradient(90deg,rgba(255,43,209,.12),rgba(0,229,255,.10));
  box-shadow:inset 0 0 1.5rem rgba(255,43,209,.08),0 0 1.2rem var(--glow-m);
}
.marquee .track{
  display:flex;gap:1.8rem;white-space:nowrap;padding:.8rem 1.2rem;
  font-family:var(--neon);font-weight:400;letter-spacing:.12em;font-size:1.05rem;
  animation:scrollx 24s linear infinite;color:var(--cyan);
  text-shadow:0 0 .7rem var(--glow-c);
}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Social pack: download cards ---------- */
.social-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.3rem;margin:1.6rem 0}
.social-card{
  background:var(--card);border:1px solid var(--line);border-radius:.6rem;overflow:hidden;
  box-shadow:0 .7rem 1.8rem rgba(0,0,0,.28);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.social-card:hover{transform:translateY(-4px);border-color:var(--magenta);box-shadow:0 1.1rem 2.4rem rgba(0,0,0,.4),0 0 1.4rem var(--glow-m)}
.social-card img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover}
.social-card .meta{padding:1rem 1.1rem;border-top:1px solid var(--line)}
.social-card .meta p{margin:.35rem 0;font-size:.9rem;color:var(--muted)}
.social-card .btn{margin:.7rem 0 .2rem}

/* ---------- Gallery: backstage-pass frames ---------- */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem;margin:1.6rem 0}
.gal figure{
  margin:0;background:var(--panel);border:1px solid var(--line);border-radius:.6rem;overflow:hidden;
  box-shadow:0 .7rem 1.8rem rgba(0,0,0,.3);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.gal figure:hover{transform:translateY(-4px) rotate(-.4deg);border-color:var(--cyan);box-shadow:0 1.1rem 2.4rem rgba(0,0,0,.42),0 0 1.4rem var(--glow-c)}
.gal img{width:100%;height:auto;display:block;transition:transform .35s}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{
  padding:.8rem 1.1rem;font-size:.86rem;font-weight:600;color:var(--muted);
  border-top:1px solid var(--line);
  background:linear-gradient(90deg,rgba(255,43,209,.08),transparent);
}
.hero-wide .hero img{aspect-ratio:16/7;object-fit:cover}

/* ---------- Responsive ---------- */
@media (max-width:40rem){
  .wrap{padding:0 1rem}
  h1{font-size:1.75rem}
  .eqline{height:1.6rem;max-width:100%}
  .brand{font-size:1.45rem}
  .brand small{font-size:.6rem;letter-spacing:.3em}
  .brandbar{flex-wrap:wrap}
  nav.main a{font-size:.74rem;padding:.36rem .55rem}
  .marquee .track{font-size:.9rem}
  .hero::before{left:.9rem;right:.9rem}
  blockquote{padding:1.2rem 1rem 1rem 3rem;font-size:1rem}
  blockquote::before{font-size:2.6rem;left:.7rem}
  table{font-size:.87rem}
  th,td{padding:.5rem .6rem}
  .entry{padding:1.1rem 1.15rem}
  .footgrid{grid-template-columns:1fr 1fr}
}
