/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --font-weight-semibold: 600;
    --tracking-wide: 0.025em;
    --tracking-widest: 0.1em;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --blur-2xl: 40px;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-ink: #172033;
    --color-muted: #667085;
    --color-line: #e3e8ef;
    --color-paper: #f8fafc;
    --color-accent: #3366e8;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .visible {
    visibility: visible;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .top-0 {
    top: 0px;
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .z-\[100\] {
    z-index: 100;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }
  .mb-9 {
    margin-bottom: calc(var(--spacing) * 9);
  }
  .mb-\[30px\] {
    margin-bottom: 30px;
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .min-h-\[68px\] {
    min-height: 68px;
  }
  .min-h-\[230px\] {
    min-height: 230px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .max-w-\[660px\] {
    max-width: 660px;
  }
  .max-w-\[1180px\] {
    max-width: 1180px;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .resize {
    resize: both;
  }
  .appearance-none {
    appearance: none;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-7 {
    gap: calc(var(--spacing) * 7);
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-visible {
    overflow: visible;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-\[14px\] {
    border-radius: 14px;
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-\[\#cfe0d9\] {
    border-color: #cfe0d9;
  }
  .border-ink\/8 {
    border-color: color-mix(in srgb, #172033 8%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-ink) 8%, transparent);
    }
  }
  .border-line {
    border-color: var(--color-line);
  }
  .border-white\/10 {
    border-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .bg-\[\#f4faf7\] {
    background-color: #f4faf7;
  }
  .bg-ink {
    background-color: var(--color-ink);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white\/88 {
    background-color: color-mix(in srgb, #fff 88%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 88%, transparent);
    }
  }
  .bg-white\/90 {
    background-color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }
  .px-\[18px\] {
    padding-inline: 18px;
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-\[70px\] {
    padding-block: 70px;
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .pb-7 {
    padding-bottom: calc(var(--spacing) * 7);
  }
  .text-center {
    text-align: center;
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[13px\] {
    font-size: 13px;
  }
  .text-\[14px\] {
    font-size: 14px;
  }
  .leading-\[1\.55\] {
    --tw-leading: 1.55;
    line-height: 1.55;
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[-0\.02em\] {
    --tw-tracking: -0.02em;
    letter-spacing: -0.02em;
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-\[\#91a29b\] {
    color: #91a29b;
  }
  .text-\[\#42524c\] {
    color: #42524c;
  }
  .text-ink {
    color: var(--color-ink);
  }
  .text-muted {
    color: var(--color-muted);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-white {
    color: var(--color-white);
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur-2xl {
    --tw-backdrop-blur: blur(var(--blur-2xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
}
:root {
  --green: #1a6b4a;
  --green-mid: #2d8a63;
  --green-lt: #e6f4ee;
  --green-xlt: #f2f9f5;
  --blue: #1e4d8c;
  --blue-mid: #2e6ab5;
  --blue-lt: #e8f0fb;
  --teal: #1a7a7a;
  --teal-lt: #e6f4f4;
  --amber: #b45309;
  --amber-lt: #fef3c7;
  --red: #be123c;
  --red-lt: #ffe4e6;
  --purple: #5b21b6;
  --purple-lt: #ede9fe;
  --slate: #334155;
  --slate-lt: #f1f5f9;
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,.10);
  --shadow-lg: 0 8px 28px rgba(0,0,0,.13);
  --radius: 10px;
  --radius-lg: 16px;
}
#topnav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--gray-200);
  box-shadow: var(--shadow-sm);
}
.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 0 24px;
  overflow-x: auto;
}
.nav-brand {
  font-weight: 700;
  font-size: 15px;
  color: var(--green);
  white-space: nowrap;
  margin-right: 24px;
  padding: 16px 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.nav-tabs {
  display: flex;
  gap: 0;
}
.nav-tab {
  padding: 18px 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gray-600);
  cursor: pointer;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color .15s,border-color .15s;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  outline: none;
}
.nav-tab:hover {
  color: var(--green);
}
.nav-tab.active {
  color: var(--green);
  border-bottom-color: var(--green);
}
.nav-inner::-webkit-scrollbar {
  height: 3px;
}
.nav-inner::-webkit-scrollbar-thumb {
  background: var(--gray-300);
}
.page {
  display: none;
}
.page.active {
  display: block;
}
.section-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 52px 24px;
}
.section-title {
  font-size: 26px;
  font-weight: 700;
  color: var(--gray-900);
  margin-bottom: 8px;
}
.section-sub {
  font-size: 16px;
  color: var(--gray-600);
  margin-bottom: 36px;
  max-width: 660px;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  outline: none;
  transition: all .15s;
  font-family: inherit;
}
.btn-primary {
  background: var(--green);
  color: #fff;
}
.btn-primary:hover {
  background: var(--green-mid);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.btn-secondary {
  background: var(--blue);
  color: #fff;
}
.btn-secondary:hover {
  background: var(--blue-mid);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.btn-outline {
  background: #fff;
  color: var(--green);
  border: 1.5px solid var(--green);
}
.btn-outline:hover {
  background: var(--green-xlt);
}
.btn-ghost {
  background: var(--gray-100);
  color: var(--gray-700);
  border: 1px solid var(--gray-200);
}
.btn-ghost:hover {
  background: var(--gray-200);
}
.btn-sm {
  padding: 6px 14px;
  font-size: 13px;
}
.badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
}
.badge-meta {
  background: var(--gray-200);
  color: var(--gray-700);
}
.badge-open {
  background: var(--green-lt);
  color: var(--green);
}
.badge-gated {
  background: var(--blue-lt);
  color: var(--blue);
}
.badge-dta {
  background: var(--amber-lt);
  color: var(--amber);
}
.badge-federated {
  background: var(--purple-lt);
  color: var(--purple);
}
.badge-tre {
  background: var(--red-lt);
  color: var(--red);
}
.badge-kb {
  background: var(--teal-lt);
  color: var(--teal);
}
.card {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .15s,transform .15s;
}
.card:hover {
  box-shadow: var(--shadow-md);
}
.card-grid {
  display: grid;
  gap: 20px;
}
.card-grid-2 {
  grid-template-columns: repeat(auto-fill,minmax(340px,1fr));
}
.card-grid-3 {
  grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
}
.card-grid-4 {
  grid-template-columns: repeat(auto-fill,minmax(210px,1fr));
}
.hero {
  background: linear-gradient(140deg,#0f4a32 0%,#1a4a6b 100%);
  color: #fff;
  padding: 72px 24px;
  text-align: center;
}
.hero-inner {
  max-width: 780px;
  margin: 0 auto;
}
.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.15);
  border-radius: 999px;
  padding: 5px 16px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 22px;
}
.hero h1 {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.12;
  margin-bottom: 16px;
}
.hero h1 span {
  opacity: .75;
  font-weight: 400;
  font-size: 36px;
  display: block;
  margin-top: 4px;
}
.hero-tagline {
  font-size: 17px;
  opacity: .88;
  max-width: 580px;
  margin: 0 auto 36px;
  line-height: 1.65;
}
.hero-ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.hero-btn-w {
  background: #fff;
  color: var(--green);
  font-weight: 700;
  padding: 12px 26px;
  border-radius: 8px;
  cursor: pointer;
  border: none;
  font-size: 14.5px;
  transition: all .15s;
  font-family: inherit;
}
.hero-btn-w:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.18);
  transform: translateY(-1px);
}
.hero-btn-o {
  background: transparent;
  color: #fff;
  font-weight: 600;
  padding: 12px 26px;
  border-radius: 8px;
  cursor: pointer;
  border: 2px solid rgba(255,255,255,.55);
  font-size: 14.5px;
  transition: all .15s;
  font-family: inherit;
}
.hero-btn-o:hover {
  border-color: #fff;
  background: rgba(255,255,255,.1);
}
.infra-note {
  background: var(--slate-lt);
  border: 1px solid var(--gray-300);
  border-radius: var(--radius);
  padding: 14px 20px;
  font-size: 13.5px;
  color: var(--gray-600);
  margin-bottom: 36px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.infra-note-icon {
  flex-shrink: 0;
  margin-top: 1px;
  font-size: 16px;
}
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(180px,1fr));
  gap: 18px;
  margin-bottom: 48px;
}
.metric-card {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 24px 20px;
  text-align: center;
  box-shadow: var(--shadow-sm);
}
.metric-card .num {
  font-size: 38px;
  font-weight: 800;
  color: var(--green);
  line-height: 1;
}
.metric-card .label {
  font-size: 13.5px;
  color: var(--gray-600);
  margin-top: 6px;
}
.entry-section {
  margin-bottom: 52px;
}
.entry-section h2 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 8px;
}
.entry-section p {
  font-size: 15px;
  color: var(--gray-600);
  margin-bottom: 28px;
  max-width: 600px;
}
.entry-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(270px,1fr));
  gap: 18px;
}
.entry-card {
  border-radius: var(--radius-lg);
  padding: 28px;
  cursor: pointer;
  transition: all .18s;
  border: 1.5px solid transparent;
}
.entry-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}
.entry-card .ec-icon {
  font-size: 30px;
  margin-bottom: 14px;
}
.entry-card h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
.entry-card p {
  font-size: 13.5px;
  opacity: .82;
  line-height: 1.55;
}
.entry-card .ec-arrow {
  margin-top: 16px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: .75;
}
.ec-green {
  background: var(--green-lt);
  color: var(--green);
  border-color: var(--green-mid);
}
.ec-blue {
  background: var(--blue-lt);
  color: var(--blue);
  border-color: var(--blue-mid);
}
.ec-purple {
  background: var(--purple-lt);
  color: var(--purple);
  border-color: #7c3aed;
}
.ec-amber {
  background: var(--amber-lt);
  color: var(--amber);
  border-color: #d97706;
}
.ec-red {
  background: var(--red-lt);
  color: var(--red);
  border-color: #e11d48;
}
.ec-teal {
  background: var(--teal-lt);
  color: var(--teal);
  border-color: var(--teal);
}
.users-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(240px,1fr));
  gap: 18px;
  margin-bottom: 48px;
}
.user-card {
  background: var(--gray-100);
  border-radius: var(--radius);
  padding: 22px;
  border-left: 3px solid var(--green);
}
.user-card h4 {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 8px;
}
.user-card ul {
  list-style: none;
  padding: 0;
}
.user-card ul li {
  font-size: 13px;
  color: var(--gray-600);
  padding: 3px 0;
  display: flex;
  gap: 6px;
  align-items: baseline;
}
.user-card ul li::before {
  content: "·";
  color: var(--green);
  font-weight: 700;
}
.principles-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(230px,1fr));
  gap: 14px;
  margin-top: 8px;
}
.principle {
  background: var(--gray-100);
  border-radius: var(--radius);
  padding: 18px;
  border-left: 3px solid var(--green);
}
.principle h4 {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 4px;
}
.principle p {
  font-size: 13px;
  color: var(--gray-600);
}
.tiers-intro {
  background: var(--green-xlt);
  border-radius: var(--radius);
  padding: 20px 24px;
  margin-bottom: 36px;
  font-size: 15px;
  color: var(--gray-700);
}
.tier-card {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 24px;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .15s;
}
.tier-card:hover {
  box-shadow: var(--shadow-md);
}
.tier-num {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.tier-arrow {
  text-align: center;
  color: var(--gray-400);
  font-size: 22px;
  padding: 4px 0;
  user-select: none;
}
.tier-card h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
.tier-card p {
  font-size: 14px;
  color: var(--gray-600);
}
.tier-tag {
  margin-top: 10px;
}
.filters-bar {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  align-items: center;
}
.filters-bar input,.filters-bar select {
  padding: 9px 14px;
  border: 1px solid var(--gray-300);
  border-radius: 8px;
  font-size: 14px;
  color: var(--gray-800);
  background: #fff;
  outline: none;
  transition: border-color .15s;
  font-family: inherit;
}
.filters-bar input:focus,.filters-bar select:focus {
  border-color: var(--green);
}
.filters-bar input {
  min-width: 210px;
}
.filters-bar select {
  min-width: 155px;
}
.filters-count {
  font-size: 13px;
  color: var(--gray-500);
  margin-left: auto;
}
.catalogue-standard {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 28px;
  padding: 16px 18px;
  border: 1px solid #cfe0d9;
  border-radius: 12px;
  background: #f4faf7;
  color: #42524c;
  font-size: 13px;
  line-height: 1.55;
}
.catalogue-standard::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.catalogue-standard strong {
  color: var(--ink);
}
.dataset-card {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ds-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 10px;
}
.dataset-card h3 {
  font-size: 17px;
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.ds-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.ds-field {
  font-size: 12.5px;
  color: var(--gray-600);
  background: var(--gray-100);
  padding: 3px 10px;
  border-radius: 999px;
}
.ds-purpose {
  font-size: 13.5px;
  color: var(--gray-600);
  line-height: 1.55;
  margin-bottom: 14px;
}
.ds-contains {
  background: #f7f9f8;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 15px;
  margin-bottom: 14px;
}
.ds-contains-label {
  font-size: 10.5px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--green);
  margin-bottom: 6px;
}
.ds-contains-value {
  font-size: 13px;
  color: var(--ink);
  line-height: 1.52;
}
.ds-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  margin-bottom: 16px;
}
.ds-fact-label {
  font-size: 10px;
  font-weight: 720;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--gray-500);
  margin-bottom: 2px;
}
.ds-fact-value {
  font-size: 12.5px;
  color: var(--gray-700);
  line-height: 1.4;
}
.ds-steward {
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: 11.5px;
  color: var(--gray-500);
  line-height: 1.45;
}
.resource-relation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding: 11px 13px;
  border-radius: 9px;
  background: var(--blue-lt);
}
.relation-label {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--blue);
}
.relation-link {
  appearance: none;
  padding: 0;
  border: 0;
  background: none;
  color: var(--blue);
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  text-align: right;
  cursor: pointer;
}
.relation-link:hover {
  text-decoration: underline;
}
.ds-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 18px;
}
.catalogue-empty {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 48px 28px;
  border: 1px dashed #d5ddd8;
  border-radius: 16px;
  background: #fbfcfe;
  color: var(--gray-600);
  text-align: center;
}
.catalogue-empty.is-visible {
  display: flex;
}
.catalogue-empty strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  letter-spacing: -.02em;
}
.catalogue-empty p {
  max-width: 420px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--muted);
}
#page-models .section-title {
  margin-bottom: 40px;
}
.community-model-filter {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: -10px 0 32px;
  padding: 14px 16px;
  border: 1px solid #cfe0d9;
  border-radius: 11px;
  background: #f4faf7;
  color: #42524c;
  font-size: 13px;
}
.community-model-filter strong {
  color: var(--ink);
}
.community-model-filter button {
  appearance: none;
  border: 0;
  background: none;
  color: var(--green);
  font: inherit;
  font-weight: 720;
  cursor: pointer;
}
.model-card {
  display: flex;
  flex-direction: column;
}
.model-card h3 {
  font-size: 17px;
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.02em;
  margin-bottom: 8px;
}
.model-card .model-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.model-card .model-purpose {
  font-size: 13.5px;
  color: var(--gray-600);
  line-height: 1.55;
  margin-bottom: 15px;
}
.model-card .model-detail {
  font-size: 12.5px;
  color: var(--gray-600);
  margin-bottom: 7px;
  line-height: 1.45;
}
.model-card .model-detail strong {
  color: var(--gray-700);
}
.model-data-links {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
}
.model-data-links strong {
  flex: 0 0 auto;
  padding-top: 5px;
  color: var(--gray-700);
  font-size: 12.5px;
}
.data-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.data-link-chip {
  appearance: none;
  padding: 4px 9px;
  border: 1px solid #c8d9d2;
  border-radius: 999px;
  background: #f6faf8;
  color: var(--green);
  font: inherit;
  font-size: 11.5px;
  font-weight: 650;
  cursor: pointer;
}
.data-link-chip:hover {
  background: var(--green-lt);
  border-color: #9cc5b5;
}
.model-card .model-actions {
  margin-top: auto;
  padding-top: 16px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.model-limits {
  margin-top: 8px;
  padding: 10px 12px;
  border-left: 2px solid #c7d2cd;
  background: #f8faf9;
  color: var(--gray-600);
  font-size: 11.5px;
  line-height: 1.45;
}
.model-infra {
  font-size: 11.5px;
  color: var(--gray-500);
  margin: 10px 0 14px;
}
.linked-highlight {
  animation: linkedPulse 1.8s ease;
}
@keyframes linkedPulse {
  0%,100% {
    box-shadow: none;
    border-color: var(--line);
  }
  22%,70% {
    box-shadow: 0 0 0 5px rgba(104,175,231,.2),0 18px 40px rgba(12,67,160,.1);
    border-color: var(--accent);
  }
}
.community-card {
  position: relative;
  overflow: hidden;
}
.community-title-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.community-title-copy {
  min-width: 0;
}
.community-card h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
.community-card .geo {
  font-size: 13px;
  color: var(--gray-500);
  margin-bottom: 8px;
}
.community-emblem {
  position: relative;
  isolation: isolate;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff;
  color: #3366e8;
  border: 1px solid rgba(51,102,232,.14);
  box-shadow: 0 8px 22px rgba(37,67,133,.07);
}
.community-emblem::before,.community-emblem::after,.community-emblem span,.community-emblem span::before,.community-emblem span::after {
  content: "";
  position: absolute;
  display: block;
}
.community-icon-language span {
  left: 15px;
  top: 17px;
  width: 27px;
  height: 19px;
  border: 2px solid currentColor;
  border-radius: 7px;
}
.community-icon-language span::after {
  left: 4px;
  bottom: -6px;
  width: 7px;
  height: 7px;
  border-left: 2px solid currentColor;
  transform: skewY(-35deg);
}
.community-icon-primary span {
  left: 25px;
  top: 14px;
  width: 8px;
  height: 30px;
  border-radius: 3px;
  background: currentColor;
}
.community-icon-primary span::after {
  left: -11px;
  top: 11px;
  width: 30px;
  height: 8px;
  border-radius: 3px;
  background: currentColor;
}
.community-icon-ultrasound span,.community-icon-ultrasound span::before,.community-icon-ultrasound span::after {
  left: 13px;
  width: 31px;
  height: 13px;
  border-bottom: 2px solid currentColor;
  border-radius: 0 0 50% 50%;
}
.community-icon-ultrasound span {
  top: 13px;
}
.community-icon-ultrasound span::before {
  left: 0;
  top: 7px;
}
.community-icon-ultrasound span::after {
  left: 0;
  top: 15px;
}
.community-icon-maternal span {
  left: 15px;
  top: 15px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 18px 8px 0 -1px currentColor;
}
.community-icon-maternal span::after {
  left: 4px;
  top: 15px;
  width: 24px;
  height: 14px;
  border: 2px solid currentColor;
  border-top: 0;
  border-radius: 0 0 16px 16px;
  transform: rotate(-8deg);
}
.community-icon-pediatric span {
  left: 17px;
  top: 13px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}
.community-icon-pediatric span::before {
  left: 18px;
  top: 5px;
  width: 6px;
  height: 23px;
  border-radius: 3px;
  background: currentColor;
}
.community-icon-pediatric span::after {
  left: 10px;
  top: 13px;
  width: 22px;
  height: 6px;
  border-radius: 3px;
  background: currentColor;
}
.community-icon-imaging span {
  left: 14px;
  top: 14px;
  width: 30px;
  height: 30px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.community-icon-imaging span::before {
  left: 7px;
  top: 7px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: currentColor;
}
.community-icon-imaging span::after {
  left: 12px;
  top: -7px;
  width: 3px;
  height: 6px;
  border-radius: 3px;
  background: currentColor;
}
.community-icon-amr span {
  left: 24px;
  top: 24px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: -13px -10px 0 -2px currentColor,14px -8px 0 -2px currentColor,-9px 15px 0 -2px currentColor,14px 13px 0 -2px currentColor;
}
.community-icon-amr span::before {
  left: -12px;
  top: -12px;
  width: 30px;
  height: 30px;
  border: 1.5px solid currentColor;
  border-radius: 44% 56% 51% 49%;
  transform: rotate(25deg);
}
.community-icon-chw span {
  left: 14px;
  top: 22px;
  width: 30px;
  height: 22px;
  border: 2px solid currentColor;
  border-radius: 6px;
}
.community-icon-chw span::before {
  left: 7px;
  top: -9px;
  width: 12px;
  height: 8px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
}
.community-icon-chw::before {
  left: 27px;
  top: 27px;
  width: 4px;
  height: 13px;
  border-radius: 2px;
  background: currentColor;
}
.community-icon-chw::after {
  left: 22px;
  top: 31.5px;
  width: 14px;
  height: 4px;
  border-radius: 2px;
  background: currentColor;
}
.community-icon-neonatal span::before {
  content: "♥";
  position: absolute;
  left: 15px;
  top: 11px;
  color: currentColor;
  font-size: 28px;
  line-height: 1;
}
.community-icon-dermatology span {
  left: 14px;
  top: 14px;
  width: 30px;
  height: 30px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.community-icon-dermatology span::before {
  left: 6px;
  top: 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 11px 8px 0 -1px currentColor,3px 15px 0 -2px currentColor;
}
.community-icon-cardiac span::before {
  content: "♥";
  position: absolute;
  left: 15px;
  top: 10px;
  color: currentColor;
  font-size: 28px;
  line-height: 1;
}
.community-icon-cardiac span::after {
  left: 10px;
  top: 28px;
  width: 37px;
  height: 2px;
  background: #fff;
  box-shadow: 7px -5px 0 -1px #fff,13px 6px 0 -1px #fff;
  transform: rotate(-2deg);
}
.comm-stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  margin: 14px 0;
}
.comm-stat {
  text-align: center;
  background: var(--gray-100);
  border-radius: 8px;
  padding: 10px 4px;
}
.comm-stat-button {
  appearance: none;
  width: 100%;
  border: 1px solid transparent;
  font: inherit;
  cursor: pointer;
  transition: background .16s,border-color .16s,transform .16s;
}
.comm-stat-button:hover {
  background: var(--green-lt);
  border-color: #b6d6c9;
  transform: translateY(-1px);
}
.comm-stat-button:focus-visible {
  outline: 3px solid rgba(104,175,231,.38);
  outline-offset: 2px;
}
.comm-stat .cs-num {
  font-size: 20px;
  font-weight: 800;
  color: var(--green);
}
.comm-stat .cs-label {
  font-size: 11px;
  color: var(--gray-600);
}
.status-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  margin-bottom: 12px;
}
.status-forming {
  background: var(--amber-lt);
  color: var(--amber);
}
.status-active {
  background: var(--green-lt);
  color: var(--green);
}
.status-scaling {
  background: var(--blue-lt);
  color: var(--blue);
}
.contributor-pitch {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  margin: -6px 0 24px;
  padding: 22px 24px;
  border: 1px solid #c9ddd5;
  border-radius: 14px;
  background: var(--green-xlt);
}
.contributor-pitch h2 {
  font-size: 18px;
  letter-spacing: -.025em;
  margin-bottom: 5px;
  color: var(--ink);
}
.contributor-pitch p {
  max-width: 680px;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.55;
}
.contributor-pitch-tag {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 10.5px;
  font-weight: 760;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.score-key {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.score-key span {
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 11px;
}
.leaderboard-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 14px;
  padding: 13px 15px;
  border: 1px solid #dfe5ee;
  border-radius: 13px;
  background: #fff;
}
.leaderboard-sort {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #475467;
  font-size: 11.5px;
  font-weight: 740;
}
.leaderboard-sort select {
  min-width: 220px;
  padding: 9px 34px 9px 11px;
  border: 1px solid #d6deea;
  border-radius: 9px;
  background: #fbfcfe;
  color: #17233f;
  font: inherit;
  font-weight: 650;
}
.leaderboard-ranking-summary {
  color: #667085;
  font-size: 11px;
  text-align: right;
}
.contributor-board {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.contributor-row {
  display: grid;
  grid-template-columns: 54px minmax(210px,1.25fr) minmax(245px,1fr) 100px 76px 148px;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.contributor-row:last-child {
  border-bottom: 0;
}
.contributor-row:hover {
  background: #fbfdfc;
}
.contributor-rank {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f1f4f7;
  color: #7b8794;
  font-size: 15px;
  font-weight: 800;
  text-align: center;
}
.contributor-row:nth-child(1) .contributor-rank {
  background: #fff4c7;
  color: #9a6700;
}
.contributor-row:nth-child(2) .contributor-rank {
  background: #edf1f5;
  color: #596779;
}
.contributor-row:nth-child(3) .contributor-rank {
  background: #fae9dc;
  color: #92532c;
}
.contributor-org h3 {
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: -.015em;
  margin-bottom: 3px;
  color: var(--ink);
}
.contributor-org p {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.45;
}
.contributor-trophy {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  padding: 4px 7px;
  border-radius: 6px;
  background: #fff5d8;
  color: #855b00;
  font-size: 9.5px;
  font-weight: 760;
  line-height: 1.2;
}
.contributor-trophy::before {
  content: "🏆";
  font-size: 11px;
}
.trophy-open {
  background: #edf3ff;
  color: #2856cc;
}
.trophy-gated {
  background: #f1efff;
  color: #5a49bd;
}
.trophy-knowledge {
  background: #e9f7f0;
  color: #16734f;
}
.trophy-federated {
  background: #fff1ec;
  color: #bd4b2c;
}
.trophy-metadata {
  background: #f0f2f5;
  color: #536175;
}
.trophy-score {
  background: #fff5d8;
  color: #855b00;
}
.trophy-data {
  background: #eaf7f0;
  color: #18734e;
}
.contributor-assets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.contributor-assets-panel {
  min-width: 0;
}
.contributor-highlight {
  margin-top: 8px;
  color: #667085;
  font-size: 10.5px;
  line-height: 1.35;
}
.asset-count {
  display: flex;
  align-items: baseline;
  gap: 5px;
  padding: 8px 9px;
  border: 1px solid #dfe5ec;
  border-radius: 9px;
  background: #f8fafc;
  color: #5f6b7a;
  font-size: 10px;
  line-height: 1;
}
.asset-count strong {
  color: #17233f;
  font-size: 17px;
  line-height: 1;
}
.asset-count-model {
  background: #f1f5ff;
  border-color: #d9e3f8;
  color: #365582;
}
.asset-count-data {
  background: #f3f8f5;
  border-color: #dce9e1;
  color: #416455;
}
.asset-type {
  display: inline-flex;
  align-items: center;
  padding: 5px 7px;
  border-radius: 6px;
  font-size: 9.5px;
  font-weight: 720;
  line-height: 1;
}
.asset-type-open-data {
  background: #edf3ff;
  color: #2856cc;
}
.asset-type-gated-community {
  background: #f1efff;
  color: #5a49bd;
}
.asset-type-knowledge-base {
  background: #e8f7f7;
  color: #087274;
}
.asset-type-federated-learning {
  background: #fff1ec;
  color: #bd4b2c;
}
.asset-type-metadata-only {
  background: #f0f2f5;
  color: #536175;
}
.asset-type-speech {
  background: #fff4df;
  color: #946000;
}
.asset-type-imaging {
  background: #fcecef;
  color: #9e3150;
}
.asset-type-laboratory {
  background: #edf7f1;
  color: #267051;
}
.asset-type-clinical {
  background: #eef5fb;
  color: #31678f;
}
.contributor-evidence {
  color: #52615c;
  font-size: 12px;
  line-height: 1.45;
}
.contributor-evidence strong {
  display: block;
  color: var(--ink);
  font-size: 12.5px;
  margin-bottom: 2px;
}
.contributor-score {
  text-align: center;
}
.contributor-score strong {
  display: block;
  color: var(--green);
  font-size: 23px;
  line-height: 1;
}
.contributor-score span {
  display: block;
  color: var(--muted);
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-top: 4px;
}
.contributor-stars {
  text-align: center;
}
.contributor-stars strong {
  display: block;
  color: #a56a00;
  font-size: 19px;
  line-height: 1;
}
.contributor-stars span {
  display: block;
  color: var(--muted);
  font-size: 8.5px;
  text-transform: uppercase;
  letter-spacing: .055em;
  margin-top: 5px;
}
.contributor-stars small {
  display: block;
  margin-top: 5px;
  color: #667085;
  font-size: 9px;
}
.contributor-actions {
  text-align: right;
}
.leaderboard-note {
  margin: 12px 2px 0;
  color: #89958f;
  font-size: 11.5px;
  line-height: 1.5;
}
.contributor-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 38px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.contributor-cta h3 {
  font-size: 20px;
  letter-spacing: -.025em;
  margin-bottom: 4px;
}
.contributor-cta p {
  color: var(--muted);
  font-size: 13px;
}
.contributor-cta-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
}
.score-breakdown {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 8px;
  margin-top: 10px;
}
.score-breakdown div {
  padding: 9px 10px;
  border-radius: 8px;
  background: #f6f8f7;
  font-size: 11.5px;
  color: var(--muted);
}
.score-breakdown strong {
  float: right;
  color: var(--green);
}
@media (max-width:980px) {
  .contributor-row {
    grid-template-columns: 46px minmax(210px,1fr) 100px 74px;
  }
  .contributor-assets {
    grid-column: 2/5;
  }
  .contributor-actions {
    grid-column: 2/5;
    text-align: left;
  }
  .contributor-pitch,.contributor-cta {
    flex-direction: column;
  }
  .contributor-pitch-tag {
    order: -1;
  }
}
@media (max-width:580px) {
  .leaderboard-controls {
    align-items: flex-start;
    flex-direction: column;
  }
  .leaderboard-sort {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
  }
  .leaderboard-sort select {
    width: 100%;
    min-width: 0;
  }
  .leaderboard-ranking-summary {
    text-align: left;
  }
  .contributor-row {
    grid-template-columns: 40px 1fr 66px;
    padding: 16px 13px;
    gap: 10px;
  }
  .contributor-stars {
    grid-column: 2;
  }
  .contributor-score {
    grid-column: 3;
    grid-row: 1;
  }
  .contributor-assets,.contributor-actions {
    grid-column: 2/4;
  }
  .contributor-rank {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }
  .contributor-score strong {
    font-size: 19px;
  }
  .score-breakdown {
    grid-template-columns: 1fr;
  }
}
.gov-pathway {
  background: var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 32px;
  margin-bottom: 40px;
}
.gov-pathway h3 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 24px;
  text-align: center;
}
.pathway-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
}
.pathway-step {
  text-align: center;
  background: #fff;
  border-radius: var(--radius);
  padding: 14px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-700);
  border: 1px solid var(--gray-200);
  min-width: 100px;
  box-shadow: var(--shadow-sm);
}
.pathway-step .ps-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 6px;
}
.pathway-arrow {
  font-size: 17px;
  color: var(--gray-400);
  padding: 0 4px;
}
.gov-card h3 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 8px;
}
.gov-card p {
  font-size: 13.5px;
  color: var(--gray-600);
}
.gov-icon {
  font-size: 22px;
  margin-bottom: 12px;
}
.phase1-note {
  background: var(--amber-lt);
  border-radius: var(--radius);
  padding: 20px 24px;
  border-left: 4px solid var(--amber);
  margin-top: 36px;
  font-size: 14.5px;
  color: var(--gray-700);
}
.roadmap-box {
  background: var(--blue-lt);
  border-radius: var(--radius);
  padding: 20px 24px;
  border-left: 4px solid var(--blue-mid);
  margin-top: 20px;
  font-size: 14.5px;
  color: var(--gray-700);
}
.roadmap-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.roadmap-pill {
  background: #fff;
  border: 1px solid var(--blue-mid);
  color: var(--blue);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
}
.submit-wrap {
  max-width: 980px;
}
.form-card {
  margin-bottom: 24px;
}
.form-section-title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--green);
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
  min-width: 0;
}
@media (max-width:640px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
}
.form-group {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}
.form-group.full {
  grid-column: 1/-1;
}
.form-group label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--gray-700);
}
.form-group input,.form-group select,.form-group textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid var(--gray-300);
  border-radius: 8px;
  font-size: 14px;
  color: var(--gray-800);
  background: #fff;
  outline: none;
  transition: border-color .15s;
  font-family: inherit;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px var(--green-lt);
}
.form-group textarea {
  resize: vertical;
  min-height: 90px;
}
.radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.radio-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  cursor: pointer;
}
.radio-opt input[type=radio] {
  accent-color: var(--green);
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.check-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  cursor: pointer;
}
.check-opt input[type=checkbox] {
  accent-color: var(--green);
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.radio-group-row {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px 28px;
}
.nav-tab.nav-cta+.nav-tab.nav-cta {
  margin-left: 4px;
}
.session-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 8px 28px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfe;
}
.session-bar[hidden] {
  display: none;
}
.session-form,.session-user {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.session-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}
.session-form input {
  width: 180px;
  padding: 7px 10px;
  border: 1px solid var(--gray-300);
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
}
.session-user-label,.session-user span {
  font-size: 13px;
  font-weight: 650;
  color: var(--ink);
}
.session-error {
  margin: 0;
  color: var(--red);
  font-size: 12px;
}
.api-status {
  margin: 0;
  color: var(--red);
  font-size: 12px;
  font-weight: 650;
}
.submit-form-error {
  display: none;
  margin: 0 0 16px;
  color: var(--red);
  font-size: 13.5px;
  font-weight: 650;
}
.submit-success-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 18px;
}
.submit-success {
  display: none;
  background: var(--green-lt);
  border: 1.5px solid var(--green-mid);
  border-radius: var(--radius);
  padding: 36px;
  text-align: center;
}
.submit-success .check-icon {
  font-size: 44px;
  margin-bottom: 14px;
}
.submit-success h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 10px;
}
.submit-success p {
  font-size: 14.5px;
  color: var(--gray-700);
  max-width: 480px;
  margin: 0 auto;
}
.custody-notice {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: -12px 0 28px;
  padding: 16px 18px;
  border: 1px solid #bdd7ca;
  border-radius: 12px;
  background: var(--green-xlt);
}
.custody-notice-mark {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.custody-notice strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  margin-bottom: 2px;
}
.custody-notice p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.share-path-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 20px;
}
.share-path-choice {
  --path-color: #3366e8;
  appearance: none;
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 3px 0 var(--path-color);
  transition: border-color .17s,background .17s,transform .17s,box-shadow .17s;
}
.share-path-choice[data-path="gated"] {
  --path-color: #6d5bd0;
}
.share-path-choice[data-path="knowledge"] {
  --path-color: #16865a;
}
.share-path-choice[data-path="federated"] {
  --path-color: #e76f51;
}
.share-path-choice[data-path="metadata"] {
  --path-color: #e9a23b;
}
.share-path-choice[data-path="tre"] {
  --path-color: #d9506a;
}
.share-path-choice:hover {
  transform: translateY(-2px);
  border-color: var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--path-color) 38%,white);
  }
  background: var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--path-color) 4%,white);
  }
  box-shadow: inset 0 3px 0 var(--path-color),0 12px 26px rgba(16,33,28,.06);
}
.share-path-choice.active {
  border-color: var(--path-color);
  background: var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--path-color) 8%,white);
  }
  box-shadow: inset 0 3px 0 var(--path-color),0 0 0 2px var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: inset 0 3px 0 var(--path-color),0 0 0 2px color-mix(in srgb,var(--path-color) 17%,transparent);
  }
}
.share-path-number {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--path-color);
  font-size: 10.5px;
  font-weight: 760;
  letter-spacing: .09em;
  margin-bottom: 18px;
}
.share-path-number::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--path-color);
  box-shadow: 0 0 0 4px var(--path-color),0 0 0 8px var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 4px color-mix(in srgb,var(--path-color) 18%,transparent),0 0 0 8px color-mix(in srgb,var(--path-color) 7%,transparent);
  }
}
.share-path-choice strong {
  display: block;
  font-size: 15px;
  letter-spacing: -.02em;
  margin-bottom: 6px;
}
.share-path-choice small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.pathway-detail {
  --path-color: #3366e8;
  display: none;
  margin-bottom: 24px;
  border-top: 4px solid var(--path-color);
}
.pathway-detail[data-active-path="gated"] {
  --path-color: #6d5bd0;
}
.pathway-detail[data-active-path="knowledge"] {
  --path-color: #16865a;
}
.pathway-detail[data-active-path="federated"] {
  --path-color: #e76f51;
}
.pathway-detail[data-active-path="metadata"] {
  --path-color: #e9a23b;
}
.pathway-detail[data-active-path="tre"] {
  --path-color: #d9506a;
}
.pathway-detail.visible {
  display: block;
}
.pathway-panel {
  display: none;
}
.pathway-panel.active {
  display: block;
}
.pathway-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.pathway-head h2 {
  font-size: 25px;
  line-height: 1.12;
  letter-spacing: -.035em;
  margin-bottom: 7px;
}
.pathway-head p {
  max-width: 620px;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.55;
}
.pathway-badge {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--path-color) 11%,white);
  }
  color: var(--path-color);
  font-size: 10.5px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.pathway-layout {
  display: grid;
  grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr);
  gap: 28px;
  align-items: start;
  min-width: 0;
}
.workflow-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-left: 4px;
}
.workflow-item {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  position: relative;
  padding-bottom: 17px;
}
.workflow-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 28px;
  bottom: 0;
  width: 1px;
  background: var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--path-color) 25%,#dce2ea);
  }
}
.workflow-num {
  width: 29px;
  height: 29px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--path-color);
  color: #fff;
  font-size: 10.5px;
  font-weight: 760;
  position: relative;
  z-index: 1;
  box-shadow: 0 0 0 5px var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 5px color-mix(in srgb,var(--path-color) 10%,transparent);
  }
}
.workflow-copy strong {
  display: block;
  font-size: 13px;
  color: var(--ink);
  margin-bottom: 2px;
}
.workflow-copy span {
  display: block;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.45;
}
.pathway-fields {
  min-width: 0;
  padding: 20px;
  border-radius: 12px;
  background: var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--path-color) 3%,#fff);
  }
  border: 1px solid var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb,var(--path-color) 18%,var(--line));
  }
}
.pathway-fields-title {
  font-size: 12px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--path-color);
  margin-bottom: 16px;
}
.agreement-question {
  grid-column: 1/-1;
  padding-top: 18px;
  margin-top: 2px;
  border-top: 1px solid var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px solid color-mix(in srgb,var(--path-color) 16%,var(--line));
  }
}
.agreement-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.agreement-intro strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  margin-bottom: 3px;
}
.agreement-intro span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.template-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
  flex-wrap: wrap;
}
.template-link {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--path-color);
  font: inherit;
  font-size: 11.5px;
  font-weight: 720;
  cursor: pointer;
  padding: 3px 0;
}
.template-link:hover {
  text-decoration: underline;
}
.agreement-builder {
  display: none;
  grid-column: 1/-1;
  margin-top: 2px;
  padding: 16px;
  border-radius: 11px;
  background: #fff;
  border: 1px solid var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb,var(--path-color) 20%,var(--line));
  }
}
.agreement-builder.visible {
  display: block;
}
.agreement-builder-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.agreement-builder-head strong {
  display: block;
  color: var(--ink);
  font-size: 13.5px;
  margin-bottom: 3px;
}
.agreement-builder-head span {
  display: block;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.4;
}
.agreement-builder .form-grid {
  gap: 14px;
}
.agreement-draft-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  grid-column: 1/-1;
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.agreement-draft-action span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}
.agreement-draft-action .btn {
  flex: 0 0 auto;
}
.agreement-existing {
  display: none;
  grid-column: 1/-1;
  padding: 13px 14px;
  border-radius: 9px;
  background: var(--path-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--path-color) 7%,white);
  }
  color: #475467;
  font-size: 12px;
  line-height: 1.45;
}
.agreement-existing.visible {
  display: block;
}
.agreement-signing-flow {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  margin: 14px 0;
}
.agreement-signing-flow div {
  padding: 11px;
  border-radius: 9px;
  background: #f7f9fc;
  border: 1px solid var(--line);
}
.agreement-signing-flow strong {
  display: block;
  color: var(--path-color);
  font-size: 10px;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.agreement-signing-flow span {
  display: block;
  color: var(--gray-700);
  font-size: 11.5px;
  line-height: 1.4;
}
.assist-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 12px;
  border-radius: 9px;
  background: var(--path-color,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--path-color,#3366e8) 7%,white);
  }
  color: #475467;
  font-size: 12.5px;
  line-height: 1.45;
}
.assist-option input {
  margin-top: 2px;
  accent-color: var(--path-color,#3366e8);
}
.field-help {
  font-size: 11px;
  color: var(--gray-500);
  line-height: 1.4;
}
.repository-import {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.repository-import input {
  flex: 1;
  min-width: 0;
}
.repository-import .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
.metadata-import-result {
  display: none;
  margin-top: 4px;
  padding: 12px 13px;
  border: 1px solid #b9d7c8;
  border-radius: 9px;
  background: var(--green-xlt);
  color: var(--gray-700);
  font-size: 12px;
  line-height: 1.45;
}
.metadata-import-result.visible {
  display: block;
}
.metadata-import-result strong {
  display: block;
  color: var(--green);
  margin-bottom: 2px;
}
.metadata-import-result.error {
  border-color: #e1b8b8;
  background: #fff5f5;
  color: #8a3434;
}
.metadata-import-result.error strong {
  color: #8a3434;
}
.pathway-error {
  display: none;
  margin-top: 12px;
  color: var(--red);
  font-size: 12.5px;
  font-weight: 650;
}
.common-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.common-card-title span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  font-size: 11px;
  font-weight: 760;
}
.common-card-title h2 {
  font-size: 18px;
  letter-spacing: -.025em;
}
@media (max-width:800px) {
  .share-path-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .pathway-layout {
    grid-template-columns: 1fr;
  }
  .pathway-head {
    flex-direction: column;
  }
  .pathway-badge {
    order: -1;
  }
}
@media (max-width:640px) {
  .agreement-intro,.agreement-draft-action {
    flex-direction: column;
  }
  .template-actions {
    width: 100%;
  }
  .agreement-signing-flow {
    grid-template-columns: 1fr;
  }
  .agreement-draft-action .btn {
    width: 100%;
  }
}
@media (max-width:520px) {
  .share-path-grid {
    grid-template-columns: 1fr;
  }
  .share-path-choice {
    min-height: 108px;
  }
  .pathway-fields {
    padding: 16px;
  }
  .custody-notice {
    flex-direction: column;
    gap: 9px;
    margin-top: -18px;
  }
}
.identity-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 220;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(16,33,28,.45);
}
.identity-backdrop.open {
  display: flex;
}
.identity-modal {
  position: relative;
  width: 100%;
  max-width: 440px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 32px 28px 28px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(16,33,28,.18);
}
.identity-kicker {
  margin: 0 0 8px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.identity-modal h2 {
  margin: 0 0 8px;
  font-size: 24px;
  letter-spacing: -.03em;
}
.identity-lede {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}
.identity-kind {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}
.identity-kind legend {
  margin: 0 0 10px;
  padding: 0;
  color: var(--gray-700);
  font-size: 13.5px;
  font-weight: 650;
}
.identity-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.identity-choice {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfcfe;
  cursor: pointer;
}
.identity-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.identity-choice span {
  font-size: 14px;
  font-weight: 680;
  color: var(--ink);
}
.identity-choice:has(input:checked) {
  border-color: var(--accent);
  background: var(--accent-pale);
  box-shadow: 0 0 0 3px rgba(51,102,232,.12);
}
.identity-modal .form-group {
  margin-bottom: 14px;
}
.identity-modal .modal-actions {
  margin-top: 8px;
}
.modal-backdrop.open {
  display: flex;
}
.modal {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 32px;
  max-width: 680px;
  width: 100%;
  box-shadow: var(--shadow-lg);
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}
.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--gray-100);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-600);
  transition: background .15s;
}
.modal-close:hover {
  background: var(--gray-200);
}
.modal h2 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}
.modal .modal-org {
  font-size: 13px;
  color: var(--gray-600);
  margin-bottom: 20px;
}
.modal-field {
  margin-bottom: 12px;
  font-size: 14px;
}
.modal-field .mf-label {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--gray-500);
  margin-bottom: 3px;
}
.modal-field .mf-value {
  color: var(--gray-800);
}
.modal-actions {
  display: flex;
  gap: 10px;
  margin-top: 24px;
  flex-wrap: wrap;
}
.modal-infra-note {
  background: var(--slate-lt);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 12.5px;
  color: var(--gray-600);
  margin-top: 16px;
}
.modal-section {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.modal-section:last-of-type {
  border-bottom: 0;
}
.modal-section .mf-label {
  font-size: 10.5px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--gray-500);
  margin-bottom: 5px;
}
.modal-section .mf-value {
  font-size: 13.5px;
  color: var(--gray-800);
  line-height: 1.55;
}
.agreement-summary-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
  margin: 16px 0;
}
.agreement-summary-item {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8f9fc;
}
.agreement-summary-item strong {
  display: block;
  margin-bottom: 4px;
  color: #5a49bd;
  font-size: 10px;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.agreement-summary-item span {
  display: block;
  color: var(--gray-700);
  font-size: 12px;
  line-height: 1.45;
}
.agreement-status-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 14px;
  border-radius: 10px;
  background: #f1efff;
  color: #4e438f;
  font-size: 12px;
  line-height: 1.4;
}
.agreement-status-bar strong {
  color: #443890;
}
.agreement-document {
  margin: 16px 0;
  border: 1px solid var(--line);
  border-radius: 11px;
  overflow: hidden;
}
.agreement-clause {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}
.agreement-clause:last-child {
  border-bottom: 0;
}
.agreement-clause strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 4px;
}
.agreement-clause p {
  color: var(--gray-700);
  font-size: 12px;
  line-height: 1.55;
}
.signature-progress {
  display: grid;
  gap: 8px;
  margin: 16px 0;
}
.signature-person {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
}
.signature-person div {
  min-width: 0;
}
.signature-person strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
}
.signature-person span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}
.signature-state {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f0f2f5;
  color: #667085;
  font-size: 10px;
  font-weight: 720;
}
.signature-state.signed {
  background: #eaf7f0;
  color: #18734e;
}
.signature-form {
  margin-top: 18px;
  padding: 16px;
  border-radius: 11px;
  background: #f8f9fc;
  border: 1px solid var(--line);
}
.signature-form .form-grid {
  gap: 13px;
}
.signature-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  grid-column: 1/-1;
  color: var(--gray-700);
  font-size: 11.5px;
  line-height: 1.45;
}
.signature-consent input {
  width: auto;
  flex: 0 0 auto;
  margin-top: 2px;
  accent-color: #5a49bd;
}
.access-credential {
  margin: 18px 0;
  padding: 18px;
  border-radius: 12px;
  background: #102b58;
  color: #fff;
  box-shadow: 0 16px 36px rgba(16,43,88,.15);
}
.access-credential-label {
  color: #9bc7ff;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.access-key-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.access-key-row code {
  flex: 1;
  min-width: 0;
  padding: 11px 12px;
  border-radius: 8px;
  background: rgba(255,255,255,.11);
  color: #fff;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.access-credential p {
  margin-top: 11px;
  color: #cddbf1;
  font-size: 11px;
  line-height: 1.45;
}
.access-copy-status {
  min-height: 17px;
  margin-top: 7px;
  color: #8ed7b7;
  font-size: 11px;
}
@media (max-width:560px) {
  .repository-import {
    flex-direction: column;
  }
  .agreement-summary-grid {
    grid-template-columns: 1fr;
  }
  .agreement-status-bar,.signature-person,.access-key-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .signature-state {
    align-self: flex-start;
  }
  .access-key-row code {
    width: 100%;
  }
}
footer {
  background: var(--gray-900);
  color: var(--gray-400);
  padding: 36px 24px;
  text-align: center;
  font-size: 13.5px;
  margin-top: 64px;
}
footer strong {
  color: #fff;
}
footer .footer-note {
  opacity: .55;
  font-size: 12px;
  margin-top: 8px;
}
.phase2-tab {
  font-weight: 700 !important;
  color: var(--blue) !important;
}
.phase2-tab.active {
  border-bottom-color: var(--blue) !important;
  color: var(--blue) !important;
}
.p2-hero {
  background: linear-gradient(140deg,#0f2a5a 0%,#1a4a34 100%);
  color: #fff;
  padding: 52px 24px;
  text-align: center;
}
.p2-hero-inner {
  max-width: 740px;
  margin: 0 auto;
}
.p2-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.15);
  border-radius: 999px;
  padding: 4px 16px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 18px;
}
.p2-hero h2 {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 12px;
}
.p2-hero p {
  font-size: 16px;
  opacity: .86;
  max-width: 580px;
  margin: 0 auto 28px;
  line-height: 1.65;
}
.p2-unlocks {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.p2-pill {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
}
.p2-flow-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.p2-flow-tab {
  padding: 9px 18px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid var(--gray-300);
  background: #fff;
  color: var(--gray-700);
  transition: all .15s;
  font-family: inherit;
}
.p2-flow-tab:hover {
  border-color: var(--blue-mid);
  color: var(--blue);
}
.p2-flow-tab.active {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}
.p2-flow {
  display: none;
}
.p2-flow.active {
  display: block;
}
.p2-flow-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 24px;
  align-items: start;
}
@media (max-width:860px) {
  .p2-flow-layout {
    grid-template-columns: 1fr;
  }
}
.p2-steps-wrap {
  background: var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 28px;
}
.p2-steps-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 20px;
}
.p2-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.p2-step {
  display: flex;
  gap: 12px;
  cursor: pointer;
  padding: 14px 16px;
  border-radius: var(--radius);
  transition: background .15s;
  position: relative;
}
.p2-step:hover {
  background: rgba(255,255,255,.7);
}
.p2-step.active {
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.p2-step-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: -.3px;
  flex-shrink: 0;
  background: var(--gray-200);
  color: var(--gray-600);
  transition: background .15s,color .15s;
}
.p2-step.active .p2-step-icon {
  background: var(--blue);
  color: #fff;
}
.p2-step-body {
  flex: 1;
}
.p2-step-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--gray-800);
}
.p2-step-hint {
  font-size: 12px;
  color: var(--gray-500);
  margin-top: 2px;
}
.p2-step-badges {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.p2-step-connector {
  width: 2px;
  height: 20px;
  background: var(--gray-300);
  margin-left: 30px;
}
.p2-badge {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
}
.p2-badge-manual {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #cbd5e1;
}
.p2-badge-auto {
  background: var(--blue-lt);
  color: var(--blue);
  border: 1px solid #93c5fd;
}
.p2-badge-gov {
  background: var(--amber-lt);
  color: var(--amber);
  border: 1px solid #fcd34d;
}
.p2-badge-secure {
  background: var(--red-lt);
  color: var(--red);
  border: 1px solid #fca5a5;
}
.p2-badge-model {
  background: var(--purple-lt);
  color: var(--purple);
  border: 1px solid #c4b5fd;
}
.p2-explain {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 24px;
  min-height: 280px;
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 80px;
}
.p2-explain-empty {
  color: var(--gray-400);
  text-align: center;
  padding-top: 48px;
  font-size: 14px;
}
.p2-explain h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
.p2-explain .p2-explain-sub {
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 14px;
}
.p2-explain .p2-explain-text {
  font-size: 14px;
  color: var(--gray-700);
  line-height: 1.6;
}
.p2-explain .p2-io {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
}
.p2-io-box {
  border-radius: 8px;
  padding: 12px;
}
.p2-io-box .p2-io-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.p2-io-box .p2-io-val {
  font-size: 13px;
}
.p2-io-p1 {
  background: var(--amber-lt);
  border: 1px solid #fcd34d;
}
.p2-io-p1 .p2-io-label {
  color: var(--amber);
}
.p2-io-p2 {
  background: var(--blue-lt);
  border: 1px solid #93c5fd;
}
.p2-io-p2 .p2-io-label {
  color: var(--blue);
}
.p2-secure-toggle {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.p2-stoggle-btn {
  padding: 8px 18px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid var(--gray-300);
  background: #fff;
  color: var(--gray-700);
  transition: all .15s;
  font-family: inherit;
}
.p2-stoggle-btn.active {
  border-color: var(--green);
  color: #fff;
  background: var(--green);
}
.p2-pathway {
  display: none;
}
.p2-pathway.active {
  display: block;
}
.p2-model-home {
  background: var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 24px;
  margin-top: 20px;
  border: 1px solid var(--gray-200);
}
.p2-model-home h4 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
.p2-model-home .p2-mh-org {
  font-size: 12.5px;
  color: var(--gray-500);
  margin-bottom: 16px;
}
.p2-mh-scores {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.p2-mh-score {
  background: #fff;
  border-radius: 8px;
  padding: 10px;
  text-align: center;
  border: 1px solid var(--gray-200);
}
.p2-mh-score .s-num {
  font-size: 18px;
  font-weight: 800;
  color: var(--green);
}
.p2-mh-score .s-label {
  font-size: 10.5px;
  color: var(--gray-500);
  margin-top: 2px;
}
.p2-mh-datasets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.p2-mh-ds {
  font-size: 12px;
  background: var(--blue-lt);
  color: var(--blue);
  padding: 3px 10px;
  border-radius: 999px;
}
.p2-mh-orgs {
  font-size: 13px;
  color: var(--gray-600);
  margin-bottom: 14px;
}
.p2-matrix {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-size: 14px;
}
.p2-matrix th {
  background: var(--gray-800);
  color: #fff;
  padding: 12px 16px;
  text-align: left;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.p2-matrix th:first-child {
  border-radius: var(--radius) 0 0 0;
}
.p2-matrix th:last-child {
  border-radius: 0 var(--radius) 0 0;
}
.p2-matrix tr:nth-child(even) {
  background: var(--gray-100);
}
.p2-matrix tr:hover {
  background: var(--blue-lt);
}
.p2-matrix td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--gray-200);
  vertical-align: top;
  line-height: 1.5;
}
.p2-matrix td:first-child {
  font-weight: 600;
  color: var(--green);
}
.p2-matrix td:last-child {
  color: var(--blue);
  font-weight: 600;
}
.p2-matrix .teach {
  color: var(--gray-600);
  font-style: italic;
}
.p2-roles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
  gap: 14px;
  margin-top: 20px;
}
.p2-role-card {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow-sm);
}
.p2-role-card h4 {
  font-size: 14px;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 4px;
}
.p2-role-card p {
  font-size: 13px;
  color: var(--gray-600);
}
.p2-comm-card {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 20px;
  box-shadow: var(--shadow-sm);
}
.p2-comm-card h4 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 10px;
}
.p2-comm-items {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.p2-comm-item {
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--gray-100);
  color: var(--gray-700);
}
:root {
  --ink: #172033;
  --muted: #667085;
  --line: #e3e8ef;
  --paper: #f8fafc;
  --accent: #3366e8;
  --accent-dark: #2447b8;
  --accent-pale: #edf3ff;
  --lime: #f6c85f;
  --green: #3366e8;
  --green-mid: #5b8def;
  --green-lt: #edf3ff;
  --green-xlt: #f7f9ff;
  --blue: #3366e8;
  --blue-mid: #5b8def;
  --blue-lt: #edf3ff;
  --teal: #16865a;
  --teal-lt: #e8f7f7;
  --purple: #6d5bd0;
  --purple-lt: #f1efff;
  --amber: #b66b14;
  --amber-lt: #fff6e7;
  --red: #d9506a;
  --red-lt: #fff0f3;
  --brand-purple: #6d5bd0;
  --brand-rose: #d9506a;
  --brand-yellow: #e9a23b;
  --brand-sun: #f6c85f;
  --eggshell: #fbfcfe;
  --gray-100: #f7f9fc;
  --gray-200: #e9edf3;
  --gray-300: #d9e0e8;
  --gray-500: #8993a4;
  --gray-600: #667085;
  --gray-700: #475467;
  --gray-800: #344054;
  --gray-900: #172033;
}
body {
  background: var(--paper);
  color: var(--ink);
  font-size: 15px;
  letter-spacing: -.005em;
}
button,a {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible {
  outline: 3px solid rgba(104,175,231,.4);
  outline-offset: 3px;
}
#topnav {
  background: rgba(254,255,247,.92);
  border-bottom: 1px solid rgba(12,67,160,.1);
  box-shadow: none;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.nav-inner {
  max-width: 1180px;
  min-height: 68px;
  padding: 0 28px;
  overflow: visible;
  justify-content: space-between;
  gap: 28px;
}
.nav-brand {
  appearance: none;
  background: none;
  border: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 720;
  letter-spacing: -.02em;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  gap: 0;
}
.brand-mark {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 5px var(--accent-pale);
  display: inline-block;
}
.nav-tabs {
  align-items: center;
  gap: 4px;
}
.nav-tab {
  padding: 10px 11px;
  border: 0;
  border-radius: 999px;
  color: #52615c;
  font-size: 12.5px;
  font-weight: 620;
  transition: background .18s,color .18s;
}
.nav-tab:hover {
  background: #fff;
  color: var(--ink);
  text-decoration: none;
}
.nav-tab.active {
  background: #fff;
  color: var(--accent);
  border: 0;
  box-shadow: 0 1px 0 rgba(16,33,28,.05);
}
.nav-tab.nav-cta {
  background: var(--ink);
  color: #fff;
  margin-left: 6px;
  padding-inline: 16px;
}
.nav-tab.nav-cta:hover {
  background: var(--accent-dark);
  color: #fff;
}
.section-wrap {
  max-width: 1180px;
  padding: 70px 28px;
}
.section-title {
  font-size: clamp(30px,4vw,48px);
  line-height: 1.05;
  letter-spacing: -.045em;
  color: var(--ink);
}
.section-sub {
  color: var(--muted);
  line-height: 1.65;
}
.card,.metric-card,.tier-card,.p2-role-card,.p2-comm-card {
  border-color: var(--line);
  box-shadow: none;
}
.card:hover,.tier-card:hover {
  box-shadow: 0 16px 38px rgba(16,33,28,.07);
}
.btn {
  border-radius: 999px;
}
.btn-primary {
  background: var(--accent);
}
.btn-primary:hover {
  background: var(--accent-dark);
}
.home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.home-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 620px;
  height: 620px;
  right: -170px;
  top: -290px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 65%,rgba(200,239,155,.7),rgba(227,241,235,.58) 48%,rgba(246,248,245,0) 70%);
}
.home-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  min-height: 760px;
  margin: 0 auto;
  padding: 122px 28px 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.home-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 38px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.home-kicker::before {
  content: "";
  width: 25px;
  height: 1px;
  background: currentColor;
}
.home-hero h1 {
  max-width: 900px;
  color: var(--ink);
  font-size: clamp(50px,7.4vw,94px);
  font-weight: 760;
  line-height: .94;
  letter-spacing: -.068em;
  margin: 0;
}
.home-hero h1 .home-title-sub {
  display: block;
  color: var(--accent);
  font: inherit;
  margin: 0;
}
.home-hero h1 .commons-o {
  isolation: isolate;
  width: .78em;
  color: transparent;
  vertical-align: -.015em;
}
.home-hero h1 .commons-o::before {
  z-index: 0;
  width: .72em;
  height: .72em;
  background: #5b8def;
  box-shadow: 0 0 0 .14em rgba(91,141,239,.22),0 0 0 .34em rgba(188,210,255,.26);
  animation: commonsTargetPulse 3.8s ease-in-out infinite;
}
.home-hero h1 .commons-o::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 51%;
  width: .17em;
  height: .17em;
  border-radius: 50%;
  background: #2447b8;
  box-shadow: 0 0 0 .085em rgba(255,255,255,.16);
  transform: translate(-50%,-50%);
}
@keyframes commonsTargetPulse {
  50% {
    transform: translate(-50%,-50%) scale(1.1);
    box-shadow: 0 0 0 .18em rgba(91,141,239,.22),0 0 0 .42em rgba(188,210,255,.2);
  }
}
.commons-attractor {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .96;
}
.home-hero.commons-attractor-ready .commons-dot-field {
  opacity: 0;
}
.home-lede {
  max-width: 670px;
  margin: 46px 0 0;
  color: #31423c;
  font-size: clamp(20px,2.2vw,28px);
  font-weight: 480;
  line-height: 1.35;
  letter-spacing: -.028em;
}
.home-note {
  max-width: 790px;
  margin: 15px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}
.home-actions {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
  margin-top: 58px;
}
.journey-btn {
  --item-color: #7b8798;
  min-height: 88px;
  padding: 18px 17px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(255,255,255,.9);
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 690;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 13px;
  box-shadow: inset 0 3px 0 var(--item-color),0 1px 2px rgba(16,24,40,.04);
  transition: transform .2s,border-color .2s,background .2s,box-shadow .2s;
}
.journey-btn::after {
  content: "↗";
  font-size: 17px;
  font-weight: 400;
  color: var(--item-color);
  transition: transform .2s;
}
.journey-orbit {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--item-color);
  box-shadow: 0 0 0 5px var(--item-color),0 0 0 10px var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 5px color-mix(in srgb,var(--item-color) 20%,transparent),0 0 0 10px color-mix(in srgb,var(--item-color) 8%,transparent);
  }
  transition: transform .25s,box-shadow .25s;
}
.journey-btn:hover {
  transform: translateY(-3px);
  border-color: #a9c7bb;
  background: #fff;
  box-shadow: 0 18px 40px rgba(16,33,28,.08);
}
.journey-btn:hover::after {
  transform: translate(2px,-2px);
}
.journey-btn:hover .journey-orbit {
  transform: scale(1.18);
  box-shadow: 0 0 0 7px var(--item-color),0 0 0 14px var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 7px color-mix(in srgb,var(--item-color) 22%,transparent),0 0 0 14px color-mix(in srgb,var(--item-color) 8%,transparent);
  }
}
.journey-btn.primary {
  background: var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--item-color) 7%,white);
  }
  border-color: var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--item-color) 24%,white);
  }
  color: var(--ink);
}
.journey-btn.primary:hover {
  background: var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--item-color) 11%,white);
  }
  border-color: var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--item-color) 34%,white);
  }
}
.sharing-summary {
  background: #fff;
}
.sharing-summary-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 104px 28px 110px;
}
.summary-heading {
  margin-bottom: 40px;
}
.summary-eyebrow {
  color: var(--accent);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.summary-heading h2 {
  max-width: 830px;
  color: var(--ink);
  font-size: clamp(36px,5vw,62px);
  font-weight: 735;
  line-height: 1.01;
  letter-spacing: -.055em;
}
.summary-heading p {
  max-width: 510px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.62;
  padding-bottom: 4px;
}
.sharing-ways {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.sharing-way {
  appearance: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 38px 24px 30px;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .2s,transform .2s;
}
.sharing-way:first-child {
  padding-left: 24px;
}
.sharing-way:last-child {
  border-right: 0;
  padding-right: 24px;
}
.way-number {
  display: block;
  color: #9aa8a2;
  font-size: 11px;
  font-weight: 720;
  letter-spacing: .1em;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.way-number::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--way-color);
  box-shadow: 0 0 0 5px var(--way-color),0 0 0 10px var(--way-color);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 5px color-mix(in srgb,var(--way-color) 20%,transparent),0 0 0 10px color-mix(in srgb,var(--way-color) 8%,transparent);
  }
}
.sharing-way h3 {
  min-height: 44px;
  font-size: 18px;
  letter-spacing: -.025em;
  margin-bottom: 8px;
}
.sharing-way p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}
.way-action {
  display: block;
  margin-top: auto;
  padding-top: 19px;
  color: var(--way-color);
  font-size: 11px;
  font-weight: 740;
  letter-spacing: .02em;
}
.privacy-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 34px;
  color: #40514b;
  font-size: 13px;
  font-weight: 650;
}
.privacy-line span:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.privacy-line span:first-child::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 5px var(--accent-pale);
}
.privacy-line .privacy-note {
  color: #84918c;
  font-weight: 500;
}
.summary-heading .privacy-line {
  justify-content: flex-start;
  margin-top: 24px;
}
.data-custody-line {
  margin-top: 20px;
  color: #8b9792;
  font-size: 11.5px;
  line-height: 1.55;
}
.data-custody-line strong {
  color: #63726c;
  font-weight: 680;
}
.participate-callout {
  margin-top: 68px;
  padding-top: 34px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
}
.participate-copy {
  max-width: 680px;
}
.participate-label {
  color: var(--accent);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 9px;
}
.participate-callout h3 {
  color: var(--ink);
  font-size: clamp(23px,2.5vw,30px);
  font-weight: 710;
  letter-spacing: -.038em;
  line-height: 1.12;
  margin-bottom: 8px;
}
.participate-callout p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}
.participate-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}
.participate-btn {
  padding: 12px 18px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s,background .2s,border-color .2s;
}
.participate-btn:hover {
  transform: translateY(-2px);
  background: var(--accent-dark);
  border-color: var(--accent-dark);
}
.participate-btn.secondary {
  background: transparent;
  color: var(--ink);
  border-color: #b8c5c0;
}
.participate-btn.secondary:hover {
  background: var(--accent-pale);
  border-color: #9bb6ac;
}
.contributors-marquee {
  overflow: hidden;
  background: #f8faf9;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.contributors-marquee-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 28px 36px;
}
.logo-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.logo-section-head h2 {
  color: var(--ink);
  font-size: clamp(24px,3vw,36px);
  letter-spacing: -.04em;
  line-height: 1.1;
}
.logo-section-head p {
  color: var(--muted);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.logo-marquee-window {
  overflow: hidden;
  mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.logo-marquee-track {
  display: flex;
  width: max-content;
  gap: 14px;
  animation: logoMarquee 44s linear infinite;
}
.logo-marquee-window:hover .logo-marquee-track {
  animation-play-state: paused;
}
.logo-marquee-set {
  display: flex;
  gap: 14px;
}
.contributor-logo-tile {
  width: 240px;
  height: 116px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 22px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}
.contributor-logo-tile img {
  display: block;
  width: 100%;
  height: 78px;
  object-fit: contain;
}
.light-contributor-logo img {
  height: 84px;
}
.contributor-profile-mark {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  color: #1c2940;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.18;
  letter-spacing: -.015em;
}
.contributor-profile-mark::before {
  content: attr(data-mark);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #3366e8;
  color: #fff;
  box-shadow: 0 0 0 7px rgba(91,141,239,.16);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .02em;
}
.contributor-profile-mark[data-tone="purple"]::before {
  background: #6d5bd0;
  box-shadow: 0 0 0 7px rgba(109,91,208,.15);
}
.contributor-profile-mark[data-tone="teal"]::before {
  background: #16865a;
  box-shadow: 0 0 0 7px rgba(22,134,90,.14);
}
.contributor-profile-mark[data-tone="orange"]::before {
  background: #e76f51;
  box-shadow: 0 0 0 7px rgba(231,111,81,.14);
}
.contributor-profile-mark[data-tone="amber"]::before {
  background: #e9a23b;
  box-shadow: 0 0 0 7px rgba(233,162,59,.16);
}
.epfl-wordmark {
  color: #e3191f;
  font-size: 46px;
  font-weight: 900;
  letter-spacing: -.08em;
  line-height: 1;
}
@keyframes logoMarquee {
  to {
    transform: translateX(calc(-50% - 7px));
  }
}
.supporters-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(circle at 88% 22%,rgba(12,67,160,.11) 0 5px,rgba(104,175,231,.13) 6px 16px,transparent 17px),radial-gradient(circle at 79% 83%,rgba(121,18,63,.11) 0 4px,rgba(174,49,86,.1) 5px 13px,transparent 14px),radial-gradient(circle at 14% 88%,rgba(235,165,71,.18) 0 4px,rgba(246,213,77,.14) 5px 14px,transparent 15px),#eaf4fc;
}
.supporters-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -76px;
  top: -104px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: #0c43a0;
  box-shadow: 0 0 0 28px rgba(104,175,231,.28),0 0 0 66px rgba(104,175,231,.1);
}
.supporters-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 24%;
  bottom: 58px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #68afe7;
  box-shadow: 0 0 0 10px rgba(104,175,231,.18),0 0 0 24px rgba(104,175,231,.07);
}
.supporters-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 78px 28px 84px;
}
.supporters-heading {
  max-width: 650px;
  margin-bottom: 30px;
}
.supporters-kicker {
  color: #174aa6;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.supporters-heading h2 {
  font-size: clamp(31px,4vw,48px);
  line-height: 1.05;
  letter-spacing: -.045em;
  color: var(--ink);
  margin-bottom: 10px;
}
.supporters-heading p {
  color: #536772;
  font-size: 14px;
  line-height: 1.6;
}
.supporters-layout {
  display: block;
}
.supporter-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
}
.supporter-logo-tile {
  height: 148px;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(23,74,166,.14);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 34px rgba(23,74,166,.055);
}
.supporter-logo-tile img {
  display: block;
  width: 100%;
  height: 104px;
  max-width: 90%;
  object-fit: contain;
}
.supporter-logo-tile .epfl-wordmark {
  font-size: 50px;
}
.partner-wordmark {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  color: #16315f;
  font-size: 25px;
  font-weight: 820;
  line-height: .92;
  letter-spacing: -.055em;
  text-align: left;
}
.partner-wordmark small {
  display: block;
  margin-top: 8px;
  color: #5b6e89;
  font-size: 9px;
  font-weight: 760;
  line-height: 1.25;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.partner-wordmark.ariadne {
  position: relative;
  padding-left: 44px;
  color: #4d5564;
}
.partner-wordmark.ariadne::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 30px;
  border: 5px double #e9a23b;
  transform: translateY(-50%) rotate(45deg);
}
.partner-wordmark.koita {
  color: #174aa6;
}
.supporter-note {
  margin-top: 13px;
  color: #6f8290;
  font-size: 11px;
}
@media (max-width:1000px) {
  .supporter-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .logo-section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}
@media (max-width:560px) {
  .contributors-marquee-inner {
    padding-inline: 20px;
  }
  .contributor-logo-tile {
    width: 180px;
  }
  .supporters-inner {
    padding: 62px 20px;
  }
  .supporter-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
  }
  .supporter-logo-tile {
    height: 126px;
    padding: 17px;
  }
  .supporter-logo-tile img {
    height: 76px;
    max-width: 88%;
  }
  .supporter-logo-tile .epfl-wordmark {
    font-size: 41px;
  }
  .supporters-section::before {
    right: -82px;
    top: -88px;
    width: 190px;
    height: 190px;
    box-shadow: 0 0 0 22px rgba(104,175,231,.25),0 0 0 48px rgba(104,175,231,.09);
  }
}
@media (prefers-reduced-motion:reduce) {
  .logo-marquee-track {
    animation: none;
  }
}
footer {
  background: var(--ink);
  border: 0;
  color: #dfe9e5;
  padding: 40px 24px 26px;
  font-size: 13px;
}
footer .footer-note {
  color: #91a29b;
  margin-top: 5px;
}
.footer-credit {
  max-width: 1180px;
  margin: 24px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: #91a29b;
  font-size: 11px;
  letter-spacing: .04em;
}
.footer-credit strong {
  color: #fff;
  letter-spacing: .08em;
}
.brand-mark {
  width: 12px;
  height: 12px;
  background: var(--accent);
  box-shadow: 0 0 0 5px rgba(91,141,239,.32),0 0 0 10px rgba(188,210,255,.26);
}
.commons-o {
  position: relative;
  display: inline-block;
  color: var(--accent);
  z-index: 1;
  text-shadow: none;
}
.commons-o::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 51%;
  width: .58em;
  height: .58em;
  border-radius: 50%;
  background: rgba(51,102,232,.16);
  box-shadow: 0 0 0 .12em rgba(91,141,239,.22),0 0 0 .28em rgba(188,210,255,.24);
  transform: translate(-50%,-50%);
}
.nav-brand .commons-o-small {
  width: .62em;
  margin: 0 .015em;
  color: transparent;
  vertical-align: -.03em;
  z-index: 0;
}
.nav-brand .commons-o-small::before {
  z-index: 0;
  width: .5em;
  height: .5em;
  background: var(--accent);
  box-shadow: none;
}
.home-hero::before {
  width: 640px;
  height: 640px;
  right: -170px;
  top: -300px;
  background: radial-gradient(circle,rgba(23,74,166,.94) 0 22%,rgba(105,175,226,.46) 23% 40%,rgba(105,175,226,.17) 41% 57%,rgba(246,248,245,0) 68%);
}
.home-hero::after {
  display: none;
}
.home-hero::before,.home-hero::after {
  transition: opacity .35s ease;
}
.home-hero.commons-attractor-ready::before,.home-hero.commons-attractor-ready::after {
  opacity: 0;
}
@keyframes commonsBreathe {
  to {
    transform: scale(1.07);
    opacity: .82;
  }
}
.commons-dot-field {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}
.commons-dot-field span {
  position: absolute;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 11px rgba(91,141,239,.18),0 0 0 24px rgba(188,210,255,.2);
}
.commons-dot-field span:nth-child(1) {
  width: 18px;
  height: 18px;
  right: 8%;
  top: 10%;
}
.commons-dot-field span:nth-child(2) {
  width: 10px;
  height: 10px;
  right: 28%;
  top: 23%;
}
.commons-dot-field span:nth-child(3) {
  width: 14px;
  height: 14px;
  right: 19%;
  bottom: 12%;
}
.commons-dot-field span:nth-child(4) {
  width: 8px;
  height: 8px;
  right: 41%;
  top: 8%;
  opacity: .42;
}
.commons-dot-field span:nth-child(5) {
  width: 11px;
  height: 11px;
  right: 37%;
  bottom: 8%;
  opacity: .48;
}
.catalogue-heading {
  margin-bottom: 30px;
}
.catalogue-heading .section-sub {
  margin: 10px 0 0;
  max-width: 620px;
  font-size: 16px;
}
#page-models .catalogue-heading .section-title {
  margin-bottom: 0;
}
.page-heading-orbit {
  position: relative;
  min-height: 230px;
  padding: 72px 0 64px;
  overflow: hidden;
  background: none;
}
.page-heading-orbit .section-title {
  font-size: clamp(42px,5.5vw,68px);
  line-height: .98;
  letter-spacing: -.055em;
}
.page-heading-orbit>* {
  position: relative;
  z-index: 1;
}
.page-heading-orbit::before,.page-heading-orbit::after {
  display: none;
}
.title-attractor-o {
  position: relative;
  display: inline-block;
  width: .57em;
  margin: 0 .005em;
  color: transparent;
  vertical-align: -.025em;
}
.title-attractor-o::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: .42em;
  height: .42em;
  border-radius: 50%;
  background: #3366e8;
  box-shadow: 0 0 0 .1em rgba(91,141,239,.2),0 0 0 .21em rgba(188,210,255,.17);
  transform: translate(-50%,-50%);
}
.page-heading-orbit .page-attractor-canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.page-heading-orbit.attractor-ready {
  background: none;
}
.filters-bar {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.76);
}
.filters-bar input,.filters-bar select {
  border-color: var(--line);
  border-radius: 999px;
  background: #fff;
}
.community-search-bar input {
  flex: 1;
  min-width: 280px;
}
.community-model-filter {
  margin: 0 0 24px;
}
.community-filter-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.community-filter-actions button {
  padding: 5px 10px;
  border: 1px solid #bfd6cc;
  border-radius: 999px;
  background: #fff;
}
.community-filter-actions button:hover {
  background: var(--green-lt);
}
.open-publishing-guide {
  grid-column: 1/-1;
  padding: 15px 16px;
  border: 1px solid #cbdcf0;
  border-radius: 11px;
  background: #f2f7fd;
  color: #38506b;
  font-size: 12.5px;
  line-height: 1.5;
}
.open-publishing-guide strong {
  display: block;
  color: var(--accent);
  font-size: 13px;
  margin-bottom: 3px;
}
.open-guide-steps {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  counter-reset: guide;
}
.open-guide-step {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px;
  align-items: start;
}
.open-guide-step::before {
  counter-increment: guide;
  content: counter(guide);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 10px;
  font-weight: 760;
}
.open-guide-action {
  margin-top: 12px;
}
.license-help {
  display: none;
  margin-top: 5px;
  padding: 10px 11px;
  border-radius: 9px;
  background: #fff7e6;
  color: #76520e;
  font-size: 11.5px;
  line-height: 1.4;
}
.license-help.visible {
  display: block;
}
.license-help span {
  display: block;
  margin-bottom: 3px;
}
.license-help button {
  appearance: none;
  border: 0;
  background: none;
  color: #8d5e00;
  font: inherit;
  font-weight: 760;
  cursor: pointer;
  padding: 0;
}
.license-help button:hover {
  text-decoration: underline;
}
.voice-draft-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px 24px;
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid #cbdcf0;
  border-radius: 14px;
  background: linear-gradient(135deg,#f5f9fe,#fff);
}
.voice-privacy-note {
  grid-column: 1/-1;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #eef3ff;
  color: #4d607f;
  font-size: 12px;
  line-height: 1.5;
}
.voice-privacy-note::before {
  content: "";
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-top: 4px;
  border-radius: 50%;
  background: #3366e8;
  box-shadow: 0 0 0 5px rgba(51,102,232,.11);
}
.voice-privacy-note strong {
  color: #17233f;
}
.voice-eyebrow {
  display: block;
  color: var(--accent);
  font-size: 10.5px;
  font-weight: 760;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.voice-draft-copy h3 {
  font-size: 18px;
  letter-spacing: -.025em;
  margin-bottom: 5px;
}
.voice-draft-copy p {
  max-width: 660px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.5;
}
.voice-draft-actions {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 7px;
}
.voice-button {
  appearance: none;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 15px;
  border: 0;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font: inherit;
  font-size: 12.5px;
  font-weight: 720;
  cursor: pointer;
  white-space: nowrap;
}
.voice-button:hover {
  background: #123c89;
  transform: translateY(-1px);
}
.voice-button.listening {
  background: #b4234b;
}
.voice-button-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #9fd2f4;
  box-shadow: 0 0 0 4px rgba(159,210,244,.2);
}
.voice-button.listening .voice-button-dot {
  background: #fff;
  animation: voicePulse 1s ease-in-out infinite;
}
@keyframes voicePulse {
  50% {
    box-shadow: 0 0 0 8px rgba(255,255,255,.12);
  }
}
.voice-status {
  max-width: 190px;
  color: var(--muted);
  font-size: 10.5px;
  line-height: 1.35;
  text-align: right;
}
.voice-transcript {
  grid-column: 1/-1;
  width: 100%;
  min-height: 92px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  resize: vertical;
  outline: none;
}
.voice-transcript:focus {
  border-color: #5b8def;
  box-shadow: 0 0 0 3px rgba(91,141,239,.16);
}
.voice-use-button {
  grid-column: 1/-1;
  justify-self: start;
}
.sample-play-button {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  background: rgba(23,32,51,.88);
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 720;
  cursor: pointer;
  box-shadow: 0 9px 22px rgba(23,32,51,.18);
  backdrop-filter: blur(8px);
}
.sample-play-button:hover {
  background: #2447b8;
}
.sample-play-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  color: #2447b8;
  font-size: 8px;
  padding-left: 1px;
}
.preview-wave.playing .sample-play-icon {
  padding-left: 0;
}
.preview-wave.playing .sample-play-icon::before {
  content: "Ⅱ";
}
.preview-wave.playing .sample-play-icon {
  font-size: 0;
}
.preview-wave.playing .sample-play-icon::before {
  font-size: 8px;
}
.preview-wave.playing .wave-bars i {
  animation: sampleWave .65s ease-in-out infinite alternate;
}
.preview-wave.playing .wave-bars i:nth-child(3n) {
  animation-delay: -.22s;
}
.preview-wave.playing .wave-bars i:nth-child(4n) {
  animation-delay: -.41s;
}
@keyframes sampleWave {
  to {
    transform: scaleY(.45);
    opacity: .72;
  }
}
.draft-filled {
  animation: draftFilled 1.1s ease;
}
@keyframes draftFilled {
  35% {
    box-shadow: 0 0 0 4px rgba(91,141,239,.18);
    border-color: #5b8def;
  }
}
.dataset-preview {
  position: relative;
  overflow: hidden;
  height: 184px;
  min-height: 184px;
  flex: 0 0 184px;
  margin: 0 0 15px;
  border: 1px solid #e1e6ed;
  border-radius: 14px;
  background: #f7f9fc;
}
.preview-label {
  position: absolute;
  z-index: 4;
  left: 10px;
  top: 10px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #38506b;
  font-size: 9.5px;
  font-weight: 760;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.preview-caption {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 9px;
  color: #52667a;
  font-size: 10.5px;
}
.preview-wave {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 36px 18px 30px;
  background: linear-gradient(135deg,#f1f5ff,#f9fbff);
}
.wave-bars {
  height: 74px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.wave-bars i {
  display: block;
  width: 5px;
  min-height: 5px;
  border-radius: 999px;
  background: linear-gradient(#3366e8,#7aa2f5);
}
.preview-table {
  display: flex;
  align-items: center;
  padding: 40px 12px 12px;
  background: #f8fafc;
}
.mini-table {
  display: grid;
  border: 1px solid #dce5ea;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.preview-table .mini-table {
  width: 100%;
}
.mini-table>div {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  border-bottom: 1px solid #e5ebef;
}
.mini-table>div:last-child {
  border-bottom: 0;
}
.mini-table b,.mini-table span {
  padding: 5px 8px;
  font-size: 9.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mini-table b {
  color: #3366e8;
  background: #f1f5ff;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
}
.preview-knowledge {
  background: linear-gradient(145deg,#f5fbfb,#fbfcfe);
}
.knowledge-formula {
  position: absolute;
  z-index: 2;
  left: 14px;
  top: 36px;
  color: #344054;
  font-size: 10.5px;
  font-weight: 720;
  letter-spacing: .01em;
}
.probability-canvas {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 7px;
  width: calc(100% - 20px);
  height: 132px;
  display: block;
}
.preview-imaging {
  height: 184px;
  background: #111b25;
}
.preview-ultrasound {
  background: #050505;
}
.preview-ultrasound img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.preview-xray {
  background: #06111d;
}
.preview-xray img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.preview-heart-pocus {
  background: #050505;
}
.preview-heart-pocus img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.preview-dermatology {
  height: 184px;
  background: #f4eee9;
}
.preview-dermatology img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.derm-contact-sheet {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
  height: 100%;
  padding: 36px 10px 10px;
}
.derm-sample {
  position: relative;
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 10px;
  box-shadow: 0 7px 18px rgba(75,47,36,.12);
}
.derm-sample::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg,rgba(255,255,255,.2),transparent 42%,rgba(62,27,21,.08));
  mix-blend-mode: soft-light;
}
.derm-sample-1 {
  background: radial-gradient(ellipse at 52% 51%,rgba(116,46,42,.72) 0 13%,rgba(151,70,59,.42) 14% 23%,rgba(112,62,49,.18) 24% 34%,transparent 35%),radial-gradient(circle at 34% 38%,rgba(83,45,38,.22) 0 2%,transparent 3%),#80523f;
}
.derm-sample-2 {
  background: radial-gradient(ellipse at 46% 48%,rgba(189,88,88,.55) 0 14%,rgba(178,100,89,.34) 15% 29%,transparent 30%),radial-gradient(circle at 64% 35%,rgba(97,52,42,.16) 0 3%,transparent 4%),#b7795e;
}
.derm-sample-3 {
  background: radial-gradient(ellipse at 55% 54%,rgba(145,77,63,.5) 0 12%,rgba(185,110,91,.3) 13% 25%,transparent 26%),radial-gradient(circle at 31% 63%,rgba(91,50,42,.14) 0 3%,transparent 4%),#d2a07e;
}
.card-popularity {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
  margin: 0 0 14px;
}
.popularity-stat {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--card-accent,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb,var(--card-accent,#3366e8) 18%,#e4e8ef);
  }
  border-radius: 10px;
  background: var(--card-accent,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent,#3366e8) 6%,white);
  }
}
.popularity-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #fff;
  color: var(--card-accent,#3366e8);
  font-size: 15px;
  box-shadow: 0 2px 8px rgba(28,44,78,.07);
}
.popularity-copy {
  min-width: 0;
}
.popularity-copy strong {
  display: block;
  color: #17233f;
  font-size: 17px;
  line-height: 1;
}
.popularity-copy span {
  display: block;
  margin-top: 4px;
  color: #667085;
  font-size: 8.5px;
  font-weight: 720;
  letter-spacing: .065em;
  text-transform: uppercase;
  white-space: nowrap;
}
.popularity-stars .popularity-icon {
  color: #a56a00;
  background: #fff8dd;
}
.popularity-downloads .popularity-icon {
  color: var(--card-accent,#3366e8);
}
.modal-popularity {
  margin: 12px 0 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--card-accent,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb,var(--card-accent,#3366e8) 18%,var(--line));
  }
}
.dictionary-table {
  display: grid;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.dictionary-row {
  display: grid;
  grid-template-columns: minmax(110px,.85fr) minmax(90px,.65fr) minmax(180px,1.5fr);
  border-bottom: 1px solid var(--line);
}
.dictionary-row:last-child {
  border-bottom: 0;
}
.dictionary-row>* {
  padding: 9px 10px;
  color: var(--gray-700);
  font-size: 11.5px;
  line-height: 1.35;
}
.dictionary-row code {
  color: var(--accent);
  background: #f1f5ff;
  font-size: 10.5px;
}
.dictionary-head {
  background: #edf4fa;
}
.dictionary-head span {
  color: #38506b;
  font-size: 10px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.badge-open {
  background: #edf3ff;
  color: #2856cc;
}
.badge-gated {
  background: #f1efff;
  color: #5a49bd;
}
.badge-kb {
  background: #eaf7f0;
  color: #11724d;
}
.badge-federated {
  background: #fff1ec;
  color: #bd4b2c;
}
.badge-meta {
  background: #f0f2f5;
  color: #536175;
}
.card.dataset-card,.card.model-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--card-accent,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb,var(--card-accent,#3366e8) 25%,#dfe5ec);
  }
  border-top: 4px solid var(--card-accent,#3366e8);
  background: linear-gradient(180deg,var(--card-accent,#3366e8),#fff 240px);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(180deg,color-mix(in srgb,var(--card-accent,#3366e8) 5%,white),#fff 240px);
  }
}
.dataset-open-data,.model-open-data {
  --card-accent: #3366e8;
}
.dataset-gated-community,.model-gated-community {
  --card-accent: #6d5bd0;
}
.dataset-knowledge-base,.model-knowledge-base {
  --card-accent: #16865a;
}
.dataset-federated-learning,.model-federated-learning {
  --card-accent: #e76f51;
}
.dataset-metadata-only,.model-metadata-only {
  --card-accent: #7b8798;
}
.dataset-card h3,.model-card h3 {
  color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb,var(--card-accent) 76%,#17233f);
  }
}
.dataset-card .ds-purpose,.model-card .model-purpose {
  color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb,var(--card-accent) 48%,#475467);
  }
}
.dataset-card .ds-field {
  border: 1px solid var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb,var(--card-accent) 16%,#e3e8ef);
  }
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 7%,white);
  }
  color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb,var(--card-accent) 64%,#475467);
  }
}
.dataset-card .ds-contains {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 20%,#e1e6ed);
  }
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 5%,white);
  }
}
.dataset-card .ds-contains-label,.dataset-card .ds-fact-label,.model-card .model-detail strong,.model-card .model-data-links strong {
  color: var(--card-accent);
}
.dataset-card .ds-facts>div {
  padding: 9px 10px;
  border-radius: 8px;
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 4%,white);
  }
}
.dataset-card .dataset-preview {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 28%,#e1e6ed);
  }
}
.dataset-card .preview-label {
  color: var(--card-accent);
  border: 1px solid var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb,var(--card-accent) 18%,white);
  }
}
.dataset-card .wave-bars i {
  background: linear-gradient(var(--card-accent),var(--card-accent));
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(var(--card-accent),color-mix(in srgb,var(--card-accent) 48%,white));
  }
}
.dataset-card .mini-table b {
  color: var(--card-accent);
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 8%,white);
  }
}
.dataset-card .resource-relation,.model-card .resource-relation {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 8%,white);
  }
  border: 1px solid var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb,var(--card-accent) 18%,white);
  }
}
.dataset-card .relation-label,.dataset-card .relation-link,.model-card .relation-label,.model-card .relation-link {
  color: var(--card-accent);
}
.model-card .badge-meta {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 9%,white);
  }
  color: var(--card-accent);
}
.model-card .model-limits {
  border-left-color: var(--card-accent);
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 5%,white);
  }
}
.model-card .model-infra {
  color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb,var(--card-accent) 68%,#667085);
  }
}
.dataset-card .popularity-stars .popularity-icon,.model-card .popularity-stars .popularity-icon {
  color: var(--card-accent);
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 9%,white);
  }
}
.dataset-card .btn-primary,.model-card .btn-primary,#modal-content[data-resource-theme] .btn-primary {
  background: var(--card-accent);
  border-color: var(--card-accent);
  color: #fff;
}
.dataset-card .btn-outline,.model-card .btn-outline,#modal-content[data-resource-theme] .btn-outline {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 45%,white);
  }
  background: #fff;
  color: var(--card-accent);
}
.dataset-card .btn-ghost,.model-card .btn-ghost,#modal-content[data-resource-theme] .btn-ghost {
  color: var(--card-accent);
}
.dataset-card .btn-primary:hover,.model-card .btn-primary:hover,#modal-content[data-resource-theme] .btn-primary:hover {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 84%,#17233f);
  }
}
.dataset-card .ds-actions,.model-card .model-actions {
  border-top: 1px solid var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px solid color-mix(in srgb,var(--card-accent) 17%,#e3e8ef);
  }
}
.model-metrics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 6px;
  margin: 2px 0 14px;
}
.model-metrics>div {
  padding: 9px 7px;
  border-radius: 9px;
  background: var(--card-accent,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent,#3366e8) 10%,white);
  }
  text-align: center;
}
.model-metrics strong {
  display: block;
  color: var(--card-accent,#3366e8);
  font-size: 14px;
  line-height: 1.1;
}
.model-metrics span {
  display: block;
  margin-top: 3px;
  color: #64717a;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.modal-model-metrics {
  margin: 14px 0;
}
.model-card .data-link-chip {
  border-color: var(--card-accent,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent,#3366e8) 30%,white);
  }
  color: var(--card-accent,#3366e8);
  background: var(--card-accent,#3366e8);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent,#3366e8) 6%,white);
  }
}
#modal-content[data-resource-theme="open-data"] {
  --card-accent: #3366e8;
}
#modal-content[data-resource-theme="gated-community"] {
  --card-accent: #6d5bd0;
}
#modal-content[data-resource-theme="knowledge-base"] {
  --card-accent: #16865a;
}
#modal-content[data-resource-theme="federated-learning"] {
  --card-accent: #e76f51;
}
#modal-content[data-resource-theme="metadata-only"] {
  --card-accent: #7b8798;
}
#modal-content[data-resource-theme] {
  border-top: 5px solid var(--card-accent);
  background: linear-gradient(180deg,var(--card-accent),#fff 230px);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(180deg,color-mix(in srgb,var(--card-accent) 5%,white),#fff 230px);
  }
}
#modal-content[data-resource-theme] h2,#modal-content[data-resource-theme] .mf-label,#modal-content[data-resource-theme] .relation-link,#modal-content[data-resource-theme] .data-link-chip {
  color: var(--card-accent);
}
#modal-content[data-resource-theme] .modal-org {
  color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb,var(--card-accent) 58%,#667085);
  }
}
#modal-content[data-resource-theme] .badge {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 10%,white);
  }
  color: var(--card-accent);
}
#modal-content[data-resource-theme] .modal-infra-note,#modal-content[data-resource-theme] .credential-status {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 6%,white);
  }
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 20%,#e1e6ed);
  }
}
#modal-content[data-resource-theme] .modal-section,#modal-content[data-resource-theme] .agreement-clause {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 14%,#e1e6ed);
  }
}
#modal-content[data-resource-theme] .dataset-preview {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 28%,#e1e6ed);
  }
}
#modal-content[data-resource-theme] .preview-label {
  color: var(--card-accent);
}
#modal-content[data-resource-theme] .wave-bars i {
  background: linear-gradient(var(--card-accent),var(--card-accent));
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(var(--card-accent),color-mix(in srgb,var(--card-accent) 48%,white));
  }
}
#modal-content[data-resource-theme] .mini-table b,#modal-content[data-resource-theme] .dictionary-row code {
  color: var(--card-accent);
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 8%,white);
  }
}
#modal-content[data-resource-theme] .dictionary-head {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 8%,white);
  }
}
#modal-content[data-resource-theme] .dictionary-head span {
  color: var(--card-accent);
}
#modal-content[data-resource-theme] .data-link-chip {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 28%,white);
  }
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 7%,white);
  }
}
#modal-content[data-resource-theme] .popularity-stars .popularity-icon {
  color: var(--card-accent);
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 9%,white);
  }
}
#modal-content[data-resource-theme] .model-metrics>div {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 10%,white);
  }
}
#modal-content[data-resource-theme] .model-metrics strong {
  color: var(--card-accent);
}
#modal-content[data-resource-theme] .agreement-status-bar {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 11%,white);
  }
  color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb,var(--card-accent) 72%,#344054);
  }
}
#modal-content[data-resource-theme] .agreement-status-bar strong,#modal-content[data-resource-theme] .agreement-summary-item strong {
  color: var(--card-accent);
}
#modal-content[data-resource-theme] .agreement-summary-item,#modal-content[data-resource-theme] .signature-form,#modal-content[data-resource-theme] .signature-person {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 19%,#e1e6ed);
  }
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 4%,white);
  }
}
#modal-content[data-resource-theme] .signature-state.signed {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 12%,white);
  }
  color: var(--card-accent);
}
#modal-content[data-resource-theme] .signature-consent input {
  accent-color: var(--card-accent);
}
#modal-content[data-resource-theme] .access-credential {
  background: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--card-accent) 72%,#17233f);
  }
  box-shadow: 0 16px 36px var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 16px 36px color-mix(in srgb,var(--card-accent) 18%,transparent);
  }
}
#modal-content[data-resource-theme] .access-credential-label {
  color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb,var(--card-accent) 24%,white);
  }
}
#modal-content[data-resource-theme] .access-key-row .btn {
  border-color: var(--card-accent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--card-accent) 34%,white);
  }
  background: #fff;
  color: var(--card-accent);
}
.commons-dot-field span:nth-child(4) {
  background: #6d5bd0;
  box-shadow: 0 0 0 10px rgba(109,91,208,.13),0 0 0 23px rgba(109,91,208,.05);
}
.commons-dot-field span:nth-child(5) {
  background: #e9a23b;
  box-shadow: 0 0 0 10px rgba(246,200,95,.2),0 0 0 23px rgba(246,200,95,.06);
}
body {
  background: linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  color: var(--ink);
}
#topnav {
  background: rgba(255,255,255,.9);
  border-bottom-color: rgba(23,32,51,.08);
}
.nav-tab {
  color: #5f6b7c;
}
.nav-tab:hover {
  background: #f5f7fb;
}
.nav-tab.active {
  color: var(--accent);
  background: #f1f5ff;
}
.card,.metric-card,.tier-card,.p2-role-card,.p2-comm-card {
  background: #fff;
  border-color: var(--line);
}
.card:hover,.tier-card:hover {
  box-shadow: 0 18px 46px rgba(28,44,78,.08);
}
.home-hero {
  background: #fff;
}
.home-hero::before {
  background: radial-gradient(circle,rgba(51,102,232,.88) 0 20%,rgba(91,141,239,.38) 21% 39%,rgba(188,210,255,.34) 40% 57%,transparent 68%);
}
.home-hero::after {
  background: radial-gradient(circle,rgba(22,134,90,.7) 0 18%,rgba(84,181,132,.24) 19% 41%,rgba(148,216,181,.08) 42% 60%,transparent 69%);
}
.home-lede {
  color: #344054;
}
.home-note {
  color: #667085;
}
.journey-btn {
  background: rgba(255,255,255,.92);
  border-color: #e1e6ed;
}
.journey-btn:hover {
  border-color: var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb,var(--item-color) 35%,white);
  }
  background: var(--item-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--item-color) 6%,white);
  }
  box-shadow: 0 18px 40px rgba(37,67,133,.1);
}
.sharing-summary {
  background: #fbfcfe;
}
.sharing-way {
  position: relative;
  --way-color: #3366e8;
  box-shadow: inset 0 3px 0 var(--way-color);
}
.sharing-way:nth-child(2) {
  --way-color: #6d5bd0;
}
.sharing-way:nth-child(3) {
  --way-color: #16865a;
}
.sharing-way:nth-child(4) {
  --way-color: #e76f51;
}
.sharing-way:nth-child(5) {
  --way-color: #e9a23b;
}
.sharing-way .way-number {
  color: var(--way-color);
}
.sharing-way:hover {
  z-index: 1;
  background: var(--way-color);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--way-color) 6%,white);
  }
  transform: translateY(-3px);
}
.contributors-marquee {
  background: #f6f8fb;
}
.contributor-logo-tile,.supporter-logo-tile {
  border-color: #e1e6ed;
  box-shadow: 0 10px 28px rgba(28,44,78,.05);
}
.supporters-section {
  background: #f3f6fb;
}
.supporters-section::before,.supporters-section::after {
  display: none;
}
.supporters-kicker,.summary-eyebrow,.participate-label,.home-kicker {
  color: var(--accent);
}
.page-heading-orbit {
  background: none;
}
.filters-bar {
  background: rgba(255,255,255,.88);
  border-color: #e1e6ed;
}
.filters-bar input,.filters-bar select {
  border-color: #dce2ea;
}
.resource-relation {
  background: #f1f5ff;
}
.relation-label,.relation-link {
  color: #2856cc;
}
.ds-contains {
  background: #f8fafc;
}
.ds-contains-label {
  color: var(--card-accent,#3366e8);
}
.open-publishing-guide {
  border-color: #d8e2fa;
  background: #f5f8ff;
}
.voice-draft-card {
  border-color: #d8e2fa;
  background: linear-gradient(135deg,#f5f8ff,#fff);
}
.contributor-verification {
  border-color: #d8e2fa;
  background: linear-gradient(135deg,#f3f7ff,#fbfcfe);
}
.verification-mark,.credential-check {
  background: #3366e8;
}
.verification-checks span {
  color: #2856cc;
}
footer {
  background: #172033;
  color: #e8ecf2;
}
.contributor-verification {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr);
  gap: 34px;
  align-items: center;
  overflow: hidden;
  margin: 0 0 28px;
  padding: 34px 36px;
  border: 1px solid #dbe3ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(28,44,78,.07);
}
.contributor-verification::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: linear-gradient(180deg,#2447b8,#68afe7);
}
.contributor-verification::after {
  content: "DCGH · 2026";
  position: absolute;
  right: 34px;
  top: 18px;
  color: #9aa7ba;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .13em;
}
.verification-copy {
  max-width: 560px;
}
.verification-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: #2447b8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contributor-verification h2 {
  font-size: clamp(24px,3vw,34px);
  line-height: 1.04;
  letter-spacing: -.04em;
  margin-bottom: 10px;
  color: #17233f;
}
.contributor-verification p {
  max-width: 570px;
  color: #667085;
  font-size: 13.5px;
  line-height: 1.6;
}
.verification-checks {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 7px;
}
.verification-checks span {
  display: flex;
  min-height: 78px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 6px;
  border-radius: 12px;
  background: #f5f7fc;
  border: 1px solid #e0e6f0;
  color: #475467;
  font-size: 9.5px;
  font-weight: 720;
  text-align: center;
}
.verification-checks span::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 7px;
  background: #2447b8;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}
.score-key {
  margin: 0 0 14px;
}
.score-key span {
  padding: 6px 10px;
  border: 0;
  background: #eef3ff;
  color: #48638f;
  font-weight: 650;
}
.contributor-board {
  display: grid;
  gap: 10px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}
.contributor-row {
  border: 1px solid #e1e7f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(28,44,78,.045);
  transition: transform .18s,box-shadow .18s,border-color .18s;
}
.contributor-row:last-child {
  border-bottom: 1px solid #e1e7f0;
}
.contributor-row:hover {
  background: #fff;
  border-color: #cbd7f1;
  box-shadow: 0 14px 34px rgba(28,44,78,.09);
  transform: translateY(-2px);
}
.contributor-score strong {
  color: #2447b8;
}
.leaderboard-note {
  margin-top: 16px;
  color: #7b8798;
}
.credential-status {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  overflow: hidden;
  margin: 15px 0 8px;
  padding: 16px 17px;
  border: 1px solid #d6e0f5;
  border-radius: 11px;
  background: linear-gradient(90deg,#f3f6ff,#fff);
}
.credential-status::after {
  content: "CERTIFIED CONTRIBUTOR";
  margin-left: auto;
  color: #7b8aa5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}
.credential-check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #2447b8;
  color: #fff;
  font-weight: 800;
  box-shadow: none;
}
.credential-status strong,.credential-status small {
  display: block;
}
.credential-status strong {
  color: #17233f;
  font-size: 13px;
}
.credential-status small {
  margin-top: 2px;
  color: #667085;
  font-size: 10.5px;
}
.credential-check-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.credential-check-list span {
  padding: 8px 9px;
  border: 1px solid #e1e7f0;
  border-radius: 7px;
  background: #fff;
  color: #365582;
  font-size: 11px;
}
.score-breakdown strong {
  color: #2447b8;
}
@media (max-width:900px) {
  .nav-inner {
    overflow-x: auto;
    justify-content: flex-start;
  }
  .nav-brand {
    position: sticky;
    left: 0;
    z-index: 2;
    background: linear-gradient(90deg,var(--paper) 84%,rgba(254,255,247,0));
    padding-right: 30px;
    flex-shrink: 0;
  }
  .home-hero-inner {
    min-height: auto;
    padding-top: 82px;
  }
  .home-actions {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .journey-btn:last-child {
    grid-column: 1/-1;
  }
  .sharing-ways {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .sharing-way {
    padding: 26px 24px;
    border-bottom: 1px solid var(--line);
  }
  .sharing-way:nth-child(even) {
    border-right: 0;
  }
  .sharing-way:last-child {
    grid-column: 1/-1;
    border-bottom: 0;
    border-right: 0;
  }
  .participate-callout {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
  }
  .voice-draft-card {
    grid-template-columns: 1fr;
  }
  .voice-draft-actions {
    align-items: flex-start;
  }
  .voice-status {
    text-align: left;
    max-width: none;
  }
  .contributor-verification {
    grid-template-columns: 1fr;
  }
}
@media (max-width:560px) {
  .nav-inner {
    padding: 0 18px;
  }
  .nav-tab {
    padding: 9px;
  }
  .nav-tab.nav-cta {
    margin-left: 2px;
  }
  .home-hero::before {
    width: 430px;
    height: 430px;
    right: -210px;
    top: -150px;
  }
  .home-hero-inner {
    padding: 64px 20px 48px;
  }
  .home-hero h1 {
    font-size: 49px;
  }
  .home-lede {
    font-size: 21px;
    margin-top: 28px;
  }
  .home-actions {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }
  .journey-btn {
    min-height: 66px;
  }
  .journey-btn:last-child {
    grid-column: auto;
  }
  .sharing-summary-inner {
    padding: 74px 20px 78px;
  }
  .sharing-ways {
    grid-template-columns: 1fr;
  }
  .sharing-way,.sharing-way:first-child,.sharing-way:nth-child(2),.sharing-way:nth-child(3),.sharing-way:last-child {
    padding: 26px 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .sharing-way:last-child {
    border-bottom: 0;
  }
  .sharing-way h3 {
    min-height: 0;
  }
  .way-number {
    margin-bottom: 16px;
  }
  .way-action {
    margin-top: 0;
  }
  .participate-callout {
    margin-top: 52px;
    padding-top: 28px;
    gap: 22px;
  }
  .participate-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .participate-btn {
    width: 100%;
  }
  .ds-facts {
    grid-template-columns: 1fr;
  }
  .section-wrap {
    padding: 54px 20px;
  }
  .page-heading-orbit {
    min-height: 178px;
    padding: 54px 0 46px;
  }
  .page-heading-orbit .section-title {
    font-size: clamp(38px,11vw,52px);
  }
  .filters-bar>* {
    width: 100%;
    min-width: 0;
  }
  .filters-count {
    margin-left: 0;
  }
  .community-filter-actions {
    width: 100%;
  }
  .community-filter-actions button {
    width: auto;
  }
  .home-hero::after {
    display: none;
  }
  .voice-button {
    width: 100%;
    justify-content: center;
  }
  .voice-use-button {
    width: 100%;
    justify-content: center;
  }
  .dictionary-table {
    overflow-x: auto;
  }
  .dictionary-row {
    min-width: 560px;
  }
  .contributor-verification {
    grid-template-columns: 1fr;
    padding: 26px 22px;
  }
  .verification-checks {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .credential-check-list {
    grid-template-columns: 1fr;
  }
  .model-metrics {
    grid-template-columns: repeat(3,minmax(78px,1fr));
    overflow-x: auto;
  }
}
@media (prefers-reduced-motion:reduce) {
  .home-hero::after,.home-hero h1 .commons-o::before,.voice-button.listening .voice-button-dot,.draft-filled {
    animation: none;
  }
  .commons-attractor,.page-attractor-canvas {
    display: none;
  }
}
@layer base {
  html {
    font-family: var(--font-sans);
  }
  body {
    --tw-gradient-position: to bottom;
    @supports (background-image: linear-gradient(in lab, red, red)) {
      --tw-gradient-position: to bottom in oklab;
    }
    background-image: linear-gradient(var(--tw-gradient-stops));
    --tw-gradient-from: var(--color-white);
    --tw-gradient-to: var(--color-paper);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    font-size: 15px;
    --tw-tracking: -0.005em;
    letter-spacing: -0.005em;
    color: var(--color-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  a {
    color: var(--color-accent);
    text-decoration-line: none;
  }
  a:hover {
    text-decoration-line: underline;
  }
  button:focus-visible, a:focus-visible, [tabindex]:focus-visible {
    outline: 3px solid rgba(104, 175, 231, 0.4);
    outline-offset: 3px;
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
    }
  }
}
