:root{--bg:#0a0e13;--panel:#10161e;--panel2:#141c26;--line:#1f2a37;--ink:#e7edf3;--muted:#8a97a6;--dim:#5d6a79;--acc:#e8b64c;--info:#7aa7ff;--ok:#35e0b0;--warn:#ffb454;--bad:#ff6b6b;--r:10px;--mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace}
/* Host-adaptive accent: friendly amber on ecxi.ai, enterprise blue on cipherbit.ai */
body.variant-cb{--acc:#7aa7ff}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:10px 22px;background:rgba(10,14,19,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;color:var(--acc);text-decoration:none;font-weight:700;letter-spacing:.13em;font-size:14px}
.brand span{color:var(--ink)}.brand b{color:var(--acc)}
.tag{color:var(--dim);font-size:13px}
nav{margin-left:auto;display:flex;gap:14px}
nav a{color:var(--muted);text-decoration:none;font-size:14px}nav a:hover{color:var(--ink)}
main{max-width:1080px;margin:0 auto;padding:26px 20px 60px}
.hero h1{font-size:clamp(30px,4.8vw,50px);line-height:1.06;letter-spacing:-.02em;margin:14px 0 14px}
.hero em{color:var(--acc);font-style:normal}
.lede{font-size:17px;color:var(--muted);max-width:66ch;margin-bottom:16px}
.badges{display:flex;gap:8px;flex-wrap:wrap}
.pill{font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.pill.ok{color:var(--ok);border-color:#1f5a49}.pill.info{color:var(--info);border-color:#27406b}.pill.warn{color:var(--warn);border-color:#5a4520}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-top:16px}
.panel h2{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.pcard{border:1px solid var(--line);border-radius:8px;padding:14px;cursor:pointer;background:var(--panel2)}
.pcard:hover{border-color:var(--muted)}
.pcard.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.pcard h3{font-size:14px}.pcard p{font-size:12.5px;color:var(--muted);margin-top:6px}
.locks{display:flex;gap:8px;flex-wrap:wrap}
.lbtn{border:1px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:8px;padding:8px 16px;font:inherit;cursor:pointer}
.lbtn.sel{border-color:var(--acc);color:var(--acc);font-weight:650}
.hint{color:var(--dim);font-size:12.5px;margin-top:8px}
.muted{color:var(--muted)}
.big{font:700 38px/1.1 var(--mono);letter-spacing:-.02em;color:var(--acc)}
.strike{color:var(--dim);text-decoration:line-through;font-family:var(--mono)}
.kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.kv:last-child{border-bottom:0}.kv .k{color:var(--muted)}.kv .v{font-family:var(--mono)}
.breakrow{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;border-bottom:1px dashed var(--line)}
.breakrow:last-child{border-bottom:0}
.breakrow .r{font-family:var(--mono)}
.sumbox{background:#0c1219;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:13.5px;margin:6px 0 12px;min-height:64px;color:var(--muted)}
input{font:inherit;background:#0c1219;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
input:focus{outline:2px solid var(--acc);outline-offset:1px}
label.f{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
button.primary,.lbtn.go{background:var(--acc);color:#0a0e13;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}
button.primary:hover{filter:brightness(1.08)}
button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font:inherit;cursor:pointer}
button.sm{padding:4px 10px;font-size:13px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:820px){.grid2{grid-template-columns:1fr}}
.code{white-space:pre-wrap;font:12.5px/1.55 var(--mono);background:#0c1219;border:1px solid var(--line);border-radius:8px;padding:14px;overflow:auto;color:#c9d6e4}
.note{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;color:var(--muted);font-size:13.5px;margin-top:16px}
.foot{max-width:1080px;margin:0 auto;padding:18px 20px 34px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--dim);font-size:12.5px;border-top:1px solid var(--line)}
.foot a{color:var(--acc);text-decoration:none}
#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 16px;opacity:0;pointer-events:none;transition:opacity .2s;font-size:14px;max-width:80vw}
#toast.show{opacity:1}#toast.err{color:var(--bad);border-color:#6b2727}
.err{color:var(--bad);font-size:13.5px}
/* Accessibility + machine-readable catalog tables */
.skip{position:absolute;left:-999px;top:0;background:var(--acc);color:#0a0e13;font-weight:700;padding:8px 14px;border-radius:0 0 8px 0;z-index:20;text-decoration:none}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.tbl{width:100%;border-collapse:collapse;margin-top:8px}
.tbl caption{text-align:left;color:var(--muted);padding:6px 0;font-size:12.5px}
.tbl th,.tbl td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top;font-size:13px}
.tbl thead th{background:var(--panel2);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.tbl tbody th{font-weight:600;color:var(--ink)}
.tbl .num{text-align:right;font-family:var(--mono)}
