/* simple-verify website — retro terminal on paper.
   Shares the design language of the user portal (user-portal/src/html.ts):
   light grayscale only, square corners, scanlines, hard shadows, no images. */

:root { color-scheme: light; }
* { box-sizing: border-box; }
::selection { background: #1a1a1a; color: #f4f4f2; }

body {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: #f4f4f2;
  background-image: repeating-linear-gradient(0deg, rgba(0,0,0,.022) 0 1px, transparent 1px 4px);
  color: #2a2a2a;
  max-width: 880px;
  margin: 0 auto;
  padding: 24px 16px 60px;
  font-size: 14px;
  line-height: 1.75;
}

/* ---------- masthead + nav ---------- */

.masthead {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  border-bottom: 2px solid #1a1a1a; padding-bottom: 10px; flex-wrap: wrap;
}
.brand {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 16px; font-weight: bold; color: #111; letter-spacing: .5px;
  text-decoration: none;
}
.brand:hover { text-decoration: none; }
.masthead .tagline { color: #8a8a86; font-size: 12px; letter-spacing: 1px; }

nav.tabs { display: flex; gap: 0; margin: 14px 0 26px; flex-wrap: wrap; }
nav.tabs a {
  padding: 5px 14px; border: 1px solid #c9c9c5; border-bottom: 1px solid #1a1a1a;
  color: #777; text-decoration: none; margin-right: -1px; background: #efefec;
}
nav.tabs a.active {
  color: #111; border-color: #1a1a1a; border-bottom-color: #fbfbfa;
  background: #fbfbfa; font-weight: bold;
}
nav.tabs a:hover { color: #111; }

/* ---------- typography ---------- */

h1 { font-size: 22px; color: #111; letter-spacing: .5px; line-height: 1.5; margin: 26px 0 8px; }
h2 {
  font-size: 13px; color: #555; letter-spacing: 2px; font-weight: normal;
  border-bottom: 1px dashed #bbb; padding-bottom: 6px; margin-top: 38px;
}
h2::before { content: "// "; color: #999; }
h3 { font-size: 14px; color: #111; letter-spacing: .5px; margin: 24px 0 6px; }
p { margin: 10px 0; }
a { color: #111; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #999; }
a:hover { text-decoration-color: #111; }
ul { padding-left: 20px; }
li { margin: 5px 0; }
strong { color: #111; }
.muted { color: #8a8a86; }
.lead { font-size: 15px; color: #444; }

/* ---------- code ---------- */

code {
  background: #ececea; border: 1px solid #d8d8d5; padding: 1px 5px;
  word-break: break-all; color: #111; font-size: 13px;
}
pre {
  background: #fbfbfa; border: 1px solid #d8d8d5; padding: 0; margin: 12px 0;
  overflow-x: auto;
}
pre code {
  display: block; background: none; border: none; padding: 14px 16px;
  word-break: normal; white-space: pre; line-height: 1.6;
}
/* fake terminal window */
.term { border: 1px solid #1a1a1a; background: #fbfbfa; margin: 16px 0; box-shadow: 5px 5px 0 rgba(0,0,0,.08); }
.term-bar {
  border-bottom: 1px solid #1a1a1a; padding: 5px 10px; font-size: 11px;
  letter-spacing: 1px; color: #666; display: flex; align-items: center; gap: 8px;
}
.term-bar::before {
  content: ""; width: 8px; height: 8px; border: 1px solid #1a1a1a; display: inline-block;
}
.term pre { border: none; margin: 0; background: none; }

/* ---------- blocks ---------- */

.card { background: #fbfbfa; border: 1px solid #d8d8d5; padding: 18px; margin: 14px 0; }
.hero { padding: 26px 0 6px; }
.cta-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 20px 0 6px; }
.btn {
  display: inline-block; background: #fbfbfa; color: #1a1a1a; border: 1px solid #1a1a1a;
  padding: 7px 18px; text-decoration: none; letter-spacing: .5px;
}
.btn:hover { background: #1a1a1a; color: #f4f4f2; text-decoration: none; }
.btn.primary { background: #1a1a1a; color: #f4f4f2; font-weight: bold; }
.btn.primary:hover { background: #444; border-color: #444; }

.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 14px 0; }
.feature { border: 1px solid #d8d8d5; background: #fff; padding: 14px 16px; }
.feature .icon { display: block; margin-bottom: 8px; color: #1a1a1a; }
.feature b { color: #111; letter-spacing: .5px; }
.feature p { margin: 6px 0 0; font-size: 13px; color: #555; }

table { border-collapse: collapse; width: 100%; background: #fbfbfa; border: 1px solid #d8d8d5; margin: 12px 0; }
th, td { text-align: left; padding: 7px 9px; border-bottom: 1px solid #e4e4e1; vertical-align: top; }
th { color: #777; font-weight: normal; font-size: 12px; letter-spacing: 1px; border-bottom: 1px solid #1a1a1a; }
tr:hover td { background: #f1f1ee; }
td code { white-space: nowrap; }

.pill { border: 1px solid #b9b9b5; padding: 1px 8px; font-size: 11px; letter-spacing: 1px; color: #666; background: #fff; }
.note {
  border-left: 3px solid #1a1a1a; background: #efefec; padding: 10px 14px; margin: 14px 0;
  font-size: 13px;
}
.note b { letter-spacing: .5px; }

/* ---------- docs layout ---------- */

.toc { border: 1px solid #d8d8d5; background: #fbfbfa; padding: 12px 16px; margin: 14px 0 26px; }
.toc b { font-size: 12px; letter-spacing: 1px; color: #555; }
.toc ol { margin: 8px 0 0; padding-left: 22px; font-size: 13px; }
h2[id], h3[id] { scroll-margin-top: 16px; }

/* ---------- contact ---------- */

.mail-box {
  border: 2px solid #1a1a1a; background: #fbfbfa; padding: 22px; margin: 18px 0;
  text-align: center; position: relative; box-shadow: 6px 6px 0 rgba(0,0,0,.08);
}
.mail-box::before, .mail-box::after { content: ""; position: absolute; width: 14px; height: 14px; }
.mail-box::before { top: -1px; left: -1px; border-top: 2px solid #1a1a1a; border-left: 2px solid #1a1a1a; }
.mail-box::after { bottom: -1px; right: -1px; border-bottom: 2px solid #1a1a1a; border-right: 2px solid #1a1a1a; }
.mail-box a { font-size: 18px; font-weight: bold; letter-spacing: 1px; text-decoration: none; border-bottom: 1px solid #1a1a1a; }

/* ---------- footer ---------- */

footer {
  margin-top: 48px; border-top: 1px solid #c9c9c5; padding-top: 14px;
  font-size: 12px; color: #8a8a86; display: flex; justify-content: space-between;
  gap: 12px; flex-wrap: wrap;
}
footer a { color: #555; }

@media (max-width: 640px) {
  .grid, .grid-3 { grid-template-columns: 1fr; }
  body { font-size: 13px; }
}
