:root { color-scheme: dark; }
* { box-sizing: border-box; }
body {
  margin: 0; background: #0f100f; color: #e7e7e2;
  font: 16px/1.5 ui-monospace, "SF Mono", Menlo, monospace;
}

/* the money frame: through-Cloudflare vs direct-origin banner */
.cfbanner {
  position: sticky; top: 0; z-index: 100;
  padding: 14px 20px; font-size: 30px; font-weight: 700; letter-spacing: .02em;
  text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cfbanner.via    { background: #12360f; color: #86f08a; border-bottom: 2px solid #2f7d32; }
.cfbanner.origin { background: #430f0f; color: #ff8f8f; border-bottom: 2px solid #a11; }

main { max-width: 900px; margin: 0 auto; padding: 26px 20px 40px; }
footer { max-width: 900px; margin: 0 auto; padding: 0 20px 40px; color: #6f776f; font-size: 13px; }
h1 { font-size: 26px; margin: 6px 0 14px; }
h2 { font-size: 15px; margin: 26px 0 8px; color: #9fb39f; text-transform: uppercase; letter-spacing: .06em; }
a { color: #8fd0ff; }
code { color: #d8c98a; }
.muted { color: #8b968b; }
.warn { color: #ffd479; background: #3a3212; padding: 10px 14px; border-radius: 8px; display: inline-block; margin: 8px 0; }

.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 16px 0; }
.card { background: #161816; border: 1px solid #262a26; border-radius: 10px; padding: 16px; }
.pname { font-size: 16px; }
.price { color: #ffd479; font-size: 22px; margin: 8px 0 12px; }
.links { margin-top: 22px; display: flex; gap: 16px; flex-wrap: wrap; font-size: 18px; }

button {
  font: inherit; cursor: pointer; padding: 12px 22px; margin-top: 10px; font-size: 18px;
  background: #2f7d32; color: #fff; border: 0; border-radius: 8px;
}
button.ghost { background: transparent; border: 1px solid #3a3f3a; color: #b9c2b9; padding: 8px 14px; font-size: 14px; margin: 0; }

table { border-collapse: collapse; width: 100%; margin: 6px 0; }
th, td { text-align: left; padding: 8px 12px; border-bottom: 1px solid #22251f; vertical-align: top; }
th { color: #9aa79a; font-weight: 500; white-space: nowrap; }
#client th, #fp th { width: 190px; }
td.flag, td .flag { color: #ff8f8f; }
.risk { padding: 10px 14px; border-radius: 8px; background: #1c1f1c; margin: 8px 0; font-size: 18px; }
.risk.hi { background: #3a1414; color: #ff9b9b; } .risk.mid { background: #3a3212; color: #ffd479; } .risk.lo { background: #123014; color: #93e39a; }

/* board */
table.board td.who { font-weight: 700; }
.who.chrome { color: #86f08a; } .who.headless { color: #ff8f8f; } .who.curl { color: #ffd479; } .who.other { color: #b9c2b9; }
.yes { color: #86f08a; font-weight: 700; } .no { color: #ff8f8f; font-weight: 700; }

/* gate result, must read from 2 metres without DevTools */
.result { margin-top: 22px; padding: 22px; background: #161816; border: 1px solid #262a26; border-radius: 12px; }
.result .row { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 8px 0; border-bottom: 1px solid #22251f; }
.result .label { font-size: 20px; color: #9fb39f; }
.result .score { font-size: 84px; font-weight: 800; line-height: 1; }
.result .score.g { color: #86f08a; } .result .score.y { color: #ffd479; } .result .score.r { color: #ff8f8f; }
.result .verdict { font-size: 40px; font-weight: 800; }
.result .verdict.pass { color: #86f08a; } .result .verdict.fail { color: #ff8f8f; }
.result .cf { font-size: 24px; }

.cf-turnstile { margin: 14px 0; }
@media (max-width: 640px) { .grid { grid-template-columns: 1fr; } .cfbanner { font-size: 22px; } }
