/* Fang Den year-round concert stage + seasonal styling */
.fang-showcase{--fx-a:#a86aff;--fx-b:#ffc66a;--fx-c:#473092;position:relative;isolation:isolate;overflow:hidden;min-height:650px;margin:28px 0 18px;border:1px solid rgba(244,188,113,.43);border-radius:28px;background:radial-gradient(ellipse at 50% 10%,rgba(115,70,182,.44),transparent 46%),radial-gradient(ellipse at 90% 32%,rgba(84,27,155,.3),transparent 42%),linear-gradient(180deg,#160e30,#070b1a 70%,#13172b);box-shadow:0 20px 65px #0009,0 0 50px #aa7bff14}
.fang-stage-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--fx-a) 27%,transparent),transparent 58%),repeating-linear-gradient(90deg,transparent 0 145px,rgba(255,255,255,.013) 146px 147px);pointer-events:none}
.fang-stage-beams{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.fang-stage-beams i{position:absolute;width:33%;height:90%;top:-35%;background:linear-gradient(180deg,color-mix(in srgb,var(--fx-b) 45%,transparent),transparent 84%);filter:blur(25px);opacity:.33;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);transform-origin:50% 0;animation:fang-spot 11s ease-in-out infinite alternate}
.fang-stage-beams i:nth-child(1){left:-5%;transform:rotate(-19deg)}.fang-stage-beams i:nth-child(2){left:27%;animation-delay:-4s;transform:rotate(12deg)}.fang-stage-beams i:nth-child(3){left:51%;animation-delay:-7s;transform:rotate(-12deg)}.fang-stage-beams i:nth-child(4){left:76%;animation-delay:-3s;transform:rotate(19deg)}
@keyframes fang-spot{from{opacity:.12;filter:blur(30px)}to{opacity:.38;filter:blur(17px)}}
.fang-showcase-layout{position:relative;z-index:2;min-height:625px;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1.25fr) minmax(0,1fr);align-items:end;gap:0;padding:38px 13px 38px}
.fang-performer{position:relative;z-index:2;align-self:end;display:flex;align-items:flex-end;justify-content:center;min-width:0;height:555px;filter:drop-shadow(0 15px 13px #05050cbb);transform-origin:50% 95%;animation:fang-gentle-sway 6.5s ease-in-out infinite alternate}
.fang-performer img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;filter:drop-shadow(0 0 23px color-mix(in srgb,var(--fx-a) 26%,transparent))}
.fang-performer-ms{animation-duration:7.1s;animation-delay:-2.2s}
@keyframes fang-gentle-sway{from{transform:translateY(1px) rotate(-.6deg)}to{transform:translateY(-5px) rotate(.6deg)}}
.fang-stage-center{position:relative;z-index:4;align-self:center;text-align:center;padding:25px 4px 60px;min-width:0}
.fang-season-tag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.25em;color:var(--fx-b);text-transform:uppercase;border:1px solid color-mix(in srgb,var(--fx-b) 50%,transparent);background:#101020a8;border-radius:100px;padding:9px 16px;margin-bottom:21px;box-shadow:0 0 24px color-mix(in srgb,var(--fx-b) 10%,transparent)}
.fang-stage-brand{font:900 clamp(20px,2.8vw,38px) Georgia,serif;color:#ffe0ac;text-shadow:0 0 23px #ffad5388;letter-spacing:.06em}.fang-stage-brand span{display:block;font:700 10px Segoe UI,Arial,sans-serif;letter-spacing:.4em;color:#f0d9bc;margin:8px 0 15px}
.fang-stage-center h1{font:italic 700 clamp(34px,4.4vw,68px)/1.02 Georgia,serif;color:#fff0c9;text-shadow:0 2px 2px #451d11,0 0 24px #fd994d50;margin:20px -20px 16px}.fang-stage-center h1 em{font-style:italic;color:#ffc476;font-size:1.35em;white-space:nowrap}
.fang-stage-blurb{font-size:clamp(13px,1.25vw,17px);line-height:1.5;color:#ede7f4;margin:14px auto 8px;max-width:560px}
.fang-season-greeting{color:#ffdba2;font-size:14px;line-height:1.4;font-weight:700;margin:10px auto 22px}
.fang-stage-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.fang-stage-cta a{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:48px;padding:12px 17px;font-weight:800;border-radius:14px;box-shadow:0 4px 22px #0005;transition:transform .2s ease,box-shadow .2s ease}.fang-stage-cta a:hover{transform:translateY(-3px);box-shadow:0 5px 28px color-mix(in srgb,var(--fx-a) 30%,transparent)}
.fang-stage-twitch{background:linear-gradient(130deg,#7736dc,#421f75);color:white;border:1px solid #d4acff}.fang-stage-cause{background:linear-gradient(130deg,#f8d68c,#e9a448);color:#2c1709;border:1px solid #ffe8b2}
.fang-twitch-band{display:flex;align-items:center;gap:14px;text-align:left;margin:26px auto 0;padding:12px 15px;border-radius:14px;border:1px solid rgba(244,185,122,.55);background:#0b0c1cdd;max-width:530px;box-shadow:0 0 29px rgba(158,77,206,.19)}
.fang-twitch-band strong,.fang-twitch-band small{display:block}.fang-twitch-band strong{font-size:14px}.fang-twitch-band small{font-size:11px;color:#bbb3d1;margin-top:4px}.fang-onair-label{margin-left:auto;color:#ffdaa0;font-size:12px;font-weight:800;white-space:nowrap}.fang-equalizer{display:flex;align-items:end;gap:3px;height:32px;min-width:45px}.fang-equalizer i{width:4px;height:45%;background:linear-gradient(#ff78e8,#8640ff);box-shadow:0 0 8px #ad52ff;animation:fang-eq .9s ease-in-out infinite alternate}.fang-equalizer i:nth-child(2n){animation-delay:-.5s;height:80%}.fang-equalizer i:nth-child(3n){animation-delay:-.25s;height:60%}@keyframes fang-eq{to{height:22%}}
.fang-stage-center .fang-visitor-counter{margin-top:18px;font-size:12px;padding:8px 13px}
.fang-stage-floor{position:absolute;bottom:17px;left:3%;width:94%;height:105px;z-index:1;border-bottom:3px solid color-mix(in srgb,var(--fx-a) 75%,white);border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--fx-a) 21%,transparent),transparent 72%);box-shadow:0 17px 21px color-mix(in srgb,var(--fx-a) 16%,transparent);pointer-events:none}
.fang-season-particles{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.fang-season-particles span{position:absolute;left:var(--left);top:var(--top);font-size:var(--size);color:var(--fx-b);opacity:.38;animation:fang-drift var(--speed) ease-in-out infinite alternate;animation-delay:var(--delay);text-shadow:0 0 10px var(--fx-b)}@keyframes fang-drift{to{transform:translate(13px,-30px) rotate(23deg);opacity:.12}}
.fang-stage-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0 12px}.fang-stage-links a{display:flex;flex-direction:column;gap:6px;border-radius:16px;border:1px solid #b07be060;background:linear-gradient(155deg,#302044e8,#111325eb);padding:16px 17px;transition:transform .2s ease,border-color .2s ease}.fang-stage-links a:nth-child(2){border-color:#54b5ed7a;background:linear-gradient(155deg,#133b56,#121629)}.fang-stage-links a:nth-child(3){border-color:#e8769c7a;background:linear-gradient(155deg,#522235,#171020)}.fang-stage-links a:nth-child(4){border-color:#7cce967a;background:linear-gradient(155deg,#204632,#101e19)}.fang-stage-links a:nth-child(5){border-color:#e7ba7a7a;background:linear-gradient(155deg,#523b28,#201621)}.fang-stage-links a:hover{transform:translateY(-4px);border-color:#ffd38d}.fang-stage-links span{font-size:25px;color:#ffd28d}.fang-stage-links b{font-size:16px}.fang-stage-links small{color:#b8bad0;font-size:12px}
body.fang-season-christmas .fang-showcase{--fx-a:#e89d68;--fx-b:#ffe0a6;background:radial-gradient(ellipse at 50% 5%,#7b23337a,transparent 55%),linear-gradient(180deg,#2a1428,#140c1c 70%,#17101b)}
body.fang-season-valentine .fang-showcase{--fx-a:#ff78ad;--fx-b:#ffc5d9;background:radial-gradient(ellipse at 50% 0%,#8734569c,transparent 54%),linear-gradient(180deg,#2b1028,#240e24 70%,#110d1c)}
body.fang-season-easter .fang-showcase{--fx-a:#9de3bf;--fx-b:#ffdbac;background:radial-gradient(ellipse at 50% 7%,#8663ad99,transparent 50%),linear-gradient(180deg,#232746,#152a3a 72%,#101927)}
body.fang-season-valentine .site-header{border-bottom-color:#db63819c}body.fang-season-easter .site-header{border-bottom-color:#99d3b6a8}
body.fang-season-valentine .fang-stage-scenery:before,body.fang-season-valentine .fang-stage-scenery:after{content:'♥';position:absolute;font-size:80px;color:#ec77a5;opacity:.18;top:18%;left:8%;text-shadow:0 0 34px #fa80a0}body.fang-season-valentine .fang-stage-scenery:after{left:auto;right:8%;top:23%;font-size:110px}
body.fang-season-easter .fang-stage-scenery:before,body.fang-season-easter .fang-stage-scenery:after{content:'✿';position:absolute;font-size:85px;color:#fad9a8;opacity:.24;top:23%;left:6%;text-shadow:0 0 30px #f5acc6}body.fang-season-easter .fang-stage-scenery:after{left:auto;right:7%;top:17%;color:#b2ebd2}
body.fang-season-classic .fang-showcase{--fx-a:#ab70fa;--fx-b:#ffd18c}
@media(max-width:1100px){.fang-showcase-layout{grid-template-columns:minmax(0,.8fr) minmax(310px,1.4fr) minmax(0,.8fr)}.fang-performer{height:490px}.fang-stage-center h1{font-size:clamp(30px,4.5vw,52px)}.fang-stage-cta a{font-size:13px;padding:10px}}
@media(max-width:780px){.fang-showcase{min-height:620px}.fang-showcase-layout{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;min-height:0;padding:27px 8px 42px}.fang-stage-center{grid-column:1/-1;grid-row:1;padding:12px 8px 6px}.fang-performer{grid-row:2;height:295px}.fang-performer-mr{grid-column:1}.fang-performer-ms{grid-column:2}.fang-stage-center h1{font-size:clamp(32px,8vw,50px)}.fang-stage-brand{font-size:25px}.fang-stage-blurb{font-size:14px}.fang-stage-links{grid-template-columns:repeat(2,1fr)}.fang-stage-links a:last-child{grid-column:1/-1}.fang-stage-floor{height:58px}.fang-stage-center .fang-visitor-counter{justify-content:center}.fang-twitch-band{max-width:440px}.fang-season-tag{margin-bottom:9px}}
@media(max-width:420px){.fang-showcase-layout{padding:20px 6px 26px}.fang-stage-cta{gap:8px}.fang-stage-cta a{min-height:42px;padding:8px 10px;font-size:12px}.fang-stage-center h1{margin:8px -5px}.fang-twitch-band{gap:8px;padding:10px}.fang-onair-label{display:none}.fang-performer{height:240px}.fang-stage-links a{padding:12px}.fang-stage-center .fang-visitor-counter{max-width:100%}}
@media(prefers-reduced-motion:reduce){.fang-performer,.fang-stage-beams i,.fang-season-particles span,.fang-equalizer i{animation:none!important}}
/* Keep the original off-canvas mobile menu from creating horizontal scroll. */
html,body{overflow-x:clip}

/* Christmas concert scenery: festive decorations are only shown for Christmas. */
.fang-christmas-stage-decor{display:none;position:absolute;inset:0;z-index:1;pointer-events:none}
body.fang-season-christmas .fang-christmas-stage-decor{display:block}
body.fang-season-christmas .fang-showcase{border:2px solid #d6a45d;box-shadow:0 25px 70px #000b,0 0 55px #dd55552e,inset 0 0 90px #6d1c2447;background:radial-gradient(ellipse at 50% 18%,#a240395a,transparent 60%),radial-gradient(ellipse at 0 50%,#134b3680,transparent 38%),radial-gradient(ellipse at 100% 50%,#1746307c,transparent 38%),linear-gradient(180deg,#381625,#1d0c1c 72%,#20131b)}
.fang-xmas-stage-swag{position:absolute;top:0;left:0;right:0;height:130px;background:url('assets/images/fang-christmas-stage-swag.svg') center top / 100% 130px no-repeat;filter:drop-shadow(0 3px 12px #e8a65663)}
.fang-xmas-stage-tree{position:absolute;bottom:29px;width:210px;height:425px;background:url('assets/images/fang-christmas-stage-tree.svg') center bottom/contain no-repeat;filter:drop-shadow(0 0 15px #d4a35740)}
.fang-xmas-tree-left{left:0}.fang-xmas-tree-right{right:0;transform:scaleX(-1)}
.fang-xmas-stage-stars{position:absolute;top:102px;left:0;right:0;text-align:center;color:#ffe4a8;font-size:20px;letter-spacing:25px;opacity:.9;text-shadow:0 0 15px #ffd175}
body.fang-season-christmas .fang-season-tag{color:#ffebb2;background:#4b1621e8;border-color:#e8be7d;box-shadow:0 0 22px #e18a5c5a}
body.fang-season-christmas .fang-stage-center h1{color:#fff4ca;text-shadow:0 3px 2px #651a1e,0 0 36px #ff9b6190}
body.fang-season-christmas .fang-stage-brand{color:#ffde91;text-shadow:0 0 30px #ffcc7e80}
body.fang-season-christmas .fang-stage-floor{border-bottom-color:#e9b35c;box-shadow:0 0 45px #ce453948}
@media(max-width:1100px){.fang-xmas-stage-tree{width:155px;height:330px}.fang-xmas-stage-swag{height:90px;background-size:100% 90px}}
@media(max-width:780px){.fang-xmas-stage-tree{width:105px;height:195px;bottom:40px;opacity:.85}.fang-xmas-stage-swag{height:78px;background-size:auto 78px}.fang-xmas-stage-stars{top:80px;font-size:12px}.fang-xmas-tree-left{left:-15px}.fang-xmas-tree-right{right:-15px}}
@media(max-width:420px){.fang-xmas-stage-tree{height:145px;width:75px;bottom:24px;opacity:.8}}
