:root {
  --color-bg: #09090b;
  --color-bg-raised: #18181b;
  --color-bg-sunken: #0f0f12;
  --color-border: #27272a;
  --color-border-subtle: #1e1e22;
  --color-border-strong: #3f3f46;
  --color-text: #fafafa;
  --color-text-secondary: #d4d4d8;
  --color-text-muted: #a1a1aa;
  --color-text-faint: #71717a;
  --color-text-dim: #52525b;
  --color-accent: #f59e0b;
  --color-accent-hover: #fbbf24;
  --color-accent-dark: #d97706;
  --color-success: #22c55e;
  --color-error: #ef4444;
  --color-warning: #eab308;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-display: 'Outfit', var(--font-body);
}

html {
  box-sizing: border-box;
  scroll-behavior: smooth !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
*, *::before, *::after {
  box-sizing: inherit;
}
body {
  scroll-behavior: smooth !important;
  font-family: var(--font-body);
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.6;
  overflow-x: hidden;
  max-width: 100vw;
  overflow-wrap: break-word;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer}
ul{list-style:none}
h1,h2,h3,h4{font-weight:600;line-height:1.3;letter-spacing:-.02em;color:var(--color-text)}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:1.125rem}
p{color:var(--color-text-muted)}

/* ---------- layout ---------- */
.w{max-width:1080px;margin:0 auto;padding:0 24px}

/* ---------- nav ---------- */
.n{position:fixed;top:0;left:0;right:0;z-index:99;background:rgba(9,9,11,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border-subtle)}
.n-in{display:flex;align-items:center;justify-content:space-between;height:56px}
.n-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.05rem;color:var(--color-text)}
.n-brand img{width:40px;height:40px;object-fit:contain;flex-shrink:0;transition:transform .2s ease}
.n-brand:hover img{transform:scale(1.05)}
.n-links{display:flex;gap:32px}
.n-links a{font-size:13px;font-weight:500;color:var(--color-text-faint);transition:color .15s}
.n-links a:hover,.n-links a.on{color:var(--color-text)}
.burger{display:none;background:0 0;border:0;flex-direction:column;gap:5px;padding:4px}
.burger span{display:block;width:20px;height:1.5px;background:var(--color-text-muted);border-radius:2px;transition:all .2s}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{
  position:relative;
  padding:140px 0 80px;
  text-align:center;
  background:linear-gradient(180deg, rgba(9,9,11,0.7) 0%, rgba(9,9,11,0.92) 80%, var(--color-bg) 100%),
             url('/images/hero-bg.jpg') center/cover no-repeat;
  border-bottom:1px solid var(--color-border-subtle);
}
.hero h1{margin-bottom:16px;text-shadow:0 2px 10px rgba(0,0,0,0.5)}
.hero h1 em{font-style:normal;color:var(--color-accent)}
.hero p{max-width:560px;margin:0 auto 32px;font-size:1rem;line-height:1.8;color:var(--color-text-secondary);text-shadow:0 1px 4px rgba(0,0,0,0.6)}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;padding:10px 24px;border-radius:8px;font-size:13px;font-weight:600;border:none;transition:all .15s}
.btn-p{background:var(--color-accent);color:var(--color-bg)}.btn-p:hover{background:var(--color-accent-hover)}
.btn-s{background:rgba(24,24,27,0.8);backdrop-filter:blur(8px);color:#e4e4e7;border:1px solid var(--color-border-strong)}.btn-s:hover{color:var(--color-text);border-color:var(--color-text-dim);background:var(--color-border)}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:600px;margin:48px auto 0;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:rgba(24,24,27,0.75);backdrop-filter:blur(12px)}
.st{padding:20px 16px;text-align:center;border-right:1px solid var(--color-border)}
.st:last-child{border-right:none}
.st strong{display:block;font-size:1.5rem;color:var(--color-text);font-weight:700}
.st span{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;display:block}

/* ---------- section ---------- */
.sec{padding:80px 0}
.sec-hd{margin-bottom:32px}
.sec-hd h2 em{font-style:normal;color:var(--color-accent)}
.sec-hd p{margin-top:8px;font-size:.95rem}

/* ---------- grid ---------- */
.g{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

/* ---------- card ---------- */
.c{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:12px;padding:24px;transition:border-color .15s,background .15s}
a.c:hover,.c.cl:hover{border-color:var(--color-border-strong);background:#1c1c20}
.c h3{margin-bottom:8px}
.c p{font-size:.875rem;line-height:1.7}

/* ---------- badge ---------- */
.badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:6px;background:rgba(245,158,11,.1);color:var(--color-accent)}

/* ---------- house card ---------- */
.hc{border-left:3px solid var(--color-accent);padding-left:20px}
.hc h3{font-size:1rem}

/* ---------- search ---------- */
.search{position:relative;margin-bottom:20px}
.search input{width:100%;padding:14px 16px 14px 48px;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:.95rem;outline:none;font-family:inherit;transition:border-color .15s}
.search input::placeholder{color:var(--color-text-dim)}
.search input:focus{border-color:var(--color-accent)}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-dim)}

/* ---------- pills ---------- */
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.pill{padding:7px 16px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--color-border);background:transparent;color:var(--color-text-faint);transition:all .15s}
.pill:hover{color:var(--color-text-muted);border-color:var(--color-border-strong)}
.pill.on{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:var(--color-accent)}

/* ---------- article card ---------- */
.ac .badge{margin-bottom:12px}
.ac h3{font-size:1rem;margin-bottom:6px}
.ac .ex{font-size:.8rem;color:var(--color-text-faint);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}
.ac .mt{display:flex;gap:12px;margin-top:14px;font-size:11px;color:var(--color-text-dim)}

/* ---------- article page ---------- */
.art{padding-top:80px;padding-bottom:80px}
.bc{font-size:12px;color:var(--color-text-dim);margin-bottom:24px}
.bc a{color:var(--color-text-faint)}.bc a:hover{color:var(--color-text)}
.bc .s{margin:0 6px;opacity:.5}
.a-grid{display:grid;grid-template-columns:1fr 260px;gap:48px;align-items:start}
.a-hd{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}
.a-hd h1{margin:10px 0 14px;font-size:clamp(1.8rem,4vw,2.6rem)}
.a-hd .meta{font-size:12px;color:var(--color-text-faint);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.a-hd .meta .d{opacity:.3}

/* notable person card */
.person-flex{display:flex;gap:24px;align-items:start}
.person-portrait-wrap img{width:180px;height:230px;object-fit:cover;object-position:top center;border-radius:10px;border:1px solid var(--color-border);flex-shrink:0}
.person-details-wrap{flex:1;min-width:0}

/* prose */
.prose{font-size:.925rem;line-height:1.85;color:var(--color-text-secondary)}
.prose h2{font-size:1.35rem;margin:40px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--color-border);scroll-margin-top:72px}
.prose h3{font-size:1.1rem;margin:28px 0 10px}
.prose p{margin-bottom:16px}
.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--color-accent-hover)}
.prose ul,.prose ol{padding-left:20px;margin-bottom:16px}
.prose ul li{list-style:disc;margin-bottom:6px}
.prose ol li{list-style:decimal;margin-bottom:6px}
.prose strong{color:var(--color-text);font-weight:600}
.prose em{font-style:italic}
.prose blockquote{border-left:3px solid var(--color-accent);padding:12px 20px;margin:20px 0;background:var(--color-bg-raised);border-radius:0 8px 8px 0}
.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.85rem}
.prose th{text-align:left;padding:10px 12px;background:var(--color-bg-raised);border-bottom:1px solid var(--color-border);color:var(--color-text);font-weight:600}
.prose td{padding:8px 12px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-muted)}
.prose tr:hover td{background:var(--color-bg-raised)}

/* sidebar */
.sb{position:sticky;top:72px}
.sb-card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:12px;padding:20px;margin-bottom:16px}
.sb-card h3{font-size:.85rem;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);font-weight:600}
.toc a{display:block;padding:5px 0 5px 12px;font-size:13px;color:var(--color-text-faint);border-left:2px solid transparent;transition:all .12s}
.toc a:hover{color:var(--color-text);border-left-color:var(--color-accent)}
.ib-r{display:flex;justify-content:space-between;padding:6px 0;font-size:12px}
.ib-r+.ib-r{border-top:1px solid var(--color-border-subtle)}
.ib-k{color:var(--color-text-faint)}
.ib-v{color:var(--color-text-secondary);font-weight:500;text-align:right}
.m-ib{display:none}

/* ---------- footer ---------- */
.ft{border-top:1px solid var(--color-border);padding:48px 0 20px;margin-top:80px}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.ft h4{font-size:.85rem;font-weight:600;margin-bottom:12px}
.ft p{font-size:.8rem;line-height:1.7}
.ft-l a{display:block;font-size:.8rem;color:var(--color-text-faint);padding:3px 0;transition:color .12s}
.ft-l a:hover{color:var(--color-text)}
.ft-b{margin-top:32px;padding-top:16px;border-top:1px solid var(--color-border-subtle);text-align:center;font-size:11px;color:var(--color-text-dim)}

/* ---------- empty ---------- */
.empty{text-align:center;padding:48px 16px;color:var(--color-text-dim)}

/* ---------- responsive stats override ---------- */
@media (max-width: 640px) {
  .stats { grid-template-columns: repeat(2, 1fr); }
  .st:nth-child(2) { border-right: none; }
  .st:nth-child(1), .st:nth-child(2) { border-bottom: 1px solid var(--color-border); }
}

/* Article & Biography Content Images */
.prose img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  margin: 20px 0 !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
  display: block !important;
}

/* ---------- Premium Glassmorphic Search Bar & Input ---------- */
.search-wrapper { position: relative; width: 100%; display: flex; align-items: center; }
.search-input {
  width: 100%;
  padding: 14px 18px 14px 46px !important;
  background: rgba(24, 24, 27, 0.8) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
  color: var(--color-text) !important;
  font-size: 0.925rem !important;
  font-family: var(--font-body) !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.search-input::placeholder { color: var(--color-text-faint) !important; font-size: 0.9rem !important; }
.search-input:focus {
  border-color: var(--color-accent) !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15) !important;
}
.search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-faint);
  pointer-events: none;
  font-size: 1.1rem;
}

/* ==========================================================================
   MOBILE & TABLET OPTIMIZATION ENGINE
   ========================================================================== */

/* Fluid Typography */
h1 { font-size: clamp(1.75rem, 5vw, 2.75rem); }
h2 { font-size: clamp(1.35rem, 4vw, 2.1rem); }
h3 { font-size: clamp(1.05rem, 3vw, 1.4rem); }

/* Improved Touch Targets */
a, button, input, select, textarea {
  touch-action: manipulation;
}

/* Data Table Responsive Wrapper */
.data-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 16px;
  border-radius: 10px;
  border: 1px solid var(--color-border);
}

/* Mobile Media Queries */
@media (max-width: 992px) {
  .w { padding: 0 16px; }
  .a-grid { grid-template-columns: 1fr !important; }
  .sb { display: none !important; }
  .m-ib { display: block !important; margin-bottom: 24px; }
}

@media (max-width: 768px) {
  /* Clean Compact Mobile Navbar Dropdown */
  .burger { display: flex !important; cursor: pointer !important; z-index: 10000 !important; }
  .n-links {
    display: none !important;
    position: absolute !important;
    top: 56px !important;
    left: 0 !important;
    right: 0 !important;
    background: var(--color-bg) !important;
    border-bottom: 1px solid var(--color-border) !important;
    flex-direction: column !important;
    padding: 8px 24px !important;
    gap: 0 !important;
    z-index: 9999 !important;
    box-shadow: 0 16px 32px rgba(0,0,0,0.8) !important;
  }
  .n-links.open { display: flex !important; }
  .n-links a {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    padding: 12px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--color-bg-raised) !important;
    background: transparent !important;
    color: var(--color-text-muted) !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .n-links a:last-child {
    border-bottom: none !important;
  }
  .n-links a:hover, .n-links a.on {
    color: var(--color-accent) !important;
    background: transparent !important;
    font-weight: 600 !important;
  }

  /* Hero Section */
  .hero { padding: 90px 0 40px !important; }
  .hero-btns { flex-direction: column !important; width: 100%; gap: 12px !important; }
  .hero-btns .btn { width: 100% !important; justify-content: center !important; }

  /* Stats Bar */
  .stats { grid-template-columns: repeat(2, 1fr) !important; max-width: 100% !important; }
  .st { padding: 14px 10px !important; }

  /* Grid Layouts */
  .g2, .g3, .fig-grid { grid-template-columns: 1fr !important; }
  .ft-g { grid-template-columns: 1fr !important; gap: 32px !important; }

  /* Studio Form Layouts */
  .studio-card div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  /* Figure Glossary Card Responsive */
  .fig-hero { padding: 24px 20px !important; }
  .fig-flex { flex-direction: column !important; align-items: center !important; gap: 24px !important; }
  .fig-portrait-frame { width: 100% !important; margin-bottom: 4px !important; align-items: center !important; }
  .fig-hero-portrait { width: 180px !important; height: 225px !important; margin: 0 auto !important; }
  .fig-hero-details { width: 100% !important; }
}

@media (max-width: 480px) {
  .fig-header { padding: 14px !important; gap: 12px !important; }
  .fig-portrait { width: 68px !important; height: 86px !important; }
  .fig-name { font-size: 1.05rem !important; }
  .fig-role { font-size: 0.75rem !important; }
  .fig-hero { padding: 18px 14px !important; }
  .fig-hero-portrait { width: 150px !important; height: 190px !important; margin: 0 auto 10px !important; display: block !important; }
  .fig-flex { flex-direction: column !important; text-align: center !important; }
  .fig-meta-pills { justify-content: center !important; }
  .fig-glossary-matrix { grid-template-columns: 1fr !important; gap: 8px !important; }
  .fig-card-top { text-align: center !important; }
  .filter-bar { padding: 14px !important; }
  .domain-pill { padding: 6px 14px !important; font-size: 0.8rem !important; }
  .pagination-wrapper { flex-direction: column !important; gap: 12px !important; text-align: center !important; }
}

/* ==========================================================================
   Notable Figure Person Page — Biographical Glossary Card
   ========================================================================== */
.fig-hero.fig-glossary-card,
.fig-hero {
  background: linear-gradient(180deg, #18181b 0%, #121215 100%);
  border: 1px solid rgba(245, 158, 11, 0.24);
  border-top: 3px solid var(--color-accent);
  border-radius: 20px;
  padding: 32px 36px;
  margin-bottom: 36px;
  box-shadow: 0 20px 48px -16px rgba(0, 0, 0, 0.85),
              0 0 24px rgba(245, 158, 11, 0.06);
  position: relative;
  overflow: hidden;
}

.fig-hero::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -80px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.08) 0%, transparent 70%);
  pointer-events: none;
  border-radius: 50%;
}

.fig-card-top {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--color-border);
}

.fig-hero-title {
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 3.5vw, 2.4rem);
  font-weight: 700;
  color: #fafafa;
  margin: 0 0 6px 0;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.fig-hero-role {
  font-size: 1.1rem;
  color: var(--color-accent);
  font-weight: 500;
  line-height: 1.4;
}

.fig-meta-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 14px;
}

.fig-meta-pills .badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 9999px;
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.25);
  color: var(--color-accent);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  backdrop-filter: blur(6px);
}

.fig-flex {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

/* Portrait Column */
.fig-portrait-frame {
  width: 210px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.fig-hero-portrait {
  width: 210px;
  height: 260px;
  border-radius: 14px;
  object-fit: cover;
  object-position: top center;
  background: #09090b;
  border: 2px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.65);
  display: block;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.fig-hero-portrait:hover {
  transform: scale(1.02);
  border-color: rgba(245, 158, 11, 0.6);
}

.fig-portrait-badge {
  margin-top: 10px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
}

/* Details Column */
.fig-hero-details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* Glossary Key Facts Matrix */
.fig-glossary-matrix {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.fig-fact-item {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.fig-fact-item:hover {
  border-color: rgba(245, 158, 11, 0.3);
  background: rgba(245, 158, 11, 0.03);
}

.fig-fact-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  color: #71717a;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 3px;
}

.fig-fact-val {
  font-size: 0.875rem;
  color: #e4e4e7;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Summary Callout */
.fig-summary-wrap {
  margin-bottom: 18px;
}

.fig-summary-wrap p {
  color: #d4d4d8 !important;
  line-height: 1.7 !important;
  font-size: 0.95rem !important;
  padding: 14px 18px;
  background: rgba(245, 158, 11, 0.03);
  border-left: 3px solid var(--color-accent);
  border-radius: 0 10px 10px 0;
  margin: 0;
}

/* Achievements Box */
.fig-achieve-box {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(245, 158, 11, 0.22);
  border-radius: 12px;
  padding: 18px 22px;
}

.fig-achieve-title {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-accent-hover);
  font-weight: 700;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

#fig-achieve-text ul {
  padding-left: 18px;
  margin: 0;
}

#fig-achieve-text li {
  color: #e4e4e7;
  font-size: 0.875rem;
  line-height: 1.65;
  margin-bottom: 6px;
}

#fig-achieve-text li::marker {
  color: var(--color-accent);
}

/* Clean up duplicate H1 in biography prose */
.prose > h1:first-child {
  display: none;
}

/* Extracted from notable-figures.html */
.fig-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; margin-top: 24px; }
.fig-card { background: var(--color-bg-raised); border: 1px solid var(--color-border); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; text-decoration: none; color: inherit; }
.fig-card:hover { transform: translateY(-4px); border-color: var(--color-accent); box-shadow: 0 12px 30px rgba(0,0,0,0.5); }
.fig-header { display: flex; gap: 16px; padding: 20px; border-bottom: 1px solid var(--color-border); background: rgba(0,0,0,0.2); }
.fig-portrait { width: 84px; height: 100px; border-radius: 10px; object-fit: cover; background: var(--color-border); border: 1px solid var(--color-border-strong); flex-shrink: 0; }
.fig-info { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.fig-name { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--color-text); margin-bottom: 4px; }
.fig-role { font-size: 0.8rem; color: var(--color-accent); font-weight: 500; margin-bottom: 8px; line-height: 1.35; }
.fig-era { font-size: 0.75rem; color: var(--color-text-muted); display: flex; align-items: center; gap: 6px; }
.fig-body { padding: 18px 20px; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.fig-summary { font-size: 0.85rem; color: var(--color-text-secondary); line-height: 1.6; margin-bottom: 14px; }
.fig-footer { display: flex; justify-content: space-between; align-items: center; font-size: 0.75rem; color: var(--color-text-faint); padding-top: 12px; border-top: 1px dashed var(--color-border); }

/* Filter Container & Pills */
.filter-bar { background: rgba(24,24,27,0.7); border: 1px solid var(--color-border); border-radius: 16px; padding: 20px; backdrop-filter: blur(12px); margin-bottom: 28px; display: flex; flex-direction: column; gap: 16px; }

/* Custom Styled Scrollbar & Navigation for Domain Pills */
.domain-scroll-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.domain-scroll-btn {
  display: none;
  position: absolute;
  top: calc(50% - 4px);
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #18181b;
  border: 1px solid var(--color-border-strong);
  color: var(--color-accent);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  transition: all 0.2s ease;
  user-select: none;
}
.domain-scroll-btn:hover {
  background: #27272a;
  border-color: var(--color-accent);
  transform: translateY(-50%) scale(1.08);
}
.domain-scroll-btn.left { left: -14px; }
.domain-scroll-btn.right { right: -14px; }
@media (min-width: 768px) {
  .domain-scroll-btn { display: flex; }
}

.domain-pills { 
  display: flex; 
  gap: 10px; 
  overflow-x: auto; 
  padding-bottom: 8px; 
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; 
  scrollbar-color: #3f3f46 #18181b; 
  width: 100%;
}
.domain-pills::-webkit-scrollbar { 
  height: 6px; 
}
.domain-pills::-webkit-scrollbar-track { 
  background: #18181b; 
  border-radius: 999px; 
}
.domain-pills::-webkit-scrollbar-thumb { 
  background: #3f3f46; 
  border-radius: 999px; 
  transition: background 0.2s ease; 
}
.domain-pills::-webkit-scrollbar-thumb:hover { 
  background: var(--color-accent); 
}

.domain-pill { padding: 8px 18px; border-radius: 999px; font-size: 0.85rem; font-weight: 500; border: 1px solid var(--color-border); background: rgba(9,9,11,0.6); color: var(--color-text-muted); cursor: pointer; transition: all 0.2s ease; white-space: nowrap; outline: none; flex-shrink: 0; }
.domain-pill:hover { background: rgba(255,255,255,0.06); border-color: var(--color-border-strong); color: var(--color-text); }
.domain-pill.on { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)); color: var(--color-bg); font-weight: 700; border-color: var(--color-accent); box-shadow: 0 4px 14px rgba(245, 158, 11, 0.3); }

/* Pagination Styling */
.pagination-wrapper { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--color-border); flex-wrap: wrap; gap: 16px; }
.page-btn { padding: 8px 16px; border-radius: 8px; border: 1px solid var(--color-border); background: var(--color-bg-raised); color: #e4e4e7; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.15s ease; outline: none; }
.page-btn:hover:not(:disabled) { border-color: var(--color-accent); color: var(--color-accent); }
.page-btn:disabled { opacity: 0.3; cursor: not-allowed; }
.page-numbers { display: flex; gap: 6px; }
.page-num { width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--color-border); background: var(--color-bg-raised); color: var(--color-text-muted); display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.15s ease; }
.page-num:hover { border-color: var(--color-border-strong); color: var(--color-text); }
.page-num.on { background: var(--color-accent); color: var(--color-bg); border-color: var(--color-accent); font-weight: 700; }
