:root {
  --bg: #0d0b0b;
  --surface: #161213;
  --surface-2: #1b1719;
  --text: #f1e9e9;
  --muted: #a99c9f;
  --magenta: #f544fc;
  --green: #00ce67;
  --blue: #5fa0fe;
  --line: rgba(245, 68, 252, .25);
  --max: 1120px;
  --sans: 'Inter', sans-serif;
  --mono: 'JetBrains Mono', monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { min-height: 100vh; background: var(--bg); color: var(--text); font: 16px/1.65 var(--sans); }
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,.055) 2px, rgba(0,0,0,.055) 4px); }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }

.project-header { position: sticky; top: 0; z-index: 20; padding: 12px 24px; border-bottom: 1px solid var(--line); background: rgba(13,11,11,.9); backdrop-filter: blur(12px); }
.header-inner { max-width: var(--max); margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.back-link { color: var(--muted); font: 600 12px var(--mono); text-decoration: none; transition: color .2s; }
.back-link:hover { color: var(--green); }
.language-buttons { display: flex; gap: 7px; }
.language-buttons button { display: grid; place-items: center; padding: 3px; border: 1px solid transparent; border-radius: 50%; background: transparent; cursor: pointer; }
.language-buttons button[aria-pressed="true"] { border-color: var(--green); box-shadow: 0 0 9px rgba(0,206,103,.35); }
.language-buttons img { display: block; width: 28px; height: 28px; border-radius: 50%; transition: transform .2s; }
.language-buttons button:hover img { transform: scale(1.12); }

main { position: relative; z-index: 1; }
.project-hero, .content-section, .metrics-strip, .final-cta { max-width: var(--max); margin-left: auto; margin-right: auto; }
.project-hero { padding: 84px 24px 48px; }
.eyebrow, .section-kicker { color: var(--magenta); font: 700 11px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 56px; align-items: end; margin-top: 13px; }
h1 { color: var(--text); font-size: clamp(3.5rem, 10vw, 7.2rem); line-height: .92; letter-spacing: -.065em; text-shadow: 0 0 35px rgba(245,68,252,.18); }
.project-full-name { margin: 15px 0 23px; color: var(--green); font: 600 clamp(.85rem, 2vw, 1.05rem) var(--mono); }
.hero-lead { max-width: 760px; color: var(--text); font-size: clamp(1.05rem, 2.1vw, 1.3rem); line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.button { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; padding: 9px 17px; border: 1px solid var(--green); border-radius: 5px; font: 700 12px var(--mono); text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--green); color: #07130d; }
.button.primary:hover { box-shadow: 0 10px 28px rgba(0,206,103,.18); }
.button.secondary { background: rgba(0,206,103,.04); color: var(--green); }
.status-card { display: flex; gap: 12px; padding: 18px; border: 1px solid rgba(95,160,254,.28); border-radius: 7px; background: linear-gradient(145deg, rgba(95,160,254,.09), rgba(245,68,252,.04)); }
.status-dot { width: 9px; height: 9px; flex: 0 0 auto; margin-top: 8px; border-radius: 50%; background: #f4bf4f; box-shadow: 0 0 12px rgba(244,191,79,.55); }
.status-dot.active { background: var(--green); box-shadow: 0 0 12px rgba(0,206,103,.55); }
.status-card span, .status-card strong, .status-card small { display: block; }
.status-label { margin-bottom: 4px; color: var(--muted); font: 10px var(--mono); text-transform: uppercase; }
.status-card strong { color: var(--text); font-size: 13px; }
.status-card small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.45; }

.metrics-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: solid var(--line); border-width: 1px 0; }
.metrics-strip article { padding: 24px; border-right: 1px solid var(--line); }
.metrics-strip article:last-child { border-right: 0; }
.metrics-strip strong { display: block; color: var(--green); font: 700 27px var(--mono); }
.metrics-strip span { color: var(--muted); font-size: 12px; }

.content-section { padding: 76px 24px; border-bottom: 1px solid rgba(245,68,252,.14); }
.content-section h2, .final-cta h2 { max-width: 850px; margin-top: 8px; color: var(--text); font-size: clamp(1.7rem, 4vw, 2.55rem); line-height: 1.2; letter-spacing: -.035em; }
.intro-grid, .ownership-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.body-copy p, .section-intro { color: var(--muted); font-size: 15px; line-height: 1.8; }
.body-copy p + p { margin-top: 14px; }
.section-intro { max-width: 840px; margin-top: 20px; }

.claims-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 30px; }
.claim { min-height: 165px; padding: 21px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; background: var(--surface); }
.claim > span { display: grid; width: 28px; height: 28px; place-items: center; margin-bottom: 18px; border-radius: 50%; font: 700 17px var(--mono); }
.claim strong { display: block; margin-bottom: 6px; }
.claim p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.claim.supported > span { background: rgba(0,206,103,.13); color: var(--green); }
.claim.partial > span { background: rgba(244,191,79,.12); color: #f4bf4f; }
.claim.unsupported > span { background: rgba(247,84,84,.12); color: #f75454; }
.formula-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.formula-grid article { padding: 20px; border: 1px solid rgba(95,160,254,.2); border-radius: 7px; background: rgba(95,160,254,.045); }
.formula-grid span { color: var(--blue); font: 700 15px var(--mono); }
.formula-grid code { display: block; margin: 10px 0; color: var(--text); font: 12px var(--mono); }
.formula-grid p { color: var(--muted); font-size: 12px; }

.pipeline { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 32px; }
.pipeline article { position: relative; min-height: 180px; padding: 22px 20px; border: 1px solid rgba(95,160,254,.2); border-right: 0; background: var(--surface); }
.pipeline article:first-child { border-radius: 7px 0 0 7px; }
.pipeline article:last-child { border-right: 1px solid rgba(95,160,254,.2); border-radius: 0 7px 7px 0; }
.pipeline article:not(:last-child)::after { content: '→'; position: absolute; right: -10px; top: 27px; z-index: 2; color: var(--magenta); font: 700 18px var(--mono); }
.pipeline b { display: block; margin-bottom: 28px; color: var(--magenta); font: 11px var(--mono); }
.pipeline strong, .pipeline span { display: block; }
.pipeline strong { margin-bottom: 7px; color: var(--text); }
.pipeline span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.architecture-note { max-width: 850px; margin-top: 20px; color: var(--green); font: 12px/1.7 var(--mono); }

.results-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; margin-top: 28px; align-items: start; }
.result-card { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: 7px; background: radial-gradient(circle at top right, rgba(245,68,252,.11), transparent 45%), var(--surface); }
.result-card > span, .result-card > strong { grid-column: 1 / -1; }
.result-card > span { color: var(--muted); font: 10px var(--mono); text-transform: uppercase; }
.result-card > strong { padding-bottom: 16px; border-bottom: 1px solid var(--line); font-size: 14px; }
.result-card div b, .result-card div small { display: block; }
.result-card div b { color: var(--green); font: 700 27px var(--mono); }
.result-card div small { color: var(--muted); font: 10px var(--mono); }

.paper-authors { padding-left: 14px; border-left: 2px solid var(--blue); color: var(--text) !important; font: 12px/1.65 var(--mono) !important; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.tag-list span { padding: 5px 10px; border: 1px solid rgba(95,160,254,.25); border-radius: 4px; background: rgba(95,160,254,.07); color: var(--blue); font: 11px var(--mono); }
.license-note { margin-top: 20px; color: var(--muted); font-size: 13px; }
.example-copy { max-width: 850px; margin-top: 22px; }
.species-section h2 em { color: var(--green); font-style: italic; }

.final-cta { margin-top: 70px; margin-bottom: 70px; padding: 46px; border: 1px solid rgba(0,206,103,.32); border-radius: 8px; background: linear-gradient(135deg, rgba(0,206,103,.09), rgba(95,160,254,.05)); }
.final-cta > p { color: var(--green); font: 700 11px var(--mono); text-transform: uppercase; letter-spacing: .1em; }
footer { position: relative; z-index: 1; display: flex; justify-content: space-between; max-width: var(--max); margin: auto; padding: 24px; border-top: 1px solid var(--line); color: var(--muted); font: 11px var(--mono); }
footer a { color: var(--green); text-decoration: none; }

@media (max-width: 800px) {
  .hero-layout, .intro-grid, .ownership-section, .results-layout { grid-template-columns: 1fr; gap: 28px; }
  .status-card { max-width: 420px; }
  .pipeline { grid-template-columns: 1fr 1fr; gap: 10px; }
  .pipeline article, .pipeline article:last-child { border: 1px solid rgba(95,160,254,.2); border-radius: 7px; }
  .pipeline article:not(:last-child)::after { display: none; }
}

@media (max-width: 600px) {
  .project-header { padding: 10px 15px; }
  .project-hero { padding: 58px 17px 38px; }
  .content-section { padding: 55px 17px; }
  h1 { font-size: 3.7rem; }
  .hero-lead { font-size: 1rem; }
  .metrics-strip { grid-template-columns: 1fr 1fr; margin: 0 17px; border: 1px solid var(--line); border-radius: 7px; }
  .metrics-strip article { padding: 17px; border-bottom: 1px solid var(--line); }
  .metrics-strip article:nth-child(2) { border-right: 0; }
  .metrics-strip article:nth-child(3), .metrics-strip article:nth-child(4) { border-bottom: 0; }
  .claims-grid, .formula-grid, .pipeline { grid-template-columns: 1fr; }
  .pipeline article { min-height: 0; }
  .hero-actions .button { flex: 1 1 100%; }
  .final-cta { margin: 42px 17px; padding: 28px 20px; }
  footer { margin: 0 17px; padding: 20px 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
