/* Nantevo docs — shared stylesheet */
:root {
  --teal:     #1D9E75;
  --teal-lt:  #9FE1CB;
  --teal-dk:  #0F6E56;
  --teal-b:   rgba(29,158,117,0.22);
  --teal-bg:  rgba(29,158,117,0.07);
  --forest:   #0C1E15;
  --forest-b: #0F2319;
  --ink:      #0D0D0D;
  --ink-b:    #131313;
  --ink-c:    #1A1A1A;
  --chalk:    #EAE6DC;
  --chalk-b:  #A9A59D;
  --chalk-c:  #6B6863;
  --wire:     rgba(255,255,255,0.07);
  --wire-b:   rgba(255,255,255,0.12);
  --amber:    #EF9F27;
  --red:      #E24B4A;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--ink);color:var(--chalk);-webkit-font-smoothing:antialiased}
[id]{scroll-margin-top:80px}

/* NAV (matches main site, with docs marker) */
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(13,13,13,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--wire)}
.ni{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:1180px;margin:0 auto;padding:0 2rem}
.nl{display:flex;align-items:center;gap:9px;text-decoration:none}
.nw{font-family:'Syne',sans-serif;font-weight:600;font-size:16px;color:var(--chalk);letter-spacing:.05em}
.nw-docs{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--teal);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--teal-b);border-radius:3px;padding:2px 8px;margin-left:4px}
.nm{display:flex;align-items:center;gap:1.75rem;list-style:none}
.nm a{font-size:13.5px;color:var(--chalk-b);text-decoration:none;font-weight:300;transition:color .2s}
.nm a:hover{color:var(--chalk)}
.na{display:flex;align-items:center;gap:10px}
.bt{font-size:13px;padding:8px 20px;border:none;border-radius:5px;color:var(--forest);background:var(--teal);cursor:pointer;text-decoration:none;font-weight:500;transition:background .2s}
.bt:hover{background:var(--teal-lt)}

/* LAYOUT */
.docs-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:3.5rem;max-width:1180px;margin:0 auto;padding:100px 2rem 5rem}

/* SIDEBAR */
.side{position:sticky;top:92px;align-self:start;font-size:13.5px}
.side-group{margin-bottom:1.75rem}
.side-title{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--chalk-c);margin-bottom:.75rem}
.side ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.side a{display:block;padding:6px 10px;border-radius:5px;color:var(--chalk-b);text-decoration:none;font-weight:300;border-left:2px solid transparent;transition:color .15s,background .15s}
.side a:hover{color:var(--chalk);background:rgba(255,255,255,.03)}
.side a.active{color:var(--teal);border-left-color:var(--teal);background:var(--teal-bg);border-radius:0 5px 5px 0}
.side-back{font-size:12.5px;color:var(--chalk-c) !important}

/* CONTENT */
.doc{max-width:760px;min-width:0}
.crumb{display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-c);margin-bottom:1.5rem}
.crumb a{color:var(--chalk-c);text-decoration:none}
.crumb a:hover{color:var(--teal)}
.crumb span{color:var(--teal)}
.doc h1{font-family:'Syne',sans-serif;font-weight:700;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.12;letter-spacing:-.025em;color:var(--chalk);margin-bottom:1rem}
.doc .lead{font-size:1.05rem;color:var(--chalk-b);line-height:1.8;font-weight:300;margin-bottom:2.5rem}
.doc h2{font-family:'Syne',sans-serif;font-weight:600;font-size:1.35rem;line-height:1.2;letter-spacing:-.015em;color:var(--chalk);margin:3rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--wire)}
.doc h3{font-family:'Syne',sans-serif;font-weight:600;font-size:1.02rem;color:var(--chalk);margin:1.9rem 0 .6rem}
.doc p{font-size:14.5px;color:var(--chalk-b);line-height:1.8;font-weight:300;margin-bottom:1rem}
.doc p strong{color:var(--chalk);font-weight:400}
.doc a{color:var(--teal);text-decoration:none}
.doc a:hover{color:var(--teal-lt)}
.doc ul,.doc ol{margin:0 0 1rem 1.25rem;display:flex;flex-direction:column;gap:.45rem}
.doc li{font-size:14.5px;color:var(--chalk-b);line-height:1.7;font-weight:300}
.doc li strong{color:var(--chalk);font-weight:400}
.doc code{font-family:'IBM Plex Mono',monospace;font-size:.86em;color:var(--teal-lt);background:rgba(29,158,117,.08);border:1px solid rgba(29,158,117,.14);border-radius:4px;padding:1px 5px}
.doc pre{background:rgba(0,0,0,.45);border:1px solid var(--wire-b);border-radius:8px;padding:1.1rem 1.25rem;overflow-x:auto;margin:0 0 1.25rem}
.doc pre code{background:none;border:none;padding:0;color:var(--teal-lt);font-size:12.5px;line-height:1.75;display:block}
.doc pre .cmt{color:var(--chalk-c)}

/* TABLES */
.doc table{width:100%;border-collapse:collapse;margin:0 0 1.25rem;font-size:13.5px}
.doc th{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-c);text-align:left;padding:8px 12px;border-bottom:1px solid var(--wire-b)}
.doc td{padding:9px 12px;border-bottom:1px solid var(--wire);color:var(--chalk-b);font-weight:300;line-height:1.55;vertical-align:top}
.doc td code{white-space:nowrap}

/* CALLOUTS */
.note,.warn{display:flex;gap:.875rem;align-items:flex-start;padding:.95rem 1.15rem;border-radius:7px;margin:0 0 1.25rem;font-size:13.5px;line-height:1.65;font-weight:300;color:var(--chalk-b)}
.note{border:1px solid var(--teal-b);background:var(--teal-bg)}
.warn{border:1px solid rgba(239,159,39,.28);background:rgba(239,159,39,.05)}
.note strong,.warn strong{color:var(--chalk);font-weight:400}
.note-tag{flex-shrink:0;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.note .note-tag{color:var(--teal)}
.warn .note-tag{color:var(--amber)}

/* CARD GRID (landing) */
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:2rem 0}
.card{display:block;padding:1.5rem 1.6rem;border:1px solid var(--wire);border-radius:10px;background:var(--ink-b);text-decoration:none;transition:border-color .2s,background .2s}
.card:hover{border-color:var(--teal-b);background:rgba(29,158,117,.04)}
.card-ey{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:.6rem}
.card h3{font-family:'Syne',sans-serif;font-size:15px;font-weight:600;color:var(--chalk);margin:0 0 .5rem}
.card p{font-size:13px;color:var(--chalk-b);line-height:1.65;font-weight:300;margin:0}

/* PAGER */
.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--wire)}
.pager a{display:flex;flex-direction:column;gap:3px;padding:.9rem 1.1rem;border:1px solid var(--wire);border-radius:8px;text-decoration:none;min-width:0;transition:border-color .2s}
.pager a:hover{border-color:var(--teal-b)}
.pager .pl{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-c)}
.pager .pt{font-size:13.5px;color:var(--teal)}

/* FOOTER */
footer{border-top:1px solid var(--wire);padding:1.6rem 0}
.fin{max-width:1180px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--chalk-c)}
.fin a{color:var(--chalk-c);text-decoration:none}
.fin a:hover{color:var(--teal)}

/* RESPONSIVE */
@media(max-width:900px){
  .docs-shell{grid-template-columns:1fr;gap:2rem;padding-top:88px}
  .side{position:static;order:-1;border:1px solid var(--wire);border-radius:9px;padding:1.1rem 1.25rem;background:var(--ink-b)}
  .card-grid{grid-template-columns:1fr}
  .nm{display:none}
}
