/* Geek Nation Multiverse Design System v10.4
   Prefix: gnm-. These styles are intentionally isolated from legacy modules. */

:root {
  --gnm-bg: #070812;
  --gnm-surface: rgba(15, 16, 31, 0.92);
  --gnm-surface-strong: #121426;
  --gnm-surface-soft: rgba(255, 255, 255, 0.045);
  --gnm-border: rgba(180, 192, 255, 0.18);
  --gnm-border-strong: rgba(65, 214, 255, 0.42);
  --gnm-text: #f7f8ff;
  --gnm-text-soft: #b7bbd1;
  --gnm-cyan: #38d8ff;
  --gnm-blue: #5f7cff;
  --gnm-purple: #8b46ff;
  --gnm-pink: #f03fb6;
  --gnm-green: #35d39a;
  --gnm-yellow: #ffcf4a;
  --gnm-red: #ff5f72;
  --gnm-gradient: linear-gradient(100deg, var(--gnm-cyan), var(--gnm-purple) 55%, var(--gnm-pink));
  --gnm-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
  --gnm-radius-sm: 12px;
  --gnm-radius-md: 20px;
  --gnm-radius-lg: 30px;
  --gnm-max-width: 1480px;
  --gnm-space-1: .5rem;
  --gnm-space-2: .75rem;
  --gnm-space-3: 1rem;
  --gnm-space-4: 1.5rem;
  --gnm-space-5: 2rem;
  --gnm-space-6: 3rem;
  --gnm-space-7: 5rem;
}

.gnm-page-hero,
.gnm-section,
.gnm-component-preview {
  width: min(calc(100% - 40px), var(--gnm-max-width));
  margin-inline: auto;
}

.gnm-page-hero {
  position: relative;
  overflow: hidden;
  margin-top: clamp(2rem, 4vw, 4.5rem);
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
  padding: clamp(2rem, 6vw, 5.5rem);
  border: 1px solid var(--gnm-border);
  border-radius: var(--gnm-radius-lg);
  background:
    radial-gradient(circle at 12% 12%, rgba(56,216,255,.18), transparent 28%),
    radial-gradient(circle at 90% 15%, rgba(240,63,182,.18), transparent 31%),
    linear-gradient(135deg, rgba(16,18,39,.98), rgba(8,8,18,.96));
  box-shadow: var(--gnm-shadow);
}

.gnm-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to right, black, transparent 80%);
  opacity: .45;
}

.gnm-page-hero__content { position: relative; z-index: 1; max-width: 980px; }
.gnm-eyebrow,
.gnm-card__eyebrow {
  margin: 0 0 .8rem;
  color: var(--gnm-cyan);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.gnm-page-hero h1 {
  margin: 0;
  max-width: 14ch;
  color: var(--gnm-text);
  font-size: clamp(3rem, 7vw, 7.5rem);
  line-height: .88;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.gnm-page-hero__description {
  max-width: 760px;
  margin: 1.6rem 0 0;
  color: var(--gnm-text-soft);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.gnm-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }
.gnm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 46px;
  padding: .78rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.gnm-button:hover { transform: translateY(-2px); }
.gnm-button svg,
.gnm-explore-link svg,
.gnm-card__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gnm-button--primary { color: #060710; background: var(--gnm-gradient); }
.gnm-button--secondary { color: var(--gnm-text); background: rgba(255,255,255,.08); border-color: var(--gnm-border); }
.gnm-button--ghost { color: var(--gnm-text); background: transparent; border-color: var(--gnm-border); }
.gnm-button--text { color: var(--gnm-cyan); padding-inline: .2rem; }
.gnm-button--danger { color: #fff; background: rgba(255,95,114,.18); border-color: rgba(255,95,114,.42); }

.gnm-section { margin-block: clamp(3rem, 6vw, 6rem); }
.gnm-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.gnm-section-header h2 {
  margin: 0;
  color: var(--gnm-text);
  font-size: clamp(2rem, 4vw, 4.3rem);
  line-height: .95;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.gnm-section-header p { margin: .7rem 0 0; max-width: 720px; color: var(--gnm-text-soft); }
.gnm-explore-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex: 0 0 auto;
  color: var(--gnm-text);
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: .3em;
}
.gnm-explore-link:hover { color: var(--gnm-cyan); }

.gnm-grid { display: grid; gap: 1.25rem; }
.gnm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gnm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gnm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gnm-grid--auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }

.gnm-card {
  position: relative;
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--gnm-border);
  border-radius: var(--gnm-radius-md);
  color: var(--gnm-text);
  background: linear-gradient(145deg, rgba(19,21,40,.97), rgba(10,11,23,.97));
  box-shadow: 0 14px 40px rgba(0,0,0,.2);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.gnm-card:hover { transform: translateY(-4px); border-color: var(--gnm-border-strong); box-shadow: 0 20px 48px rgba(0,0,0,.3); }
.gnm-card__media { width: 38%; min-height: 220px; background: rgba(255,255,255,.04); }
.gnm-card__media img { width: 100%; height: 100%; object-fit: cover; }
.gnm-card__icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 1.35rem 0 0 1.35rem; border-radius: 18px; color: var(--gnm-cyan); background: rgba(56,216,255,.1); }
.gnm-card__icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.gnm-card__body { position: relative; display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 1.45rem; }
.gnm-card h3 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.08; }
.gnm-card__description { margin: .75rem 0 0; color: var(--gnm-text-soft); line-height: 1.55; }
.gnm-card__badges { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.gnm-card__meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin: auto 0 0; padding: 1rem 0 0; color: var(--gnm-text-soft); list-style: none; font-size: .88rem; }
.gnm-card__meta li + li::before { content: "•"; margin-right: 1rem; color: var(--gnm-purple); }
.gnm-card__arrow { position: absolute; right: 1.2rem; bottom: 1.2rem; color: var(--gnm-cyan); }
.gnm-card--compact { min-height: 185px; }
.gnm-card--feature { min-height: 340px; }
.gnm-card--feature .gnm-card__body { justify-content: end; padding: 2rem; background: linear-gradient(to top, rgba(5,6,14,.95), transparent 80%); }
.gnm-card--feature .gnm-card__media { position: absolute; inset: 0; width: 100%; min-height: 100%; }
.gnm-card--feature .gnm-card__eyebrow,
.gnm-card--feature h3,
.gnm-card--feature .gnm-card__description,
.gnm-card--feature .gnm-card__badges,
.gnm-card--feature .gnm-card__meta { position: relative; z-index: 1; }

.gnm-badge { display: inline-flex; align-items: center; min-height: 25px; padding: .22rem .62rem; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.gnm-badge--neutral { color: var(--gnm-text-soft); background: rgba(255,255,255,.07); }
.gnm-badge--accent { color: #fff; background: rgba(139,70,255,.28); }
.gnm-badge--success { color: #c9ffe9; background: rgba(53,211,154,.2); }
.gnm-badge--warning { color: #fff0b5; background: rgba(255,207,74,.18); }
.gnm-badge--danger { color: #ffd7dd; background: rgba(255,95,114,.2); }
.gnm-badge--info { color: #d0f7ff; background: rgba(56,216,255,.18); }

.gnm-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.gnm-stat-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid var(--gnm-border);
  border-radius: var(--gnm-radius-md);
  background: var(--gnm-surface);
}
.gnm-stat-card__icon { display: grid; place-items: center; flex: 0 0 50px; width: 50px; height: 50px; border-radius: 15px; color: var(--gnm-cyan); background: rgba(56,216,255,.1); }
.gnm-stat-card__icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.gnm-stat-card p { margin: 0; }
.gnm-stat-card__label { color: var(--gnm-text-soft); font-size: .82rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.gnm-stat-card__value { color: var(--gnm-text); font-size: 2rem; font-weight: 900; line-height: 1.1; }
.gnm-stat-card__detail { color: var(--gnm-text-soft); font-size: .83rem; }

.gnm-action-card {
  display: flex;
  align-items: flex-start;
  gap: 1.15rem;
  padding: 1.5rem;
  border: 1px solid var(--gnm-border);
  border-radius: var(--gnm-radius-md);
  background: linear-gradient(145deg, rgba(20,22,42,.95), rgba(10,11,23,.95));
}
.gnm-action-card__icon { display: grid; place-items: center; flex: 0 0 58px; width: 58px; height: 58px; border-radius: 17px; color: var(--gnm-pink); background: rgba(240,63,182,.11); }
.gnm-action-card__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.gnm-action-card h3 { margin: 0; color: var(--gnm-text); }
.gnm-action-card p { margin: .5rem 0 1rem; color: var(--gnm-text-soft); }

.gnm-empty-state { max-width: 680px; margin: 2rem auto; padding: 3.5rem 2rem; border: 1px dashed var(--gnm-border-strong); border-radius: var(--gnm-radius-lg); text-align: center; background: rgba(14,16,31,.7); }
.gnm-empty-state__icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 1rem; border-radius: 22px; color: var(--gnm-cyan); background: rgba(56,216,255,.1); }
.gnm-empty-state__icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.gnm-empty-state h2 { margin: 0; color: var(--gnm-text); }
.gnm-empty-state p { margin: .75rem auto 1.4rem; max-width: 520px; color: var(--gnm-text-soft); }

.gnm-filter-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
  gap: .8rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 1px solid var(--gnm-border);
  border-radius: var(--gnm-radius-md);
  background: var(--gnm-surface);
}
.gnm-filter-bar label { display: grid; gap: .4rem; color: var(--gnm-text-soft); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.gnm-filter-bar input,
.gnm-filter-bar select { min-width: 0; width: 100%; min-height: 46px; padding: .72rem .85rem; border: 1px solid var(--gnm-border); border-radius: 12px; color: var(--gnm-text); background: #0b0d1a; }

.gnm-component-preview { margin-block: 3rem 6rem; }
.gnm-preview-block { margin-bottom: 4rem; }
.gnm-color-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: .8rem; }
.gnm-color-swatch { overflow: hidden; border: 1px solid var(--gnm-border); border-radius: 16px; background: var(--gnm-surface); }
.gnm-color-swatch span { display: block; height: 92px; }
.gnm-color-swatch strong { display: block; padding: .75rem; color: var(--gnm-text); font-size: .85rem; }

@media (max-width: 980px) {
  .gnm-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gnm-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .gnm-page-hero,
  .gnm-section,
  .gnm-component-preview { width: min(calc(100% - 24px), var(--gnm-max-width)); }
  .gnm-page-hero { padding: 2rem 1.25rem; border-radius: 22px; }
  .gnm-page-hero h1 { font-size: clamp(2.7rem, 16vw, 4.7rem); }
  .gnm-section-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .gnm-grid--2,
  .gnm-grid--3,
  .gnm-grid--4 { grid-template-columns: 1fr; }
  .gnm-card { flex-direction: column; }
  .gnm-card__media { width: 100%; min-height: 190px; }
  .gnm-action-card { flex-direction: column; }
}

/* Version 10.7 — Cross-module discovery */
.gnm-related-section{width:min(1180px,calc(100% - 32px));margin:48px auto 24px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.gnm-related-section .gnm-section-header{margin-bottom:20px}
.gnm-related-section .gnm-card{min-height:100%;text-decoration:none}
.gnm-related-empty{margin:0;color:var(--gnm-text-muted,#aaa)}
@media(max-width:700px){.gnm-related-section{width:min(100% - 24px,1180px);margin-top:36px}}

/* Version 10.8 — Administration Center */
.gnm-admin-count{font-family:var(--gnm-font-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900;line-height:1;margin:.35rem 0;color:var(--gnm-color-accent)}
.gnm-admin-type-card{min-height:220px}
.gnm-admin-queue{display:grid;gap:1rem}
.gnm-admin-review-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:1.5rem;padding:1.5rem;border:1px solid var(--gnm-color-border);border-radius:var(--gnm-radius-lg);background:var(--gnm-color-surface)}
.gnm-admin-review-main h2{margin:.65rem 0 .35rem;font-size:1.45rem}.gnm-admin-review-main p{color:var(--gnm-color-muted)}
.gnm-admin-review-meta{display:flex;gap:.5rem;flex-wrap:wrap}.gnm-admin-review-form{display:grid;gap:.85rem;padding-left:1.25rem;border-left:1px solid var(--gnm-color-border)}
.gnm-admin-review-form label{display:grid;gap:.4rem}.gnm-admin-review-form select,.gnm-admin-review-form textarea{width:100%}.gnm-admin-review-form .check-row{display:flex;align-items:center;gap:.55rem}
@media(max-width:850px){.gnm-admin-review-card{grid-template-columns:1fr}.gnm-admin-review-form{padding-left:0;padding-top:1rem;border-left:0;border-top:1px solid var(--gnm-color-border)}}

/* Version 10.9 — Platform Settings */
.gnm-settings-form{display:grid;gap:1.5rem}.gnm-settings-nav{position:sticky;top:138px;z-index:8;display:flex;gap:.55rem;flex-wrap:wrap;padding:.8rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(8,9,20,.92);backdrop-filter:blur(16px)}.gnm-settings-nav a{padding:.7rem .9rem;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:800}.gnm-settings-nav a:hover{background:rgba(39,215,255,.1);color:#fff}.gnm-settings-section{scroll-margin-top:210px;padding:1.4rem;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(13,14,28,.78)}.gnm-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.gnm-setting-field{display:grid;gap:.45rem;font-weight:800}.gnm-setting-field--wide{grid-column:1/-1}.gnm-setting-field input,.gnm-setting-field textarea{width:100%;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#090a16;color:#fff;font:inherit}.gnm-setting-field textarea{resize:vertical}.gnm-setting-toggle{display:flex;gap:.8rem;align-items:center;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer}.gnm-setting-toggle input{width:20px;height:20px;accent-color:#27d7ff}.gnm-setting-toggle span{display:grid;gap:.2rem}.gnm-setting-toggle small{color:var(--muted);font-weight:500}.gnm-settings-save{position:sticky;bottom:1rem;display:flex;justify-content:flex-end;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(8,9,20,.94);backdrop-filter:blur(16px)}@media(max-width:760px){.gnm-settings-nav{top:82px}.gnm-settings-grid{grid-template-columns:1fr}.gnm-setting-field--wide{grid-column:auto}.gnm-settings-save .button{width:100%}}
