:root {
  --ink: #f5fbff;
  --muted: #a8c0ce;
  --muted-strong: #c6d8e1;
  --bg: #07141e;
  --panel: #0f2938;
  --line: rgba(176, 220, 239, .17);
  --cyan: #16b9f3;
  --cyan-soft: rgba(22, 185, 243, .15);
  --green: #44df9a;
  --max: 1160px;
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: radial-gradient(circle at 82% 4%, rgba(19, 153, 211, .2), transparent 31rem),
    linear-gradient(180deg, #06131d 0%, var(--bg) 50%, #091c28 100%);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  margin: 0;
  min-width: 320px;
}
a { color: inherit; }
.wrap { margin-inline: auto; width: min(var(--max), calc(100% - 40px)); }
.site-header {
  backdrop-filter: blur(18px);
  background: rgba(6, 19, 29, .86);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 5;
}
.site-header__inner { align-items: center; display: flex; justify-content: space-between; min-height: 78px; }
.brand { align-items: center; display: inline-flex; text-decoration: none; }
.brand__logo { display: block; height: auto; width: 132px; }
.nav-list { display: flex; flex-wrap: wrap; gap: 5px; list-style: none; margin: 0; padding: 0; }
.nav-list a {
  border-radius: 10px;
  color: var(--muted-strong);
  display: block;
  font-size: .88rem;
  font-weight: 700;
  padding: 9px 11px;
  text-decoration: none;
}
.nav-list a:hover, .nav-list a:focus-visible { background: var(--cyan-soft); color: var(--ink); }
.nav-toggle { display: none; }
.nav-toggle summary { cursor: pointer; font-weight: 750; list-style: none; }
.nav-toggle summary::-webkit-details-marker { display: none; }
.nav-panel {
  background: #0b2433;
  border: 1px solid var(--line);
  border-radius: 13px;
  min-width: 210px;
  padding: 7px;
  position: absolute;
  right: 14px;
  top: 54px;
}
.page-hero { padding: 78px 0 58px; }
.page-hero__inner { max-width: 790px; }
.eyebrow {
  align-items: center;
  color: var(--cyan);
  display: flex;
  font-size: .76rem;
  font-weight: 850;
  gap: 8px;
  letter-spacing: .13em;
  margin: 0 0 17px;
  text-transform: uppercase;
}
.eyebrow__dot { background: var(--green); border-radius: 50%; box-shadow: 0 0 0 5px rgba(68, 223, 154, .12); height: 8px; width: 8px; }
h1, h2, h3 { line-height: 1.16; margin: 0; }
h1 { font-size: clamp(2.35rem, 5vw, 4.4rem); letter-spacing: -.055em; }
h2 { font-size: clamp(1.65rem, 3vw, 2.45rem); letter-spacing: -.035em; }
h3 { font-size: 1.06rem; }
.page-hero__lead { color: var(--muted); font-size: 1.06rem; margin: 17px 0 0; max-width: 700px; }
.page-section { padding: 35px 0 82px; }
.page-section--alt { background: rgba(11, 37, 53, .55); border-bottom: 1px solid rgba(176, 220, 239, .07); border-top: 1px solid rgba(176, 220, 239, .07); }
.floating-mascot {
  align-items: center;
  background: rgba(9, 30, 43, .92);
  border: 1px solid rgba(93, 218, 255, .38);
  border-radius: 999px;
  bottom: 20px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .3);
  display: flex;
  gap: 9px;
  padding: 7px 14px 7px 7px;
  position: fixed;
  right: 20px;
  text-decoration: none;
  z-index: 4;
  animation: floatingMascotBob 4.5s ease-in-out infinite;
}
.floating-mascot img {
  filter: drop-shadow(0 5px 6px rgba(0, 0, 0, .28));
  height: 56px;
  object-fit: contain;
  width: 56px;
}
.floating-mascot span { color: var(--ink); font-size: .78rem; font-weight: 800; }
.floating-mascot:hover { border-color: var(--cyan); transform: translateY(-3px); }
@keyframes floatingMascotBob { 0%, 100% { transform: translateY(2px); } 50% { transform: translateY(-7px); } }
.website-grid { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.website-link {
  align-items: center;
  background: rgba(255, 255, 255, .035);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--muted-strong);
  display: flex;
  font-size: .84rem;
  font-weight: 750;
  justify-content: space-between;
  padding: 12px 14px;
  text-decoration: none;
  transition: .2s ease;
}
.website-link::after { color: var(--cyan); content: "↗"; font-size: 1rem; }
.website-link:hover { background: var(--cyan-soft); border-color: rgba(22, 185, 243, .5); color: var(--ink); transform: translateY(-2px); }
.discord-panel { align-items: center; display: flex; gap: 22px; }
.discord-panel__qr { background: white; border-radius: 12px; height: 142px; padding: 8px; width: 142px; }
.discord-panel p { color: var(--muted); font-size: .9rem; margin: 8px 0 0; }
.discord-panel a { color: var(--cyan); }
.section-head { margin-bottom: 27px; }
.section-head p { color: var(--muted); margin: 10px 0 0; max-width: 740px; }
.panel, .article-card, .status-row, .notice {
  background: linear-gradient(145deg, rgba(18, 52, 72, .94), rgba(10, 31, 44, .94));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .16);
}
.panel { padding: 25px; }
.notice { align-items: flex-start; display: flex; gap: 14px; margin-bottom: 28px; padding: 18px 20px; }
.notice__icon { align-items: center; background: var(--cyan-soft); border-radius: 9px; color: var(--cyan); display: flex; flex: 0 0 34px; height: 34px; justify-content: center; }
.notice p { color: var(--muted); font-size: .9rem; margin: 0; }
.notice strong { color: var(--ink); }
.status-list { display: grid; gap: 10px; }
.status-row { align-items: center; display: grid; gap: 18px; grid-template-columns: 1.5fr 1fr .7fr 1fr auto; padding: 16px 18px; }
.status-row--head { background: transparent; border: 0; box-shadow: none; color: var(--muted); font-size: .73rem; font-weight: 800; letter-spacing: .08em; padding: 0 18px 5px; text-transform: uppercase; }
.status-row__name { font-weight: 750; }
.status-row__sub, .status-row__time { color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }
.status-pill { align-items: center; background: rgba(68, 223, 154, .13); border-radius: 99px; color: #8befbd; display: inline-flex; font-size: .76rem; font-weight: 850; gap: 7px; justify-self: start; padding: 5px 9px; }
.status-pill::before { background: var(--green); border-radius: 50%; content: ""; height: 7px; width: 7px; }
.button {
  border: 1px solid transparent;
  border-radius: 10px;
  display: inline-flex;
  font-size: .83rem;
  font-weight: 800;
  justify-content: center;
  padding: 9px 12px;
  text-decoration: none;
  transition: .2s ease;
  white-space: nowrap;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button--primary { background: var(--cyan); color: #03202c; }
.button--secondary { background: rgba(255, 255, 255, .05); border-color: var(--line); color: var(--ink); }
.button--secondary:hover, .button--secondary:focus-visible { background: rgba(255, 255, 255, .1); }
.timeline { display: grid; gap: 15px; grid-template-columns: repeat(4, 1fr); }
.timeline__item { border-left: 2px solid var(--cyan); padding: 0 15px; }
.timeline__item time { color: var(--cyan); font-size: .78rem; font-weight: 800; }
.timeline__item p { color: var(--muted); font-size: .86rem; margin: 8px 0 0; }
.card-grid { display: grid; gap: 17px; grid-template-columns: repeat(3, 1fr); }
.article-card { display: flex; flex-direction: column; min-height: 220px; padding: 22px; transition: transform .2s ease, border-color .2s ease; }
.article-card:hover { border-color: rgba(22, 185, 243, .55); transform: translateY(-4px); }
.article-card__tag { color: var(--cyan); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.article-card h3 { margin-top: 15px; }
.article-card p { color: var(--muted); font-size: .88rem; margin: 10px 0 20px; }
.article-card__meta { color: #7794a3; font-size: .75rem; margin-top: auto; }
.article-card__link { color: var(--cyan); font-size: .83rem; font-weight: 800; margin-top: 15px; text-decoration: none; }
.faq-list { border-top: 1px solid var(--line); max-width: 900px; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { align-items: center; cursor: pointer; display: flex; font-weight: 760; gap: 20px; justify-content: space-between; list-style: none; padding: 20px 4px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span:last-child { color: var(--cyan); font-size: 1.2rem; transition: transform .2s ease; }
.faq-item[open] summary span:last-child { transform: rotate(180deg); }
.faq-answer { color: var(--muted); font-size: .92rem; padding: 0 40px 22px 4px; }
.faq-answer a { color: var(--cyan); }
.site-footer { border-top: 1px solid var(--line); padding: 45px 0 22px; }
.site-footer__inner { align-items: flex-start; display: flex; justify-content: space-between; }
.site-footer__note { color: var(--muted); font-size: .8rem; margin: 13px 0 0; max-width: 390px; }
.site-footer__nav { display: flex; gap: 38px; }
.site-footer__nav ul { list-style: none; margin: 0; padding: 0; }
.site-footer__nav li + li { margin-top: 7px; }
.site-footer__nav a { color: var(--muted-strong); font-size: .82rem; text-decoration: none; }
.site-footer__nav a:hover { color: var(--cyan); }
.site-footer__legal { border-top: 1px solid var(--line); color: #7794a3; font-size: .73rem; margin-top: 32px; padding-top: 17px; }
.site-footer__legal p { margin: 0; }
@media (max-width: 850px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: block; position: relative; }
  .status-row { grid-template-columns: 1.3fr 1fr .7fr auto; }
  .status-row > :nth-child(3) { display: none; }
  .status-row--head > :nth-child(3) { display: none; }
  .timeline { grid-template-columns: repeat(2, 1fr); }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
  .wrap { width: min(var(--max), calc(100% - 28px)); }
  .site-header__inner { min-height: 67px; }
  .brand__logo { width: 112px; }
  .page-hero { padding: 54px 0 40px; }
  .page-section { padding: 25px 0 60px; }
  .status-row { align-items: start; grid-template-columns: 1fr auto; }
  .status-row--head { display: none; }
  .status-row__sub { grid-column: 1; }
  .status-row__time { grid-column: 1; }
  .status-row .button { grid-column: 2; grid-row: 1 / span 3; }
  .status-pill { grid-column: 2; grid-row: 1; }
  .timeline, .card-grid { grid-template-columns: 1fr; }
  .website-grid { grid-template-columns: 1fr; }
  .floating-mascot { bottom: 12px; right: 12px; }
  .floating-mascot img { height: 45px; width: 45px; }
  .floating-mascot span { font-size: .7rem; }
  .discord-panel { align-items: flex-start; flex-direction: column; }
  .site-footer__inner { display: block; }
  .site-footer__nav { margin-top: 28px; }
}

/* -------------------------------------------------------------------------
   Flixtv visual system
   Deep navy foundation, electric cyan controls and vivid magenta depth.
   This layer is shared by every document, including the home page.
   ------------------------------------------------------------------------- */
:root {
  --ink: #f7fbff;
  --muted: #9fb3c8;
  --muted-strong: #d7e6f4;
  --bg: #050914;
  --bg-deep: #02040b;
  --panel: #0b1222;
  --panel-strong: #111a2f;
  --line: rgba(181, 215, 255, .16);
  --cyan: #21e6ff;
  --cyan-bright: #8bf5ff;
  --cyan-soft: rgba(33, 230, 255, .13);
  --magenta: #d946ef;
  --magenta-bright: #f0abfc;
  --magenta-soft: rgba(217, 70, 239, .15);
  --green: #6df7bd;
  --shadow: 0 24px 70px rgba(0, 0, 0, .42);
  --radius: 20px;
  color-scheme: dark;
}

:root[data-theme="ocean"] {
  --bg: #031a25;
  --bg-deep: #01090f;
  --panel: #072735;
  --panel-strong: #0c3445;
  --line: rgba(143, 227, 255, .2);
  --cyan: #20d9ff;
  --cyan-bright: #a2f3ff;
  --cyan-soft: rgba(32, 217, 255, .14);
  --magenta: #18e0b5;
  --magenta-bright: #9affdf;
  --magenta-soft: rgba(24, 224, 181, .15);
  --green: #ffe66d;
}

:root[data-theme="sunset"] {
  --bg: #190b20;
  --bg-deep: #09040d;
  --panel: #29122e;
  --panel-strong: #35173b;
  --line: rgba(255, 205, 183, .19);
  --cyan: #ff9f43;
  --cyan-bright: #ffd29e;
  --cyan-soft: rgba(255, 159, 67, .15);
  --magenta: #ff3f81;
  --magenta-bright: #ffb1ca;
  --magenta-soft: rgba(255, 63, 129, .16);
  --green: #ffe36e;
}

:root[data-theme="light"] {
  --ink: #102333;
  --muted: #607587;
  --muted-strong: #354f63;
  --bg: #f7fbfe;
  --bg-deep: #eef7fc;
  --panel: #ffffff;
  --panel-strong: #ffffff;
  --line: rgba(29, 91, 126, .16);
  --cyan: #0ba9f6;
  --cyan-bright: #3cc1ff;
  --cyan-soft: rgba(11, 169, 246, .1);
  --magenta: #d80d5d;
  --magenta-bright: #f03c7e;
  --magenta-soft: rgba(216, 13, 93, .09);
  --green: #0e8d4a;
  --shadow: 0 18px 48px rgba(31, 78, 104, .13);
  color-scheme: light;
}

.theme-picker {
  align-items: center;
  background: rgba(255, 255, 255, .045);
  border: 1px solid var(--line);
  border-radius: 999px;
  display: flex;
  gap: 6px;
  margin-left: 12px;
  padding: 6px;
}
.theme-picker__button {
  border: 2px solid transparent;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 5px 12px rgba(0,0,0,.28);
  cursor: pointer;
  height: 20px;
  padding: 0;
  position: relative;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  width: 20px;
}
.theme-picker__button--neon { background: linear-gradient(135deg, #21e6ff 0 48%, #d946ef 52%); }
.theme-picker__button--ocean { background: linear-gradient(135deg, #20d9ff 0 48%, #18e0b5 52%); }
.theme-picker__button--sunset { background: linear-gradient(135deg, #ff9f43 0 48%, #ff3f81 52%); }
.theme-picker__button--light { background: linear-gradient(135deg, #ffffff 0 45%, #0ba9f6 46% 70%, #d80d5d 71%); }
.theme-picker__button:hover { transform: scale(1.16); }
.theme-picker__button.is-active {
  border-color: #fff;
  box-shadow: 0 0 0 3px var(--cyan-soft), 0 0 18px var(--cyan);
  transform: scale(1.12);
}
.theme-picker__button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }

::selection { background: var(--magenta); color: #fff; }
body {
  background:
    radial-gradient(ellipse 55% 38% at 90% 0%, rgba(33, 230, 255, .12), transparent 70%),
    radial-gradient(ellipse 45% 32% at 4% 32%, rgba(217, 70, 239, .1), transparent 72%),
    linear-gradient(145deg, var(--bg-deep) 0%, var(--bg) 48%, #080c1c 100%);
  overflow-x: hidden;
}
body::before {
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 56px 56px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(to bottom, #000, transparent 75%);
  opacity: .45;
  pointer-events: none;
  position: fixed;
  z-index: -1;
}
.site-header {
  background: rgba(3, 6, 16, .78);
  border-bottom-color: rgba(33, 230, 255, .16);
  box-shadow: 0 8px 35px rgba(0, 0, 0, .18);
  isolation: isolate;
}
.site-header::after {
  background: linear-gradient(90deg, transparent, var(--cyan), var(--magenta), transparent);
  bottom: -1px;
  content: "";
  height: 1px;
  left: 8%;
  opacity: .58;
  position: absolute;
  right: 8%;
}
.brand__logo { filter: drop-shadow(0 0 15px rgba(33, 230, 255, .22)); }
.nav-list a {
  border: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.nav-list a:hover, .nav-list a:focus-visible {
  background: linear-gradient(110deg, var(--cyan-soft), var(--magenta-soft));
  border-color: rgba(33, 230, 255, .25);
  color: #fff;
  transform: translateY(-1px);
}
.nav-toggle summary { color: var(--muted-strong); }
.nav-panel {
  background: rgba(8, 12, 29, .96);
  box-shadow: var(--shadow);
}
.eyebrow { color: var(--cyan); text-shadow: 0 0 24px rgba(33, 230, 255, .3); }
.eyebrow__dot {
  background: var(--magenta);
  box-shadow: 0 0 0 5px rgba(217, 70, 239, .14), 0 0 18px rgba(217, 70, 239, .8);
}
h1, h2, h3 { text-wrap: balance; }
h1 {
  background: linear-gradient(115deg, #fff 15%, var(--cyan-bright) 56%, var(--magenta-bright));
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  filter: drop-shadow(0 12px 34px rgba(33, 230, 255, .1));
}
h2 { color: #f4f8ff; }
.button {
  border-radius: 12px;
  letter-spacing: .01em;
  transition: box-shadow .25s ease, background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.button:hover, .button:focus-visible { box-shadow: 0 10px 26px rgba(33, 230, 255, .16); }
.button--primary {
  background: linear-gradient(110deg, var(--cyan), #75f2ff);
  box-shadow: 0 9px 28px rgba(33, 230, 255, .19);
  color: #03111b;
}
.button--primary:hover, .button--primary:focus-visible {
  background: linear-gradient(110deg, #83f5ff, var(--cyan));
  box-shadow: 0 12px 34px rgba(33, 230, 255, .32);
}
.button--secondary {
  background: linear-gradient(110deg, rgba(217, 70, 239, .16), rgba(255,255,255,.045));
  border-color: rgba(217, 70, 239, .38);
}
.button--secondary:hover, .button--secondary:focus-visible {
  background: var(--magenta-soft);
  border-color: var(--magenta);
}
.button--ghost:hover, .button--ghost:focus-visible {
  background: var(--cyan-soft);
  border-color: var(--cyan);
}
.hero, .page-hero { position: relative; }
.hero::before, .page-hero::before {
  background: radial-gradient(circle, rgba(33, 230, 255, .14), rgba(217, 70, 239, .07) 38%, transparent 70%);
  border-radius: 50%;
  content: "";
  height: 38rem;
  pointer-events: none;
  position: absolute;
  right: -15rem;
  top: -15rem;
  width: 38rem;
  animation: visualPulse 9s ease-in-out infinite alternate;
}
.hero::after, .page-hero::after {
  border: 1px solid rgba(217, 70, 239, .15);
  border-radius: 50%;
  content: "";
  height: 27rem;
  pointer-events: none;
  position: absolute;
  right: -8rem;
  top: -8rem;
  transform: rotate(-20deg);
  width: 40rem;
  animation: visualOrbit 20s linear infinite;
}
.hero > .wrap, .page-hero > .wrap { position: relative; z-index: 1; }
.hero__panel, .panel, .article-card, .status-row, .notice, .contact-card, .callout {
  background:
    linear-gradient(145deg, rgba(18, 27, 52, .91), rgba(6, 10, 25, .95)),
    radial-gradient(circle at 100% 0%, var(--magenta-soft), transparent 42%);
  border-color: rgba(181, 215, 255, .2);
  box-shadow: var(--shadow);
}
.hero__panel, .panel { backdrop-filter: blur(14px); }
.hero__panel {
  isolation: isolate;
  overflow: visible;
}
.hero__panel::after, .panel::after, .article-card::after, .contact-card::after {
  background: linear-gradient(100deg, transparent 15%, rgba(33, 230, 255, .5), rgba(217, 70, 239, .55), transparent 85%);
  content: "";
  height: 1px;
  left: 10%;
  opacity: .5;
  position: absolute;
  right: 10%;
  top: 0;
}
.hero__panel, .panel, .article-card, .contact-card { position: relative; }
.hero__visual::before {
  background: radial-gradient(circle, rgba(33, 230, 255, .4), rgba(217, 70, 239, .2) 43%, transparent 70%);
  filter: blur(4px);
}
.hero__visual::after {
  border-color: rgba(33, 230, 255, .65);
  box-shadow: 0 0 22px rgba(217, 70, 239, .28), inset 0 0 18px rgba(33, 230, 255, .12);
}
.hero__mascot { filter: drop-shadow(0 22px 18px rgba(0,0,0,.48)) drop-shadow(0 0 15px rgba(33,230,255,.18)); }
.floating-mascot {
  background: rgba(5, 9, 22, .86);
  border-color: rgba(33, 230, 255, .44);
  box-shadow: 0 18px 42px rgba(0,0,0,.5), 0 0 26px rgba(217, 70, 239, .1);
  isolation: isolate;
  overflow: visible;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.floating-mascot::before {
  border: 1px solid rgba(217, 70, 239, .54);
  border-radius: 50%;
  content: "";
  inset: -7px -12px;
  pointer-events: none;
  position: absolute;
  transform: rotate(-15deg);
  z-index: -1;
  animation: visualOrbit 12s linear infinite reverse;
}
.floating-mascot::after {
  background: radial-gradient(circle, rgba(33, 230, 255, .22), transparent 68%);
  content: "";
  inset: -25px;
  pointer-events: none;
  position: absolute;
  z-index: -2;
}
.floating-mascot img { filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .45)) drop-shadow(0 0 9px rgba(33,230,255,.2)); }
.floating-mascot:hover, .floating-mascot:focus-visible {
  border-color: var(--cyan);
  box-shadow: 0 20px 46px rgba(0,0,0,.55), 0 0 30px rgba(33, 230, 255, .2);
  transform: translateY(-4px);
}
.section, .page-section { position: relative; }
.section--alt, .page-section--alt {
  background: linear-gradient(110deg, rgba(13, 18, 39, .7), rgba(21, 8, 32, .48));
  border-color: rgba(181, 215, 255, .1);
}
.contact-card, .article-card, .status-row, .notice, .steps__item, .website-link {
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease, background .3s ease;
}
.contact-card:hover, .article-card:hover, .steps__item:hover, .status-row:not(.status-row--head):hover, .notice:hover {
  border-color: rgba(33, 230, 255, .48);
  box-shadow: 0 25px 58px rgba(0, 0, 0, .46), 0 0 25px rgba(33, 230, 255, .08);
}
.contact-card--telegram { border-top-color: var(--cyan); }
.contact-card--email { border-top-color: var(--magenta); }
.contact-card--discord { border-top-color: var(--magenta); }
.contact-card__icon { background: linear-gradient(135deg, var(--cyan-soft), var(--magenta-soft)); }
.contact-card--email .contact-card__icon { color: var(--magenta-bright); }
.contact-card__value { color: #fff; }
.badge--backup { background: var(--magenta-soft); color: var(--magenta-bright); }
.link-arrow, .article-card__link, .rich-text a, .faq-answer a, .discord-panel a { color: var(--cyan); }
.link-arrow:hover, .article-card__link:hover, .site-footer__nav a:hover { color: var(--cyan-bright); }
.website-link:hover {
  background: linear-gradient(100deg, var(--cyan-soft), var(--magenta-soft));
  border-color: rgba(33, 230, 255, .54);
  box-shadow: 0 10px 26px rgba(0,0,0,.24);
}
.website-link::after { color: var(--magenta-bright); }
.status-pill {
  background: rgba(109, 247, 189, .12);
  color: #9bffd2;
}
.status-pill::before { box-shadow: 0 0 10px var(--green); }
.timeline__item { border-left-color: var(--magenta); }
.timeline__item time, .article-card__tag { color: var(--cyan); }
.notice__icon, .callout__icon { background: var(--magenta-soft); color: var(--magenta-bright); }
.faq-item { border-bottom-color: var(--line); }
.faq-item summary span:last-child, .faq-item__marker { color: var(--cyan); }
.site-footer { background: rgba(2, 4, 11, .36); border-top-color: rgba(33, 230, 255, .16); }
.site-footer__legal { border-top-color: var(--line); }
.toast { background: linear-gradient(110deg, #dffffa, #f4d9ff); color: #0a1421; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
}

/* JS adds this attribute only to content that can be safely revealed. */
[data-motion] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);
}
[data-motion].is-visible { opacity: 1; transform: none; }
[data-tilt] { transform-style: preserve-3d; will-change: transform; }
[data-tilt]::before { transform: translateZ(1px); }
@keyframes visualPulse { to { opacity: .58; transform: scale(1.1) translate(-2%, 3%); } }
@keyframes visualOrbit { to { transform: rotate(340deg); } }

@media (max-width: 700px) {
  .hero::before, .page-hero::before { right: -22rem; }
  .hero::after, .page-hero::after { right: -18rem; }
  .hero__panel::after, .panel::after { left: 7%; right: 7%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  [data-motion] { opacity: 1; transform: none; }
}

/* Home components and the shared mascot stage. These rules live here so PHP
   pages never need a page-specific style block. */
.skip-link {
  background: var(--cyan); color: #03111b; font-weight: 800; left: 14px;
  padding: 8px 12px; position: absolute; top: -60px; z-index: 20;
}
.skip-link:focus { top: 14px; }
.hero { padding: 76px 0 84px; }
.hero__grid { align-items: center; display: grid; gap: 58px; grid-template-columns: minmax(0, 1fr) minmax(390px, .88fr); }
.hero__intro { position: relative; z-index: 1; }
.hero__aside { min-width: 0; perspective: 1200px; position: relative; z-index: 1; }
.hero__lead { color: var(--muted); font-size: 1.12rem; margin: 23px 0 28px; max-width: 620px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button--large { padding: 14px 19px; }
.button small { color: currentColor; display: block; font-size: .72rem; font-weight: 600; opacity: .75; }
.hero__jump { margin: 25px 0 0; }
.hero__status { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: .84rem; gap: 14px; margin: 28px 0 0; }
.status-badge { align-items: center; display: inline-flex; font-size: .78rem; font-weight: 800; gap: 8px; }
.status-badge__dot { background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px rgba(109,247,189,.11); height: 7px; width: 7px; }
.status-badge--online { color: #9bffd2; }
.hero__panel { margin-top: 48px; padding: 27px; position: relative; }
.hero__panel--animated { padding-top: 148px; }
.hero__visual {
  align-items: center; display: flex; height: 198px; justify-content: center;
  pointer-events: none; position: absolute; right: 24px; top: -87px; width: 240px; z-index: 1;
}
.hero__visual::before {
  background: radial-gradient(circle, rgba(33,230,255,.4), rgba(217,70,239,.2) 43%, transparent 70%);
  border-radius: 50%; content: ""; height: 210px; position: absolute; width: 210px;
  animation: mascotGlow 3.6s ease-in-out infinite;
}
.hero__visual::after {
  border: 1px solid rgba(33,230,255,.65); border-radius: 50%; content: "";
  height: 164px; position: absolute; transform: rotate(-16deg); width: 214px;
  animation: visualOrbit 12s linear infinite;
}
.hero__mascot {
  filter: drop-shadow(0 22px 18px rgba(0,0,0,.48)) drop-shadow(0 0 15px rgba(33,230,255,.18));
  max-height: 238px; max-width: 225px; object-fit: contain; position: relative;
  transform-origin: 50% 85%; animation: mascotFloat 5s ease-in-out infinite; z-index: 2;
}
.hero__bubble {
  background: rgba(239,252,255,.96); border-radius: 12px 12px 12px 2px; bottom: -4px;
  box-shadow: 0 10px 24px rgba(0,0,0,.28); color: #073043; font-size: .72rem;
  font-weight: 850; left: -26px; padding: 8px 11px; position: absolute; white-space: nowrap; z-index: 3;
  animation: bubbleBob 4s ease-in-out infinite;
}
.hero__bubble::after { border-color: transparent #effcff transparent transparent; border-style: solid; border-width: 6px 8px 6px 0; bottom: 5px; content: ""; left: -7px; position: absolute; }
.hero__panel-title { align-items: center; display: flex; font-size: 1.05rem; gap: 10px; margin-bottom: 20px; }
.hero__panel-title .icon { color: var(--cyan); }
.hero__panel-foot { border-top: 1px solid var(--line); margin: 21px 0 0; padding-top: 19px; }
.icon { fill: currentColor; height: 20px; width: 20px; }
.contact-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.contact-grid--panel { grid-template-columns: 1fr; }
.contact-card { display: flex; flex-direction: column; min-width: 0; padding: 21px; }
.contact-card--whatsapp { border-top: 3px solid #22d366; }
.contact-card--telegram { border-top: 3px solid var(--cyan); }
.contact-card--email, .contact-card--discord { border-top: 3px solid var(--magenta); }
.contact-card__head { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.contact-card__identity { align-items: center; display: flex; gap: 11px; min-width: 0; }
.contact-card__icon { align-items: center; background: linear-gradient(135deg,var(--cyan-soft),var(--magenta-soft)); border-radius: 10px; color: var(--cyan); display: flex; flex: 0 0 40px; height: 40px; justify-content: center; width: 40px; }
.contact-card--whatsapp .contact-card__icon { color: #48e782; }
.contact-card--email .contact-card__icon { color: var(--magenta-bright); }
.contact-card__label { font-size: 1rem; }
.contact-card__account { color: var(--muted); font-size: .78rem; margin: 2px 0 0; overflow-wrap: anywhere; }
.badge { border-radius: 99px; font-size: .67rem; font-weight: 850; letter-spacing: .05em; padding: 4px 8px; text-transform: uppercase; white-space: nowrap; }
.badge--primary { background: rgba(109,247,189,.14); color: #9bffd2; }
.badge--backup { background: var(--magenta-soft); color: var(--magenta-bright); }
.contact-card__value { color: #fff; font-size: 1.06rem; font-weight: 800; margin: 20px 0 5px; overflow-wrap: anywhere; }
.contact-card__description { color: var(--muted); font-size: .88rem; margin: 14px 0 20px; }
.contact-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.contact-card__actions .button { flex: 1; min-width: 118px; }
.discord-panel { align-items: center; display: flex; gap: 22px; }
.discord-panel__qr { background: white; border-radius: 12px; height: 142px; padding: 8px; width: 142px; }
.discord-panel p { color: var(--muted); font-size: .9rem; margin: 8px 0 0; }
.section { padding: 83px 0; position: relative; }
.section--alt { background: linear-gradient(110deg,rgba(13,18,39,.7),rgba(21,8,32,.48)); border-bottom: 1px solid rgba(181,215,255,.1); border-top: 1px solid rgba(181,215,255,.1); }
.section__head { margin-bottom: 32px; max-width: 720px; }
.section__lead { color: var(--muted); font-size: 1rem; margin: 12px 0 0; }
.section__foot { margin: 30px 0 0; text-align: center; }
.wrap--narrow { max-width: 900px; }
.steps { max-width: 1000px; }
.steps__list { display: grid; gap: 16px; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; }
.steps__item { background: rgba(255,255,255,.035); border: 1px solid var(--line); border-radius: 15px; padding: 19px; }
.steps__number { align-items: center; background: var(--cyan); border-radius: 50%; color: #052330; display: flex; font-size: .85rem; font-weight: 900; height: 29px; justify-content: center; margin-bottom: 18px; width: 29px; }
.steps__item h3 { font-size: 1rem; }
.steps__item p { color: var(--muted); font-size: .84rem; margin: 9px 0 0; }
.callout { align-items: flex-start; display: flex; gap: 17px; margin-inline: auto; max-width: 880px; padding: 26px; }
.callout__icon { align-items: center; background: var(--magenta-soft); border-radius: 11px; color: var(--magenta-bright); display: flex; flex: 0 0 44px; height: 44px; justify-content: center; }
.callout h2 { font-size: 1.2rem; }
.callout p { color: var(--muted); font-size: .92rem; margin: 9px 0 0; }
.callout__foot { margin-top: 15px !important; }
.page-mascot-scene {
  height: 1px; pointer-events: none; position: absolute; right: clamp(2rem,9vw,9rem); top: 115px; width: 150px; z-index: 2;
}
.page-mascot-scene img {
  filter: drop-shadow(0 16px 14px rgba(0,0,0,.5)) drop-shadow(0 0 16px rgba(33,230,255,.25));
  height: 125px; object-fit: contain; position: relative; width: 125px; animation: mascotFloat 5.2s ease-in-out infinite;
}
.page-mascot-scene__orbit { border: 1px solid rgba(33,230,255,.5); border-radius: 50%; height: 105px; left: 20px; position: absolute; top: 8px; width: 145px; animation: visualOrbit 13s linear infinite; }
.page-mascot-scene__orbit--two { border-color: rgba(217,70,239,.5); height: 75px; left: 35px; top: 22px; transform: rotate(52deg); animation-duration: 9s; animation-direction: reverse; }
@keyframes mascotFloat { 0%,100% { transform: translateY(4px) rotate(-1deg); } 50% { transform: translateY(-9px) rotate(1.5deg); } }
@keyframes mascotGlow { 0%,100% { opacity: .65; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes bubbleBob { 0%,100% { transform: translateY(2px); } 50% { transform: translateY(-4px); } }
@media (max-width: 900px) {
  .hero__grid { gap: 35px; grid-template-columns: 1fr; }
  .hero { padding-top: 57px; }
  .hero__panel--animated { margin-top: 83px; }
  .steps__list { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .wrap { width: min(var(--max), calc(100% - 28px)); }
  .hero { padding: 48px 0 63px; }
  .hero__actions .button { flex: 1; min-width: 145px; }
  .hero__panel--animated { margin-top: 75px; padding-top: 143px; }
  .hero__visual { right: 50%; transform: translateX(50%); }
  .contact-grid { grid-template-columns: 1fr; }
  .section { padding: 63px 0; }
  .steps__list { grid-template-columns: 1fr; }
  .discord-panel { align-items: flex-start; flex-direction: column; }
  .page-mascot-scene { right: 1rem; transform: scale(.72); transform-origin: top right; }
  .callout { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-mascot-scene, .hero__visual { display: none; }
}

/* Theme-aware finishing layer. All prominent surfaces derive from the selected
   palette so the selector changes the whole experience, not only button color. */
body {
  background:
    radial-gradient(ellipse 58% 42% at 92% 0%, color-mix(in srgb, var(--cyan) 16%, transparent), transparent 70%),
    radial-gradient(ellipse 50% 38% at 2% 34%, color-mix(in srgb, var(--magenta) 13%, transparent), transparent 72%),
    linear-gradient(145deg, var(--bg-deep) 0%, var(--bg) 52%, var(--panel) 130%);
  transition: background-color .35s ease, color .25s ease;
}
.site-header {
  background: color-mix(in srgb, var(--bg-deep) 80%, transparent);
  border-bottom-color: color-mix(in srgb, var(--cyan) 18%, transparent);
}
.nav-panel { background: color-mix(in srgb, var(--panel) 96%, var(--bg-deep)); }
.hero::before, .page-hero::before {
  background: radial-gradient(circle,
    color-mix(in srgb, var(--cyan) 16%, transparent),
    color-mix(in srgb, var(--magenta) 9%, transparent) 40%,
    transparent 70%);
}
.hero::after, .page-hero::after { border-color: color-mix(in srgb, var(--magenta) 20%, transparent); }
.hero__panel, .panel, .article-card, .status-row, .notice, .contact-card, .callout {
  background:
    linear-gradient(145deg,
      color-mix(in srgb, var(--panel-strong) 91%, transparent),
      color-mix(in srgb, var(--bg-deep) 96%, transparent)),
    radial-gradient(circle at 100% 0%, var(--magenta-soft), transparent 43%);
  border-color: color-mix(in srgb, var(--cyan-bright) 20%, transparent);
}
.section--alt, .page-section--alt {
  background: linear-gradient(110deg,
    color-mix(in srgb, var(--panel) 70%, transparent),
    color-mix(in srgb, var(--magenta) 8%, var(--bg-deep)));
  border-color: color-mix(in srgb, var(--cyan) 11%, transparent);
}
.hero__visual::before {
  background: radial-gradient(circle,
    color-mix(in srgb, var(--cyan) 43%, transparent),
    color-mix(in srgb, var(--magenta) 22%, transparent) 43%,
    transparent 70%);
}
.hero__visual::after, .page-mascot-scene__orbit {
  border-color: color-mix(in srgb, var(--cyan) 67%, transparent);
}
.page-mascot-scene__orbit--two { border-color: color-mix(in srgb, var(--magenta) 65%, transparent); }
.hero__mascot, .page-mascot-scene img {
  filter:
    drop-shadow(0 20px 17px rgba(0,0,0,.52))
    drop-shadow(0 0 17px color-mix(in srgb, var(--cyan) 28%, transparent));
}
.floating-mascot {
  background: color-mix(in srgb, var(--panel) 92%, transparent);
  border-color: color-mix(in srgb, var(--cyan) 42%, transparent);
}
@media (max-width: 1040px) {
  .theme-picker { margin-left: auto; margin-right: 10px; }
  .nav-desktop { display: none; }
  .nav-toggle { display: block; position: relative; }
}
@media (max-width: 520px) {
  .theme-picker { gap: 5px; margin-right: 8px; padding: 5px; }
  .theme-picker__button { height: 18px; width: 18px; }
  .brand__logo { width: 112px; }
}

/* Premium 3D card system */
.hero__panel, .panel, .article-card, .status-row:not(.status-row--head),
.contact-card, .mascot-showcase, .callout, .faq-item, .steps__item, .website-link {
  --mx: 50%;
  --my: 50%;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transform-style: preserve-3d;
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    border-color .3s ease,
    box-shadow .3s ease,
    background .3s ease;
  will-change: transform;
}
.hero__panel::before, .panel::before, .article-card::before,
.status-row:not(.status-row--head)::before, .contact-card::before,
.mascot-showcase::before, .callout::before, .faq-item::before, .steps__item::before, .website-link::before {
  background: radial-gradient(380px circle at var(--mx) var(--my),
    color-mix(in srgb, var(--cyan) 17%, transparent),
    color-mix(in srgb, var(--magenta) 7%, transparent) 42%,
    transparent 72%);
  content: "";
  inset: 0;
  opacity: .28;
  pointer-events: none;
  position: absolute;
  transition: opacity .3s ease;
  z-index: -1;
}
.hero__panel::after, .panel::after, .article-card::after,
.status-row:not(.status-row--head)::after, .contact-card::after,
.mascot-showcase::after, .callout::after, .faq-item::after, .steps__item::after {
  background: linear-gradient(112deg,
    transparent 18%,
    color-mix(in srgb, #fff 8%, transparent) 40%,
    color-mix(in srgb, var(--cyan) 10%, transparent) 48%,
    transparent 62%);
  content: "";
  inset: -70% -45%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-35%) rotate(8deg);
  transition: opacity .3s ease, transform .75s cubic-bezier(.2,.8,.2,1);
  z-index: 3;
}
.hero__panel:hover, .panel:hover, .article-card:hover,
.status-row:not(.status-row--head):hover, .contact-card:hover,
.mascot-showcase:hover, .callout:hover, .faq-item:hover, .steps__item:hover, .website-link:hover {
  border-color: color-mix(in srgb, var(--cyan) 48%, var(--magenta));
  box-shadow:
    0 30px 75px rgba(0,0,0,.48),
    0 0 0 1px color-mix(in srgb, var(--cyan) 16%, transparent),
    0 0 36px color-mix(in srgb, var(--magenta) 11%, transparent);
}
.hero__panel:hover::before, .panel:hover::before, .article-card:hover::before,
.status-row:not(.status-row--head):hover::before, .contact-card:hover::before,
.mascot-showcase:hover::before, .callout:hover::before, .faq-item:hover::before, .steps__item:hover::before,
.website-link:hover::before { opacity: 1; }
.hero__panel:hover::after, .panel:hover::after, .article-card:hover::after,
.status-row:not(.status-row--head):hover::after, .contact-card:hover::after,
.mascot-showcase:hover::after, .callout:hover::after, .faq-item:hover::after, .steps__item:hover::after {
  opacity: 1;
  transform: translateX(35%) rotate(8deg);
}
.contact-card > *, .panel > *, .article-card > *, .callout > *,
.steps__item > *, .status-row > * {
  position: relative;
  transform: translateZ(18px);
  z-index: 2;
}
.contact-card__icon, .steps__number, .callout__icon {
  box-shadow: 0 11px 24px rgba(0,0,0,.25), 0 0 22px var(--cyan-soft);
  transform: translateZ(30px);
}
@media (hover: none), (pointer: coarse) {
  .hero__panel, .panel, .article-card, .status-row:not(.status-row--head),
  .contact-card, .mascot-showcase, .callout, .faq-item, .steps__item, .website-link {
    transform: none !important;
    will-change: auto;
  }
}

.mascot-showcase {
  background:
    radial-gradient(circle at 72% 18%, var(--cyan-soft), transparent 35%),
    radial-gradient(circle at 18% 88%, var(--magenta-soft), transparent 42%),
    linear-gradient(145deg, color-mix(in srgb, var(--panel-strong) 94%, transparent), color-mix(in srgb, var(--bg-deep) 96%, transparent));
  border: 1px solid color-mix(in srgb, var(--cyan) 30%, var(--line));
  border-radius: 28px;
  box-shadow: 0 35px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
  min-height: 530px;
  padding: 28px;
}
.mascot-showcase__scene {
  align-items: center;
  display: flex;
  height: 300px;
  justify-content: center;
  perspective: 900px;
  position: relative;
}
.mascot-showcase__scene::before {
  background: radial-gradient(circle, color-mix(in srgb, var(--cyan) 30%, transparent), color-mix(in srgb, var(--magenta) 13%, transparent) 44%, transparent 70%);
  border-radius: 50%;
  content: "";
  height: 280px;
  position: absolute;
  width: 280px;
  animation: mascotGlow 3.8s ease-in-out infinite;
}
.mascot-showcase__scene img {
  filter: drop-shadow(0 30px 20px rgba(0,0,0,.55)) drop-shadow(0 0 22px color-mix(in srgb, var(--cyan) 31%, transparent));
  height: 285px;
  object-fit: contain;
  position: relative;
  transform-origin: 50% 88%;
  animation: mascotFloat 4.8s ease-in-out infinite;
  z-index: 3;
}
.mascot-showcase__ring {
  border: 1px solid color-mix(in srgb, var(--cyan) 65%, transparent);
  border-radius: 50%;
  height: 185px;
  position: absolute;
  width: 270px;
  animation: visualOrbit 12s linear infinite;
}
.mascot-showcase__ring--two {
  border-color: color-mix(in srgb, var(--magenta) 65%, transparent);
  height: 235px;
  transform: rotate(62deg);
  width: 170px;
  animation-direction: reverse;
  animation-duration: 9s;
}
.mascot-showcase__platform {
  background: radial-gradient(ellipse, color-mix(in srgb, var(--cyan) 36%, transparent), transparent 70%);
  border: 1px solid color-mix(in srgb, var(--cyan) 35%, transparent);
  border-radius: 50%;
  bottom: 14px;
  box-shadow: 0 0 35px var(--cyan-soft);
  height: 28px;
  position: absolute;
  width: 190px;
  animation: platformPulse 3.2s ease-in-out infinite;
}
.mascot-showcase__copy {
  border-top: 1px solid var(--line);
  padding-top: 23px;
  position: relative;
  text-align: center;
  transform: translateZ(24px);
  z-index: 4;
}
.mascot-showcase__label {
  color: var(--cyan);
  display: block;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .14em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.mascot-showcase__copy h2 { font-size: clamp(1.35rem, 2.4vw, 1.85rem); }
.mascot-showcase__copy p { color: var(--muted); font-size: .9rem; margin: 10px auto 18px; max-width: 380px; }
@keyframes platformPulse {
  0%,100% { opacity: .65; transform: scaleX(.9); }
  50% { opacity: 1; transform: scaleX(1.08); }
}
@media (max-width: 650px) {
  .mascot-showcase { min-height: 485px; padding: 21px; }
  .mascot-showcase__scene { height: 270px; }
  .mascot-showcase__scene img { height: 255px; }
}

/* Compact homepage guide: deliberately smaller than the previous hero card,
   with its message attached to the character as a speech bubble. */
.mascot-showcase {
  display: grid;
  grid-template-rows: 245px auto;
  min-height: 0;
  padding: 22px;
}
.mascot-showcase__scene {
  height: 245px;
  transition: transform .18s cubic-bezier(.2,.8,.2,1);
  transform-style: preserve-3d;
}
.mascot-showcase__scene::before { height: 220px; width: 220px; }
.mascot-showcase__scene img {
  display: block;
  height: 218px;
  max-width: 210px;
  opacity: 1;
  visibility: visible;
}
.mascot-showcase__ring { height: 138px; width: 218px; }
.mascot-showcase__ring--two { height: 188px; width: 132px; }
.mascot-showcase__platform { bottom: 5px; width: 150px; }
.mascot-showcase__bubble {
  animation: speechBubbleFloat 3.4s ease-in-out infinite;
  background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--cyan-bright) 18%, #fff));
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 17px 17px 17px 5px;
  box-shadow: 0 15px 38px rgba(0,0,0,.34), 0 0 24px var(--cyan-soft);
  color: #081424;
  font-size: .82rem;
  font-weight: 900;
  line-height: 1.35;
  margin: 0;
  max-width: 190px;
  padding: 11px 13px;
  position: absolute;
  right: -5px;
  text-align: left;
  top: 18px;
  transform-origin: 0 100%;
  z-index: 6;
}
.mascot-showcase__bubble::after {
  border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 11px 10px 0 0;
  bottom: -10px;
  content: "";
  left: 18px;
  position: absolute;
}
.mascot-showcase__copy {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  justify-content: space-between;
  padding-top: 18px;
  text-align: left;
}
.mascot-showcase__copy .mascot-showcase__label { flex: 1 0 100%; margin: 0; }
.mascot-showcase__copy p { flex: 1 1 190px; margin: 0; }
.mascot-showcase__copy .button { flex: 0 0 auto; }
@keyframes speechBubbleFloat {
  0%,100% { transform: translateY(2px) rotate(-1deg) scale(.98); }
  50% { transform: translateY(-7px) rotate(1deg) scale(1.02); }
}
@media (max-width: 650px) {
  .mascot-showcase { grid-template-rows: 230px auto; min-height: 0; padding: 18px; }
  .mascot-showcase__scene { height: 230px; }
  .mascot-showcase__scene img { height: 200px; max-width: 190px; }
  .mascot-showcase__bubble { font-size: .74rem; max-width: 155px; right: -2px; top: 10px; }
  .mascot-showcase__copy { align-items: stretch; flex-direction: column; }
  .mascot-showcase__copy p { flex-basis: auto; }
  .mascot-showcase__copy .button { text-align: center; width: 100%; }
}

/* Inline mascot guide inspired by the clean reference layout: compact,
   visible beside the message, and pointing toward the contact panel. */
.hero__panel { margin-top: 0; }
.mascot {
  align-items: center;
  display: flex;
  gap: 13px;
  margin-top: 28px;
  opacity: 1;
  position: relative;
  visibility: visible;
}
.mascot__figure {
  flex: none;
  position: relative;
  transform-origin: 50% 100%;
  animation: mascotEntrance .7s ease-out both;
}
.mascot__image {
  --mascot-x: 0px;
  --mascot-y: 0px;
  display: block;
  filter: drop-shadow(0 13px 12px rgba(0,0,0,.42)) drop-shadow(0 0 13px var(--cyan-soft));
  height: auto;
  max-width: none;
  opacity: 1;
  translate: var(--mascot-x) var(--mascot-y);
  transition: translate .18s ease-out;
  visibility: visible;
  width: 138px;
  animation: mascotGuideFloat 5.6s ease-in-out .7s infinite;
}
.mascot__bubble {
  animation: mascotBubbleEntrance .65s .15s ease-out both, mascotBubbleBreathe 4.2s 1s ease-in-out infinite;
  background: linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--cyan-bright) 15%, #fff));
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 15px 15px 15px 4px;
  box-shadow: 0 14px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  color: #081525;
  font-size: .95rem;
  font-weight: 900;
  line-height: 1.4;
  margin: 0;
  max-width: 21ch;
  padding: 12px 15px;
  position: relative;
}
.mascot__bubble::after {
  background: #fff;
  border-bottom: 1px solid rgba(255,255,255,.9);
  border-left: 1px solid rgba(255,255,255,.9);
  bottom: 15px;
  content: "";
  height: 12px;
  left: -7px;
  position: absolute;
  transform: rotate(45deg);
  width: 12px;
}
.mascot__pointer {
  align-items: center;
  background: linear-gradient(135deg, var(--cyan), var(--magenta));
  border: 3px solid var(--panel);
  border-radius: 50%;
  box-shadow: 0 7px 18px var(--cyan-soft);
  color: #fff;
  display: inline-flex;
  flex: none;
  font-size: 1.05rem;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.mascot__pointer--down {
  bottom: -12px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  animation: mascotPointDown 1.8s ease-in-out infinite;
}
.mascot__pointer--right { display: none; animation: mascotPointRight 1.8s ease-in-out infinite; }
@media (min-width: 900px) {
  .mascot { gap: 16px; margin-top: 34px; }
  .mascot__image { width: 190px; }
  .mascot__bubble { font-size: 1rem; max-width: 22ch; padding: 14px 17px; }
  .mascot__pointer--down { display: none; }
  .mascot__pointer--right { display: inline-flex; }
}
@keyframes mascotEntrance {
  from { opacity: 0; transform: translateY(13px) scale(.96); }
  to { opacity: 1; transform: none; }
}
@keyframes mascotGuideFloat {
  0%,100% { transform: translateY(0) rotate(0deg); }
  28% { transform: translateY(-7px) rotate(-1.2deg); }
  62% { transform: translateY(-3px) rotate(1deg); }
}
@keyframes mascotBubbleEntrance {
  from { opacity: 0; transform: translateY(8px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes mascotBubbleBreathe {
  0%,100% { box-shadow: 0 14px 34px rgba(0,0,0,.28), 0 0 0 transparent; }
  50% { box-shadow: 0 16px 38px rgba(0,0,0,.32), 0 0 24px var(--cyan-soft); }
}
@keyframes mascotPointRight {
  0%,100% { transform: translateX(0); }
  50% { transform: translateX(8px); }
}
@keyframes mascotPointDown {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(7px); }
}
@media (max-width: 520px) {
  .mascot { align-items: flex-end; gap: 10px; }
  .mascot__image { width: 118px; }
  .mascot__bubble { font-size: .84rem; padding: 11px 13px; }
}

/* 3D buttons — isolated finishing layer; no layout or content changes. */
.button {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transform: translate3d(0, 0, 0);
  transform-style: preserve-3d;
  transition:
    transform .18s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s ease,
    border-color .22s ease,
    filter .22s ease;
}
.button::before {
  background: linear-gradient(115deg, transparent 18%, rgba(255,255,255,.34) 45%, transparent 66%);
  content: "";
  inset: -80% -45%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-55%) rotate(8deg);
  transition: transform .58s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
  z-index: -1;
}
.button::after {
  background: linear-gradient(90deg, var(--cyan), var(--magenta));
  border-radius: inherit;
  bottom: -5px;
  content: "";
  filter: blur(7px);
  height: 8px;
  left: 12%;
  opacity: .35;
  pointer-events: none;
  position: absolute;
  right: 12%;
  transition: opacity .2s ease, transform .2s ease;
  z-index: -2;
}
.button:hover, .button:focus-visible {
  filter: saturate(1.08) brightness(1.05);
  transform: perspective(650px) translateY(-3px) rotateX(4deg) translateZ(7px);
}
.button:hover::before, .button:focus-visible::before {
  opacity: 1;
  transform: translateX(55%) rotate(8deg);
}
.button:hover::after, .button:focus-visible::after {
  opacity: .72;
  transform: translateY(3px) scaleX(1.08);
}
.button:active {
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
  filter: brightness(.98);
  transform: perspective(650px) translateY(1px) rotateX(0) translateZ(0) scale(.985);
}

/* Animated 3D website cards. */
.website-grid { perspective: 1200px; }
.website-link {
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--cyan-soft), transparent 48%),
    linear-gradient(145deg, color-mix(in srgb, var(--panel-strong) 92%, transparent), color-mix(in srgb, var(--bg-deep) 96%, transparent));
  border-color: color-mix(in srgb, var(--cyan) 23%, var(--line));
  box-shadow: 0 14px 32px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.06);
  min-height: 66px;
  padding: 16px 18px;
  transform-style: preserve-3d;
}
.website-link::before {
  background:
    linear-gradient(90deg, var(--cyan), var(--magenta));
  border-radius: 99px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 16px;
  opacity: .45;
  position: absolute;
  right: 54%;
  top: auto;
  transform: translateZ(14px);
  transition: right .35s ease, opacity .35s ease, box-shadow .35s ease;
  z-index: 2;
}
.website-link::after {
  align-items: center;
  background: linear-gradient(135deg, var(--cyan-soft), var(--magenta-soft));
  border: 1px solid color-mix(in srgb, var(--cyan) 25%, transparent);
  border-radius: 10px;
  color: var(--cyan-bright);
  content: "↗";
  display: flex;
  font-size: 1rem;
  height: 34px;
  justify-content: center;
  opacity: 1;
  position: relative;
  transform: translateZ(24px) rotate(0deg);
  transition: transform .28s cubic-bezier(.2,.8,.2,1), background .28s ease, box-shadow .28s ease;
  width: 34px;
}
.website-link:hover, .website-link:focus-visible {
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--cyan) 19%, transparent), transparent 48%),
    linear-gradient(145deg, color-mix(in srgb, var(--panel-strong) 96%, transparent), color-mix(in srgb, var(--magenta) 8%, var(--bg-deep)));
  box-shadow:
    0 24px 48px rgba(0,0,0,.42),
    0 0 0 1px color-mix(in srgb, var(--cyan) 16%, transparent),
    0 0 28px color-mix(in srgb, var(--magenta) 10%, transparent);
}
.website-link:hover::before, .website-link:focus-visible::before {
  box-shadow: 0 0 15px var(--cyan);
  opacity: 1;
  right: 16px;
}
.website-link:hover::after, .website-link:focus-visible::after {
  background: linear-gradient(135deg, var(--cyan), var(--magenta));
  box-shadow: 0 9px 20px var(--cyan-soft);
  color: #fff;
  transform: translateZ(32px) rotate(8deg) scale(1.08);
}
@media (hover: none), (pointer: coarse) {
  .button:hover, .website-link:hover { transform: none; }
}

/* MyZEEFLIX-inspired light theme */
:root[data-theme="light"] body {
  background:
    radial-gradient(900px 360px at 10% -5%, rgba(11,169,246,.1), transparent 64%),
    radial-gradient(760px 320px at 96% 8%, rgba(216,13,93,.07), transparent 62%),
    linear-gradient(180deg, #ffffff, #f7fbfe 52%, #f2f9fd);
}
:root[data-theme="light"] body::before {
  background-image: linear-gradient(rgba(22,90,127,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,90,127,.035) 1px, transparent 1px);
  opacity: .5;
}
:root[data-theme="light"] .site-header {
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 28px rgba(31,78,104,.08);
}
:root[data-theme="light"] .nav-panel { background: rgba(255,255,255,.98); }
:root[data-theme="light"] .theme-picker {
  background: #f3f8fb;
  box-shadow: inset 0 1px 3px rgba(31,78,104,.08);
}
:root[data-theme="light"] h1 {
  background: linear-gradient(115deg, #102333 12%, #087fbd 58%, #d80d5d);
  background-clip: text;
  -webkit-background-clip: text;
}
:root[data-theme="light"] h2,
:root[data-theme="light"] h3,
:root[data-theme="light"] .contact-card__value { color: var(--ink); }
:root[data-theme="light"] .hero__panel,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .article-card,
:root[data-theme="light"] .status-row,
:root[data-theme="light"] .notice,
:root[data-theme="light"] .contact-card,
:root[data-theme="light"] .callout,
:root[data-theme="light"] .faq-item {
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,252,255,.98)),
    radial-gradient(circle at 100% 0%, var(--magenta-soft), transparent 43%);
  border-color: rgba(32,112,153,.17);
  box-shadow: var(--shadow);
}
:root[data-theme="light"] .hero__panel:hover,
:root[data-theme="light"] .panel:hover,
:root[data-theme="light"] .article-card:hover,
:root[data-theme="light"] .status-row:not(.status-row--head):hover,
:root[data-theme="light"] .contact-card:hover,
:root[data-theme="light"] .callout:hover,
:root[data-theme="light"] .faq-item:hover {
  box-shadow: 0 25px 58px rgba(31,78,104,.16), 0 0 0 1px rgba(11,169,246,.15);
}
:root[data-theme="light"] .section--alt,
:root[data-theme="light"] .page-section--alt {
  background: linear-gradient(110deg, rgba(234,246,254,.82), rgba(253,240,245,.72));
  border-color: rgba(32,112,153,.1);
}
:root[data-theme="light"] .button--primary { color: #052235; }
:root[data-theme="light"] .button--secondary,
:root[data-theme="light"] .button--ghost { color: var(--ink); }
:root[data-theme="light"] .status-badge--online,
:root[data-theme="light"] .badge--primary { color: #08763e; }
:root[data-theme="light"] .badge--backup { color: #a50949; }
:root[data-theme="light"] .steps__item {
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 32px rgba(31,78,104,.08);
}
:root[data-theme="light"] .website-link {
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--cyan-soft), transparent 48%),
    linear-gradient(145deg, #ffffff, #f5faff);
  color: var(--muted-strong);
  box-shadow: 0 12px 30px rgba(31,78,104,.1), inset 0 1px 0 #fff;
}
:root[data-theme="light"] .website-link:hover,
:root[data-theme="light"] .website-link:focus-visible {
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(11,169,246,.14), transparent 50%),
    linear-gradient(145deg, #ffffff, #fdf0f5);
  color: var(--ink);
  box-shadow: 0 22px 45px rgba(31,78,104,.16), 0 0 0 1px rgba(11,169,246,.12);
}
:root[data-theme="light"] .site-footer {
  background: #eef7fc;
  border-top-color: rgba(32,112,153,.12);
}
:root[data-theme="light"] .floating-mascot {
  background: rgba(255,255,255,.94);
  box-shadow: 0 15px 36px rgba(31,78,104,.16);
}
:root[data-theme="light"] .mascot__pointer { border-color: #fff; }
:root[data-theme="light"] .discord-panel__qr { border: 1px solid rgba(32,112,153,.12); }