/* ==========================================================================
   OAAB — shared base styles
   Single source of truth for the reset, page defaults, and animations used
   across every page (home, releases, library, FAQ). Linked from each page's
   <helmet> so the rules below are defined once instead of in every HTML file.

   Static component styling is centralized here; only runtime template values
   that must be computed by DCLogic remain inline in the HTML.
   ========================================================================== */

/* --- Reset & page defaults ------------------------------------------------ */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  /* offset for the fixed top nav on anchor jumps */
  scroll-padding-top: 88px;
}

body {
  margin: 0;
  background: #100d0a;
  color: #e7dccb;
  font-family: 'EB Garamond', Georgia, serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  background: rgba(210, 130, 63, 0.32);
  color: #fff;
}

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

button {
  font-family: inherit;
}

/* --- Custom scrollbars (filter/type/tag dropdowns, library tab bar) ------- */
[data-tabscroll]::-webkit-scrollbar {
  height: 6px;
  width: 6px;
}
[data-tabscroll]::-webkit-scrollbar-thumb {
  background: #2e271e;
  border-radius: 3px;
}

/* --- Animations ----------------------------------------------------------- */

/* Drifting ash motes rising over the home hero. */
@keyframes oaabMote {
  0% {
    transform: translateY(0) translateX(0);
    opacity: 0;
  }
  12% {
    opacity: .5;
  }
  82% {
    opacity: .32;
  }
  100% {
    transform: translateY(-240px) translateX(30px);
    opacity: 0;
  }
}

/* Soft ember glow that pulses over hero imagery. */
@keyframes oaabGlow {
  0%, 100% {
    opacity: .45;
  }
  50% {
    opacity: .8;
  }
}

/* Pulsing "live" dot on release/ecosystem status indicators. */
@keyframes oaabPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(210, 130, 63, 0.45);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(210, 130, 63, 0);
  }
}

/* Reveal used by accordions, dropdown menus, and grid cards. */
@keyframes oaabFade {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Library thumbnail loading spinner — shown until each thumbnail's own
   image has decoded, so a recycled grid cell never flashes the previous
   object's thumbnail while the correct one is still loading. */
@keyframes oaabSpin {
  to {
    transform: rotate(360deg);
  }
}

/* Faint shimmer behind the spinner, hinting the cell is working. */
@keyframes oaabThumbPulse {
  0%, 100% {
    opacity: .35;
  }
  50% {
    opacity: .7;
  }
}

/* --- Release article body -------------------------------------------------
   Used only by the individual release pages (releases/<version>/). The notes
   are injected verbatim from GitHub as a markup blob, so they're styled by
   class here rather than with per-element inline styles. Harmless on pages
   that have no .rbody element.
   ------------------------------------------------------------------------- */
.rbody {
  font-family: 'EB Garamond', serif;
  color: #c4b79f;
  font-size: 18.5px;
  line-height: 1.72;
}
.rbody p {
  margin: 0 0 20px;
  text-wrap: pretty;
}
.rbody p.lead {
  font-size: 22px;
  line-height: 1.6;
  color: #d9cbb2;
  margin-bottom: 30px;
}
.rbody h2 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 34px;
  line-height: 1.08;
  color: #f1e8d8;
  margin: 54px 0 6px;
  letter-spacing: -.01em;
}
.rbody h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size: 25px;
  line-height: 1.15;
  color: #ece2d2;
  margin: 38px 0 10px;
}
.rbody ul {
  margin: 0 0 22px;
  padding-left: 0;
  list-style: none;
}
.rbody li {
  position: relative;
  padding-left: 22px;
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.55;
  color: #b3a690;
}
.rbody li:before {
  content: "";
  position: absolute;
  left: 4px;
  top: 11px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d2823f;
}
.rbody a {
  color: #d2823f;
  border-bottom: 1px solid rgba(210, 130, 63, 0.38);
  transition: color .2s, border-color .2s;
}
.rbody a:hover {
  color: #e7b07a;
  border-color: #e7b07a;
}
.rbody code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.82em;
  background: #1d160e;
  border: 1px solid #2c241b;
  border-radius: 5px;
  padding: 2px 6px;
  color: #d9cbb2;
}
.rbody blockquote {
  margin: 0 0 22px;
  padding: 16px 22px;
  border-left: 2px solid #d2823f;
  background: #16110b;
  border-radius: 0 10px 10px 0;
  color: #bcae97;
  font-style: italic;
  font-size: 17.5px;
  line-height: 1.65;
}
.rbody figure {
  margin: 8px 0 28px;
  border: 1px solid #2c241b;
  border-radius: 12px;
  overflow: hidden;
  background: #0c0a07;
}
.rbody figure img {
  display: block;
  width: 100%;
  height: auto;
}
.rbody hr {
  border: none;
  border-top: 1px solid #2b241c;
  margin: 46px 0;
}
.rbody details.cl {
  border: 1px solid #2c241b;
  border-radius: 10px;
  background: #16110b;
  margin: 0 0 12px;
  overflow: hidden;
}
.rbody details.cl summary {
  cursor: pointer;
  list-style: none;
  padding: 15px 18px;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size: 23px;
  color: #ece2d2;
  display: flex;
  align-items: center;
  gap: 11px;
  transition: color .2s;
}
.rbody details.cl summary::-webkit-details-marker {
  display: none;
}
.rbody details.cl summary:before {
  content: "\25B8";
  color: #d2823f;
  font-size: 15px;
  transition: transform .2s;
  display: inline-block;
  flex: none;
}
.rbody details.cl[open] summary:before {
  transform: rotate(90deg);
}
.rbody details.cl summary:hover {
  color: #fff;
}
.rbody details.cl[open] summary {
  border-bottom: 1px solid #221c15;
}
.rbody details.cl ul {
  margin: 0;
  padding: 16px 22px 18px;
}
.rbody details.cl li {
  margin-bottom: 7px;
}
.rbody .dl-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 34px;
}
.rbody .dl-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'EB Garamond', serif;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 8px;
  background: #d2823f;
  color: #1a120a;
  border: 1px solid #d2823f;
  transition: filter .2s, box-shadow .25s;
}
.rbody .dl-btn:hover {
  filter: brightness(1.08);
  box-shadow: 0 8px 24px rgba(210, 130, 63, 0.28);
}
.rbody .dl-btn.ghost {
  background: transparent;
  color: #e7dccb;
  border-color: #463b2d;
}
.rbody .dl-btn.ghost:hover {
  border-color: #d2823f;
  color: #d2823f;
  box-shadow: none;
}

/* --- Interaction States --------------------------------------------------- */
.nav-link:hover,
.footer-back-link:hover,
.footer-link:hover,
.back-link:hover {
  color: var(--ember,#d2823f) !important;
}
.nav-link--wiki:hover {
  color: var(--azura,#9a92d6) !important;
}
.site-nav-cta:hover,
.btn-primary-compact:hover {
  filter: brightness(1.08) !important;
  box-shadow: 0 6px 22px rgba(210,130,63,0.28) !important;
}
.inline-link-ember:hover {
  text-decoration-color: var(--ember,#d2823f) !important;
}
.btn-primary-sm:hover {
  filter: brightness(1.08) !important;
  box-shadow: 0 8px 26px rgba(210,130,63,0.28) !important;
}
.btn-primary-lg:hover {
  filter: brightness(1.08) !important;
  box-shadow: 0 10px 34px rgba(210,130,63,0.28) !important;
  transform: translateY(-1px) !important;
}
.btn-ghost-sm:hover,
.btn-ghost-lg-alt:hover,
.btn-ghost-md:hover,
.btn-ghost-compact:hover,
.btn-ghost-lg:hover,
.popout-button:hover {
  border-color: var(--ember,#d2823f) !important;
  color: var(--ember,#d2823f) !important;
}
.subtle-text-link:hover,
.external-discussion-link:hover {
  color: #e7dccb !important;
}
.featured-release-card-home:hover,
.featured-release-card:hover {
  border-color: var(--ember,#d2823f) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 52px rgba(0,0,0,0.5) !important;
}
.card-link:hover,
.asset-card:hover {
  border-color: var(--ember,#d2823f) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.42) !important;
}
.asset-card:active {
  cursor: grabbing !important;
  border-color: var(--azura,#9a92d6) !important;
}
.library-preview-tile-large:hover,
.library-preview-tile:hover,
.library-preview-tile-wide:hover {
  border-color: #5a4a32 !important;
  transform: translateY(-2px) !important;
}
.btn-wiki:hover {
  border-color: var(--azura,#9a92d6) !important;
  color: #fff !important;
  background: rgba(154,146,214,0.08) !important;
}
.wiki-chip:hover {
  border-color: var(--azura,#9a92d6) !important;
  color: #fff !important;
  background: rgba(154,146,214,0.1) !important;
}
.contributor-chip:hover {
  border-color: var(--ember,#d2823f) !important;
  color: #ece2d2 !important;
  background: rgba(210,130,63,0.08) !important;
}
.contributor-chip-muted:hover {
  border-color: var(--ember,#d2823f) !important;
  color: #ece2d2 !important;
}
.search-input:focus {
  border-color: var(--ember,#d2823f) !important;
  box-shadow: 0 0 0 3px rgba(210,130,63,0.12) !important;
}
.search-clear:hover {
  background: var(--ember,#d2823f) !important;
  color: #15110c !important;
}
.dropdown-button-type:hover {
  border-color: #d2823f !important;
}
.dropdown-row:hover,
.dropdown-row-all:hover,
.dropdown-row-split:hover {
  background: #1e1812 !important;
}
.dropdown-button:hover,
.dropdown-button-release:hover,
.icon-button:hover {
  border-color: #9a92d6 !important;
}
.release-mode-button:hover {
  border-color: #5a5380 !important;
}
.clear-filters-button:hover {
  background: var(--ember,#d2823f) !important;
  border-color: var(--ember,#d2823f) !important;
  color: #15110c !important;
}
.github-notes-button:hover {
  filter: brightness(1.08) !important;
  box-shadow: 0 10px 30px rgba(210,130,63,0.28) !important;
}
.release-nav-card:hover,
.release-nav-card-older:hover {
  border-color: var(--ember,#d2823f) !important;
  transform: translateY(-2px) !important;
}

/* --- Components ----------------------------------------------------------- */

/* --- Shared Chrome -------------------------------------------------------- */
.site-root-fill {
  position:relative;
  background:#100d0a;
  --ember:#d2823f;
  --azura:#9a92d6;
  min-height:100vh;
}
.site-nav {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 32px;
  border-bottom:1px solid #2b241c;
  background:rgba(16,13,10,0.9);
  backdrop-filter:saturate(140%) blur(12px);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
}
.brand-link {
  display:flex;
  align-items:center;
  gap:14px;
}
.brand-logo {
  height:30px;
  width:auto;
  display:block;
}
.brand-mark-text {
  font-family:'EB Garamond',serif;
  font-size:9.5px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:#80735f;
  border-left:1px solid #3a3127;
  padding-left:14px;
  line-height:1.5;
}
.site-nav-actions {
  display:flex;
  align-items:center;
  gap:30px;
}
.site-nav-links {
  display:flex;
  gap:26px;
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  color:#c3b6a0;
  letter-spacing:.01em;
}
.nav-link {
  transition:color .2s;
}
.nav-link-current {
  color:var(--ember,#d2823f);
  transition:color .2s;
}
.site-nav-cta {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:600;
  padding:9px 18px;
  border-radius:7px;
  background:var(--ember,#d2823f);
  color:#1a120a;
  border:1px solid var(--ember,#d2823f);
  transition:filter .2s,box-shadow .25s;
}

/* --- FAQ ------------------------------------------------------------------ */
.faq-hero {
  position:relative;
  overflow:hidden;
  padding:152px 32px 60px;
  border-bottom:1px solid #221c15;
}
.faq-hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  opacity:.42;
}
.page-hero-glow {
  position:absolute;
  inset:0;
  background:radial-gradient(110% 120% at 78% 0%,rgba(210,130,63,0.12),transparent 55%);
  animation:oaabGlow 9s ease-in-out infinite;
}
.faq-hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(16,13,10,0.8) 0%,rgba(16,13,10,0.62) 42%,rgba(16,13,10,0.94) 100%);
}
.page-hero-inner {
  position:relative;
  max-width:1180px;
  margin:0 auto;
  width:100%;
}
.eyebrow-ember-wide {
  font-family:'EB Garamond',serif;
  text-transform:uppercase;
  letter-spacing:.36em;
  font-size:13px;
  font-weight:600;
  color:var(--ember,#d2823f);
}
.faq-hero-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(40px,6vw,72px);
  line-height:1.0;
  letter-spacing:-.015em;
  color:#f4ecdd;
  margin:16px 0 0;
  max-width:16ch;
}
.page-hero-copy-wide {
  font-family:'EB Garamond',serif;
  font-size:clamp(17px,1.6vw,20px);
  line-height:1.6;
  color:#bcae97;
  max-width:62ch;
  margin:22px 0 0;
}
.faq-main {
  max-width:980px;
  margin:0 auto;
  padding:64px 32px 110px;
}
.faq-group {
  margin-bottom:56px;
}
.faq-group-heading {
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:20px;
}
.faq-group-number {
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--ember,#d2823f);
  letter-spacing:.08em;
}
.faq-group-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(26px,3vw,34px);
  color:#f1e8d8;
  margin:0;
  letter-spacing:-.01em;
}
.stack-gap-11 {
  display:flex;
  flex-direction:column;
  gap:11px;
}
.faq-item {
  border-radius:12px;
  background:#16110b;
  overflow:hidden;
  transition:border-color .2s;
}
.faq-question-button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  text-align:left;
  padding:19px 22px;
  background:transparent;
  border:none;
  cursor:pointer;
}
.faq-question-text {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:21px;
  line-height:1.25;
}
.faq-chevron {
  width:19px;
  height:19px;
  flex:0 0 auto;
  transition:transform .25s;
}
.faq-answer {
  padding:0 22px 22px;
  animation:oaabFade .18s ease both;
}
.faq-answer-rule {
  height:1px;
  background:#241d15;
  margin:0 0 17px;
}
.faq-answer-copy {
  font-family:'EB Garamond',serif;
  font-size:17px;
  line-height:1.68;
  color:#bcae97;
  margin:0 0 13px;
  text-wrap:pretty;
}
.faq-bullet-list {
  margin:4px 0 6px;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.faq-bullet-item {
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-family:'EB Garamond',serif;
  font-size:16.5px;
  line-height:1.55;
  color:#b3a690;
}
.faq-bullet-icon {
  color:var(--ember,#d2823f);
  font-size:15px;
  line-height:1.55;
  flex:0 0 auto;
}
.inline-link-ember {
  color:var(--ember,#d2823f);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(210,130,63,0.45);
  transition:text-decoration-color .2s;
}
.faq-note {
  margin-top:15px;
  padding:14px 17px;
  border:1px solid #2c241b;
  border-left:2px solid var(--azura,#9a92d6);
  border-radius:0 9px 9px 0;
  background:#14100b;
}
.faq-note-label {
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--azura,#9a92d6);
}
.faq-note-copy {
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  line-height:1.6;
  color:#a89b87;
  margin:8px 0 0;
}
.callout-card {
  margin-top:8px;
  padding:34px 30px;
  border:1px solid #2c241b;
  border-radius:14px;
  background:#15100b;
  text-align:center;
}
.callout-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:28px;
  color:#f1e8d8;
  margin:0;
}
.callout-copy {
  font-family:'EB Garamond',serif;
  font-size:17px;
  line-height:1.6;
  color:#a89b87;
  margin:12px auto 0;
  max-width:52ch;
}
.callout-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:24px;
}
.btn-primary-sm {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:16px;
  font-weight:600;
  padding:13px 26px;
  border-radius:8px;
  background:var(--ember,#d2823f);
  color:#1a120a;
  border:1px solid var(--ember,#d2823f);
  transition:filter .18s,box-shadow .25s;
}
.btn-ghost-sm {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:16px;
  font-weight:600;
  padding:13px 24px;
  border-radius:8px;
  background:transparent;
  color:#e7dccb;
  border:1px solid #463b2d;
  transition:border-color .2s,color .2s;
}
.site-footer-simple {
  background:#0c0a07;
  border-top:1px solid #221c15;
  padding:48px 32px;
}
.site-footer-inner {
  max-width:1180px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:space-between;
  align-items:center;
}
.inline-cluster-12 {
  display:flex;
  align-items:center;
  gap:12px;
}
.footer-logo {
  height:24px;
  width:auto;
  display:block;
}
.footer-context-text {
  font-family:'EB Garamond',serif;
  font-size:13.5px;
  color:#80735f;
}
.footer-back-link {
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.04em;
  color:#a89b87;
  transition:color .2s;
}

/* --- Home ----------------------------------------------------------------- */
.site-root {
  position:relative;
  background:#100d0a;
  --ember:#d2823f;
  --azura:#9a92d6;
}
.home-nav {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 32px;
  transition:background .3s,border-color .3s;
  border-bottom:1px solid transparent;
  background:transparent;
}
.home-hero {
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
  padding-top:150px;
  box-sizing:border-box;
}
.home-hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.home-hero-glow {
  position:absolute;
  inset:0;
  background:radial-gradient(120% 85% at 72% 8%,rgba(210,130,63,0.12),transparent 58%);
  animation:oaabGlow 9s ease-in-out infinite;
}
.home-hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(16,13,10,0.62) 0%,rgba(16,13,10,0.18) 26%,rgba(16,13,10,0.82) 74%,#100d0a 100%);
}
.home-motes {
  position:absolute;
  inset:0;
  pointer-events:none;
}
.home-mote-1 {
  position:absolute;
  left:11%;
  bottom:0;
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--ember,#d2823f);
  filter:blur(.4px);
  animation:oaabMote 9s linear infinite;
}
.home-mote-2 {
  position:absolute;
  left:24%;
  bottom:0;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#e7b07a;
  animation:oaabMote 12s linear infinite;
  animation-delay:1.5s;
}
.home-mote-3 {
  position:absolute;
  left:38%;
  bottom:0;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--ember,#d2823f);
  filter:blur(.6px);
  animation:oaabMote 11s linear infinite;
  animation-delay:3s;
}
.home-mote-4 {
  position:absolute;
  left:52%;
  bottom:0;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#d99b6a;
  animation:oaabMote 14s linear infinite;
  animation-delay:.7s;
}
.home-mote-5 {
  position:absolute;
  left:66%;
  bottom:0;
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--ember,#d2823f);
  filter:blur(.4px);
  animation:oaabMote 10s linear infinite;
  animation-delay:2.2s;
}
.home-mote-6 {
  position:absolute;
  left:79%;
  bottom:0;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#e7b07a;
  animation:oaabMote 13s linear infinite;
  animation-delay:4s;
}
.home-mote-7 {
  position:absolute;
  left:90%;
  bottom:0;
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--ember,#d2823f);
  filter:blur(.5px);
  animation:oaabMote 12s linear infinite;
  animation-delay:1s;
}
.home-hero-inner {
  position:relative;
  max-width:1180px;
  margin:0 auto;
  width:100%;
  padding:0 32px 104px;
}
.home-hero-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(44px,7vw,86px);
  line-height:1.0;
  letter-spacing:-.015em;
  color:#f4ecdd;
  margin:20px 0 0;
  max-width:14ch;
}
.home-hero-copy {
  font-family:'EB Garamond',serif;
  font-size:clamp(18px,1.7vw,21px);
  line-height:1.65;
  color:#bcae97;
  max-width:60ch;
  margin:26px 0 0;
}
.home-hero-emphasis {
  color:#d9cbb2;
  font-style:italic;
}
.home-hero-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  margin-top:38px;
}
.btn-primary-lg {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:17px;
  font-weight:600;
  padding:14px 28px;
  border-radius:8px;
  background:var(--ember,#d2823f);
  color:#1a120a;
  border:1px solid var(--ember,#d2823f);
  transition:filter .18s,box-shadow .25s,transform .15s;
}
.btn-ghost-lg-alt {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:17px;
  font-weight:600;
  padding:14px 26px;
  border-radius:8px;
  background:transparent;
  color:#e7dccb;
  border:1px solid #4a3f30;
  transition:border-color .2s,color .2s;
}
.subtle-text-link {
  font-size:16px;
  color:#9a8d77;
  padding:8px 4px;
  transition:color .2s;
}
.home-stats-band {
  position:relative;
  margin-top:auto;
  border-top:1px solid #2b241c;
  background:rgba(16,13,10,0.5);
  backdrop-filter:blur(4px);
}
.home-stats-grid {
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.home-stat-cell {
  padding:24px 32px;
  border-right:1px solid #221c15;
}
.home-stat-value {
  font-family:'Cormorant Garamond',serif;
  font-size:34px;
  font-weight:700;
  color:#f1e8d8;
  line-height:1;
}
.home-stat-label {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.06em;
  color:#80735f;
  margin-top:7px;
  text-transform:uppercase;
}
.home-stat-cell-last {
  padding:24px 32px;
}
.section-alt {
  padding:120px 32px;
  background:#120e0c;
  border-top:1px solid #221c15;
}
.container-wide {
  max-width:1180px;
  margin:0 auto;
}
.section-heading-row {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.section-kicker-live {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ember,#d2823f);
  display:flex;
  align-items:center;
  gap:11px;
}
.pulse-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ember,#d2823f);
  animation:oaabPulse 2.4s ease-in-out infinite;
}
.section-title-release {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(34px,4.4vw,54px);
  line-height:1.04;
  letter-spacing:-.01em;
  color:#f1e8d8;
  margin:18px 0 0;
}
.btn-ghost-md {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'EB Garamond',serif;
  font-size:16px;
  font-weight:600;
  padding:12px 22px;
  border-radius:8px;
  background:transparent;
  color:#e7dccb;
  border:1px solid #463b2d;
  transition:border-color .2s,color .2s;
  white-space:nowrap;
}
.featured-release-card-home {
  margin-top:40px;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:0;
  border:1px solid #34291c;
  border-radius:16px;
  overflow:hidden;
  background:#16110b;
  transition:border-color .25s,transform .25s,box-shadow .3s;
}
.featured-release-media-home {
  position:relative;
  min-height:320px;
  background:repeating-linear-gradient(135deg,#1a1208 0 16px,#1f160d 16px 32px);
}
.cover-fill {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.featured-release-side-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 55%,rgba(22,17,11,0.9) 100%);
}
.featured-release-bottom-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(22,17,11,0.55) 100%);
}
.featured-release-badge {
  position:absolute;
  left:18px;
  top:16px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#1a120a;
  background:var(--ember,#d2823f);
  padding:5px 11px;
  border-radius:6px;
  font-weight:600;
}
.featured-release-body {
  padding:38px 38px 34px;
  display:flex;
  flex-direction:column;
}
.release-meta {
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.05em;
  color:#80735f;
}
.featured-release-title-home {
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.04;
  color:#f4ecdd;
  margin:12px 0 0;
}
.feature-copy {
  font-family:'EB Garamond',serif;
  font-size:18px;
  line-height:1.62;
  color:#b3a690;
  margin:16px 0 0;
  text-wrap:pretty;
}
.chip-row {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.chip {
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  letter-spacing:.05em;
  color:#c3b6a0;
  padding:5px 11px;
  border:1px solid #2f2920;
  border-radius:999px;
  background:#14100b;
}
.read-more-link {
  margin-top:26px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'EB Garamond',serif;
  font-size:16.5px;
  font-weight:600;
  color:var(--ember,#d2823f);
}
.section-default {
  padding:120px 32px;
  background:#100d0a;
  border-top:1px solid #1d1812;
}
.section-heading-row-wide {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
}
.section-copy-block {
  max-width:62ch;
}
.section-eyebrow {
  font-family:'EB Garamond',serif;
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:13px;
  font-weight:600;
  color:var(--ember,#d2823f);
}
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(34px,4.4vw,54px);
  line-height:1.04;
  letter-spacing:-.01em;
  color:#f1e8d8;
  margin:18px 0 6px;
}
.section-copy {
  font-family:'EB Garamond',serif;
  font-size:18px;
  line-height:1.6;
  color:#a89b87;
  margin:0;
}
.btn-ghost-compact {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  font-weight:600;
  padding:11px 20px;
  border-radius:8px;
  background:transparent;
  color:#e7dccb;
  border:1px solid #463b2d;
  cursor:pointer;
  transition:border-color .2s,color .2s;
  white-space:nowrap;
}
.btn-primary-compact {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  font-weight:600;
  padding:11px 20px;
  border-radius:8px;
  background:var(--ember,#d2823f);
  color:#1a120a;
  border:1px solid var(--ember,#d2823f);
  transition:filter .18s,box-shadow .25s;
  white-space:nowrap;
}
.showcase-grid {
  margin-top:40px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  transition:opacity .36s ease;
}
.card-link {
  display:flex;
  flex-direction:column;
  border:1px solid #2c241b;
  border-radius:13px;
  overflow:hidden;
  background:#16110b;
  transition:border-color .2s,transform .2s,box-shadow .25s;
}
.showcase-media {
  position:relative;
  aspect-ratio:16/10;
  background:repeating-linear-gradient(135deg,#1a1208 0 14px,#1f160d 14px 28px);
  overflow:hidden;
  border-bottom:1px solid #2c241b;
}
.showcase-initial {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',serif;
  font-size:62px;
  font-weight:700;
  color:#3a2f20;
}
.showcase-radial {
  position:absolute;
  inset:0;
  background:radial-gradient(150% 120% at 50% 0%,rgba(210,130,63,0.1),transparent 60%);
}
.showcase-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(11,9,6,0.82) 100%);
}
.media-label {
  position:absolute;
  left:12px;
  top:11px;
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#d8c7ad;
  background:rgba(12,9,6,0.66);
  backdrop-filter:blur(3px);
  padding:4px 8px;
  border-radius:5px;
}
.showcase-body {
  padding:15px 15px 16px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.showcase-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:20px;
  line-height:1.12;
  color:#f1e8d8;
  margin:0;
  text-wrap:pretty;
}
.showcase-byline {
  font-family:'EB Garamond',serif;
  font-size:13.5px;
  color:#80735f;
  margin-top:5px;
}
.card-cta {
  margin-top:auto;
  padding-top:13px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--ember,#d2823f);
}
.status-line {
  margin-top:24px;
  display:flex;
  align-items:center;
  gap:11px;
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  letter-spacing:.05em;
  color:#6d6253;
  text-transform:uppercase;
}
.pulse-dot-fixed {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ember,#d2823f);
  animation:oaabPulse 2.4s ease-in-out infinite;
  flex-shrink:0;
}
.section-muted {
  padding:120px 32px;
  background:#15100b;
  border-top:1px solid #221c15;
}
.section-title-library {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(34px,4.4vw,54px);
  line-height:1.04;
  letter-spacing:-.01em;
  color:#f1e8d8;
  margin:18px 0 0;
  max-width:18ch;
}
.section-copy-large {
  font-family:'EB Garamond',serif;
  font-size:18.5px;
  line-height:1.65;
  color:#b3a690;
  max-width:62ch;
  margin:22px 0 0;
}
.library-preview-grid {
  margin-top:40px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.library-preview-tile-large {
  position:relative;
  grid-column:span 2;
  height:300px;
  border:1px solid #2e271e;
  border-radius:12px;
  overflow:hidden;
  background:#15100b;
  transition:border-color .2s,transform .2s;
  text-decoration:none;
  display:block;
}
.preview-tile-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(11,9,6,0.9) 100%);
}
.preview-caption-large {
  position:absolute;
  left:18px;
  bottom:16px;
  right:18px;
}
.preview-title-large {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:25px;
  color:#f4ecdd;
  line-height:1.05;
}
.library-preview-tile {
  position:relative;
  grid-column:span 1;
  height:300px;
  border:1px solid #2e271e;
  border-radius:12px;
  overflow:hidden;
  background:#15100b;
  transition:border-color .2s,transform .2s;
  text-decoration:none;
  display:block;
}
.preview-caption {
  position:absolute;
  left:16px;
  bottom:14px;
  right:16px;
}
.preview-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:21px;
  color:#f4ecdd;
  line-height:1.05;
}
.library-preview-tile-wide {
  position:relative;
  grid-column:span 4;
  height:230px;
  border:1px solid #2e271e;
  border-radius:12px;
  overflow:hidden;
  background:#15100b;
  transition:border-color .2s,transform .2s;
  text-decoration:none;
  display:block;
}
.preview-title-wide {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:24px;
  color:#f4ecdd;
  line-height:1.05;
}
.wiki-layout {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:60px;
  align-items:start;
}
.eyebrow-azura {
  font-family:'EB Garamond',serif;
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:13px;
  font-weight:600;
  color:var(--azura,#9a92d6);
}
.wiki-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(34px,4.4vw,54px);
  line-height:1.04;
  letter-spacing:-.01em;
  color:#f1e8d8;
  margin:18px 0 0;
  max-width:16ch;
}
.wiki-copy {
  font-family:'EB Garamond',serif;
  font-size:19px;
  line-height:1.7;
  color:#b3a690;
  margin:38px 0 0;
  max-width:54ch;
}
.btn-wiki {
  justify-self:end;
  align-self:center;
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:17px;
  font-weight:600;
  padding:14px 26px;
  border-radius:8px;
  background:transparent;
  color:#cfc6e6;
  border:1px solid #3f3a55;
  transition:border-color .2s,color .2s,background .2s;
}
.wiki-chip-row {
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:44px;
}
.wiki-chip {
  display:inline-flex;
  align-items:center;
  font-family:'EB Garamond',serif;
  font-size:16px;
  color:#c3b6a0;
  padding:11px 20px;
  border:1px solid #2f2937;
  border-radius:999px;
  background:#15121a;
  transition:all .2s;
}
.contribute-section {
  padding:120px 32px 110px;
  background:#15100b;
  border-top:1px solid #221c15;
}
.centered-container {
  max-width:1180px;
  margin:0 auto;
  text-align:center;
}
.contribute-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.04;
  letter-spacing:-.01em;
  color:#f1e8d8;
  margin:18px auto 0;
  max-width:20ch;
}
.contribute-copy {
  font-family:'EB Garamond',serif;
  font-size:19px;
  line-height:1.7;
  color:#b3a690;
  margin:22px auto 0;
  max-width:58ch;
}
.contribute-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  margin-top:36px;
}
.btn-ghost-lg {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:17px;
  font-weight:600;
  padding:14px 26px;
  border-radius:8px;
  background:transparent;
  color:#e7dccb;
  border:1px solid #463b2d;
  transition:border-color .2s,color .2s;
}
.contributors-block {
  margin-top:56px;
  padding-top:40px;
  border-top:1px solid #2b241c;
}
.contributors-label {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#80735f;
  margin-bottom:22px;
}
.contributors-list {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
  max-width:980px;
  margin:0 auto;
}
.contributor-chip {
  font-family:'EB Garamond',serif;
  font-size:15px;
  color:#c3b6a0;
  padding:7px 14px;
  border:1px solid #2f2920;
  border-radius:999px;
  background:#14100b;
  transition:all .2s;
}
.contributor-chip-muted {
  font-family:'EB Garamond',serif;
  font-size:15px;
  color:#a89b87;
  padding:7px 14px;
  border:1px solid #28221a;
  border-radius:999px;
  background:#14100b;
  transition:all .2s;
}
.home-footer {
  background:#0c0a07;
  border-top:1px solid #221c15;
  padding:64px 32px 40px;
}
.home-footer-grid {
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:48px;
}
.home-footer-logo {
  height:26px;
  width:auto;
  display:block;
}
.footer-brand-text {
  font-family:'EB Garamond',serif;
  font-size:9px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:#80735f;
  border-left:1px solid #2a231b;
  padding-left:12px;
  line-height:1.5;
}
.home-footer-copy {
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  line-height:1.6;
  color:#80735f;
  margin:18px 0 0;
  max-width:38ch;
}
.footer-col-heading {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6d6253;
  margin-bottom:4px;
}
.footer-link {
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  color:#a89b87;
  transition:color .2s;
}
.home-footer-bottom {
  max-width:1180px;
  margin:48px auto 0;
  padding-top:26px;
  border-top:1px solid #1d1812;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:space-between;
  align-items:center;
}
.legal-copy {
  font-family:'EB Garamond',serif;
  font-size:13.5px;
  color:#5d5446;
  max-width:64ch;
}
.legal-version {
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:#5d5446;
  letter-spacing:.04em;
}

/* --- Library -------------------------------------------------------------- */
.library-hero {
  position:relative;
  overflow:hidden;
  padding:148px 32px 56px;
  border-bottom:1px solid #221c15;
}
.library-hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  opacity:.5;
}
.library-hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(16,13,10,0.78) 0%,rgba(16,13,10,0.6) 40%,rgba(16,13,10,0.92) 100%);
}
.library-hero-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(40px,6vw,72px);
  line-height:1.0;
  letter-spacing:-.015em;
  color:#f4ecdd;
  margin:16px 0 0;
  max-width:18ch;
}
.library-hero-copy {
  font-family:'EB Garamond',serif;
  font-size:clamp(17px,1.6vw,20px);
  line-height:1.6;
  color:#bcae97;
  max-width:60ch;
  margin:22px 0 0;
}
.library-toolbar {
  position:sticky;
  z-index:40;
  background:rgba(18,14,11,0.92);
  backdrop-filter:saturate(140%) blur(12px);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid #221c15;
}
.library-tabs-row {
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid #221c15;
}
.filter-label {
  flex:0 0 auto;
  width:58px;
  padding-top:11px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#6f6552;
}
.tab-list {
  flex:1 1 auto;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.type-tab {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'EB Garamond',serif;
  font-size:15px;
  padding:8px 16px;
  border-radius:999px;
  cursor:pointer;
  white-space:nowrap;
  transition:all .18s;
}
.tab-count {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  opacity:.7;
}
.filter-row {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.search-box {
  position:relative;
  display:flex;
  align-items:center;
}
.search-icon {
  position:absolute;
  left:13px;
  width:16px;
  height:16px;
  pointer-events:none;
}
.search-input {
  flex:1 1 auto;
  width:100%;
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  color:#e7dccb;
  background:#15100b;
  border:1px solid #322a20;
  border-radius:9px;
  padding:10px 38px 10px 38px;
  outline:none;
  transition:border-color .18s,box-shadow .18s;
}
.search-clear {
  position:absolute;
  right:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#2a2218;
  color:#b3a690;
  border:none;
  cursor:pointer;
  font-size:14px;
  line-height:1;
  transition:background .18s,color .18s;
}
.popout-break {
  order:2;
  flex:0 0 100%;
  height:0;
  margin:0;
  padding:0;
}
.dropdown {
  position:relative;
  flex:0 0 auto;
}
.dropdown-button-type {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:150px;
  justify-content:space-between;
  font-family:'EB Garamond',serif;
  font-size:15px;
  border-radius:9px;
  padding:10px 14px;
  cursor:pointer;
  white-space:nowrap;
  transition:all .18s;
}
.dropdown-chevron {
  width:14px;
  height:14px;
  opacity:.7;
  transition:transform .2s;
}
.dropdown-menu-type {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:60;
  width:240px;
  background:#15100b;
  border:1px solid #322a20;
  border-radius:12px;
  box-shadow:0 18px 44px rgba(0,0,0,0.55);
  padding:6px;
  animation:oaabFade .14s ease both;
}
.dropdown-scroll-tall {
  max-height:340px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.dropdown-row {
  display:flex;
  align-items:center;
  width:100%;
  font-family:'EB Garamond',serif;
  font-size:14.5px;
  background:transparent;
  border:none;
  border-radius:8px;
  padding:8px 11px;
  cursor:pointer;
  text-align:left;
  transition:background .14s;
}
.menu-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.menu-check {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:5px;
  font-size:11px;
  line-height:1;
  color:#161019;
}
.dropdown-button {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'EB Garamond',serif;
  font-size:15px;
  border-radius:9px;
  padding:10px 14px;
  cursor:pointer;
  white-space:nowrap;
  transition:all .18s;
}
.filter-dot {
  display:inline-flex;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#9a92d6;
}
.dropdown-menu-tags {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:60;
  width:288px;
  background:#15100b;
  border:1px solid #322a20;
  border-radius:12px;
  box-shadow:0 18px 44px rgba(0,0,0,0.55);
  padding:6px;
  animation:oaabFade .14s ease both;
}
.dropdown-row-all {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  font-family:'EB Garamond',serif;
  font-size:14.5px;
  background:transparent;
  border:none;
  border-radius:8px;
  padding:9px 11px;
  cursor:pointer;
  text-align:left;
  transition:background .14s;
}
.dropdown-divider {
  height:1px;
  background:#221c15;
  margin:5px 4px;
}
.dropdown-scroll {
  max-height:300px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.dropdown-row-split {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  font-family:'EB Garamond',serif;
  font-size:14.5px;
  background:transparent;
  border:none;
  border-radius:8px;
  padding:8px 11px;
  cursor:pointer;
  text-align:left;
  transition:background .14s;
}
.menu-count {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
}
.dropdown-button-release {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:158px;
  justify-content:space-between;
  font-family:'EB Garamond',serif;
  font-size:15px;
  border-radius:9px;
  padding:10px 14px;
  cursor:pointer;
  white-space:nowrap;
  transition:all .18s;
}
.dropdown-menu-release {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:60;
  width:238px;
  background:#15100b;
  border:1px solid #322a20;
  border-radius:12px;
  box-shadow:0 18px 44px rgba(0,0,0,0.55);
  padding:6px;
  animation:oaabFade .14s ease both;
}
.release-version-mono {
  font-family:'JetBrains Mono',monospace;
  font-size:13.5px;
  letter-spacing:.02em;
}
.release-mode-group {
  display:inline-flex;
  gap:6px;
  align-items:center;
}
.release-mode-button {
  font-family:'EB Garamond',serif;
  font-size:14px;
  padding:7px 14px;
  border-radius:8px;
  cursor:pointer;
  transition:all .18s;
}
.release-legend {
  flex:0 0 auto;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6f6552;
}
.legend-row {
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.legend-new-swatch {
  width:9px;
  height:9px;
  border-radius:3px;
  background:rgba(210,130,63,0.94);
}
.legend-updated-swatch {
  width:9px;
  height:9px;
  border-radius:3px;
  background:transparent;
  border:1px solid rgba(154,146,214,0.7);
}
.thumb-scale-control {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:9px;
  height:42px;
  padding:0 13px;
  border-radius:9px;
  background:#15100b;
  border:1px solid #322a20;
}
.scale-icon-small {
  width:10px;
  height:10px;
  color:#80735f;
  flex:0 0 auto;
}
.scale-slider {
  width:104px;
  accent-color:#d2823f;
  cursor:pointer;
  background:transparent;
}
.scale-icon-large {
  width:16px;
  height:16px;
  color:#80735f;
  flex:0 0 auto;
}
.scale-value {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:#9a8d77;
  min-width:38px;
  text-align:right;
}
.icon-button {
  flex:0 0 auto;
  margin-left:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:9px;
  cursor:pointer;
  transition:all .18s;
}
.icon-svg {
  width:17px;
  height:17px;
}
.clear-filters-button {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:9px;
  background:rgba(210,130,63,0.1);
  border:1px solid #4a3526;
  color:#e7b07a;
  cursor:pointer;
  transition:all .18s;
}
.library-body-section {
  background:#100d0a;
}
.library-results-header {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.library-results-title-row {
  display:flex;
  align-items:baseline;
  gap:13px;
  flex-wrap:wrap;
}
.popout-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:32px;
  height:32px;
  border-radius:8px;
  background:transparent;
  border:1px solid #3a3127;
  color:#9a8d77;
  cursor:pointer;
  transition:border-color .2s,color .2s;
}
.popout-icon {
  width:16px;
  height:16px;
}
.filter-pill-azura {
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#b3a8c4;
  border:1px solid #3a3350;
  border-radius:999px;
  padding:4px 11px;
}
.filter-pill-dot-azura {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#9a92d6;
}
.filter-pill-ember {
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#e7b07a;
  border:1px solid #4a3526;
  border-radius:999px;
  padding:4px 11px;
}
.filter-pill-dot-ember {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d2823f;
}
.library-count {
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.05em;
  color:#80735f;
  text-transform:uppercase;
}
.empty-state {
  padding:80px 24px;
  text-align:center;
  border:1px dashed #2e271e;
  border-radius:14px;
  background:#15100b;
}
.empty-state-title {
  font-family:'Cormorant Garamond',serif;
  font-size:26px;
  color:#cdbfa6;
}
.empty-state-copy {
  font-family:'EB Garamond',serif;
  font-size:16px;
  color:#80735f;
  margin:10px 0 0;
}
.asset-grid {
  display:grid;
  justify-content:center;
  overflow-anchor:none;
}
.asset-card {
  margin:0;
  display:flex;
  flex-direction:column;
  border:1px solid #2c241b;
  border-radius:11px;
  overflow:hidden;
  background:#16110b;
  cursor:grab;
  transition:border-color .2s,transform .2s,box-shadow .25s;
  animation:oaabFade .4s ease both;
}
.asset-thumb-frame {
  position:relative;
  aspect-ratio:1/1;
  background:radial-gradient(120% 120% at 50% 18%,#221913 0%,#140f0a 72%);
  overflow:hidden;
}
.asset-thumb-layer {
  position:absolute;
  inset:0;
}
.asset-spinner-wrap {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  animation:oaabThumbPulse 1.3s ease-in-out infinite;
}
.asset-spinner {
  width:24px;
  height:24px;
  border-radius:50%;
  border:2px solid rgba(210,130,63,0.18);
  border-top-color:rgba(210,130,63,0.82);
  animation:oaabSpin .7s linear infinite;
}
.asset-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  opacity:0;
  transition:opacity .3s ease;
}
.asset-type-label {
  position:absolute;
  left:9px;
  top:9px;
  font-family:'JetBrains Mono',monospace;
  font-size:9px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#d8c7ad;
  background:rgba(12,9,6,0.66);
  backdrop-filter:blur(3px);
  padding:3px 7px;
  border-radius:5px;
}
.asset-release-badge {
  position:absolute;
  right:9px;
  top:9px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-family:'JetBrains Mono',monospace;
  font-size:9px;
  font-weight:500;
  letter-spacing:.03em;
  padding:3px 7px 3px 6px;
  border-radius:5px;
  backdrop-filter:blur(3px);
  box-shadow:0 1px 5px rgba(0,0,0,0.32);
}
.asset-release-glyph {
  font-size:10px;
  line-height:1;
}
.asset-id-overlay {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  font-family:'JetBrains Mono',monospace;
  font-size:9px;
  line-height:1.3;
  color:#e7b07a;
  background:linear-gradient(180deg,rgba(12,9,6,0) 0%,rgba(12,9,6,0.72) 38%,rgba(12,9,6,0.9) 100%);
  padding:14px 7px 5px;
  word-break:break-word;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  pointer-events:none;
}
.asset-card-body {
  height:78px;
  padding:11px 12px 13px;
  border-top:1px solid #221c15;
  display:flex;
  flex-direction:column;
  gap:3px;
  overflow:hidden;
}
.asset-id {
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  line-height:1.35;
  color:#e7b07a;
  word-break:break-word;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.asset-name {
  font-family:'EB Garamond',serif;
  font-size:14px;
  color:#9a8d77;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* --- Release Detail ------------------------------------------------------- */
.release-article {
  position:relative;
  padding:128px 32px 40px;
}
.release-article-glow {
  position:absolute;
  inset:0;
  height:360px;
  background:radial-gradient(100% 130% at 78% 0%,rgba(210,130,63,0.13),transparent 58%);
  animation:oaabGlow 9s ease-in-out infinite;
  pointer-events:none;
}
.article-container {
  position:relative;
  max-width:820px;
  margin:0 auto;
}
.back-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#80735f;
  transition:color .2s;
}
.release-header-block {
  margin-top:22px;
}
.release-meta-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.05em;
  color:#80735f;
}
.meta-dot {
  color:#3a3127;
}
.latest-pill {
  color:#1a120a;
  background:var(--ember,#d2823f);
  padding:3px 10px;
  border-radius:5px;
  font-weight:600;
  letter-spacing:.06em;
}
.release-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:clamp(44px,6vw,72px);
  line-height:1.0;
  letter-spacing:-.015em;
  color:#f4ecdd;
  margin:14px 0 0;
}
.external-discussion-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:22px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.04em;
  color:#9a8d77;
  transition:color .2s;
}
.article-rule {
  height:1px;
  background:#221c15;
  margin:34px 0 38px;
}
.missing-notes-card {
  padding:48px 34px;
  border:1px solid #2c241b;
  border-radius:14px;
  background:#16110b;
  text-align:center;
}
.card-label {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#80735f;
}
.missing-notes-copy {
  font-family:'EB Garamond',serif;
  font-size:18.5px;
  line-height:1.6;
  color:#b3a690;
  margin:14px auto 0;
  max-width:46ch;
}
.github-notes-button {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:26px;
  font-size:16.5px;
  font-weight:600;
  padding:13px 26px;
  border-radius:8px;
  background:var(--ember,#d2823f);
  color:#1a120a;
  border:1px solid var(--ember,#d2823f);
  transition:filter .18s,box-shadow .25s;
}
.not-found-card {
  margin-top:60px;
  padding:54px 34px;
  border:1px solid #2c241b;
  border-radius:14px;
  background:#16110b;
  text-align:center;
}
.not-found-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:40px;
  color:#f1e8d8;
  margin:0;
}
.not-found-copy {
  font-family:'EB Garamond',serif;
  font-size:18px;
  color:#b3a690;
  margin:14px 0 0;
}
.not-found-button {
  display:inline-flex;
  margin-top:24px;
  font-size:16px;
  font-weight:600;
  padding:12px 24px;
  border-radius:8px;
  background:var(--ember,#d2823f);
  color:#1a120a;
}
.release-nav {
  max-width:820px;
  margin:18px auto 0;
  padding:0 32px 96px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.release-nav-card {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:18px 22px;
  border:1px solid #2c241b;
  border-radius:12px;
  background:#16110b;
  transition:border-color .2s,transform .2s;
}
.release-nav-label {
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#80735f;
}
.release-nav-title {
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:600;
  color:#ece2d2;
}
.release-nav-card-older {
  display:flex;
  flex-direction:column;
  gap:5px;
  align-items:flex-end;
  text-align:right;
  padding:18px 22px;
  border:1px solid #2c241b;
  border-radius:12px;
  background:#16110b;
  transition:border-color .2s,transform .2s;
}
.release-footer {
  background:#0c0a07;
  border-top:1px solid #221c15;
  padding:44px 32px 40px;
}
.release-footer-copy {
  font-family:'EB Garamond',serif;
  font-size:13.5px;
  color:#5d5446;
  max-width:60ch;
  text-align:right;
}

/* --- Releases Index ------------------------------------------------------- */
.releases-hero {
  position:relative;
  overflow:hidden;
  padding:150px 32px 60px;
  border-bottom:1px solid #221c15;
}
.releases-hero-glow {
  position:absolute;
  inset:0;
  background:radial-gradient(110% 130% at 80% 0%,rgba(210,130,63,0.14),transparent 56%);
  animation:oaabGlow 9s ease-in-out infinite;
}
.releases-hero-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:clamp(40px,6vw,72px);
  line-height:1.0;
  letter-spacing:-.015em;
  color:#f4ecdd;
  margin:16px 0 0;
  max-width:20ch;
}
.latest-release-section {
  padding:64px 32px 30px;
  max-width:1180px;
  margin:0 auto;
}
.latest-release-kicker {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ember,#d2823f);
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:22px;
}
.featured-release-card {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:0;
  border:1px solid #34291c;
  border-radius:16px;
  overflow:hidden;
  background:#16110b;
  transition:border-color .25s,transform .25s,box-shadow .3s;
}
.featured-release-media {
  position:relative;
  min-height:340px;
  background:repeating-linear-gradient(135deg,#1a1208 0 16px,#1f160d 16px 32px);
}
.featured-release-title {
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:clamp(34px,3.6vw,46px);
  line-height:1.02;
  color:#f4ecdd;
  margin:12px 0 0;
}
.earlier-releases-section {
  padding:34px 32px 110px;
  max-width:1180px;
  margin:0 auto;
}
.earlier-releases-label {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#80735f;
  margin-bottom:22px;
  border-top:1px solid #221c15;
  padding-top:36px;
}
.release-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.release-card-media {
  position:relative;
  aspect-ratio:16/9;
  background:repeating-linear-gradient(135deg,#1a1208 0 14px,#1f160d 14px 28px);
  overflow:hidden;
  border-bottom:1px solid #2c241b;
}
.release-card-version-bg {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',serif;
  font-size:40px;
  font-weight:700;
  color:#3a2f20;
}
.release-card-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(11,9,6,0.78) 100%);
}
.release-card-badge {
  position:absolute;
  left:12px;
  top:11px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.06em;
  color:#1a120a;
  background:rgba(231,176,122,0.92);
  padding:4px 9px;
  border-radius:5px;
  font-weight:600;
}
.release-card-body {
  padding:16px 17px 18px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.release-card-date {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:#80735f;
  letter-spacing:.04em;
}
.release-card-copy {
  font-family:'EB Garamond',serif;
  font-size:15.5px;
  line-height:1.5;
  color:#b3a690;
  margin:9px 0 0;
  text-wrap:pretty;
}
.release-card-chip-row {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:13px;
}
.release-card-chip {
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px;
  letter-spacing:.04em;
  color:#9a8d77;
  padding:3px 8px;
  border:1px solid #28221a;
  border-radius:999px;
}
.release-card-cta {
  margin-top:auto;
  padding-top:14px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--ember,#d2823f);
}
/* --- End components ------------------------------------------------------- */
