:root {
  --bg: #071019;
  --bg-soft: #0b1621;
  --bg-elevated: #101e2b;
  --panel: rgba(14, 29, 42, .78);
  --panel-strong: #102131;
  --text: #edf7ff;
  --muted: #92a7b7;
  --line: rgba(146, 196, 226, .14);
  --cyan: #1ed6f4;
  --cyan-strong: #00bff0;
  --blue: #168ddd;
  --blue-deep: #0a5fa6;
  --ice: #a7efff;
  --danger: #ff6b7e;
  --success: #5ee6b0;
  --warning: #f4c86b;
  --radius: 22px;
  --radius-sm: 15px;
  --shadow: 0 28px 80px rgba(0,0,0,.34);
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 12% 8%, rgba(0, 184, 240, .10), transparent 24rem),
    radial-gradient(circle at 86% 12%, rgba(19, 113, 197, .13), transparent 26rem),
    linear-gradient(180deg, #071019 0%, #09131d 46%, #071019 100%);
  font-family: "Segoe UI Variable", "Segoe UI", Inter, Arial, sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 72%);
  z-index: -2;
}

::selection { background: rgba(30, 214, 244, .26); color: white; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input { font: inherit; }

.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.section { padding: 94px 0; position: relative; }
.section.compact { padding: 64px 0; }
.section-kicker {
  color: var(--cyan);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .76rem;
  font-weight: 800;
  margin: 0 0 14px;
}
.section-title {
  margin: 0;
  max-width: 760px;
  font-size: clamp(2rem, 4.8vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 780;
}
.section-copy {
  margin: 22px 0 0;
  max-width: 720px;
  color: var(--muted);
  font-size: 1.05rem;
}

/* NAV */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(6, 15, 24, .72);
  border-bottom: 1px solid rgba(125, 189, 223, .10);
  backdrop-filter: blur(18px) saturate(130%);
}
.nav {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { display: flex; align-items: center; gap: 13px; min-width: max-content; }
.brand img { width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 0 18px rgba(30,214,244,.16)); }
.brand-copy { display: grid; line-height: 1.05; }
.brand-copy strong { font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; }
.brand-copy span { color: #6f8799; font-size: .71rem; letter-spacing: .15em; text-transform: uppercase; margin-top: 5px; }
.nav-links { display: flex; align-items: center; gap: 6px; }
.nav-links a {
  color: #abc0cf;
  font-size: .91rem;
  font-weight: 650;
  padding: 10px 14px;
  border-radius: 11px;
  transition: .2s ease;
}
.nav-links a:hover, .nav-links a.active { color: white; background: rgba(100, 188, 230, .08); }
.nav-cta {
  border: 1px solid rgba(30,214,244,.24);
  background: rgba(30,214,244,.07) !important;
  color: #c9f8ff !important;
}
.menu-toggle {
  display: none;
  width: 46px; height: 46px;
  border-radius: 13px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.03);
  color: white;
  cursor: pointer;
}
.menu-toggle span { display: block; width: 19px; height: 2px; background: currentColor; margin: 4px auto; border-radius: 99px; }

/* HERO */
.hero { padding: 90px 0 80px; min-height: 760px; display: grid; align-items: center; overflow: clip; }
.hero::after {
  content: "";
  position: absolute;
  inset: 80px -18vw auto auto;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 146, 218, .13), transparent 66%);
  filter: blur(12px);
  z-index: -1;
}
.hero-grid { display: grid; grid-template-columns: 1.07fr .93fr; gap: 60px; align-items: center; }
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  color: #c5e8f5;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 9px 13px;
  border: 1px solid rgba(114, 195, 231, .16);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
}
.hero-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
.hero h1 {
  margin: 25px 0 0;
  font-size: clamp(3.4rem, 7.7vw, 7.1rem);
  line-height: .88;
  letter-spacing: -.07em;
  font-weight: 790;
  max-width: 760px;
}
.hero h1 .gradient {
  display: block;
  color: transparent;
  background: linear-gradient(95deg, #eefcff 5%, #6de7ff 45%, #0c9ee4 90%);
  -webkit-background-clip: text;
  background-clip: text;
}
.hero-lead { margin: 28px 0 0; color: #a8bfce; max-width: 650px; font-size: clamp(1.05rem, 1.8vw, 1.28rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 19px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.08);
  font-weight: 740;
  font-size: .92rem;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, #18cdeb, #0b8ed8); color: #001018; border-color: transparent; box-shadow: 0 12px 32px rgba(0,169,226,.18); }
.btn-secondary { background: rgba(255,255,255,.04); color: #e9f8ff; }
.btn-secondary:hover { border-color: rgba(65,205,242,.28); background: rgba(31,145,196,.08); }
.btn-small { min-height: 42px; padding: 0 14px; font-size: .85rem; }
.btn-disabled { opacity: .5; pointer-events: none; }
.hero-meta { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 42px; color: #7e97a9; font-size: .83rem; }
.hero-meta span { display: flex; align-items: center; gap: 8px; }
.hero-meta i { width: 5px; height: 5px; background: #4acfea; border-radius: 50%; display: inline-block; }

.hero-visual { position: relative; min-height: 540px; display: grid; place-items: center; }
.hero-logo-orbit {
  position: absolute;
  width: min(92vw, 500px); height: min(92vw, 500px);
  border-radius: 50%;
  border: 1px solid rgba(67, 190, 232, .10);
  box-shadow: inset 0 0 80px rgba(0,179,229,.035), 0 0 120px rgba(0,113,181,.09);
}
.hero-logo-orbit::before, .hero-logo-orbit::after {
  content: "";
  position: absolute;
  inset: 9%; border-radius: 50%;
  border: 1px dashed rgba(71, 201, 237, .12);
}
.hero-logo-orbit::after { inset: 22%; border-style: solid; opacity: .45; }
.hero-logo {
  width: min(76vw, 405px);
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 0 34px rgba(0, 186, 235, .22)) drop-shadow(0 24px 50px rgba(0,0,0,.5));
  animation: float 6.5s ease-in-out infinite;
}
.float-card {
  position: absolute;
  z-index: 3;
  width: 200px;
  padding: 16px 17px;
  border: 1px solid rgba(109, 203, 240, .14);
  border-radius: 16px;
  background: rgba(8, 23, 34, .78);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
}
.float-card strong { display: block; font-size: .86rem; margin-bottom: 3px; }
.float-card span { color: #7f9aae; font-size: .75rem; }
.float-card.one { left: -12px; bottom: 88px; }
.float-card.two { right: -14px; top: 92px; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 14px rgba(94,230,176,.7); display: inline-block; margin-right: 8px; }
@keyframes float { 0%,100%{ transform: translateY(0) rotate(-.5deg);} 50%{ transform: translateY(-12px) rotate(.6deg);} }

/* STATS / MARQUEE */
.strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.012); }
.strip-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.strip-item { padding: 23px 26px; border-right: 1px solid var(--line); }
.strip-item:last-child { border-right: 0; }
.strip-item strong { display: block; font-size: .92rem; }
.strip-item span { display: block; color: #718a9c; font-size: .77rem; margin-top: 4px; }

/* FEATURE CARDS */
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 42px; }
.feature-card, .info-card, .step-card, .rule-card, .faq-item {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(18,36,50,.82), rgba(10,24,36,.78));
  border-radius: var(--radius);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}
.feature-card { padding: 26px; min-height: 240px; position: relative; overflow: hidden; transition: .24s ease; }
.feature-card::after {
  content: ""; position: absolute; width: 160px; height: 160px; right: -90px; top: -90px;
  border-radius: 50%; background: rgba(28,190,235,.08); filter: blur(2px);
}
.feature-card:hover { transform: translateY(-4px); border-color: rgba(73,203,237,.22); }
.icon-box { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; border: 1px solid rgba(65,204,239,.16); background: rgba(39,183,224,.07); color: #65e5ff; font-weight: 900; }
.feature-card h3 { font-size: 1.16rem; margin: 33px 0 9px; }
.feature-card p { color: #8ea6b7; margin: 0; font-size: .92rem; }
.feature-tag { position: absolute; right: 18px; bottom: 18px; color: #4f758d; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

/* SPLIT / PANELS */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; }
.story-panel { padding: 36px; border: 1px solid var(--line); border-radius: 28px; background: rgba(12,26,38,.76); position: relative; overflow: hidden; min-height: 390px; }
.story-panel::before { content:""; position:absolute; inset:auto -60px -100px auto; width:300px; height:300px; border-radius:50%; background: radial-gradient(circle,rgba(0,184,240,.11),transparent 68%); }
.story-panel h3 { margin: 0; font-size: clamp(1.8rem,3.4vw,3.2rem); line-height: 1; letter-spacing: -.045em; max-width: 500px; }
.story-panel p { color: #90a8b8; max-width: 520px; margin: 20px 0 0; }
.pill-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.pill { padding: 8px 11px; border-radius: 999px; font-size: .74rem; font-weight: 700; color: #bdebf6; border: 1px solid rgba(84,196,231,.15); background: rgba(52,163,199,.06); }

/* CTA */
.cta-band {
  border: 1px solid rgba(95,201,234,.15);
  background:
    radial-gradient(circle at 75% 50%, rgba(0,171,225,.14), transparent 34%),
    linear-gradient(125deg, rgba(20,43,60,.96), rgba(8,22,33,.96));
  border-radius: 30px;
  padding: 44px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 34px;
  align-items: center;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.cta-band h2 { margin: 0; font-size: clamp(2rem,4vw,3.8rem); letter-spacing: -.055em; line-height: .97; }
.cta-band p { margin: 13px 0 0; color: #92aabd; max-width: 670px; }
.cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* PAGE HERO */
.page-hero { padding: 80px 0 54px; border-bottom: 1px solid var(--line); }
.page-hero-grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; }
.page-hero h1 { margin: 0; font-size: clamp(3rem,7vw,6.5rem); letter-spacing: -.065em; line-height: .9; }
.page-hero p { color: #8fa8b9; max-width: 670px; font-size: 1.04rem; margin: 24px 0 0; }
.page-logo { width: 125px; filter: drop-shadow(0 0 26px rgba(28,205,241,.17)); opacity: .82; }

/* TEAMSPeak */
.notice { padding: 18px 20px; border: 1px solid rgba(244,200,107,.20); border-radius: 16px; background: rgba(244,200,107,.055); color: #d8c99f; margin-top: 28px; }
.notice strong { color: #f2dcaa; }
.download-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 34px; }
.download-card { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: rgba(14,30,42,.72); }
.download-card .label { color: #65daf5; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.download-card h3 { margin: 12px 0 8px; font-size: 1.14rem; }
.download-card p { margin: 0 0 20px; color: #829bac; font-size: .86rem; min-height: 64px; }
.steps { display: grid; gap: 14px; margin-top: 34px; }
.step-card { padding: 24px; display: grid; grid-template-columns: 54px 1fr; gap: 18px; align-items: start; }
.step-num { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(34,206,242,.16), rgba(15,123,196,.11)); border: 1px solid rgba(63,193,232,.18); color: #78e8ff; font-weight: 900; }
.step-card h3 { margin: 1px 0 5px; font-size: 1.05rem; }
.step-card p { margin: 0; color: #89a2b4; font-size: .92rem; }
.step-card code, .code { font-family: Consolas, "SFMono-Regular", monospace; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.07); border-radius: 7px; padding: 2px 6px; color: #bbf4ff; }
.checklist { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; margin-top: 28px; }
.checkitem { padding: 18px 19px; border: 1px solid var(--line); border-radius: 15px; color: #9cb2c2; background: rgba(255,255,255,.018); }
.checkitem strong { color: #e9f8ff; display: block; margin-bottom: 3px; }

/* RULES */
.rules-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 28px; align-items: start; }
.rules-sidebar { position: sticky; top: 104px; border: 1px solid var(--line); border-radius: 18px; padding: 13px; background: rgba(10,25,36,.82); }
.rules-sidebar .sidebar-title { color: #657f91; font-size: .7rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; padding: 8px 10px 11px; }
.rules-sidebar a { display: block; padding: 10px 11px; border-radius: 10px; color: #91a9ba; font-size: .88rem; font-weight: 650; }
.rules-sidebar a:hover, .rules-sidebar a.active { background: rgba(42,167,211,.08); color: #dffaff; }
.rules-content { min-width: 0; }
.rule-section { scroll-margin-top: 110px; margin-bottom: 32px; }
.rule-section h2 { font-size: clamp(1.7rem,3vw,2.6rem); letter-spacing: -.04em; margin: 0 0 14px; }
.rule-card { padding: 25px; }
.rule-card p { color: #94aaba; margin-top: 0; }
.rule-list { margin: 0; padding-left: 1.2rem; color: #a2b8c7; }
.rule-list li { margin: 11px 0; padding-left: 5px; }
.rules-placeholder { border: 1px dashed rgba(97,201,236,.27); border-radius: 20px; padding: 32px; background: rgba(25,92,124,.05); }
.rules-placeholder h3 { margin-top: 0; }
.rules-placeholder p { color: #8fa8b9; margin-bottom: 0; }
.rule-source { margin-top: 14px; color: #668195; font-size: .78rem; }

/* FAQ */
.faq { display: grid; gap: 10px; margin-top: 30px; }
.faq-item { padding: 0; overflow: hidden; }
.faq-button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 19px 21px; color: white; background: transparent; border: 0; cursor: pointer; text-align: left; font-weight: 720; }
.faq-button span:last-child { color: #68dff6; font-size: 1.2rem; transition: transform .2s ease; }
.faq-answer { display: none; padding: 0 21px 20px; color: #89a3b5; font-size: .91rem; }
.faq-item.open .faq-answer { display: block; }
.faq-item.open .faq-button span:last-child { transform: rotate(45deg); }

/* FOOTER */
.footer { border-top: 1px solid var(--line); padding: 32px 0 44px; margin-top: 20px; }
.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand img { width: 36px; }
.footer-brand strong { font-size: .9rem; }
.footer-note { color: #607b8e; font-size: .75rem; margin-top: 9px; max-width: 650px; }
.footer-links { display: flex; gap: 18px; flex-wrap: wrap; color: #7893a6; font-size: .8rem; }
.footer-links a:hover { color: #d9f8ff; }

/* UTILITY */
.divider { height: 1px; background: var(--line); }
.muted { color: var(--muted); }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width: 980px) {
  .nav-links { position: fixed; inset: 78px 16px auto 16px; display: none; flex-direction: column; align-items: stretch; padding: 12px; background: rgba(7,18,27,.97); border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow); }
  .nav-links.open { display: flex; }
  .menu-toggle { display: block; }
  .hero { padding-top: 58px; min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero-visual { min-height: 460px; }
  .hero-logo { width: min(68vw, 350px); }
  .hero-logo-orbit { width: min(83vw, 440px); height: min(83vw, 440px); }
  .float-card.one { left: 4%; }
  .float-card.two { right: 4%; }
  .feature-grid { grid-template-columns: repeat(2,1fr); }
  .strip-grid { grid-template-columns: repeat(2,1fr); }
  .strip-item:nth-child(2) { border-right: 0; }
  .strip-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .split { grid-template-columns: 1fr; }
  .cta-band { grid-template-columns: 1fr; }
  .download-grid { grid-template-columns: 1fr; }
  .download-card p { min-height: auto; }
  .rules-layout { grid-template-columns: 1fr; }
  .rules-sidebar { position: static; display: flex; overflow-x: auto; gap: 4px; }
  .rules-sidebar .sidebar-title { display: none; }
  .rules-sidebar a { white-space: nowrap; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 26px, var(--max)); }
  .section { padding: 72px 0; }
  .nav { min-height: 70px; }
  .nav-links { inset-top: 70px; }
  .brand-copy span { display: none; }
  .hero h1 { font-size: clamp(3.2rem, 17vw, 5.2rem); }
  .hero-lead { font-size: 1rem; }
  .hero-visual { min-height: 370px; }
  .float-card { width: 165px; padding: 12px 13px; }
  .float-card.one { bottom: 30px; }
  .float-card.two { top: 48px; }
  .strip-grid, .feature-grid, .checklist { grid-template-columns: 1fr; }
  .strip-item, .strip-item:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .strip-item:last-child { border-bottom: 0; }
  .story-panel, .cta-band { padding: 28px; }
  .page-hero { padding-top: 54px; }
  .page-hero-grid { grid-template-columns: 1fr; }
  .page-logo { display: none; }
  .step-card { grid-template-columns: 44px 1fr; padding: 19px; gap: 13px; }
  .step-num { width: 40px; height: 40px; }
  .footer-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}


/* RULEBOOK 2.0 */
.rules-hero { padding-bottom: 62px; }
.rule-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.rule-meta span { border:1px solid rgba(67,190,232,.14); background:rgba(28,155,205,.055); color:#8fb3c7; padding:7px 10px; border-radius:999px; font-size:.72rem; font-weight:750; letter-spacing:.03em; }
.rules-shell { padding-top:34px; }
.rule-switch { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line); background:rgba(8,20,30,.72); border-radius:14px; margin-bottom:20px; }
.rule-switch a { padding:10px 14px; border-radius:10px; color:#7e9aac; font-size:.86rem; font-weight:750; transition:.2s ease; }
.rule-switch a:hover { color:#dff9ff; }
.rule-switch a.active { color:#eafbff; background:linear-gradient(135deg,rgba(18,177,225,.16),rgba(15,106,180,.11)); box-shadow:inset 0 0 0 1px rgba(78,210,241,.12); }
.rule-search-wrap { margin-bottom:28px; max-width:680px; }
.rule-search-label { display:block; color:#6d899c; font-size:.7rem; text-transform:uppercase; letter-spacing:.14em; font-weight:850; margin:0 0 8px 3px; }
.rule-search-box { min-height:50px; border:1px solid var(--line); background:rgba(8,21,31,.72); border-radius:14px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:0 12px 0 15px; transition:.2s ease; }
.rule-search-box:focus-within { border-color:rgba(37,207,241,.31); box-shadow:0 0 0 4px rgba(24,192,231,.055); }
.rule-search-box > span { color:#57d9f1; font-size:1.35rem; transform:translateY(-1px); }
.rule-search-box input { width:100%; border:0; outline:0; background:transparent; color:#e9f9ff; font-size:.92rem; }
.rule-search-box input::placeholder { color:#557386; }
.rule-search-box button { border:0; background:transparent; color:#607f91; cursor:pointer; font-size:1.3rem; width:30px; height:30px; border-radius:8px; }
.rule-search-box button:hover { color:#d8f7ff; background:rgba(255,255,255,.035); }
.rule-search-status { min-height:19px; margin:7px 0 0 3px; color:#58798c; font-size:.73rem; }
.rule-panel { border:1px solid var(--line); background:linear-gradient(180deg,rgba(14,30,43,.80),rgba(8,20,31,.82)); border-radius:20px; padding:28px 30px; box-shadow:0 18px 50px rgba(0,0,0,.10); }
.rule-panel[hidden] { display:none !important; }
.rule-section-head { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:13px; margin-bottom:20px; }
.rule-section-head .rule-index { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:rgba(28,191,232,.07); border:1px solid rgba(70,207,240,.13); color:#54d9f2; font-size:.68rem; font-weight:900; letter-spacing:.06em; }
.rule-section h2 { margin:1px 0 0; font-size:clamp(1.35rem,2.5vw,2.05rem); letter-spacing:-.035em; }
.rule-body { padding-left:55px; }
.rule-body p { color:#9bb0bf; margin:0 0 13px; line-height:1.72; }
.rule-body p:last-child { margin-bottom:0; }
.rule-body strong { color:#e9f9ff; font-weight:760; }
.rule-body em { color:#7895a8; }
.rule-clause { padding:11px 13px; margin-left:-13px !important; border-left:2px solid rgba(34,196,232,.20); background:linear-gradient(90deg,rgba(22,160,201,.045),transparent 55%); border-radius:0 10px 10px 0; }
.rule-emphasis { color:#dff8ff !important; font-size:1.02rem; }
.rule-body blockquote { margin:4px 0 18px; padding:16px 18px; border-left:3px solid var(--cyan); border-radius:0 12px 12px 0; background:rgba(26,182,222,.06); color:#d7f5fb; font-weight:680; }
.rule-bullets { margin:4px 0 18px; padding:0; list-style:none; display:grid; gap:7px; }
.rule-bullets li { color:#98afbf; position:relative; padding-left:19px; }
.rule-bullets li::before { content:""; position:absolute; left:2px; top:.72em; width:6px; height:6px; border-radius:50%; background:#27cdea; box-shadow:0 0 10px rgba(39,205,234,.23); }
.rule-no-results { border:1px dashed rgba(79,193,224,.20); border-radius:18px; padding:34px; text-align:center; color:#6b8798; }
.rule-no-results strong { display:block; color:#d9f5fb; font-size:1.05rem; }
.rule-no-results span { display:block; margin-top:5px; font-size:.86rem; }
.rules-sidebar { max-height:calc(100vh - 130px); overflow:auto; scrollbar-width:thin; scrollbar-color:rgba(72,184,218,.25) transparent; }
.rules-sidebar a.search-hidden { display:none; }

@media (max-width: 980px) {
  .rules-sidebar { max-height:none; }
}
@media (max-width: 640px) {
  .rule-switch { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .rule-switch a { text-align:center; padding:10px 8px; font-size:.78rem; }
  .rule-panel { padding:22px 18px; }
  .rule-section-head { grid-template-columns:34px minmax(0,1fr); gap:10px; }
  .rule-section-head .rule-index { width:30px; height:30px; }
  .rule-body { padding-left:0; }
  .rule-clause { margin-left:0 !important; padding-left:12px; }
}


/* SERVER STATUS */
.server-status-section { padding-top: 72px; padding-bottom: 30px; }
.server-status-panel {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(74, 197, 235, .16);
  border-radius: 24px;
  background:
    linear-gradient(115deg, rgba(19, 46, 65, .92), rgba(8, 24, 36, .88)),
    radial-gradient(circle at 85% 20%, rgba(30, 214, 244, .12), transparent 25rem);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
}
.server-status-panel::after {
  content: "";
  position: absolute;
  width: 280px; height: 280px;
  border-radius: 50%;
  right: -110px; top: -150px;
  background: rgba(30, 214, 244, .08);
  filter: blur(4px);
  pointer-events: none;
}
.server-status-main { display: flex; justify-content: space-between; align-items: center; gap: 24px; position: relative; z-index: 1; }
.server-status-heading { display: flex; align-items: center; gap: 16px; }
.server-status-heading .section-kicker { margin-bottom: 4px; }
.server-status-heading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.5rem); letter-spacing: -.04em; }
.server-status-icon {
  width: 54px; height: 54px; border-radius: 16px;
  display: grid; place-items: center;
  color: #dffbff; font-weight: 900; font-size: 1.15rem;
  border: 1px solid rgba(57, 210, 244, .22);
  background: linear-gradient(135deg, rgba(30, 214, 244, .16), rgba(15, 105, 184, .18));
  box-shadow: inset 0 0 22px rgba(39, 201, 241, .06);
}
.server-live-state {
  display: inline-flex; align-items: center; gap: 9px;
  color: #a8bdca; font-size: .88rem; font-weight: 700;
  padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.025);
}
.server-live-dot { width: 9px; height: 9px; border-radius: 50%; background: #7f93a1; box-shadow: 0 0 0 4px rgba(127,147,161,.08); }
.server-live-state[data-state="online"] { color: #cffff0; border-color: rgba(94, 230, 176, .18); background: rgba(94,230,176,.055); }
.server-live-state[data-state="online"] .server-live-dot { background: var(--success); box-shadow: 0 0 16px rgba(94,230,176,.7); }
.server-live-state[data-state="offline"] { color: #ffd1d8; border-color: rgba(255,107,126,.18); background: rgba(255,107,126,.05); }
.server-live-state[data-state="offline"] .server-live-dot { background: var(--danger); box-shadow: 0 0 16px rgba(255,107,126,.45); }
.server-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 27px; position: relative; z-index: 1; }
.server-stat { padding: 19px 20px; border: 1px solid rgba(151,202,229,.105); border-radius: 16px; background: rgba(3, 14, 22, .28); }
.server-stat-label { display: block; color: #6d899b; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; font-size: .66rem; margin-bottom: 8px; }
.server-stat strong { display: block; color: #edfaff; font-size: 1.32rem; letter-spacing: -.025em; overflow-wrap: anywhere; }
.server-stat strong small { color: #678596; font-size: .78rem; font-weight: 700; }
.server-stat-note { display: block; color: #6f8798; font-size: .76rem; margin-top: 3px; }
.server-address { font-family: Consolas, "SFMono-Regular", monospace; font-size: 1rem !important; letter-spacing: 0 !important; }
.server-status-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 20px; position: relative; z-index: 1; }
.status-refresh {
  margin-left: auto; width: 46px; height: 46px; border-radius: 13px;
  border: 1px solid var(--line); background: rgba(255,255,255,.025); color: #8eb1c3; cursor: pointer; font-size: 1.1rem;
  transition: .2s ease;
}
.status-refresh:hover { color: white; border-color: rgba(30,214,244,.25); background: rgba(30,214,244,.06); transform: rotate(12deg); }
.status-refresh.loading { animation: nf-spin .8s linear infinite; }
@keyframes nf-spin { to { transform: rotate(360deg); } }

.footer-credit {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(146,196,226,.10);
  color: #5f7a8d;
  font-size: .76rem;
}
.footer-credit a { color: #8ddff2; font-weight: 750; }
.footer-credit a:hover { color: #dffaff; }

@media (max-width: 760px) {
  .server-status-panel { padding: 24px; }
  .server-status-main { align-items: flex-start; flex-direction: column; }
  .server-status-grid { grid-template-columns: 1fr; }
  .status-refresh { margin-left: 0; }
}

.rule-subhead { margin: 4px 0 16px; color:#dff8ff; font-size:1rem; letter-spacing:.01em; }

@media (max-width: 640px) {
  .rule-switch.rule-switch-three { grid-template-columns: 1fr; }
}
