:root {
  --vdl6ic: #5ede98;
  --vdz8cm: #283e32;
  --vwwlfy: #143d27;
  --vte5dw: #3a885d;
  --vru1e4: #73e87c;
  --vortia: #5ede98;
  --v32ud9: #2a3e41;
  --vhu97i: #3b5459;
  --vm2gkf: #849fa4;
  --vdk6nv: #152123;
  --vz452d: #17282b;
  --vhtoep: #24393d;
  --vxwlcx: #e7edee;
  --vf8fgr: #9fafb2;
  --vy7bvp: #53c69c;
  --vskp9i: #e4b558;
  --vm0yrl: #de625e;
  --vzyyd1: 76.052rem;
  --vdeikm: 67ch;
  --vte4o9: #24393d;
  --v0x0r0: clamp(1.006rem, 3vw, 1.988rem);
  --vfvsf2: 4.235rem;
  --v06r18: 'Instrument Sans', system-ui, sans-serif;
  --vcy8pa: 'Instrument Sans', system-ui, sans-serif;
  --v3hxeo: 'Instrument Sans', system-ui, sans-serif;
  --vhfe5f: clamp(2.323rem, 4.5vw, 3.415rem);
  --vmqoti: clamp(1.576rem, 3vw, 2.323rem);
  --van4a1: 1.576rem;
  --vmg32c: 1.079rem;
  --vucpuf: 0.879rem;
  --vdrufd: 1.15;
  --vo4pft: 1.65;
  --vij0s7: 0.522rem;
  --v76reh: 0.723rem;
  --v3nwtg: #111111;
  --v0tc9q: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--vcy8pa); font-size: var(--vmg32c); line-height: var(--vo4pft); color: var(--vxwlcx); background: var(--vz452d); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--v06r18); line-height: var(--vdrufd); font-weight: 700; color: var(--vxwlcx); text-wrap: balance; }
h1 { font-size: var(--vhfe5f); letter-spacing: -0.02em; }
h2 { font-size: var(--vmqoti); margin-top: 2.434rem; margin-bottom: 0.723rem; }
h3 { font-size: var(--van4a1); margin-top: 1.767rem; margin-bottom: 0.522rem; }
p { margin-bottom: 1.006rem; }
a { color: var(--vortia); }
ul, ol { margin: 0 0 1.006rem 1.311rem; }
li { margin-bottom: 0.343rem; }
strong { font-weight: 700; }
code { font-family: ui-monospace, "SF Mono", Menlo, monospace; background: rgba(128, 128, 128, 0.134); border: 1px solid rgba(128, 128, 128, 0.269); border-radius: 4px; padding: 0.099em 0.335em; font-size: 0.949em; color: var(--vxwlcx); }
blockquote { border-left: 3px solid var(--vdl6ic); padding-left: 1.006rem; color: var(--vf8fgr); margin: 0 0 1.006rem; }
img { max-width: 100%; height: auto; display: block; }
sup.eipcqo a { text-decoration: none; color: var(--vru1e4); font-weight: 600; }
.container { width: 100%; max-width: var(--vzyyd1); margin-inline: auto; padding-inline: var(--v0x0r0); }
.everhf { position: absolute; left: -999px; }
.everhf:focus { left: 1.006rem; top: 1.006rem; background: var(--vhtoep); padding: 0.522rem 1.006rem; z-index: 100; }
main { display: block; }
.e2qfk8 { font-family: var(--v3hxeo); font-weight: 800; font-size: 1.152rem; color: var(--vxwlcx); text-decoration: none; }
.e53jn4 { min-width: 0; }
.e53jn4 ul { display: flex; flex-wrap: wrap; gap: 1.311rem; list-style: none; margin: 0; padding: 0; min-width: 0; }
.e53jn4 li { white-space: nowrap; }
.e53jn4 a { color: var(--vf8fgr); text-decoration: none; font-size: var(--vucpuf); font-weight: 600; }
.e53jn4 a:hover { color: var(--vortia); }
.ezsgs7 { display: none; background: none; border: 1px solid var(--vhu97i); border-radius: 6px; padding: 0.419rem 0.631rem; font-size: 1.131rem; line-height: 1; cursor: pointer; color: var(--vxwlcx); }
.ehfiem { font-family: var(--v3hxeo); text-transform: uppercase; letter-spacing: 0.113em; font-size: var(--vucpuf); font-weight: 700; color: var(--vru1e4); margin-bottom: 0.723rem; }
.eqa0cv { font-size: 1.152rem; color: var(--vf8fgr); margin-top: 1.006rem; max-width: 59ch; }
.enspg2 { display: flex; flex-wrap: wrap; gap: 0.723rem; margin-top: 1.767rem; }
.eckjh5 { display: inline-block; padding: 0.843rem 1.638rem; border-radius: var(--vij0s7); font-weight: 700; text-decoration: none; font-size: var(--vucpuf); transition: transform 0.148s ease, opacity 0.148s ease; }
.eckjh5:hover { transform: translateY(-1px); }
.ec27j6 { background: var(--vdl6ic); color: var(--v3nwtg); }
.epnaku { background: transparent; color: var(--vortia); border: 1.5px solid var(--vortia); }
article > section, main > article { padding-block: 0.522rem; }
.eyc2oc { padding-block: 1.006rem 3.173rem; }
.eyc2oc .container > section { max-width: var(--vdeikm); margin-inline: auto; }
.eyc2oc .container > section.eoaiec, .eyc2oc .container > .eoaiec { max-width: none; }
.eyc2oc .container > section > .e3w2hk,
.eyc2oc .container > section > .e7y8d7,
.eyc2oc .container > section > .ehae2m,
.eyc2oc .container > section > .e2fxct,
.eyc2oc .container > section > .es5x8x {
  --vart3n: min(var(--vzyyd1) - 2 * var(--v0x0r0), 100vw - 2 * var(--v0x0r0));
  width: var(--vart3n);
  max-width: none;
  margin-inline: calc((100% - var(--vart3n)) / 2);
}
@media (max-width: 901px) {
  .eyc2oc .container > section > .e3w2hk,
  .eyc2oc .container > section > .e7y8d7,
  .eyc2oc .container > section > .ehae2m,
  .eyc2oc .container > section > .e2fxct,
  .eyc2oc .container > section > .es5x8x { width: 100%; margin-inline: 0; }
}
.es5x8x img { aspect-ratio: 16 / 7; object-fit: contain; background: var(--vhtoep); }
.e8zkfe img { aspect-ratio: 16 / 6; object-fit: cover; }
.ehae2m { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.311rem, 3vw, 2.434rem); align-items: center; background: var(--vte4o9, var(--vhtoep)); border: 1px solid var(--vhu97i); border-radius: var(--v76reh); padding: clamp(1.311rem, 3vw, 2.323rem); margin: 2.434rem 0; }
.eniwpr img { border-radius: calc(var(--v76reh) - 0.25rem); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.eniwpr figcaption { font-size: var(--vucpuf); color: var(--vf8fgr); margin-top: 0.631rem; line-height: 1.45; }
.e4cu7s { font-family: var(--v3hxeo); text-transform: uppercase; letter-spacing: 0.099em; font-size: 0.723rem; font-weight: 700; color: var(--vru1e4); margin-bottom: 0.631rem; }
.ev3d49 h2, .ev3d49 h3 { margin-top: 0; }
.ev3d49 p:last-child { margin-bottom: 0; }
@media (max-width: 721px) { .ehae2m { grid-template-columns: 1fr; } }
.ezbxe2 { border-left: 3px solid var(--vru1e4); background: var(--vte4o9, var(--vhtoep)); border-radius: 0 var(--v76reh) var(--v76reh) 0; padding: 1.311rem 1.576rem; margin: 1.988rem 0; }
.ezbxe2 h2, .ezbxe2 h3 { margin-top: 0; font-size: 1.061rem; text-transform: uppercase; letter-spacing: 0.079em; color: var(--vf8fgr); }
.eobg5l { list-style: none; margin: 0.723rem 0 0; padding: 0; display: grid; gap: 0.631rem; }
.eobg5l li { margin: 0; padding-left: 1.338rem; position: relative; }
.eobg5l li::before { content: "\2014"; position: absolute; left: 0; color: var(--vru1e4); font-weight: 700; }
.e7y8d7 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.747rem), 1fr)); gap: 1px; background: var(--vhu97i); border: 1px solid var(--vhu97i); border-radius: var(--v76reh); overflow: hidden; margin: 2.323rem 0; }
.ez930p { background: var(--vhtoep); padding: 1.338rem 1.311rem; }
.e0byjw { font-family: var(--v3hxeo); font-size: clamp(1.767rem, 3.5vw, 2.434rem); font-weight: 800; line-height: 1.05; color: var(--vdl6ic); letter-spacing: -0.02em; }
.em3voi { font-size: var(--vucpuf); color: var(--vf8fgr); margin-top: 0.419rem; line-height: 1.4; }
.e2fxct { background: var(--vdl6ic); color: var(--v3nwtg); border-radius: var(--v76reh); padding: clamp(1.576rem, 4vw, 2.707rem); margin: 3.173rem 0 1.006rem; text-align: center; }
.e2fxct h2, .e2fxct h3 { color: var(--v3nwtg); margin-top: 0; }
.e2fxct p { color: var(--v3nwtg); opacity: 0.88; margin-inline: auto; max-width: 58ch; }
.e2fxct .enspg2 { justify-content: center; }
.e2fxct .epnaku { color: var(--v3nwtg); border-color: var(--v3nwtg); }
.es5x8x img { border-radius: var(--v76reh); width: 100%; }
.es5x8x figcaption { font-size: var(--vucpuf); color: var(--vf8fgr); margin-top: 0.631rem; font-style: italic; }
.e8zkfe { margin: 1.576rem 0; }
.e8zkfe img { border-radius: var(--v76reh); }
.etazol { background: var(--vhtoep); border: 1px solid #3b5459; border-radius: var(--v76reh); padding: 1.576rem; }
.e3w2hk { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.758rem), 1fr)); gap: 1.311rem; margin: 1.576rem 0 1.988rem; }
.e3w2hk .etazol { display: flex; flex-direction: column; gap: 0.522rem; }
.e3w2hk .etazol img { border-radius: calc(var(--v76reh) - 0.25rem); margin-bottom: 0.522rem; aspect-ratio: 16 / 10; object-fit: cover; }
.e3w2hk .etazol h2, .e3w2hk .etazol h3 { margin: 0; font-size: 1.152rem; }
.e3w2hk .etazol p { margin: 0; font-size: var(--vucpuf); color: var(--vf8fgr); }
.e3w2hk .etazol .ee76ug { margin-top: auto; padding-top: 0.631rem; font-weight: 700; font-size: var(--vucpuf); color: var(--vortia); text-decoration: none; }
.e3w2hk .etazol .ee76ug:hover { text-decoration: underline; }
.e9wn6b { margin: 1.576rem 0; }
.e9wn6b img { border-radius: var(--v76reh); }
.e9wn6b figcaption { font-size: var(--vucpuf); color: var(--vf8fgr); margin-top: 0.522rem; font-style: italic; }
.ed0cr8 { overflow-x: auto; margin: 1.311rem 0 1.767rem; }
table { border-collapse: collapse; width: 100%; font-size: var(--vucpuf); }
th, td { text-align: left; padding: 0.631rem 0.843rem; border-bottom: 1px solid var(--vhu97i); vertical-align: top; }
thead th { border-bottom: 2px solid var(--vxwlcx); font-family: var(--v06r18); }
tbody tr:nth-child(even) { background: rgba(128, 128, 128, 0.098); }
.egbbto { padding-left: 1.576rem; }
.egbbto li { margin-bottom: 0.723rem; font-size: var(--vucpuf); color: var(--vf8fgr); }
.egbbto li a { word-break: break-word; }
.e3w7k4 ul { list-style: none; margin: 0; padding: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.e510oe.ea8pcu6 { background: var(--v32ud9); border-bottom: 3px solid var(--vxwlcx); position: sticky; top: 0; z-index: 50; }
.e510oe.ea8pcu6 .container { display: flex; align-items: baseline; justify-content: space-between; min-height: var(--vfvsf2); gap: 1.006rem; }
.e510oe.ea8pcu6 .e2qfk8 { font-size: 1.338rem; letter-spacing: -0.011em; }
.e510oe.ea8pcu6 .e53jn4 a { text-transform: uppercase; letter-spacing: 0.057em; font-size: 0.773rem; }
@media (max-width: 761px) {
  .e510oe.ea8pcu6 .ezsgs7 { display: block; }
  .e510oe.ea8pcu6 .e53jn4 { display: none; position: absolute; top: var(--vfvsf2); left: 0; right: 0; background: var(--v32ud9); border-bottom: 3px solid var(--vxwlcx); padding: 1.006rem var(--v0x0r0); z-index: 50; }
  .e510oe.ea8pcu6 .e53jn4.ebz6lr { display: block; }
  .e510oe.ea8pcu6 .e53jn4 ul { flex-direction: column; gap: 0.723rem; }
}
.ep1n5z.e73ws80 { padding: clamp(2.434rem, 6vw, 4.939rem) 0 clamp(1.576rem, 4vw, 3.173rem); }
.ep1n5z.e73ws80 .container { max-width: min(var(--vzyyd1), 56.208rem); }
.ep1n5z.e73ws80 h1 { max-width: 23ch; }
.ecu0yc.e3z8jc0 { background: var(--vwwlfy); color: var(--v0tc9q); margin-top: 4.235rem; padding-block: 2.434rem; }
.ecu0yc.e3z8jc0 a { color: var(--v0tc9q); text-decoration: none; opacity: 0.85; }
.ecu0yc.e3z8jc0 a:hover { opacity: 1; text-decoration: underline; }
.ecu0yc.e3z8jc0 .ee2otc { font-style: italic; opacity: 0.8; margin-bottom: 1.576rem; max-width: 59ch; }
.ecu0yc.e3z8jc0 .e3w7k4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.576rem; }
.ecu0yc.e3z8jc0 .e3w7k4 h2 { font-size: var(--vucpuf); text-transform: uppercase; letter-spacing: 0.079em; margin: 0 0 0.631rem; opacity: 0.7; }
.ecu0yc.e3z8jc0 .e3w7k4 li { margin-bottom: 0.419rem; font-size: var(--vucpuf); }
.ecu0yc.e3z8jc0 .e44zs0 { margin-top: 1.767rem; font-size: var(--vucpuf); opacity: 0.6; }

/* ---- per-site theme layer ---- */
/* Genesis Peptides Lab — research ledger visual system */
:root {
  --gpl-ink: #e7edee;
  --gpl-muted: #b9c6c8;
  --gpl-line: #3b5459;
  --gpl-deep: #101e20;
  --gpl-panel: #203437;
  --gpl-signal: #73e87c;
  --gpl-mint: #5ede98;
  --v76reh: 0.25rem;
  --vdeikm: 64ch;
}

html {
  background: var(--gpl-deep);
}

body {
  background-color: var(--vz452d);
  background-image:
    linear-gradient(rgba(115, 232, 124, 0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(115, 232, 124, 0.026) 1px, transparent 1px);
  background-size: 32px 32px;
  color: var(--gpl-ink);
}

body::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--gpl-mint) 0 36%, var(--gpl-signal) 36% 62%, transparent 62%);
}

h1,
h2,
h3 {
  font-variation-settings: "wdth" 96;
}

h1 {
  font-size: clamp(2.8rem, 7vw, 6.5rem);
  line-height: 0.91;
  letter-spacing: -0.065em;
  font-weight: 650;
}

h2 {
  font-size: clamp(1.55rem, 3.2vw, 2.45rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 620;
}

p,
li {
  letter-spacing: 0.002em;
}

a {
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.08em;
}

.e510oe {
  background: rgba(23, 40, 43, 0.96);
  border-bottom: 1px solid var(--gpl-line);
  box-shadow: 0 10px 32px rgba(5, 14, 15, 0.22);
  backdrop-filter: blur(12px);
}

.e510oe .container {
  min-height: 5.25rem;
  gap: clamp(1rem, 2vw, 2rem);
}

.e2qfk8 {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  max-width: 16rem;
  font-size: 0.92rem;
  line-height: 1.05;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.e2qfk8::before {
  content: "G";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.15rem;
  height: 2.15rem;
  border: 1px solid var(--gpl-mint);
  border-radius: 50% 50% 50% 0;
  color: var(--gpl-signal);
  font-size: 1rem;
  font-weight: 700;
  transform: rotate(-45deg);
  text-indent: 0;
}

.e2qfk8::after {
  content: "LAB / 04";
  color: var(--gpl-muted);
  font-size: 0.58rem;
  letter-spacing: 0.16em;
  white-space: nowrap;
}

.e53jn4 ul {
  gap: clamp(0.65rem, 1.4vw, 1.25rem);
}

.e53jn4 a {
  position: relative;
  padding-block: 0.45rem;
  color: var(--gpl-muted);
  font-size: 0.69rem;
  letter-spacing: 0.085em;
}

.e53jn4 a::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: var(--gpl-signal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 160ms ease;
}

.e53jn4 a:hover::after,
.e53jn4 a:focus-visible::after {
  transform: scaleX(1);
}

.ezsgs7 {
  border-radius: 50%;
  border-color: var(--gpl-mint);
  color: var(--gpl-ink);
}

.ep1n5z {
  position: relative;
  overflow: hidden;
  min-height: min(46rem, calc(100svh - 5rem));
  padding-block: clamp(3.5rem, 8vw, 7.5rem) clamp(3rem, 7vw, 6rem);
  border-bottom: 1px solid var(--gpl-line);
  background:
    radial-gradient(circle at 84% 22%, rgba(94, 222, 152, 0.13), transparent 28rem),
    linear-gradient(135deg, #17282b 0 61%, #1c3134 61% 100%);
}

.ep1n5z::before {
  content: "ORIGIN → TARGET → READOUT";
  position: absolute;
  right: max(1rem, calc((100vw - var(--vzyyd1)) / 2));
  bottom: 1.3rem;
  color: var(--gpl-muted);
  font-size: 0.62rem;
  letter-spacing: 0.19em;
  writing-mode: vertical-rl;
  opacity: 0.8;
}

.ep1n5z::after {
  content: "";
  position: absolute;
  width: 20rem;
  height: 20rem;
  right: -8rem;
  top: -8rem;
  border: 1px solid rgba(115, 232, 124, 0.28);
  border-radius: 50%;
  box-shadow:
    0 0 0 3rem rgba(115, 232, 124, 0.025),
    0 0 0 6rem rgba(115, 232, 124, 0.018);
}

.ep1n5z .container {
  position: relative;
  z-index: 1;
  max-width: var(--vzyyd1);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1.2rem, 3vw, 3rem);
  align-items: end;
}

.ep1n5z .ehfiem {
  grid-column: 1 / 7;
  align-self: start;
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  width: fit-content;
  margin-bottom: clamp(1.5rem, 5vw, 4.2rem);
  color: var(--gpl-signal);
  font-size: 0.66rem;
  letter-spacing: 0.2em;
}

.ep1n5z .ehfiem::before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid var(--gpl-signal);
  border-radius: 50%;
  background:
    linear-gradient(var(--gpl-signal), var(--gpl-signal)) center / 1px 100% no-repeat,
    linear-gradient(90deg, var(--gpl-signal), var(--gpl-signal)) center / 100% 1px no-repeat;
}

.ep1n5z h1 {
  grid-column: 1 / 8;
  max-width: 12ch;
  padding-bottom: 1.5rem;
}

.ep1n5z .eqa0cv {
  grid-column: 1 / 7;
  max-width: 53ch;
  margin: 0;
  padding-top: 1.35rem;
  border-top: 1px solid var(--gpl-line);
  color: var(--gpl-muted);
  font-size: clamp(1rem, 1.7vw, 1.22rem);
  line-height: 1.55;
}

.ep1n5z .enspg2 {
  grid-column: 1 / 7;
}

.e8zkfe {
  grid-column: 8 / 13;
  grid-row: 1 / 6;
  align-self: stretch;
  position: relative;
  min-height: 32rem;
  margin: 0;
  padding: 1rem 0 1rem 1rem;
  border-left: 1px solid var(--gpl-line);
}

.e8zkfe::before {
  content: "ASSAY FIELD  /  001";
  position: absolute;
  z-index: 2;
  top: 2rem;
  left: 2rem;
  padding: 0.42rem 0.58rem;
  border: 1px solid rgba(231, 237, 238, 0.45);
  background: rgba(16, 30, 32, 0.72);
  color: var(--gpl-ink);
  font-size: 0.58rem;
  letter-spacing: 0.16em;
}

.e8zkfe img {
  width: 100%;
  height: 100%;
  min-height: 30rem;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.06);
  clip-path: polygon(6% 0, 100% 0, 100% 94%, 94% 100%, 0 100%, 0 6%);
  box-shadow: 1.2rem 1.2rem 0 rgba(94, 222, 152, 0.08);
}

.eckjh5 {
  border-radius: 0;
  padding: 0.92rem 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.085em;
  font-size: 0.7rem;
}

.ec27j6 {
  background: var(--gpl-mint);
  color: #10201a;
  border: 1px solid var(--gpl-mint);
}

.epnaku {
  background: rgba(23, 40, 43, 0.45);
  border: 1px solid var(--gpl-line);
  color: var(--gpl-ink);
}

.eyc2oc {
  padding-block: clamp(1.75rem, 4vw, 3rem) clamp(5rem, 9vw, 8rem);
}

.eyc2oc .container {
  counter-reset: section-ledger;
}

.eyc2oc .container > section {
  counter-increment: section-ledger;
  position: relative;
  max-width: 70ch;
  margin-inline: auto;
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem);
  border-left: 1px solid var(--gpl-line);
}

.eyc2oc .container > section + section {
  border-top: 1px solid rgba(59, 84, 89, 0.72);
}

.eyc2oc section h2 {
  position: relative;
  margin: 0 0 1.45rem;
  max-width: 20ch;
}

.eyc2oc section h2::before {
  content: "0" counter(section-ledger);
  position: absolute;
  right: calc(100% + 1.25rem);
  top: 0.15rem;
  color: var(--gpl-signal);
  font-size: 0.64rem;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 650;
}

.eyc2oc section h2::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2px;
  margin-top: 0.85rem;
  background: linear-gradient(90deg, var(--gpl-signal) 0 45%, var(--gpl-line) 45%);
}

.eyc2oc section p {
  max-width: var(--vdeikm);
  color: var(--gpl-ink);
}

.eyc2oc section p + p {
  margin-top: 1.15rem;
}

.eyc2oc section ul {
  margin-top: 1.5rem;
  list-style: none;
  padding: 0;
}

.eyc2oc section li {
  position: relative;
  padding: 0.72rem 0 0.72rem 1.65rem;
  border-top: 1px solid rgba(59, 84, 89, 0.56);
}

.eyc2oc section li::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: 0.15rem;
  width: 0.56rem;
  height: 0.56rem;
  border: 1px solid var(--gpl-signal);
  border-radius: 50%;
  background:
    linear-gradient(var(--gpl-signal), var(--gpl-signal)) center / 1px 100% no-repeat,
    linear-gradient(90deg, var(--gpl-signal), var(--gpl-signal)) center / 100% 1px no-repeat;
}

.e3w2hk {
  counter-reset: compound-card;
  max-width: var(--vzyyd1);
  margin: clamp(3rem, 7vw, 6rem) auto clamp(2rem, 5vw, 4rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--gpl-line);
  background: var(--gpl-line);
}

.etazol {
  counter-increment: compound-card;
  position: relative;
  overflow: hidden;
  min-height: 25rem;
  padding: 0 0 1.6rem;
  border: 0;
  border-radius: 0;
  background: var(--gpl-panel);
}

.etazol::before {
  content: "0" counter(compound-card);
  position: absolute;
  z-index: 2;
  top: 1rem;
  left: 1rem;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--gpl-signal);
  border-radius: 50%;
  background: rgba(16, 30, 32, 0.82);
  color: var(--gpl-signal);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.etazol img {
  width: 100%;
  border-radius: 0;
  margin: 0 0 1.4rem;
  opacity: 0.88;
  filter: saturate(0.72);
  transition: transform 300ms ease, filter 300ms ease;
}

.etazol:hover img {
  transform: scale(1.025);
  filter: saturate(1);
}

.etazol h3,
.etazol p,
.etazol .ee76ug {
  margin-inline: 1.6rem;
}

.etazol h3 {
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  letter-spacing: -0.035em;
}

.etazol p {
  max-width: 48ch;
  color: var(--gpl-muted);
  font-size: 0.94rem;
  line-height: 1.55;
}

.ee76ug {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--gpl-signal);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.66rem;
}

.ee76ug::before {
  content: "";
  width: 1.7rem;
  height: 1px;
  background: currentColor;
}

.e9wn6b {
  margin: 2.5rem 0;
  padding: 0.7rem;
  border: 1px solid var(--gpl-line);
  background: var(--gpl-panel);
}

.e9wn6b img {
  width: 100%;
  border-radius: 0;
  filter: saturate(0.82);
}

.ed0cr8 {
  width: min(100%, calc(100vw - 2rem));
  margin: 2rem 0 3rem;
  border: 1px solid var(--gpl-line);
  background: var(--gpl-panel);
  box-shadow: 0.8rem 0.8rem 0 rgba(94, 222, 152, 0.05);
}

table {
  min-width: 54rem;
  font-size: 0.83rem;
  line-height: 1.5;
}

th,
td {
  padding: 1rem;
  border-right: 1px solid var(--gpl-line);
  border-bottom: 1px solid var(--gpl-line);
}

thead th {
  position: sticky;
  top: 0;
  background: #1a2d30;
  color: var(--gpl-signal);
  border-bottom: 2px solid var(--gpl-signal);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.67rem;
}

tbody tr:nth-child(even) {
  background: rgba(94, 222, 152, 0.035);
}

tbody tr:hover {
  background: rgba(94, 222, 152, 0.075);
}

.eipcqo {
  margin-inline: 0.08rem;
}

.eipcqo a {
  display: inline-grid;
  place-items: center;
  min-width: 1.45rem;
  height: 1.45rem;
  border: 1px solid rgba(115, 232, 124, 0.45);
  border-radius: 50%;
  color: var(--gpl-signal);
  font-size: 0.62rem;
}

.egbbto {
  counter-reset: none;
  margin-top: 2rem;
  padding-left: 0;
  list-style: none;
}

.egbbto li {
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--gpl-line);
  color: var(--gpl-muted);
  overflow-wrap: anywhere;
}

.egbbto li::before {
  position: static;
  display: grid;
  place-items: center;
  width: 2.3rem;
  height: 2.3rem;
  border: 1px solid var(--gpl-signal);
  border-radius: 50%;
  color: var(--gpl-signal);
  background: transparent;
}

.ezbxe2 {
  border: 1px solid var(--gpl-line);
  border-left: 0;
  border-radius: 0;
  padding: 1.5rem 1.75rem 1.5rem 2.2rem;
  background:
    linear-gradient(90deg, var(--gpl-signal) 0 4px, transparent 4px),
    var(--gpl-panel);
}

.e7y8d7 {
  border: 1px solid var(--gpl-line);
  border-radius: 0;
  background: var(--gpl-line);
}

.ez930p {
  background: var(--gpl-panel);
}

.e0byjw {
  color: var(--gpl-signal);
}

.e2fxct {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--gpl-signal);
  border-radius: 0;
  background: var(--gpl-mint);
  color: #10201a;
  text-align: left;
}

.e2fxct::after {
  content: "+";
  position: absolute;
  right: 1rem;
  top: -2.5rem;
  color: rgba(16, 32, 26, 0.13);
  font-size: 12rem;
  line-height: 1;
  font-weight: 300;
}

.ecu0yc {
  position: relative;
  margin-top: 0;
  padding-block: clamp(3.5rem, 7vw, 6rem) 2.5rem;
  border-top: 1px solid var(--gpl-signal);
  background:
    linear-gradient(90deg, transparent 0 66%, rgba(115, 232, 124, 0.045) 66%),
    var(--gpl-deep);
  color: var(--gpl-ink);
}

.ecu0yc::before {
  content: "GPL";
  position: absolute;
  right: 3vw;
  bottom: -0.2em;
  color: rgba(115, 232, 124, 0.045);
  font-size: clamp(8rem, 22vw, 20rem);
  line-height: 0.72;
  font-weight: 700;
  letter-spacing: -0.08em;
  pointer-events: none;
}

.ecu0yc .container {
  position: relative;
  z-index: 1;
}

.ee2otc {
  max-width: 62ch;
  padding-left: 1.4rem;
  border-left: 2px solid var(--gpl-signal);
  color: var(--gpl-ink);
  font-style: normal;
  font-size: clamp(1.08rem, 2.2vw, 1.45rem);
  line-height: 1.45;
}

.e3w7k4 {
  max-width: 42rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gpl-line);
}

.e3w7k4 h2 {
  color: var(--gpl-signal);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
}

.e44zs0 {
  color: var(--gpl-muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 960px) {
  .ep1n5z {
    min-height: auto;
  }

  .e8zkfe {
    min-height: 26rem;
  }

  .e2qfk8::after {
    display: none;
  }
}

@media (max-width: 760px) {
  body {
    background-size: 24px 24px;
  }

  h1 {
    font-size: clamp(2.65rem, 13vw, 4.4rem);
  }

  .e510oe .container {
    min-height: var(--vfvsf2);
  }

  .e2qfk8 {
    max-width: 13.5rem;
    font-size: 0.78rem;
  }

  .e2qfk8::before {
    width: 1.85rem;
    height: 1.85rem;
  }

  .e53jn4 {
    background: var(--gpl-deep);
    border-bottom-color: var(--gpl-signal);
  }

  .e53jn4 a {
    display: block;
    padding: 0.55rem 0;
    font-size: 0.76rem;
  }

  .ep1n5z {
    padding-block: 3.5rem 2.5rem;
    background:
      radial-gradient(circle at 90% 10%, rgba(94, 222, 152, 0.12), transparent 18rem),
      var(--vz452d);
  }

  .ep1n5z::before {
    display: none;
  }

  .ep1n5z::after {
    width: 13rem;
    height: 13rem;
  }

  .ep1n5z .container {
    grid-template-columns: 1fr;
  }

  .ep1n5z .ehfiem,
  .ep1n5z h1,
  .ep1n5z .eqa0cv,
  .ep1n5z .enspg2,
  .e8zkfe {
    grid-column: 1;
  }

  .ep1n5z .ehfiem {
    margin-bottom: 2.25rem;
  }

  .ep1n5z h1 {
    padding-bottom: 1.25rem;
  }

  .ep1n5z .eqa0cv {
    padding-top: 1.15rem;
  }

  .e8zkfe {
    grid-row: auto;
    min-height: 17rem;
    margin-top: 2rem;
    padding: 0.6rem 0 0 0.6rem;
  }

  .e8zkfe img {
    min-height: 16rem;
  }

  .e3w2hk {
    grid-template-columns: 1fr;
    margin-top: 2rem;
  }

  .etazol {
    min-height: 0;
  }

  .eyc2oc .container > section {
    padding: 3.2rem 0 2.7rem 1.2rem;
  }

  .eyc2oc section h2::before {
    right: calc(100% + 0.6rem);
    transform: rotate(-90deg);
  }

  .egbbto li {
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: 0.7rem;
  }

  .ecu0yc::before {
    display: none;
  }
}

@media (max-width: 420px) {
  .ep1n5z .enspg2 {
    gap: 0.55rem;
  }

  .eckjh5 {
    width: 100%;
    text-align: center;
  }

  .eyc2oc .container > section {
    padding-left: 1rem;
  }

  .etazol h3,
  .etazol p,
  .etazol .ee76ug {
    margin-inline: 1.2rem;
  }
}
