/* Shared look for the standalone BSVKey pages (verify, signin). Same palette as the app. */
:root {
  color-scheme: dark;
  --bg:#0e1116; --card:#161b22; --card2:#0f1319; --line:#252c37; --line2:#323a47;
  --fg:#e8ebf1; --mut:#9aa4b2; --dim:#6b7482;
  --acc:#f7931a; --accfg:#1a1205; --acc2:#ffb04d;
  --ok:#46c463; --err:#f2544b; --warnbg:#2a1e0a; --warnln:#5a3d12; --warnfg:#ffcf8a;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.6 system-ui,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; }
.wrap { max-width:760px; margin:0 auto; padding:0 16px 72px; }
a { color:var(--acc2); }
.topnav { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 0; background:rgba(14,17,22,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.topnav .brand { display:flex; align-items:center; gap:9px; font-size:22px; font-weight:800; color:var(--fg); text-decoration:none; letter-spacing:-.02em; }
.topnav .brand img { width:28px; height:28px; border-radius:7px; }
.topnav .spacer { flex:1; }
.topnav a:not(.brand) { color:var(--mut); font-size:13px; font-weight:600; text-decoration:none; }
.topnav a:not(.brand):hover, .topnav a.on { color:var(--acc2); }
.pagehead { padding:34px 0 8px; }
.kicker { margin:0 0 6px; color:var(--acc); font-weight:800; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
h1 { font-size:clamp(28px,6vw,40px); line-height:1.12; margin:0 0 12px; letter-spacing:-.02em; }
.lede { color:var(--mut); font-size:16px; margin:0; max-width:640px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px; margin:16px 0; }
.card h2 { font-size:18px; margin:0 0 10px; letter-spacing:-.01em; }
textarea, input[type=text], input[type=password] { width:100%; background:var(--card2); border:1px solid var(--line); border-radius:9px; color:var(--fg); padding:11px 12px; font:13px ui-monospace,Menlo,Consolas,monospace; }
textarea:focus, input:focus { outline:none; border-color:var(--acc); }
textarea { resize:vertical; min-height:70px; }
button, .btn { display:inline-block; background:var(--acc); color:var(--accfg); border:0; border-radius:9px; padding:10px 16px; font:600 14px system-ui,sans-serif; cursor:pointer; text-decoration:none; }
button:hover, .btn:hover { filter:brightness(1.08); }
button.ghost, .btn.ghost { background:transparent; color:var(--fg); border:1px solid var(--line2); }
button.ghost:hover, .btn.ghost:hover { border-color:var(--acc); color:var(--acc2); filter:none; }
button:disabled { opacity:.45; cursor:not-allowed; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.muted { color:var(--mut); } .small { font-size:13px; } .dim { color:var(--dim); }
.mono { font:12.5px ui-monospace,Menlo,Consolas,monospace; word-break:break-all; }
.drop.over { outline:2px dashed var(--acc); outline-offset:6px; border-radius:10px; }
.verdict { border-radius:14px; padding:18px; margin:16px 0; border:1px solid var(--line2); background:var(--card); }
.verdict.good { border-color:var(--ok); background:linear-gradient(180deg,rgba(70,196,99,.10),var(--card) 60%); }
.verdict.bad { border-color:var(--err); background:linear-gradient(180deg,rgba(242,84,75,.10),var(--card) 60%); }
.verdict.info { border-color:var(--acc); background:linear-gradient(180deg,rgba(247,147,26,.10),var(--card) 60%); }
.verdict h2 { margin:0 0 4px; font-size:22px; }
.verdict .who { font-size:15px; margin:6px 0 0; }
.verdict .who b { color:var(--acc2); }
.checks { list-style:none; padding:0; margin:12px 0 0; }
.checks li { padding:5px 0 5px 26px; position:relative; font-size:13.5px; border-top:1px solid var(--line); }
.checks li:first-child { border-top:0; }
.checks li::before { position:absolute; left:2px; font-weight:800; }
.checks li.ok::before { content:'✓'; color:var(--ok); }
.checks li.no::before { content:'✗'; color:var(--err); }
.checks li.info::before { content:'i'; color:var(--acc2); font-style:italic; left:6px; }
table.facts { width:100%; border-collapse:collapse; font-size:13.5px; }
table.facts th { text-align:left; color:var(--mut); font-weight:600; padding:7px 12px 7px 0; vertical-align:top; width:34%; }
table.facts td { padding:7px 0; word-break:break-word; }
table.facts tr + tr th, table.facts tr + tr td { border-top:1px solid var(--line); }
.cta { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:14px; padding:14px; border-radius:12px; background:rgba(247,147,26,.08); border:1px solid var(--warnln); }
.cta p { margin:0; flex:1 1 240px; font-size:14px; }
.kinds { margin:0; padding-left:18px; color:var(--mut); font-size:14px; }
.kinds li { margin:6px 0; } .kinds b { color:var(--fg); }
.warn { background:var(--warnbg); border:1px solid var(--warnln); color:var(--warnfg); border-radius:9px; padding:11px 13px; font-size:13.5px; }
.err { color:var(--err); } .ok { color:var(--ok); }
footer { color:var(--dim); font-size:12px; text-align:center; margin-top:30px; }
footer a { color:var(--mut); }
@media (max-width:520px) { .topnav .brand { font-size:19px; } .topnav a:not(.brand) { font-size:12px; } table.facts th { width:40%; } }
.limits h3 { margin:0 0 2px; font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--mut); }
.limits-cols { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.limits-cols .checks { margin-top:4px; }
@media (max-width:640px) { .limits-cols { grid-template-columns:1fr; gap:10px; } }
