/* Signefora console — light theme, matching the landing page. */
:root{
  --bg:#ffffff;--soft:#f2f6fb;--card:#ffffff;
  --line:#e7edf4;--line2:#d8e0ea;
  --text:#0a1322;--muted:#54627a;--faint:#93a1b6;
  --g1:#00d3a0;--g2:#00b7e0;--g3:#3b7bff;
  --green-deep:#048a66;--blue:#2f6fed;
  --grad:linear-gradient(115deg,var(--g1),var(--g2) 45%,var(--g3));
  --grad-anim:linear-gradient(115deg,#00d3a0,#00c4d6,#00b7e0,#2f8fff,#3b7bff);
  --sh-sm:0 1px 2px rgba(16,24,40,.05),0 2px 6px rgba(16,24,40,.05);
  --sh:0 14px 34px -16px rgba(8,40,60,.20),0 6px 16px -8px rgba(16,24,40,.10);
  --display:'Bricolage Grotesque',serif;--sans:'Hanken Grotesk',sans-serif;--mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
@keyframes hue{0%{background-position:0% 50%}100%{background-position:280% 50%}}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(40% 38% at 85% -5%,rgba(0,183,224,.10),transparent 60%),radial-gradient(36% 34% at 10% -8%,rgba(0,211,160,.10),transparent 60%)}
a{text-decoration:none;color:inherit}
.mono{font-family:var(--mono)}.small{font-size:11.5px}.muted{color:var(--muted)}
/* top nav */
.topnav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:64px;padding:0 26px;background:rgba(255,255,255,.72);backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.brand .logomark{border-radius:8px;flex:none}
.brand .sub{color:var(--faint);font-family:var(--mono);font-size:13px;font-weight:400;margin-left:2px}
.navactions{display:flex;gap:18px;align-items:center}
.ghostlink{color:var(--muted);font-size:14.5px;font-weight:500}
.ghostlink:hover{color:var(--text)}
.app{max-width:1100px;margin:0 auto;padding:30px 24px 90px}
.keybar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
input,textarea{background:var(--card);border:1px solid var(--line2);color:var(--text);border-radius:11px;padding:11px 14px;font-family:var(--mono);font-size:13px;outline:none;transition:.2s;box-shadow:var(--sh-sm)}
input:focus,textarea:focus{border-color:var(--g2);box-shadow:0 0 0 3px rgba(0,183,224,.15)}
input#apikey{width:340px;max-width:100%}
button{font-family:var(--sans);font-weight:600;font-size:13.5px;border-radius:11px;padding:11px 18px;cursor:pointer;border:1px solid var(--line2);background:var(--card);color:var(--text);transition:.2s;box-shadow:var(--sh-sm)}
button:hover{transform:translateY(-1px);box-shadow:var(--sh)}
button.primary{color:#fff;border:0;background:var(--grad-anim);background-size:220% 100%;animation:hue 6s linear infinite;box-shadow:0 10px 24px -10px rgba(0,183,224,.6)}
button.mini{padding:4px 11px;font-size:11px;font-weight:600;margin-left:10px;box-shadow:none}
.status{font-family:var(--mono);font-size:12px}
.status.ok{color:var(--green-deep)} .status.err{color:#d6453c}
.hint{color:var(--muted);font-size:13.5px;margin:4px 0 22px}
.hint code{font-family:var(--mono);color:var(--green-deep)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--sh-sm);transition:.2s}
.card:hover{box-shadow:var(--sh)}
.card.span2{grid-column:1/-1}
@media(max-width:720px){.grid{grid-template-columns:1fr}.card.span2{grid-column:auto}.input#apikey{width:100%}}
h2{font-size:15px;font-weight:600;margin:0 0 16px;display:flex;align-items:center}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:var(--faint);font-weight:500;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;padding:7px 8px;border-bottom:1px solid var(--line)}
td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
.did{font-family:var(--mono);font-size:11px;color:var(--blue);word-break:break-all}
.tag{font-family:var(--mono);font-size:10px;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.tag.trusted{background:rgba(2,184,134,.14);color:#048a66}
.tag.building{background:rgba(245,158,11,.16);color:#b4730a}
.tag.untrusted{background:rgba(214,69,60,.12);color:#c2362d}
.kv{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.kv:last-child{border:0} .kv span{color:var(--muted)} .kv b{font-weight:600}
textarea{width:100%;min-height:120px;resize:vertical;margin-bottom:12px;display:block;line-height:1.5}
.result{margin-top:12px;font-family:var(--mono);font-size:12.5px;padding:11px 13px;border-radius:11px}
.result.ok{background:rgba(2,184,134,.10);color:#048a66;border:1px solid rgba(2,184,134,.3)}
.result.bad{background:rgba(214,69,60,.08);color:#c2362d;border:1px solid rgba(214,69,60,.3)}
#usage-detail{margin-top:10px;font-family:var(--mono)}
