.zwp-page {
  --bg:#050507;
  --panel:#0c0c12;
  --surface:#14141c;
  --text:#ececec;
  --muted:#8a8a98;
  --dim:#5c5c68;
  --v:#8b5cf6;
  --i:#6366f1;
  --b:#38bdf8;
  background:#050507;
  color:var(--text);
  font-family:Inter,sans-serif;
  min-height:100vh;
  overflow:hidden;
  padding:0 24px 120px;
  position:relative
}

.zwp-page::before {
  background-image:radial-gradient(circle,rgba(139,92,246,.13) 1px,transparent 1px);
  background-size:28px 28px;
  content:"";
  inset:0;
  opacity:.55;
  pointer-events:none;
  position:fixed
}

.zwp-page::after {
  background:radial-gradient(circle,rgba(139,92,246,.12),rgba(56,189,248,.04) 45%,transparent 72%);
  content:"";
  filter:blur(45px);
  height:800px;
  pointer-events:none;
  position:fixed;
  right:-350px;
  top:-330px;
  width:800px
}

.zwp-progress {
  background:linear-gradient(90deg,var(--v),var(--b));
  box-shadow:0 0 10px rgba(139,92,246,.55);
  height:2px;
  left:0;
  position:fixed;
  top:56px;
  transform:scaleX(0);
  transform-origin:left;
  width:100%;
  z-index:1000
}

.zwp-hero {
  align-items:end;
  display:grid;
  gap:48px;
  grid-template-columns:1fr auto;
  margin:0 auto;
  max-width:1100px;
  padding:110px 0 72px;
  position:relative;
  z-index:1
}

.zwp-hero span,.zwp-final>span {
  color:var(--dim);
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase
}

.zwp-hero h1 {
  font-size:clamp(45px,6vw,72px);
  font-weight:300;
  letter-spacing:-.03em;
  line-height:1.05;
  margin:18px 0
}

.zwp-hero h1 em,.zwp-final h2 em {
  background:linear-gradient(110deg,#c4b5fd,var(--v) 50%,var(--b));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-family:"Instrument Serif",serif;
  font-style:italic;
  font-weight:400
}

.zwp-hero p {
  color:var(--muted);
  font-size:16px;
  line-height:1.75;
  margin:0;
  max-width:650px
}

.zwp-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px
}

.zwp-primary,.zwp-outline {
  border-radius:10px;
  font-size:13px;
  padding:11px 24px;
  text-decoration:none;
  transition:.2s;
  white-space:nowrap
}

.zwp-primary {
  background:linear-gradient(135deg,var(--v),var(--i),#3b82f6);
  border:1px solid rgba(196,181,253,.35);
  box-shadow:0 4px 24px rgba(139,92,246,.3);
  color:#fff;
  font-weight:500
}

.zwp-outline {
  background:rgba(20,20,28,.5);
  border:1px solid rgba(255,255,255,.1);
  color:var(--muted)
}

.zwp-primary:hover,.zwp-outline:hover {
  color:#fff;
  transform:translateY(-2px)
}

.zwp-primary:hover {
  box-shadow:0 8px 30px rgba(139,92,246,.46)
}

.zwp-outline:hover {
  border-color:rgba(139,92,246,.45)
}

.zwp-disclaimer {
  align-items:center;
  display:flex;
  gap:20px;
  justify-content:center;
  margin:0 auto;
  max-width:1100px;
  padding:28px 0;
  position:relative;
  z-index:1
}

.zwp-disclaimer i {
  background:var(--i);
  height:1px;
  opacity:.38;
  width:42px
}

.zwp-disclaimer p {
  color:var(--dim);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.09em;
  line-height:1.7;
  margin:0;
  max-width:760px;
  text-align:center;
  text-transform:uppercase
}

.zwp-mobile-toc {
  display:none
}

.zwp-doc {
  display:grid;
  gap:48px;
  grid-template-columns:230px minmax(0,1fr);
  margin:70px auto 0;
  max-width:1100px;
  position:relative;
  z-index:1
}

.zwp-toc {
  align-self:start;
  border-left:1px solid rgba(255,255,255,.07);
  padding:12px 0 12px 20px;
  position:sticky;
  top:86px
}

.zwp-toc>span {
  color:var(--dim);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase
}

.zwp-toc ol {
  display:grid;
  gap:2px;
  list-style:none;
  margin:18px 0 24px;
  padding:0
}

.zwp-toc li {
  border-left:1px solid transparent;
  margin-left:-21px;
  padding-left:20px;
  transition:.2s
}

.zwp-toc li.is-active {
  border-left-color:var(--v)
}

.zwp-toc a {
  color:var(--muted);
  display:block;
  font-size:12px;
  padding:6px 0;
  text-decoration:none
}

.zwp-toc li.is-active a,.zwp-toc a:hover {
  color:#c4b5fd
}

.zwp-toc .zwp-back {
  color:var(--dim);
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase
}

.zwp-content {
  min-width:0
}

.zwp-content>section {
  border-bottom:1px solid rgba(255,255,255,.07);
  opacity:0;
  padding:0 0 70px;
  margin:0 0 70px;
  scroll-margin-top:90px;
  transform:translateY(18px);
  transition:opacity .55s,transform .55s
}

.zwp-content>section.is-visible {
  opacity:1;
  transform:none
}

.zwp-content section header {
  align-items:center;
  display:flex;
  gap:15px;
  margin-bottom:30px
}

.zwp-content section header>span {
  color:var(--v);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.12em
}

.zwp-content section header>span::after {
  background:linear-gradient(90deg,rgba(139,92,246,.45),transparent);
  content:"";
  display:inline-block;
  height:1px;
  margin-left:14px;
  vertical-align:middle;
  width:48px
}

.zwp-content h2 {
  font-family:"Instrument Serif",serif;
  font-size:clamp(30px,4vw,44px);
  font-weight:400;
  line-height:1.1;
  margin:0
}

.zwp-content h2 a {
  color:var(--text);
  text-decoration:none
}

.zwp-content p,.zwp-content li {
  color:var(--muted);
  font-size:15px;
  line-height:1.85
}

.zwp-content p+p {
  margin-top:18px
}

.zwp-content ul,.zwp-content ol:not(.zwp-principles) {
  display:grid;
  gap:10px;
  margin:22px 0;
  padding-left:22px
}

.zwp-content li::marker {
  color:var(--v)
}

.zwp-content strong,.zwp-content b {
  color:#d8d8df
}

.zwp-content code {
  background:rgba(139,92,246,.09);
  border:1px solid rgba(139,92,246,.16);
  border-radius:4px;
  color:#c4b5fd;
  font-family:"JetBrains Mono",monospace;
  font-size:12px;
  padding:2px 6px
}

.zwp-dropcap::first-letter {
  color:#c4b5fd;
  float:left;
  font-family:"Instrument Serif",serif;
  font-size:62px;
  line-height:.78;
  padding:8px 10px 0 0
}

.zwp-content blockquote {
  border-left:2px solid var(--v);
  color:#c4b5fd;
  font-family:"Instrument Serif",serif;
  font-size:23px;
  font-style:italic;
  line-height:1.5;
  margin:30px 0;
  padding:10px 0 10px 24px
}

.zwp-principles {
  counter-reset:principle;
  display:grid;
  gap:0;
  list-style:none;
  margin:0;
  padding:0
}

.zwp-principles li {
  align-items:start;
  border-bottom:1px solid rgba(255,255,255,.06);
  counter-increment:principle;
  display:grid;
  gap:16px;
  grid-template-columns:34px 1fr;
  padding:16px 0
}

.zwp-principles li::before {
  color:var(--dim);
  content:"0" counter(principle);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  margin-top:3px
}

.zwp-principles b {
  display:block;
  font-size:14px;
  font-weight:500
}

.zwp-principles p {
  font-size:13px;
  line-height:1.65;
  margin:3px 0 0
}

.zwp-final {
  background:rgba(20,20,28,.55);
  border:1px solid rgba(139,92,246,.18);
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  padding:36px
}

.zwp-final h2 {
  font-family:Inter,sans-serif;
  font-size:clamp(28px,4vw,42px);
  font-weight:300;
  line-height:1.2;
  margin:16px 0 28px
}

.zwp-principles li>p {
  grid-column:2;
  margin:-11px 0 0;
  max-width:680px
}

.zwp-principles li>b {
  grid-column:2
}

@media(max-width:900px) {
  .zwp-doc {
    grid-template-columns:1fr;
    margin-top:30px
  }
  .zwp-toc {
    display:none
  }
  .zwp-mobile-toc {
    display:flex;
    gap:8px;
    margin:25px auto 45px;
    max-width:1100px;
    overflow-x:auto;
    padding:0 0 10px;
    position:relative;
    z-index:1
  }
  .zwp-mobile-toc a {
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    color:var(--muted);
    font-family:"JetBrains Mono",monospace;
    font-size:9px;
    padding:7px 11px;
    text-decoration:none;
    white-space:nowrap
  }
  .zwp-hero {
    align-items:start;
    grid-template-columns:1fr
  }
  .zwp-hero .zwp-actions {
    justify-content:flex-start
  }
}

@media(max-width:600px) {
  .zwp-page {
    padding-left:16px;
    padding-right:16px
  }
  .zwp-hero {
    padding:78px 0 54px
  }
  .zwp-hero h1 {
    font-size:48px
  }
  .zwp-actions a {
    box-sizing:border-box;
    text-align:center;
    width:100%
  }
  .zwp-disclaimer {
    flex-direction:column
  }
  .zwp-content>section {
    margin-bottom:52px;
    padding-bottom:52px
  }
  .zwp-final {
    padding:26px 20px
  }
}

@media(prefers-reduced-motion:reduce) {
  .zwp-content>section {
    opacity:1;
    transform:none
  }
}
