/* Base theme (copied/adjusted from Moderator styles.css) */

:root{
  /* Mid palette: darker, saturated deep-blue background + light cards + gold accents */
  --bg:#0a2a57;
  --card: rgba(255,255,255,0.10);
  --card2: rgba(255,255,255,0.08);
  --border: rgba(255,255,255,0.18);
  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.70);
  --accent: #1b78ff;
  --accent2: #00b7ff;
  --gold: #f0c84b;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  background: var(--bg);
  color: var(--text);
  /* fixed topbar offset */
  padding-top: 74px;
}

/* Anchor scroll offset for fixed topbar */
section[id]{ scroll-margin-top: 88px; }

/* Use gold as subtle hover accent */
::selection{ background: rgba(240,200,75,.35); }

a{ color: inherit; }
a,a:visited{ text-decoration:none; }

.container{
  width: min(1100px, calc(100% - 40px));
  margin: 0 auto;
}

/* Background (deep blue) */
.bg-image{ position:fixed; inset:0; z-index:-3;
  background:
    radial-gradient(900px 520px at 12% 10%, rgba(27,120,255,.30), transparent 60%),
    radial-gradient(900px 520px at 86% 16%, rgba(0,183,255,.22), transparent 60%),
    radial-gradient(900px 520px at 50% 0%, rgba(240,200,75,.18), transparent 55%),
    linear-gradient(180deg, #061a3a, #0a2a57);
}
.bg-orbit{ position:fixed; left:50%; top:26%; width:860px; height:860px; transform:translate(-50%,-50%);
  border-radius:999px; border:1px solid rgba(10,40,70,.12); box-shadow:0 0 0 1px rgba(0,183,255,.10) inset;
  opacity:.55; z-index:-2; animation: orbitPulse 6s ease-in-out infinite;
}
@keyframes orbitPulse{ 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.38;} 50%{ transform:translate(-50%,-50%) scale(1.03); opacity:.52;} }
.bg-grid{ position:fixed; inset:0; z-index:-1;
  background-image:
    linear-gradient(to right, rgba(10,40,70,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(10,40,70,.06) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(520px 320px at 50% 18%, black 50%, transparent 100%);
  opacity:.35;
}

/* Topbar (glassy) */
.m-topbar{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,0.10);
  border-bottom: 1px solid rgba(255,255,255,0.18);
}
.m-topbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding: 14px 0; }
.m-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:900; letter-spacing:.2px; }
.m-brand__icon{ width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px; border:1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.10);
}
.m-nav{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.m-nav__link{ color: rgba(255,255,255,.82); font-weight:800; font-size:13px; }
.m-nav__link:hover{ color: rgba(255,255,255,.95); text-decoration: underline; text-decoration-color: rgba(240,200,75,.9); text-underline-offset: 6px; }

.m-actions{ display:flex; align-items:center; gap:10px; }

.m-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height: 38px; padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  font-weight: 900;
  font-size: 13px;
  text-decoration:none;
}
.m-btn--primary{
  border: 0;
  color: rgba(255,255,255,.98);
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  box-shadow: 0 16px 30px rgba(10,40,70,.18);
}
.m-btn--ghost:hover{ border-color: rgba(240,200,75,.75); box-shadow: 0 10px 22px rgba(240,200,75,.10); }

/* Burger + mobile */
.m-burger{ display:none; border:0; background:transparent; cursor:pointer; padding:10px; }
.m-burger span{ display:block; width:22px; height:2px; background: rgba(255,255,255,.85); margin:5px 0; border-radius:2px; }
.m-mobile{ display:none; border-top: 1px solid rgba(255,255,255,.10); background: rgba(10,14,28,.72); }
.m-mobile__inner{ padding: 14px 0 18px; display:flex; flex-direction:column; gap:10px; }
.m-mobile__link{ color: rgba(255,255,255,.82); font-weight:900; }
.m-mobile__cta{ display:flex; gap:10px; margin-top: 8px; }

/* Language pill (glassy) */
.lang-pill{
  position: relative;
  z-index: 20;

  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;

  height: 35px;
  padding: 5px;
  border-radius: 999px;

  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(10px);

  width: 35px;
  overflow: hidden;

  transition:
    width 520ms cubic-bezier(.16, 1.4, .3, 1),
    box-shadow 240ms ease,
    border-color 240ms ease,
    transform 520ms cubic-bezier(.16, 1.4, .3, 1);
  transform: translateZ(0);
  will-change: width, transform;
}
.lang-pill.open{
  width: 128px;
  border-color: rgba(240,200,75,.65);
  box-shadow: 0 14px 34px rgba(10,40,70,0.16);
}
.lang-pill.bounce{ transform: scale(1.06); }
.lang-current{
  width: 24px; height:24px; line-height:24px;
  border-radius: 999px;
  border: none; background: transparent; cursor:pointer;
  font-weight:900; font-size:12px; letter-spacing:0.6px;
  color: rgba(255,255,255,0.92);
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
}
.lang-current:hover{ color: rgba(240,200,75,.95); text-shadow: 0 0 10px rgba(240,200,75,0.25); }
.lang-options{
  position: absolute;
  right: 33px;
  top: 50%;
  transform: translateY(-50%) translateX(18px);

  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-right: 4px;

  opacity: 0;
  pointer-events: none;

  transition:
    opacity 180ms ease,
    transform 520ms cubic-bezier(.16, 1.4, .3, 1);
}
.lang-pill.open .lang-options{
  opacity: 1;
  transform: translateY(-50%) translateX(0);
  pointer-events: auto;
}
.lang-opt{
  width: 24px; height:24px; line-height:24px;
  border-radius: 999px;
  border: none; background: transparent; cursor:pointer;
  font-weight:900; font-size:11px; letter-spacing:0.5px;
  color: rgba(255,255,255,0.70);
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
}
.lang-opt:hover{ color: rgba(240,200,75,.95); }
.lang-opt.active{ color: rgba(255,255,255,0.95); background: rgba(240,200,75,0.22); }

/* Common */
[hidden]{ display:none !important; }

.section{ padding: 22px 0 44px; }
.section-head{ margin: 18px 0 14px; }
.section-title{ margin:0; font-size: 28px; letter-spacing:.2px; }
.section-sub{ margin: 10px 0 0; color: var(--muted); max-width: 900px; line-height: 1.6; }

.grid{ display:grid; gap: 12px; }
.cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.blocks{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

.card{
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}
.card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap: 14px; }
.card-title{ margin: 10px 0 0; font-size: 20px; }
.card-desc{ margin: 8px 0 0; color: var(--muted); line-height: 1.55; }

.note{ margin-top: 12px; color: rgba(255,255,255,.76); }
.card-actions{ display:flex; gap: 10px; margin-top: 14px; flex-wrap:wrap; }

.tag{ display:inline-flex; align-items:center; height: 22px; padding: 0 10px; border-radius: 999px;
  font-weight: 900; font-size: 12px; border: 1px solid var(--border); background: rgba(255,255,255,.70);
}
.tag--on{ background: rgba(0,183,255,.14); border-color: rgba(0,183,255,.22); }
.tag--ok{ background: rgba(240,200,75,.20); border-color: rgba(240,200,75,.45); }

/* note color already defined for light theme above */

.list{ margin: 10px 0 0; padding-left: 18px; color: var(--muted); }
.list li{ margin: 6px 0; }

@media (max-width: 920px){
  .m-nav{ display:none; }
  .m-burger{ display:block; }
  .m-mobile[aria-hidden="false"]{ display:block; }
  .cards{ grid-template-columns: 1fr; }
  .blocks{ grid-template-columns: 1fr; }
  .bg-orbit{ width: 680px; height: 680px; }
}
