@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --blossom-image:url('./assets/blossom_background_light_optimized.webp');
  --bg:#d9d0dd;
  --bg-soft:#e5d9e3;
  --surface:rgba(241,234,240,.92);
  --surface-strong:#f1eaf0;
  --surface-soft:#eadfe8;
  --text:#211722;
  --muted:#65586a;
  --pink:#ef4f8a;
  --pink-strong:#dc2f72;
  --pink-soft:#ffd7e7;
  --rose:#a93065;
  --lav:#8b6ee8;
  --line:rgba(91,49,76,.18);
  --line-strong:rgba(91,49,76,.26);
  --night:#17121f;
  --night-2:#241629;
  --shadow:0 18px 50px rgba(126,63,97,.13);
  --shadow-soft:0 8px 26px rgba(126,63,97,.09);
  --radius-xl:38px;
  --radius-lg:28px;
  --radius-md:20px;
  --max:1600px;
}

html[data-theme="dark"]{
  --blossom-image:url('./assets/blossom_background_dark_optimized.webp');
  --bg:#100b12;
  --bg-soft:#191019;
  --surface:rgba(31,20,31,.9);
  --surface-strong:#201521;
  --surface-soft:#1a1019;
  --text:#fff5fa;
  --muted:#c8b8c1;
  --line:rgba(255,255,255,.1);
  --line-strong:rgba(255,255,255,.18);
  --night:#09080c;
  --night-2:#171019;
  --shadow:0 18px 54px rgba(0,0,0,.35);
  --shadow-soft:0 10px 30px rgba(0,0,0,.24);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--bg)}
body{
  margin:0;
  min-width:320px;
  background:
    radial-gradient(circle at 12% 6%,rgba(255,195,220,.35),transparent 28rem),
    radial-gradient(circle at 90% 36%,rgba(226,192,255,.2),transparent 31rem),
    var(--bg);
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:clip;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:30;
  opacity:.16;
  background-image:
    radial-gradient(circle at 18px 18px,rgba(238,79,138,.22) 0 1.3px,transparent 1.7px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,black,transparent 58%);
}
button,a{font:inherit}
a{color:inherit}
button{color:inherit}
img{max-width:100%;display:block}
body.is-loading{opacity:.01}
body.is-loaded{opacity:1;transition:opacity .35s ease}

.topbar{
  position:sticky;
  top:0;
  z-index:80;
  min-height:72px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:26px;
  padding:10px max(22px,calc((100vw - var(--max))/2));
  background:color-mix(in srgb,var(--bg) 84%,transparent);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(22px) saturate(1.25);
}
.brand{
  display:flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
  white-space:nowrap;
}
.brand-icon-wrap{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(145deg,#fff,var(--pink-soft));
  border:1px solid rgba(239,79,138,.18);
  box-shadow:var(--shadow-soft);
}
.brand-icon-wrap img{width:100%;height:100%;object-fit:cover}
.brand-copy{display:grid;line-height:1}
.brand-copy strong{
  font-family:"Caveat",cursive;
  font-size:36px;
  font-weight:700;
  letter-spacing:-.015em;
  line-height:1.05;
  transition:transform .18s ease,color .18s ease,text-shadow .18s ease;
}
.brand-copy strong span{color:var(--pink)}
.brand-icon-wrap{transition:transform .2s ease,box-shadow .2s ease}
.brand:hover .brand-icon-wrap{transform:rotate(-3deg) scale(1.035);box-shadow:0 5px 18px rgba(220,47,114,.22)}
.brand:hover .brand-copy strong{transform:translateY(-1px);color:var(--rose);text-shadow:0 3px 12px rgba(239,79,138,.12)}
.brand-copy small{margin-top:5px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  flex-wrap:wrap;
}
.nav::-webkit-scrollbar{display:none}
.nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  padding:10px 12px;
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  border-radius:999px;
  transition:transform .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease;
}
.nav-label{display:inline-block;transition:transform .18s ease}
.nav a::after{content:"✦";position:absolute;top:2px;right:6px;color:var(--pink);font-size:8px;opacity:0;transform:translateY(3px) scale(.7);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.nav a:hover::after{opacity:.8;transform:translateY(0) scale(1)}
.nav a:hover .nav-label{transform:translateY(-1px)}
.nav a:hover{
  color:var(--pink-strong);
  background:rgba(239,79,138,.08);
  transform:translateY(-2px) scale(1.015);
}
.nav a:active{transform:scale(.97)}
.nav a:first-child{
  color:var(--pink-strong);
  background:rgba(239,79,138,.1);
}
.nav a.nav-highlight{
  color:var(--pink-strong);
  background:color-mix(in srgb,var(--pink) 16%,var(--surface-strong));
  border:1px solid color-mix(in srgb,var(--pink) 28%,transparent);
  box-shadow:0 3px 12px rgba(220,47,114,.1);
}
#news{scroll-margin-top:calc(var(--header-height,72px) + 20px)}

.top-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.theme-toggle,.contact-btn,.menu-toggle{
  border:1px solid var(--line);
  text-decoration:none;
  background:var(--surface);
  border-radius:999px;
  min-height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.theme-toggle:hover,.menu-toggle:hover{border-color:var(--pink);color:var(--pink-strong)}
.contact-btn{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--pink),var(--pink-strong));
  box-shadow:0 8px 22px rgba(220,47,114,.22);
}
.menu-toggle{display:none;width:42px;padding:0;font-size:20px}

.hero{
  position:relative;
  min-height:590px;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(217,208,221,.96) 0%,rgba(217,208,221,.82) 28%,rgba(133,101,135,.22) 58%,rgba(160,122,149,.32) 100%),
    var(--blossom-image) center 38% / cover no-repeat;
}
html[data-theme="dark"] .hero{
  background:
    linear-gradient(90deg,rgba(16,11,18,.94) 0%,rgba(16,11,18,.76) 30%,rgba(16,11,18,.25) 60%,rgba(16,11,18,.5) 100%),
    var(--blossom-image) center 38% / cover no-repeat;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 69% 42%,rgba(255,255,255,.06),transparent 22%),
    linear-gradient(180deg,transparent 60%,rgba(255,241,248,.24));
}
.hero-veil{
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    radial-gradient(circle at 8% 23%,rgba(255,255,255,.75) 0 2px,transparent 3px),
    radial-gradient(circle at 84% 28%,rgba(255,192,217,.7) 0 3px,transparent 4px);
  background-size:90px 90px,130px 130px;
  opacity:.26;
}
.hero-stage{
  width:min(var(--max),calc(100% - 44px));
  min-height:590px;
  margin:0 auto;
  padding:72px 0 96px;
  display:grid;
  grid-template-columns:minmax(380px,560px) minmax(280px,1fr) 330px;
  align-items:center;
  gap:28px;
}
.hero-copy{
  grid-column:1;
  position:relative;
  z-index:3;
  align-self:center;
}
.eyebrow,.section-kicker,.panel-kicker{
  margin:0;
  color:var(--pink-strong);
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero h1{
  margin:12px 0 12px;
  display:grid;
  width:max-content;
  max-width:100%;
  font-family:"DM Serif Display",serif;
  font-size:clamp(66px,6.25vw,106px);
  line-height:.72;
  letter-spacing:-.055em;
  font-weight:400;
}
.hero h1 span:nth-child(2){margin-left:16px}
.hero h1 em{
  margin:14px 0 0 30px;
  color:var(--pink);
  font-family:"Caveat",cursive;
  font-size:.84em;
  font-weight:600;
  line-height:.8;
  transform:rotate(-2deg);
}
.lead{
  margin:28px 0 0;
  max-width:520px;
  font-size:20px;
  font-weight:800;
  color:var(--rose);
}
.hero-note{
  max-width:520px;
  margin:8px 0 0;
  color:color-mix(in srgb,var(--text) 74%,transparent);
  font-size:14px;
  line-height:1.7;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.hero-actions a{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 19px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  border:1px solid rgba(239,79,138,.18);
  box-shadow:var(--shadow-soft);
}
.hero-actions .primary{
  color:#fff;
  background:linear-gradient(135deg,var(--pink),var(--pink-strong));
}
.hero-actions .secondary{
  color:var(--pink-strong);
  background:rgba(255,255,255,.84);
}
html[data-theme="dark"] .hero-actions .secondary{background:rgba(27,18,28,.84)}
.scribble{
  display:block;
  margin:16px 0 0 54px;
  color:var(--pink-strong);
  font:600 24px/1.05 "Caveat",cursive;
  transform:rotate(-3deg);
}
.scribble-small{font-size:19px;margin:0;transform:rotate(-2deg)}

.home-live-card{
  grid-column:3;
  position:relative;
  z-index:4;
  width:100%;
  align-self:center;
  padding:15px;
  border-radius:26px 26px 10px 26px;
  color:#fff;
  background:
    linear-gradient(145deg,rgba(18,14,24,.96),rgba(34,20,34,.96)),
    var(--night);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 25px 70px rgba(32,12,28,.28);
  overflow:hidden;
}
.home-live-card::after{
  content:"";
  position:absolute;
  inset:auto -30% -45% 18%;
  height:160px;
  background:radial-gradient(circle,rgba(239,79,138,.26),transparent 64%);
  pointer-events:none;
}
.home-live-card.is-live{
  border-color:rgba(255,82,151,.7);
  box-shadow:0 24px 74px rgba(219,44,116,.28);
}
.home-live-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.live-title{display:flex;align-items:center;gap:8px;min-width:0}
.home-live-head strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-mini-label{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.08em;color:#d7c8d3}
.live-mini-label img{display:block;width:14px;height:14px}
.live-status{color:#8b7a88;font-size:14px}
.live-status.online{color:#ff4a8a;text-shadow:0 0 15px #ff4a8a}
.home-live-thumb{
  position:relative;
  display:block;
  min-height:150px;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  background:
    radial-gradient(ellipse at 12% 15%,rgba(239,79,138,.3),transparent 55%),
    radial-gradient(ellipse at 90% 90%,rgba(145,105,220,.35),transparent 60%),
    linear-gradient(135deg,#271b34,#14111e);
}
.home-live-thumb::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,190,219,.16);border-radius:12px;transform:rotate(-4deg);pointer-events:none}
.home-live-thumb[data-state="live"]::before{display:none}
.home-live-thumb[href]{cursor:pointer}
.home-live-thumb:focus-visible{outline:2px solid #ff8ab7;outline-offset:3px}
.home-live-preview-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-live-offline{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}
.home-live-offline[hidden],.home-live-preview-image[hidden]{display:none}
.home-live-offline>span{color:#ff9bc5;letter-spacing:.4em;font-size:13px}
.home-live-offline strong{font:400 34px/1.1 "DM Serif Display",serif;text-shadow:0 2px 20px rgba(239,79,138,.25)}
.home-live-offline small{color:#cdbad7;font-size:10px;letter-spacing:.1em}
.live-badge{
  position:absolute;
  top:10px;
  left:10px;
  padding:6px 9px;
  border-radius:999px;
  background:#f04482;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.live-badge.offline{background:rgba(26,20,28,.78);border:1px solid rgba(255,255,255,.15)}
.home-live-thumb-mark{
  position:absolute;
  left:12px;
  bottom:10px;
  font-size:12px;
  font-weight:800;
}
.home-live-copy{padding:13px 2px 10px}
.home-live-kicker{color:#ff8ab7;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.home-live-copy h2{margin:4px 0 4px;font:400 24px/1 "DM Serif Display",serif}
.home-live-copy p{margin:0;color:#d8cbd3;font-size:11px;line-height:1.5}
.home-live-copy #liveSubText{margin-top:10px;color:#d8cbd3;font-size:11px;line-height:1.5}
.home-live-copy .next-stream-title{margin-top:8px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.next-stream-title span{color:#d8cbd3;font-weight:500}
.next-stream-title strong{color:#fff5fa;font-weight:700}
.next-stream-date{display:block;color:#d8cbd3;font-size:12px;line-height:1.5}
.live-actions{display:flex;gap:8px;position:relative;z-index:2}
.home-live-cta,.live-schedule-btn{
  min-height:40px;
  border-radius:999px;
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  text-decoration:none;
  cursor:pointer;
  font-size:11px;
  font-weight:800;
}
.home-live-cta{
  flex:1;
  color:#fff;
  background:linear-gradient(135deg,#ff4a8a,#d92e71);
}
.live-schedule-btn{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}

.hero-wave{
  pointer-events:none;
  position:absolute;
  left:-3%;
  right:-3%;
  bottom:-65px;
  height:125px;
  z-index:5;
  background:var(--bg);
  border-radius:50% 50% 0 0 / 60% 60% 0 0;
  filter:blur(10px);
  transform:scaleX(1.03);
}

.flow-section{
  width:min(var(--max),calc(100% - 44px));
  margin:0 auto;
}
.systems-flow{
  position:relative;
  z-index:8;
  margin-top:-20px;
  padding:14px 0 34px;
}
.section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
}
.section-heading>div{display:flex;align-items:center;gap:13px}
.section-heading>p{max-width:540px;margin:0;color:var(--muted);font-size:12px;line-height:1.6;text-align:right}
.section-symbol{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:#fff;
  border-radius:15px 15px 15px 6px;
  background:linear-gradient(135deg,var(--pink),var(--pink-strong));
  box-shadow:0 10px 22px rgba(220,47,114,.2);
  font-size:18px;
}
.section-heading h2{
  margin:3px 0 0;
  font:400 clamp(24px,2vw,33px)/1.1 "DM Serif Display",serif;
}
.systems-rail{
  display:flex;
  gap:18px;
  overflow-x:auto;
  padding:30px 6px 28px;
  scroll-snap-type:none;
  scrollbar-width:auto;
  scrollbar-color:var(--pink) color-mix(in srgb,var(--line) 50%,transparent);
  cursor:grab;
  user-select:none;
}
.systems-rail::-webkit-scrollbar{height:14px}
.systems-rail::-webkit-scrollbar-track{background:var(--bg-soft);border-radius:999px}
.systems-rail::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--pink),var(--lav));border:3px solid var(--bg-soft);border-radius:999px;min-width:48px}
.systems-rail:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.systems-rail .section-card{cursor:grab}
.systems-rail.is-dragging,.systems-rail.is-dragging .section-card{cursor:grabbing}
.systems-rail.is-dragging .section-card{transform:none;transition:none}
.section-card{
  --card-accent:#ed77aa;
  --card-secondary:#a392e3;
  --glass-edge:rgba(255,255,255,.65);
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex:0 0 210px;
  min-height:264px;
  scroll-snap-align:start;
  padding:42px 20px;
  overflow:hidden;
  appearance:none;
  color:var(--text);
  text-align:center;
  cursor:pointer;
  background:
    radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--card-accent) 30%,transparent),transparent 65%),
    radial-gradient(ellipse at 0% 100%,color-mix(in srgb,var(--card-secondary) 27%,transparent),transparent 65%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface-strong) 78%,transparent),color-mix(in srgb,var(--surface-soft) 52%,transparent));
  border:1px solid var(--glass-edge);
  border-radius:20px;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 -1px 0 rgba(255,255,255,.12),var(--shadow-soft);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
  isolation:isolate;
}
.section-card:nth-child(3n+2){--card-accent:#b899e9;--card-secondary:#e789b8}
.section-card:nth-child(3n){--card-accent:#eaa0bf;--card-secondary:#8cbae5}
html[data-theme="dark"] .section-card{--glass-edge:rgba(255,255,255,.16)}
.section-card::before{
  content:"";
  position:absolute;
  inset:-50% -80%;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.2) 49%,transparent 58%);
  transform:translateX(-16%);
  transition:transform .55s ease;
}
.section-card::after{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid color-mix(in srgb,var(--card-accent) 22%,transparent);
  border-radius:14px;
  pointer-events:none;
}
.section-card:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.section-card:active{transform:translateY(-3px) scale(.98)}
@media (hover:hover){
  .section-card:hover{transform:translateY(-8px) rotate(-1.5deg);border-color:var(--pink);box-shadow:0 20px 32px rgba(110,43,81,.2)}
  .section-card:hover::before{transform:translateX(16%)}
}
.card-corner{position:absolute;top:17px;left:19px;color:var(--pink-strong);font-size:16px;opacity:.65}
.card-suit{position:absolute;bottom:14px;right:18px;color:var(--pink-strong);font-size:22px}
.card-title{max-width:100%;font:400 27px/1.15 "DM Serif Display",serif;overflow-wrap:normal;word-break:normal;text-wrap:balance}
#points .card-title{font-size:22px}
.section-card .big-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 28%,transparent),color-mix(in srgb,var(--card-secondary) 20%,transparent));
  border:1px solid var(--glass-edge);
  box-shadow:inset 0 1px 0 var(--glass-edge),0 6px 18px rgba(110,43,81,.08);
  color:var(--pink-strong);
  font-size:30px;
  font-weight:800;
}

.showcase-flow{padding:5px 0 30px}
.showcase-ribbon{
  display:grid;
  grid-template-columns:minmax(260px,390px) 1fr;
  gap:18px;
  align-items:center;
  padding:16px 18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(90deg,rgba(255,223,235,.42),transparent 36%,rgba(230,212,255,.22));
}
.showcase-copy span{color:var(--pink-strong);font-size:10px;font-weight:900;letter-spacing:.15em}
.showcase-copy strong{display:block;margin-top:4px;font:400 19px/1.2 "DM Serif Display",serif}
.showcase-tiles{
  display:grid;
  grid-template-columns:1.25fr .8fr 1fr .82fr .9fr;
  gap:8px;
}
.tile{
  min-height:64px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  background:
    linear-gradient(140deg,rgba(255,255,255,.78),rgba(255,220,235,.64)),
    var(--blossom-image) center / cover;
  box-shadow:var(--shadow-soft);
  color:var(--rose);
  font:700 12px/1 "Inter",sans-serif;
  letter-spacing:.12em;
}
.tile-a{border-radius:22px 7px 22px 22px}
.tile-b{border-radius:7px 22px 22px 22px}
.tile-c{border-radius:22px}
.tile-d{border-radius:22px 22px 7px 22px}
.tile-e{border-radius:22px 7px 22px 22px}

.main-mosaic{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);
  gap:18px;
  padding:6px 0 44px;
}
.schedule-live-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  width:fit-content;
  max-width:calc(100% - 36px);
  margin:0 auto 22px;
  padding:14px 25px;
  border:1px solid var(--line-strong);
  border-radius:999px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
  color:var(--muted);
  font-size:clamp(16px,2vw,23px);
  line-height:1.4;
  text-align:center;
  animation:live-status-float 4s ease-in-out infinite;
}
.schedule-live-dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--muted)}
.schedule-live-status[data-state="live"]{color:#cb2446;border-color:rgba(244,63,94,.4)}
html[data-theme="dark"] .schedule-live-status[data-state="live"]{color:#ff718b}
.schedule-live-status[data-state="live"] .schedule-live-dot{background:#f43f5e;animation:live-dot-pulse 1.8s ease-out infinite}
@keyframes live-status-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes live-dot-pulse{0%{box-shadow:0 0 0 0 rgba(244,63,94,.45)}75%,100%{box-shadow:0 0 0 9px rgba(244,63,94,0)}}
.schedule-stage{
  grid-column:1;
  position:relative;
  min-height:370px;
  padding:25px 25px 26px;
  overflow:hidden;
  color:#fff;
  border-radius:34px 12px 34px 34px;
  background:
    linear-gradient(180deg,rgba(14,11,19,.48),rgba(10,9,14,.88)),
    var(--blossom-image) center 74% / cover no-repeat;
  box-shadow:0 22px 60px rgba(36,14,35,.2);
}
.schedule-stage::after{
  content:"";
  position:absolute;
  inset:auto -8% -90px;
  height:180px;
  border-radius:50% 50% 0 0;
  background:linear-gradient(180deg,rgba(255,73,138,.12),rgba(5,4,8,.55));
  filter:blur(12px);
  pointer-events:none;
}
.schedule-stage-head{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start;
}
.schedule-stage .panel-kicker{color:#ff85b4}
.schedule-stage h2{margin:5px 0 4px;font:400 35px/1.05 "DM Serif Display",serif}
.schedule-stage p{margin:0;color:#d7c7d2;font-size:11px}
.schedule-open{
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  cursor:pointer;
  font-size:10px;
  font-weight:800;
}
.schedule-skyline{
  position:absolute;
  left:24px;
  bottom:25px;
  z-index:1;
  color:#fff;
  font:600 22px/1.05 "Caveat",cursive;
  transform:rotate(-5deg);
  opacity:.8;
}
.home-schedule-list{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:52px;
}
.home-schedule-item,.home-schedule-empty{
  min-height:86px;
  padding:12px;
  border-radius:18px 18px 7px 18px;
  background:rgba(8,7,12,.52);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}
.home-schedule-item{
  margin:0;
  min-inline-size:0;
}
.home-schedule-item legend{
  max-width:100%;
  padding:0 7px;
  color:#ff8ab7;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.home-schedule-item b{display:block;font-size:11px;line-height:1.35}
.home-schedule-item time{display:block;margin-top:4px;color:#cdbec8;font-size:10px}
.home-schedule-empty{display:grid;place-items:center;grid-column:1/-1;color:#dbcdd6;font-size:12px}

.featured-panels{
  grid-column:2;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.gacherry-panel,.music-panel{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.gacherry-panel{
  min-height:205px;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:12px;
  padding:18px;
  border-radius:12px 32px 32px 32px;
  background:linear-gradient(135deg,var(--surface-strong),var(--surface-soft));
}
.gacherry-copy{align-self:center;position:relative;z-index:2}
.gacherry-copy h2,.music-panel h2{
  margin:5px 0 7px;
  font:400 25px/1.05 "DM Serif Display",serif;
}
.gacherry-copy p,.music-panel p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.badge-row span{padding:5px 7px;border-radius:999px;background:var(--bg-soft);color:var(--rose);font-size:8px;font-weight:800}
.panel-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  min-height:34px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--pink),var(--pink-strong));
  color:#fff;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.gacherry-image-frame{
  min-width:0;
  border-radius:20px 20px 20px 7px;
  overflow:hidden;
  background:var(--bg-soft);
}
.gacherry-image-frame img{width:100%;height:100%;object-fit:cover}
.project-status{display:grid;gap:4px;margin:10px 0 13px;line-height:1.5}
.project-status strong{color:#c92742;font-size:14px;font-weight:800}
.project-status small{color:var(--muted);font-size:11px}
html[data-theme="dark"] .project-status strong{color:#ff7186}
.modal-action-disabled{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:0;border-radius:999px;background:#bfb7c2;color:#49414e;box-shadow:none;font:inherit;font-size:10px;font-weight:800;cursor:not-allowed}
html[data-theme="dark"] .modal-action-disabled{background:#3c3540;color:#bfb3c4}
.music-panel{
  min-height:147px;
  padding:17px;
  border-radius:30px 30px 30px 9px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,243,249,.92)),
    var(--blossom-image) center / cover;
}
html[data-theme="dark"] .music-panel{background:linear-gradient(90deg,rgba(32,21,33,.96),rgba(24,15,25,.92))}
.music-head{display:flex;gap:10px;align-items:flex-start}
.music-head>span{
  width:34px;height:34px;display:grid;place-items:center;border-radius:13px;background:var(--pink-soft);color:var(--pink-strong);font-weight:900
}
.music-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:11px;
}
.music-track{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:8px 9px;
  border-radius:12px;
  text-decoration:none;
  background:color-mix(in srgb,var(--surface-strong) 72%,transparent);
  border:1px solid var(--line);
}
.music-track b{font-size:9px}
.music-track span{font-size:8px;color:var(--pink-strong);white-space:nowrap}
.music-actions{display:flex;gap:6px;flex-wrap:wrap}
.panel-button-ghost{background:transparent;color:var(--pink-strong);border:1px solid var(--line-strong)}

.news-zone{
  grid-column:1/-1;
  position:relative;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:18px;
  align-items:start;
  padding:20px 22px;
  border-radius:10px 32px 32px 32px;
  background:linear-gradient(90deg,rgba(255,231,240,.62),rgba(255,255,255,.52));
  border:1px solid var(--line);
}
html[data-theme="dark"] .news-zone{background:linear-gradient(90deg,rgba(50,25,39,.52),rgba(31,20,31,.72))}
.news-zone-head h2{margin:5px 0 0;font:400 29px/1.1 "DM Serif Display",serif}
.news-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.news-strip article{
  min-height:94px;
  padding:13px 13px 11px;
  border-radius:16px 16px 16px 5px;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 7px 18px rgba(114,56,88,.06);
}
.news-strip article:nth-child(even){transform:translateY(7px)}
.news-strip b{display:block;color:var(--pink-strong);font-size:11px;margin-bottom:5px}
.news-strip span{display:block;color:var(--muted);font-size:10px;line-height:1.45}

.extras-flow{padding:0 0 44px}
.compact-heading{margin-bottom:15px}
.wide-sections{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.wide-card{
  position:relative;
  min-height:210px;
  padding:20px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}
.wide-card:nth-child(3n+1){border-radius:32px 10px 32px 32px}
.wide-card:nth-child(3n+2){border-radius:10px 32px 32px 32px}
.wide-card:nth-child(3n){border-radius:32px 32px 10px 32px}
.wide-card:nth-child(2)::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(239,79,138,.06),transparent 62%);
}
.wide-head{display:flex;align-items:center;gap:9px}
.wide-head>span{width:36px;height:36px;display:grid;place-items:center;border-radius:13px;background:var(--bg-soft)}
.wide-head h2{margin:0;font:400 22px/1.1 "DM Serif Display",serif}
.wide-card>p{color:var(--muted);font-size:10px;line-height:1.55}
.wide-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 12px;
  padding:10px 0;
  border-top:1px solid var(--line);
}
.wide-item b{font-size:10px}
.wide-item p{grid-column:1;margin:0;color:var(--muted);font-size:9px;line-height:1.45}
.wide-link{grid-column:2;grid-row:1/3;align-self:center;color:var(--pink-strong);font-size:9px;font-weight:800;text-decoration:none}
.wide-note{margin-top:10px;padding:10px 12px;border-radius:13px;background:var(--bg-soft);color:var(--rose);font-size:9px}
.wide-note-details{display:block;margin-top:4px;color:var(--muted)}
html[data-theme="dark"] .wide-note{color:#f0abc9}

#rankone{
  display:flex;
  flex-direction:column;
}
#rankone .wide-head{margin-bottom:24px}
#rankone .wide-item{
  grid-template-columns:minmax(0,1fr) 110px;
  min-height:54px;
  align-content:center;
  gap:4px 12px;
}
#rankone .wide-link{
  justify-self:end;
  text-align:right;
  line-height:1.5;
}
#rankone .wide-note{
  margin-top:auto;
  line-height:1.5;
}
#rankone .wide-item:has(+ .wide-note){margin-bottom:12px}

.social-flow{
  position:relative;
  overflow:hidden;
  padding:30px 22px 34px;
  background:
    linear-gradient(90deg,rgba(255,220,233,.54),rgba(255,249,252,.8),rgba(236,222,255,.38));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.social-flow::before,.social-flow::after{
  content:"";
  position:absolute;
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(239,79,138,.13),transparent 68%);
}
.social-flow::before{left:-70px;top:-90px}
.social-flow::after{right:-60px;bottom:-100px}
html[data-theme="dark"] .social-flow{
  background:linear-gradient(110deg,#21131f,#161018 55%,#21182c);
}
.social-flow-inner{
  width:min(var(--max),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:24px;
  align-items:center;
}
.social-copy h2{margin:5px 0 0;font:400 30px/1.1 "DM Serif Display",serif}
.social-strip{
  display:flex;
  gap:8px;
  padding-block:5px;
  margin-block:-5px;
  overflow-x:auto;
  scrollbar-width:none;
}
.social-strip::-webkit-scrollbar{display:none}
.social-link{
  flex:0 0 178px;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:58px;
  padding:10px 12px;
  border-radius:18px 18px 18px 6px;
  color:#fff;
  text-decoration:none;
  background:linear-gradient(135deg,#6b355e,#cf3c7a);
  box-shadow:0 8px 22px rgba(89,37,74,.14);
}
.social-link:nth-child(2n){background:linear-gradient(135deg,#7a5ecb,#ef4f8a)}
.social-link img{width:22px;height:22px}
.social-link>span{display:grid;min-width:0}
.social-link b{font-size:10px}
.social-link span span{font-size:7px;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.site-footer{
  position:relative;
  color:#fff;
  background:#111019;
}
.footer-scene{
  min-height:220px;
  display:grid;
  place-items:center;
  padding:38px 22px;
  background:
    linear-gradient(180deg,rgba(13,10,17,.34),rgba(13,10,17,.9)),
    var(--blossom-image) center 72% / cover no-repeat;
}
.footer-message{text-align:center;text-shadow:0 4px 20px rgba(0,0,0,.35)}
.footer-message .scribble{margin:0 0 8px;color:#ffd2e3;font-size:28px;transform:rotate(-2deg)}
.footer-message strong{display:block;font:400 42px/1 "DM Serif Display",serif}
.footer-message small{display:block;margin-top:6px;color:#e4d9df;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.links{
  width:min(var(--max),calc(100% - 44px));
  margin:0 auto;
  padding:24px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.links h2{margin:0;font:400 20px/1 "DM Serif Display",serif}
.links-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.links-row a{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  font-size:9px;
  font-weight:700;
}
.links-row img{width:15px;height:15px}
.footer-bottom{
  width:min(var(--max),calc(100% - 44px));
  margin:0 auto;
  padding:13px 0 18px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#b9acb5;
  font-size:9px;
}

.mobile-dock{display:none}

/* Modal / részletes tartalom */
.modal{
  position:fixed;
  inset:var(--header-height,72px) 0 0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:24px;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s ease;
}
.modal.show{opacity:1;pointer-events:auto}
.modal.show .modal-panel{animation:panel-arrive .25s cubic-bezier(.2,.7,.2,1)}
@keyframes panel-arrive{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,10,18,.6);
  backdrop-filter:blur(10px);
}
.modal-panel{
  position:relative;
  width:min(780px,100%);
  max-height:min(calc(100dvh - var(--header-height,72px) - 48px),820px);
  overflow:auto;
  padding:28px;
  border-radius:32px 12px 32px 32px;
  background:var(--surface-strong);
  border:1px solid var(--line-strong);
  box-shadow:0 40px 100px rgba(28,10,24,.32);
}
body.modal-open .topbar,
body.modal-open .mobile-dock{z-index:220}
.modal-close{
  position:sticky;
  top:0;
  float:right;
  width:38px;height:38px;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--surface);
  cursor:pointer;
  font-size:24px;
  line-height:1;
}
.modal-kicker{color:var(--pink-strong);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.stream-ornament{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.2em}
.stream-ornament::before,.stream-ornament::after{content:"";width:32px;height:1px;background:currentColor;opacity:.45}
.modal-panel>p:empty{display:none}
.modal-panel>h2{margin:6px 46px 4px 0;font:400 34px/1.1 "DM Serif Display",serif}
.modal-panel>p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}
.modal-content{display:grid;gap:12px}
.detail-block{
  padding:16px;
  border-radius:20px 20px 20px 6px;
  background:var(--surface-soft);
  border:1px solid var(--line);
}
.detail-block h3{margin:0 0 10px;font-size:13px}
.detail-block p{color:var(--muted);font-size:11px;line-height:1.6}
.detail-block ul{margin:0;padding-left:18px;color:var(--muted);font-size:11px;line-height:1.65}
.detail-block ul:has(.detail-spec){padding-left:0;list-style:none}
.detail-spec{display:grid;grid-template-columns:minmax(85px,.6fr) minmax(0,1.4fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}
.detail-spec:last-child{border-bottom:0}
.detail-spec span{color:var(--muted)}
.detail-spec strong{color:var(--text);font-weight:600;overflow-wrap:anywhere}
.object-item{display:flex;justify-content:space-between;gap:12px;align-items:center}
.object-item a{color:var(--pink-strong);font-weight:800;text-decoration:none}
.tab-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.tab-btn{
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--muted);
  cursor:pointer;
  font-size:10px;
  font-weight:800;
}
.tab-btn.active{background:var(--pink);border-color:var(--pink);color:#fff}
.tab-content>p{color:var(--muted);font-size:11px}
[data-platform="twitch"]{--platform-color:#9146ff}
[data-platform="discord"]{--platform-color:#5865f2}
.rules-tabs{gap:10px;margin-bottom:4px}
.rules-tabs .platform-tab{
  display:inline-flex;
  flex:1 1 0;
  min-width:0;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:10px 16px;
  border:1px solid color-mix(in srgb,var(--platform-color) 35%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--platform-color) 10%,var(--surface-strong));
  color:var(--text);
  font-size:14px;
}
.platform-icon{width:21px;height:21px;flex:0 0 21px;color:var(--platform-color)}
.rules-tabs .platform-tab.active{background:var(--platform-color);border-color:var(--platform-color);color:#fff;box-shadow:0 5px 18px color-mix(in srgb,var(--platform-color) 20%,transparent)}
.rules-tabs .platform-tab.active .platform-icon{color:inherit}
.rules-tabs .platform-tab:focus-visible{outline:3px solid var(--platform-color);outline-offset:3px}
.rules-document{max-width:72ch;margin:0 auto;color:var(--text);font-size:13px;line-height:1.75}
.rules-document p{margin:10px 0}
.rules-intro{padding:17px 19px;border-left:3px solid var(--platform-color);border-radius:0 16px 16px 0;background:var(--surface-soft)}
.rules-intro h3{margin:0 0 12px;font:400 clamp(20px,3vw,25px)/1.3 "DM Serif Display",serif}
.rules-intro p:last-child{margin-bottom:0;color:var(--muted)}
.rules-chapters{display:grid;gap:9px;margin-top:18px}
.rules-section{border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}
.rules-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;list-style:none;cursor:pointer;font-size:14px;font-weight:700;line-height:1.5}
.rules-section summary::-webkit-details-marker{display:none}
.rules-section summary:focus-visible{outline:2px solid var(--platform-color);outline-offset:2px;border-radius:14px}
.rules-chevron{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--platform-color) 12%,var(--surface-strong));color:var(--platform-color);font-size:20px;font-weight:400;line-height:1}
.rules-section[open]{border-color:color-mix(in srgb,var(--platform-color) 45%,var(--line))}
.rules-section[open] .rules-chevron{transform:rotate(45deg)}
.rules-section-body{padding:0 18px 16px;overflow-wrap:anywhere}
.rules-section-body ul{margin:5px 0;padding-left:20px}
.rules-section-body li{padding-left:3px;margin:8px 0}
.rules-section-body li::marker{color:var(--platform-color)}
.rules-emphasis{padding-top:10px;border-top:1px solid var(--line)}
.rules-footer{margin-top:18px;padding:17px 19px;border-radius:16px;background:color-mix(in srgb,var(--platform-color) 7%,var(--surface-soft))}
.rules-footer h3{margin:0;font-size:16px}
.schedule-list{display:grid;gap:7px}
.schedule-item{
  display:grid;
  grid-template-columns:120px 80px 1fr;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--surface);
  font-size:10px;
}
.schedule-day{font-weight:800}
.schedule-time{color:var(--pink-strong);font-weight:800}
.schedule-title{color:var(--muted)}
.schedule-note,.schedule-status{
  margin-top:10px;
  padding:10px 12px;
  border-radius:13px;
  background:var(--bg-soft);
  color:var(--muted);
  font-size:10px;
}
.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.modal-actions a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--pink),var(--pink-strong));
  text-decoration:none;
  font-size:10px;
  font-weight:800;
}
.modal-actions a.modal-action-featured{
  justify-content:center;
  gap:14px;
  width:min(100%,320px);
  min-height:56px;
  padding:16px 26px;
  border:1px solid rgba(255,255,255,.22);
  font-size:16px;
  line-height:1.3;
  text-align:center;
  box-shadow:0 10px 26px rgba(220,47,114,.28);
}
.modal-action-featured::after{content:"↗";font-size:20px}
.modal-actions a.modal-action-featured:hover{filter:brightness(1.08)}
.modal-actions a.modal-action-featured:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.music-modal-list{display:grid;gap:7px}
.music-album-playlist{justify-self:start;margin:0 0 6px;min-height:40px;font-size:11px}
.music-modal-track{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:15px;
  border:1px solid var(--line);
  background:var(--surface-soft);
}
.music-modal-track div{display:grid;gap:5px;min-width:0}
.music-modal-track b{font-size:14px;overflow-wrap:anywhere}
.music-modal-track span{color:var(--muted);font-size:11px}
.music-modal-track a{display:inline-flex;align-items:center;min-height:44px;color:var(--pink-strong);font-size:12px;font-weight:800;text-decoration:none}
.album-empty{display:grid;justify-items:center;padding:40px 20px;border:1px dashed var(--line-strong);border-radius:20px;color:var(--muted);text-align:center}
.album-empty>span{font-size:38px;color:var(--pink)}
.album-empty p{font-size:14px;line-height:1.6}
.command-list{display:grid;gap:8px;margin:0}
.command-group + .command-group{margin-top:24px}
.command-group h3{display:flex;align-items:center;gap:12px;margin:0 0 11px;color:var(--pink-strong);font-size:15px;font-weight:800}
.command-group h3::after{content:"";height:1px;flex:1;background:var(--line-strong)}
.command-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.6fr);gap:10px 20px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.command-row dt{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}
.command-row code{font-size:13px;font-weight:700;color:var(--pink-strong);overflow-wrap:anywhere}
.command-row dd{margin:0;color:var(--muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.command-access{padding:3px 7px;border-radius:999px;background:var(--bg-soft);color:var(--text);font-size:10px;font-weight:700}
.command-note{margin:14px 0 0;padding:14px 16px;border-radius:16px;background:var(--bg-soft);color:var(--muted);font-size:12px;line-height:1.7}

@media (max-width:1320px){
  .topbar{gap:14px}
  .nav a{padding:9px 9px;font-size:10px}
  .theme-toggle{width:40px;padding:0;font-size:0}
  .theme-toggle::first-letter{font-size:16px}
  .hero-stage{grid-template-columns:minmax(340px,520px) 1fr 300px}
  .hero h1{font-size:74px}
  .home-live-card{padding:13px}
  .main-mosaic{grid-template-columns:1.15fr .85fr}
  .news-zone{grid-template-columns:220px 1fr}
}

@media (max-width:1080px){
  .topbar{
    grid-template-columns:auto 1fr auto;
    padding-inline:18px;
  }
  .hero-stage{
    grid-template-columns:minmax(0,1fr) 290px;
    width:min(100% - 34px,1100px);
  }
  .hero-copy{grid-column:1}
  .home-live-card{grid-column:2}
  .hero h1{font-size:72px}
  .main-mosaic{grid-template-columns:1fr}
  .schedule-stage,.featured-panels,.news-zone{grid-column:1}
  .featured-panels{grid-template-columns:1fr 1fr}
  .news-zone{grid-template-columns:220px 1fr}
  .wide-sections{grid-template-columns:1fr 1fr}
  .social-flow-inner{grid-template-columns:220px 1fr}
}

@media (max-width:1180px){
  .nav{
    position:absolute;
    top:calc(100% + 8px);
    left:18px;
    right:18px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    max-height:70vh;
    overflow:auto;
    padding:10px;
    border-radius:20px;
    background:var(--surface-strong);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
  }
  .nav.open{display:flex}
  .nav a{font-size:12px}
  .menu-toggle{display:inline-flex}
  .contact-btn{display:none}
}

@media (max-width:760px){
  .command-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px}
  .music-modal-track{align-items:flex-start;flex-direction:column;gap:5px}
  .music-modal-track a{font-size:11px}
  body{padding-bottom:82px}
  body::before{opacity:.08}
  .topbar{
    min-height:64px;
    padding:8px 14px;
    background:color-mix(in srgb,var(--bg) 89%,transparent);
  }
  .brand-icon-wrap{width:39px;height:39px;border-radius:50%}
  .brand-icon-wrap img{width:100%;height:100%}
  .brand-copy strong{font-size:23px}
  .brand-copy small{font-size:7px}
  .top-actions{gap:5px}
  .theme-toggle{display:none}
  .menu-toggle{width:39px;height:39px}
  .hero{
    min-height:720px;
    background:
      linear-gradient(180deg,rgba(217,208,221,.62) 0%,rgba(160,122,149,.24) 45%,rgba(217,208,221,.88) 78%,rgba(217,208,221,.98) 100%),
      var(--blossom-image) 54% top / auto 100% no-repeat;
  }
  html[data-theme="dark"] .hero{
    background:
      linear-gradient(180deg,rgba(16,11,18,.36) 0%,rgba(16,11,18,.12) 45%,rgba(16,11,18,.82) 78%,rgba(16,11,18,.96) 100%),
      var(--blossom-image) 54% top / auto 100% no-repeat;
  }
  .hero-stage{
    width:100%;
    min-height:720px;
    padding:44px 18px 100px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:space-between;
    gap:18px;
  }
  .hero-copy{
    width:100%;
    max-width:430px;
    text-shadow:0 2px 14px rgba(255,255,255,.55);
  }
  html[data-theme="dark"] .hero-copy{text-shadow:0 2px 14px rgba(0,0,0,.5)}
  .eyebrow{font-size:8px}
  .hero h1{
    margin-top:11px;
    font-size:clamp(54px,17vw,78px);
    line-height:.74;
  }
  .hero h1 span:nth-child(2){margin-left:8px}
  .hero h1 em{margin-top:10px;margin-left:18px}
  .lead{margin-top:18px;font-size:17px}
  .hero-note{
    max-width:390px;
    font-size:11px;
    line-height:1.55;
  }
  .hero-actions{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .hero-actions::-webkit-scrollbar{display:none}
  .hero-actions a{flex:0 0 auto;min-height:41px;padding-inline:14px;font-size:10px}
  .scribble{margin:9px 0 0 30px;font-size:19px}
  .home-live-card{
    width:min(100%,440px);
    margin-left:auto;
    padding:11px;
    border-radius:23px 23px 8px 23px;
    backdrop-filter:blur(12px);
  }
  .home-live-thumb{min-height:88px}
  .home-live-copy{padding:9px 2px 7px}
  .home-live-copy h2{font-size:20px}
  .home-live-copy p{font-size:9px}
  .home-live-kicker{font-size:8px}
  .home-live-head strong{font-size:11px}
  .home-live-cta,.live-schedule-btn{min-height:36px;font-size:9px}
  .hero-wave{bottom:-43px;height:82px}

  .flow-section{width:100%}
  .systems-flow{margin-top:-8px;padding:8px 0 26px}
  .section-heading{
    padding:0 18px;
    align-items:flex-start;
    margin-bottom:14px;
  }
  .section-heading>p{display:none}
  .section-symbol{width:36px;height:36px;border-radius:13px 13px 13px 5px}
  .section-heading h2{font-size:24px}
  .section-kicker{font-size:8px}
  .systems-rail{padding:28px 18px 24px;gap:13px}
  .section-card{
    flex-basis:178px;
    min-height:224px;
    padding:38px 18px;
  }
  .section-card .card-title{font-size:24px}
  .section-card#points .card-title{font-size:20px}

  .showcase-flow{padding:0 0 22px}
  .showcase-ribbon{
    grid-template-columns:1fr;
    padding:14px 18px;
    border-radius:0;
    border-left:0;
    border-right:0;
  }
  .showcase-copy strong{font-size:17px}
  .showcase-tiles{
    grid-template-columns:1.2fr .8fr .9fr .8fr;
    overflow:hidden;
  }
  .showcase-tiles .tile-e{display:none}
  .tile{min-height:56px;font-size:9px}

  .main-mosaic{
    width:100%;
    display:block;
    padding:0 0 30px;
  }
  .schedule-stage{
    min-height:330px;
    border-radius:0 34px 34px 0;
    padding:21px 18px 22px;
    margin-right:18px;
  }
  .schedule-stage h2{font-size:29px}
  .schedule-open{font-size:8px;padding-inline:10px}
  .home-schedule-list{
    grid-template-columns:repeat(3,minmax(112px,1fr));
    overflow-x:auto;
    margin-top:44px;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .home-schedule-list::-webkit-scrollbar{display:none}
  .home-schedule-item{min-height:79px}
  .schedule-skyline{left:auto;right:16px;font-size:18px;bottom:18px}

  .featured-panels{
    display:flex;
    overflow-x:auto;
    gap:11px;
    padding:18px 18px 10px;
    scrollbar-width:none;
  }
  .featured-panels::-webkit-scrollbar{display:none}
  .gacherry-panel,.music-panel{
    flex:0 0 min(86vw,430px);
  }
  .gacherry-panel{
    min-height:190px;
    grid-template-columns:1.02fr .98fr;
    padding:15px;
  }
  .gacherry-copy h2,.music-panel h2{font-size:21px}
  .music-panel{min-height:190px}
  .music-list{grid-template-columns:1fr}
  .music-track:nth-child(n+3){display:none}

  .news-zone{
    margin:8px 18px 0;
    display:block;
    padding:18px;
    border-radius:8px 26px 26px 26px;
  }
  .news-zone-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:end;
    margin-bottom:12px;
  }
  .news-zone-head h2{font-size:25px}
  .scribble-small{font-size:15px;text-align:right}
  .news-strip{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .news-strip::-webkit-scrollbar{display:none}
  .news-strip article{
    flex:0 0 220px;
    min-height:86px;
  }
  .news-strip article:nth-child(even){transform:none}

  .extras-flow{padding:0 0 28px}
  .compact-heading{padding-top:10px}
  .wide-sections{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:0 18px 8px;
    scrollbar-width:none;
  }
  .wide-sections::-webkit-scrollbar{display:none}
  .wide-card{flex:0 0 min(82vw,350px);min-height:190px}

  .social-flow{padding:24px 18px 28px}
  .social-flow-inner{display:block}
  .social-copy{margin-bottom:14px}
  .social-copy h2{font-size:25px}
  .social-link{flex-basis:150px;min-height:54px}

  .footer-scene{min-height:175px}
  .footer-message strong{font-size:36px}
  .footer-message .scribble{font-size:23px}
  .links{
    width:100%;
    padding:18px;
    display:block;
  }
  .links h2{margin-bottom:12px}
  .links-row{justify-content:flex-start}
  .footer-bottom{
    width:100%;
    padding:13px 18px 22px;
    flex-direction:column;
    gap:5px;
  }

  .mobile-dock{
    position:fixed;
    left:10px;
    right:10px;
    bottom:9px;
    z-index:120;
    min-height:64px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    align-items:center;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom));
    border-radius:24px;
    background:color-mix(in srgb,var(--surface-strong) 88%,transparent);
    border:1px solid var(--line);
    box-shadow:0 16px 45px rgba(66,30,53,.2);
    backdrop-filter:blur(18px);
  }
  .mobile-dock a,.mobile-dock button{
    height:50px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    border:0;
    background:transparent;
    color:var(--muted);
    text-decoration:none;
    cursor:pointer;
  }
  .mobile-dock span{font-size:20px;line-height:1}
  .mobile-dock small{font-size:8px;font-weight:800}
  .mobile-dock .dock-main{
    width:58px;
    height:58px;
    justify-self:center;
    margin-top:-20px;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(145deg,var(--pink),var(--pink-strong));
    box-shadow:0 10px 25px rgba(220,47,114,.3);
  }
  .mobile-dock .dock-main span{font-size:22px}

  .modal{padding:12px}
  .modal-panel{
    max-height:88vh;
    padding:20px;
    border-radius:28px 9px 28px 28px;
  }
  .modal-panel>h2{font-size:29px}
  .schedule-item{grid-template-columns:1fr 70px;font-size:9px}
  .schedule-title{grid-column:1/-1}
  .object-item{align-items:flex-start;flex-direction:column}
}

@media (max-width:430px){
  .brand-copy small{display:none}
  .hero{min-height:690px}
  .hero-stage{min-height:690px}
  .hero h1{font-size:55px}
  .hero-note{max-width:300px}
  .home-live-card{max-width:360px}
  .section-heading h2{font-size:21px}
  .gacherry-panel{grid-template-columns:1fr}
  .gacherry-image-frame{display:none}
  .music-actions .panel-button{font-size:8px}
}

@media (prefers-reduced-motion:reduce){
  .schedule-live-status,.schedule-live-status .schedule-live-dot{animation:none}
  html{scroll-behavior:auto}
  .section-card,.section-card::before,.modal{transition:none}
  .section-card:hover,.section-card:active{transform:none}
  .section-card:hover::before{transform:translateX(-16%)}
  .modal.show .modal-panel{animation:none}
}


/* Cherry portrait: upper-body crop with a soft edge into the hero. */
.hero-character{
  grid-column:2;
  grid-row:1;
  position:relative;
  z-index:2;
  align-self:end;
  justify-self:center;
  width:clamp(300px,30vw,440px);
  height:470px;
  margin-bottom:-72px;
  pointer-events:none;
  user-select:none;
  isolation:isolate;
}
.hero-character::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:12% -12% 0;
  background:radial-gradient(ellipse,rgba(255,151,195,.42),rgba(239,131,190,.12) 45%,transparent 72%);
  filter:blur(20px);
}
.hero-character img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  mask-image:linear-gradient(to bottom,#000 74%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 74%,transparent 100%);
}
.hero-copy,.home-live-card{grid-row:1}
@media (min-width:761px) and (max-width:1080px){
  .hero-stage{grid-template-columns:minmax(0,1fr) 280px;row-gap:24px;padding-bottom:80px}
  .hero-character{width:300px;height:390px;margin-bottom:0}
  .home-live-card{grid-column:1/-1;grid-row:2;justify-self:end;max-width:360px}
}
@media (max-width:760px){
  .hero-stage{justify-content:flex-start;gap:20px}
  .hero-copy{order:1}
  .hero-character{order:2;flex:none;align-self:center;width:280px;height:330px;margin:-8px 0 -26px}
  .home-live-card{order:3;align-self:center;margin-left:0}
}

/* Short entrance and theme fades; no motion for reduced-motion users. */
@media (prefers-reduced-motion:no-preference){
  body.is-loaded .hero-character{animation:intro-assemble .5s .05s ease-out both}
  .home-live-thumb[data-state="offline"]{isolation:isolate}
  .home-live-thumb[data-state="offline"]::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:-35%;
    pointer-events:none;
    background:
      radial-gradient(ellipse at 25% 35%,rgba(255,112,179,.22),transparent 48%),
      radial-gradient(ellipse at 75% 65%,rgba(170,129,255,.24),transparent 48%);
    animation:offline-aurora 10s ease-in-out infinite alternate;
  }
  .home-live-thumb[data-state="offline"] .home-live-offline>span{
    animation:offline-sparkles 4s ease-in-out infinite;
  }
  .home-live-thumb[data-state="offline"] .home-live-offline strong{
    animation:offline-glow 5s ease-in-out infinite;
  }
  .hero-actions a,.panel-button:not(:disabled):not([aria-disabled="true"]),.social-link{
    transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
  }
  .social-link img{transition:transform .2s ease}
  .hero-actions a:active,.panel-button:not(:disabled):not([aria-disabled="true"]):active,.social-link:active{transform:scale(.97)}
  @media (hover:hover){
    .hero-actions a:hover,.panel-button:not(:disabled):not([aria-disabled="true"]):hover,.social-link:hover{
      transform:translateY(-2px);
      filter:brightness(1.07);
      box-shadow:0 7px 18px rgba(239,79,138,.2);
    }
    .social-link:hover img{transform:rotate(-5deg) scale(1.05)}
    .hero-actions a:active,.panel-button:not(:disabled):not([aria-disabled="true"]):active,.social-link:active{transform:scale(.97)}
  }
  body.is-loaded .topbar{animation:intro-header .4s ease-out both}
  body.is-loaded .hero-copy{animation:intro-assemble .44s .02s ease-out both}
  body.is-loaded .home-live-card{animation:intro-assemble .44s .06s ease-out both}
  body.is-loaded main > .flow-section{animation:intro-assemble .42s .08s ease-out both}
  ::view-transition{pointer-events:none}
  ::view-transition-group(root){animation-duration:.28s}
  ::view-transition-old(root){animation:theme-fade-out .22s ease-out both;mix-blend-mode:normal}
  ::view-transition-new(root){animation:theme-fade-in .28s .02s ease-out both;mix-blend-mode:normal}
}
@keyframes offline-aurora{
  from{transform:translate(-5%,-3%) rotate(-8deg);opacity:.55}
  to{transform:translate(5%,3%) rotate(8deg);opacity:1}
}
@keyframes offline-sparkles{
  0%,100%{transform:translateY(0);opacity:.7}
  50%{transform:translateY(-3px);opacity:1}
}
@keyframes offline-glow{
  0%,100%{text-shadow:0 2px 16px rgba(239,79,138,.2)}
  50%{text-shadow:0 2px 24px rgba(255,143,198,.5)}
}
@keyframes intro-header{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes intro-assemble{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
@keyframes theme-fade-out{from{opacity:1}to{opacity:0}}
@keyframes theme-fade-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  body.is-loaded{transition:none}
  .nav a,.nav-label,.nav a::after,.brand-copy strong,.brand-icon-wrap{transition:none}
  .nav a:hover,.nav a:active,.nav a:hover .nav-label,.brand:hover .brand-icon-wrap,.brand:hover .brand-copy strong{transform:none}
}
