/* NumProof shared design system — inner pages */
:root{
  --ink:#15171a;--paper:#f4f5f4;--card:#ffffff;--line:#e4e7e4;--mut:#727a76;
  --accent:#1f8a5b;--accent-tint:color-mix(in oklab,var(--accent) 12%,#fff);
  --accent-line:color-mix(in oklab,var(--accent) 32%,#fff);--refute:#c0524b;
  --dk:#15171a;--field:#fbfcfb;--grid:rgba(20,23,26,.05);--gridd:rgba(238,241,238,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#15171a}
.np{font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--ink)}
.np a{color:inherit}
.sheet{max-width:1180px;margin:0 auto;padding:0 56px}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.mut{color:var(--mut)}.green{color:var(--accent)}
.kick{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
.bignum{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.16em;color:var(--accent)}
.h1{font-size:46px;line-height:1.04;letter-spacing:-.032em;font-weight:700;margin:0}
.h2{font-size:31px;line-height:1.07;letter-spacing:-.025em;font-weight:600;margin:0}
.h3{font-size:20px;line-height:1.16;letter-spacing:-.02em;font-weight:600;margin:0}
.lead{font-size:18px;line-height:1.62;color:var(--mut);margin:0}
.rule{height:1px;background:var(--line);border:0;width:100%;margin:0}

/* page header (slim dark hero) */
.phead{position:relative;background:var(--dk);color:#eef1ee;overflow:hidden}
.phead-grid{position:absolute;inset:0;background-image:linear-gradient(var(--gridd) 1px,transparent 1px),linear-gradient(90deg,var(--gridd) 1px,transparent 1px);background-size:34px 34px;pointer-events:none;-webkit-mask-image:radial-gradient(120% 100% at 78% 0%,#000 30%,transparent 76%);mask-image:radial-gradient(120% 100% at 78% 0%,#000 30%,transparent 76%)}
.phead-in{position:relative;padding-top:82px;padding-bottom:60px}
.phead-eye{color:#8b938f}
.phead-h1{margin:18px 0 0;max-width:22ch;color:#eef1ee}
.phead-lead{color:#a7afa9;margin-top:18px;max-width:66ch}
.phead-cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}

/* sections */
.sec{padding:72px 0}
.sec-h{display:flex;flex-direction:column;gap:13px;margin-bottom:8px}
.lede{font-size:17px;line-height:1.6;color:var(--mut);max-width:64ch}

/* buttons */
.btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:13px 21px;border-radius:11px;background:var(--accent);color:#fff;text-decoration:none;border:0;cursor:pointer;letter-spacing:-.01em;transition:filter .15s,transform .15s,background .15s}
.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:#eef1ee;border:1px solid rgba(238,241,238,.22)}
.btn-ghost:hover{background:rgba(238,241,238,.08);filter:none}
.btn-dark-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-dark-ghost:hover{border-color:var(--accent-line);background:var(--card);filter:none}
.btn-run{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:12px 20px;border-radius:10px;background:var(--accent);color:#fff;border:0;cursor:pointer;letter-spacing:-.01em;transition:.15s}
.btn-run:hover{filter:brightness(1.07)}
.btn-run.busy{opacity:.5;pointer-events:none}
.btn-sm{font-size:13px;padding:9px 15px;border-radius:9px}

/* cards & tables */
.card{background:var(--card);border:1px solid var(--line);border-radius:16px}
.tbl{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}
.trow{display:grid;gap:24px;padding:15px 22px;border-top:1px solid var(--line);align-items:baseline}
.trow.thead{border-top:0;background:var(--field)}
.th{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.tcell{font-size:14px;color:var(--ink);line-height:1.45}
.tc-ep{font-family:'JetBrains Mono',monospace;color:var(--accent);font-size:13px;word-break:break-word}
.tc-mut{color:var(--mut);font-size:13.5px;line-height:1.45}
.tc-num{font-family:'JetBrains Mono',monospace;font-size:13.5px;color:var(--ink)}
.cols-eub .trow{grid-template-columns:215px 1.45fr 1fr}
.cols-2 .trow{grid-template-columns:300px 1fr}
.cols-3 .trow{grid-template-columns:1.2fr 1.6fr 1fr}
.cols-rv .trow{grid-template-columns:1fr 160px}
.cols-rv .tc-num{text-align:right}

/* code */
.codewrap{margin-top:16px}
.cb-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--mut);margin-bottom:8px;letter-spacing:.06em}
.code{background:#0f1113;color:#c9d1cb;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.65;padding:18px 20px;border-radius:12px;overflow:auto;white-space:pre;margin:0}
.icode{font-family:'JetBrains Mono',monospace;font-size:.9em;background:var(--accent-tint);color:var(--accent);padding:1px 6px;border-radius:5px}

/* docs layout */
.doc-grid{display:grid;grid-template-columns:196px 1fr;gap:50px;align-items:start}
.doc-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:2px}
.doc-side-h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.doc-link{font-size:13.5px;color:var(--mut);text-decoration:none;padding:6px 0;transition:color .15s}
.doc-link:hover{color:var(--ink)}
.doc-sec{scroll-margin-top:88px}
.doc-sec+.doc-sec{margin-top:60px}

/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.price-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;position:relative}
.price-card.feat{border-color:var(--accent-line);box-shadow:0 0 0 1px var(--accent-line)}
.price-badge{position:absolute;top:18px;right:18px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);padding:3px 9px;border-radius:999px}
.price-name{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.price-amt{font-size:33px;font-weight:700;letter-spacing:-.025em;margin:12px 0 0}
.price-amt small{font-size:14px;color:var(--mut);font-weight:500;letter-spacing:0}
.price-desc{font-size:13.5px;color:var(--mut);margin:9px 0 17px;line-height:1.5}
.price-feats{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:10px}
.price-feat{font-size:13.5px;display:flex;gap:9px;align-items:flex-start;line-height:1.4}
.price-feat::before{content:"∎";color:var(--accent);font-size:10px;line-height:1.6;flex:none}
.price-cta{margin-top:auto}

/* forms */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px}
.field{margin-bottom:16px}
.flabel{display:block;font-size:11px;font-family:'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--mut);margin-bottom:8px;text-transform:uppercase}
.input,.textarea,.select{width:100%;font-family:'JetBrains Mono',monospace;font-size:13px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:var(--field);color:var(--ink)}
.input:focus,.textarea:focus{outline:none;border-color:var(--accent-line)}
.textarea{min-height:210px;resize:vertical;line-height:1.5;white-space:pre}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cell-in{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-family:'JetBrains Mono',monospace;font-size:13px;text-align:right;background:var(--field);color:var(--ink)}
.cell-in:focus{outline:none;border-color:var(--accent-line)}

/* work split (form/data + terminal) */
.work{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.term-card{background:#0f1113;border:1px solid rgba(238,241,238,.1);border-radius:16px;min-height:240px}

/* terminal */
.term{font-family:'JetBrains Mono',monospace;color:#c9d1cb;padding:24px;font-size:13px;line-height:1.62}
.term-head{display:flex;align-items:center;gap:8px;color:#5f6b62;font-size:11px;letter-spacing:.1em;margin-bottom:18px}
.dot{width:10px;height:10px;border-radius:50%;display:block}
.d-r{background:#e3736b}.d-y{background:#d8c06a}.d-g{background:#4ad08a}
.th-t{margin-left:4px}
.t-ready{color:#5f6b62}
.cur{display:inline-block;width:7px;height:14px;background:#3f8f63;vertical-align:-2px;margin-left:3px;animation:blink 1.1s steps(1) infinite}
.t-err{color:#e3736b;word-break:break-word}
.vbadge{display:inline-flex;align-items:center;gap:10px;font-size:23px;font-weight:700;letter-spacing:-.01em}
.v-ok{color:#4ad08a}.v-no{color:#e3736b}.v-ab{color:#d8c06a}.v-ch{color:#d8c06a}
.stamp-anim{animation:stampIn .3s cubic-bezier(.2,.85,.25,1)}
.t-line{display:flex;gap:12px;margin-top:7px}
.t-k{color:#5f6b62;min-width:92px;flex:none}
.t-v{color:#c9d1cb;word-break:break-word}
.sig{margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}
.t-link{display:inline-block;margin-top:14px;color:#4ad08a;text-decoration:none;font-size:12px;border-bottom:1px solid rgba(74,208,138,.32);padding-bottom:1px}
.tag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px}
.t-ok{background:rgba(74,208,138,.16);color:#4ad08a}.t-no{background:rgba(227,115,107,.16);color:#e3736b}
.checks{margin-top:13px;display:flex;flex-direction:column;gap:11px}
.check{border-left:2px solid rgba(74,208,138,.4);padding-left:11px}
.check.fail{border-left-color:rgba(227,115,107,.5)}
.check-row{display:flex;align-items:center;gap:9px}
.check-name{color:#c9d1cb;font-size:13px;font-weight:600}
.check-meta{color:#7f8b82;font-size:11px;margin-top:4px}
.kbadge{font-size:10px;padding:2px 8px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.k-added{background:rgba(74,208,138,.16);color:#4ad08a}.k-removed{background:rgba(227,115,107,.16);color:#e3736b}.k-changed{background:rgba(216,192,106,.16);color:#d8c06a}

/* link grid */
.linkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:26px}
.linkcard{position:relative;display:flex;flex-direction:column;gap:5px;padding:20px 20px 22px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:var(--ink);transition:.16s}
.linkcard:hover{border-color:var(--accent-line);transform:translateY(-2px)}
.lc-h{font-weight:600;font-size:16px;letter-spacing:-.015em}
.lc-d{font-size:13px;color:var(--mut)}
.lc-go{position:absolute;top:18px;right:20px;color:var(--accent);font-size:15px}

/* generic grids */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid2u{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
.callout{background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:14px;padding:18px 20px;font-size:14px;line-height:1.55;color:var(--ink)}
.note{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--mut);line-height:1.55}

/* dark theme via token swap */
.t-dark{--paper:#0f1113;--card:#17191c;--line:rgba(238,241,238,.1);--ink:#eef1ee;--mut:#8b938f;--field:#1b1e21;--grid:rgba(238,241,238,.05);--accent-tint:color-mix(in oklab,var(--accent) 22%,#17191c)}

@keyframes blink{50%{opacity:0}}
@keyframes stampIn{from{opacity:0;transform:scale(1.16) translateY(3px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .sheet{padding:0 24px}
  .h1{font-size:36px}
  .phead-in{padding-top:64px;padding-bottom:48px}
  .doc-grid{grid-template-columns:1fr;gap:26px}
  .doc-side{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 16px}
  .price-grid{grid-template-columns:1fr}
  .work{grid-template-columns:1fr}
  .grid2,.grid2u{grid-template-columns:1fr;gap:20px}
  .linkgrid{grid-template-columns:1fr}
  .sec{padding:54px 0}
  .trow{grid-template-columns:1fr!important;gap:5px}
  .cols-rv .tc-num{text-align:left}
}
