/* AO Registry public pages — same dark palette as the agent-orchestrator.ai landing pages. Plain CSS, no build step, no external fonts or CDNs
   (the pages are served under a CSP that allows only this file's origin). */
:root{
  --bg:#090c11; --panel:#131a23; --panel-2:#0f151d;
  --border:rgba(255,255,255,0.09); --border-strong:rgba(255,255,255,0.16);
  --text:#eef2f7; --text-dim:#9aa8ba; --text-faint:#6b7889;
  --brand:#0a6ed1; --brand-light:#4aa3ff; --brand-glow:rgba(10,110,209,0.45);
  --accent:#35d0ba; --accent-2:#a56bff; --warn:#ffb454; --danger:#ff5c72;
  --radius:16px; --max:1120px;
}
*{ box-sizing:border-box; }
[hidden]{ display:none !important; }
body{
  margin:0; color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(1100px 700px at 12% -8%, rgba(10,110,209,0.20), transparent 60%),
    radial-gradient(900px 600px at 92% 4%, rgba(165,107,255,0.13), transparent 55%),
    var(--bg);
  min-height:100vh; display:flex; flex-direction:column;
}
a{ color:var(--brand-light); text-decoration:none; }
a:hover{ text-decoration:underline; }
code,pre{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
code{ background:rgba(255,255,255,0.06); border:1px solid var(--border); border-radius:6px; padding:1px 6px; font-size:.86em; overflow-wrap:anywhere; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; width:100%; }
main.wrap{ flex:1; padding-bottom:56px; }

nav.top{ position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); background:rgba(9,12,17,0.78); border-bottom:1px solid var(--border); }
nav.top .wrap{ display:flex; align-items:center; gap:22px; height:64px; }
.wordmark{ white-space:nowrap; display:flex; align-items:center; gap:10px; font-weight:800; font-size:16px; letter-spacing:-0.01em; color:var(--text); }
.wordmark:hover{ text-decoration:none; }
.wordmark .mark{ height:34px; width:auto; display:block; flex:none; }   /* the logo mark alone (dark-background variant); same file as agent-orchestrator.ai */
nav.top .links{ display:flex; gap:20px; margin-left:12px; }
nav.top .links a{ color:var(--text-dim); font-size:14px; font-weight:600; }
nav.top .links a:hover, nav.top .links a.on{ color:var(--text); text-decoration:none; }
nav.top .spacer{ flex:1; }
/* Language switch: country flags (inline SVG data URIs, so nothing external). The current language is the full-colour, ringed flag; the other one is dimmed. */
.lang-flags{ display:inline-flex; gap:6px; align-items:center; }
.flag{ display:block; width:30px; height:20px; border-radius:4px; background-size:cover; background-position:center; opacity:.5;
  border:1px solid rgba(255,255,255,0.18); transition:opacity .15s, transform .15s, box-shadow .15s; }
.flag:hover{ opacity:.9; transform:translateY(-1px); text-decoration:none; }
.flag.on{ opacity:1; box-shadow:0 0 0 2px var(--brand-light); cursor:default; }
.flag-de{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2030%2020%22%3E%3Crect%20width=%2230%22%20height=%2220%22%20fill=%22%23FFCE00%22/%3E%3Crect%20width=%2230%22%20height=%2213.34%22%20fill=%22%23DD0000%22/%3E%3Crect%20width=%2230%22%20height=%226.67%22%20fill=%22%23000%22/%3E%3C/svg%3E"); }
.flag-gb{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2060%2040%22%3E%3Crect%20width=%2260%22%20height=%2240%22%20fill=%22%23012169%22/%3E%3Cpath%20d=%22M0%200L60%2040M60%200L0%2040%22%20stroke=%22%23fff%22%20stroke-width=%228%22/%3E%3Cpath%20d=%22M0%200L60%2040M60%200L0%2040%22%20stroke=%22%23C8102E%22%20stroke-width=%223%22/%3E%3Cpath%20d=%22M30%200V40M0%2020H60%22%20stroke=%22%23fff%22%20stroke-width=%2212%22/%3E%3Cpath%20d=%22M30%200V40M0%2020H60%22%20stroke=%22%23C8102E%22%20stroke-width=%227%22/%3E%3C/svg%3E"); }
@media (max-width:520px){ .flag{ width:26px; height:17px; } .lang-flags{ gap:4px; } .wordmark .mark{ height:28px; } }
@media (max-width:820px){ nav.top .links{ display:none; } }

.btn{ display:inline-block; padding:13px 22px; border-radius:12px; font-weight:700; font-size:14.5px; border:1px solid transparent; cursor:pointer; font-family:inherit; }
.btn:hover{ text-decoration:none; }
.btn.primary{ color:#fff; background:linear-gradient(135deg,var(--brand),#2f8fe0); box-shadow:0 14px 34px -10px var(--brand-glow); }
.btn.ghost{ color:var(--text); border-color:var(--border-strong); background:rgba(255,255,255,0.03); }
.btn.ghost:hover{ border-color:var(--brand-light); }
.btn.sm{ padding:9px 16px; font-size:13.5px; border-radius:10px; white-space:nowrap; }
button.btn.sm{ color:var(--text); background:rgba(255,255,255,0.06); border-color:var(--border-strong); }

.hero{ padding:56px 0 20px; }
.hero.compact{ padding:28px 0 8px; }
.eyebrow{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px; font-size:12.5px; color:var(--text-dim); background:rgba(255,255,255,0.04); border:1px solid var(--border-strong); }
.eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--accent); }
h1{ font-size:clamp(2rem,4.6vw,3.2rem); line-height:1.1; font-weight:800; letter-spacing:-0.03em; margin:16px 0; overflow-wrap:anywhere; }
h2{ font-size:1.35rem; font-weight:800; letter-spacing:-0.01em; margin:34px 0 12px; }
h3{ font-size:1.05rem; margin:0 0 6px; }
.grad{ background:linear-gradient(100deg,var(--brand-light) 0%,var(--accent) 50%,var(--accent-2) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead{ font-size:1.1rem; color:var(--text-dim); max-width:780px; margin:0 0 14px; }
.release,.note,.count,.id{ color:var(--text-faint); font-size:13px; }
.release strong{ color:var(--text-dim); }
.note{ max-width:780px; margin:10px 0; }
.id{ margin:0; overflow-wrap:anywhere; }

.filters{ display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 6px; }
.filters input,.filters select{ background:var(--panel); color:var(--text); border:1px solid var(--border-strong); border-radius:10px; padding:11px 14px; font:inherit; font-size:14px; }
.filters input{ flex:2 1 280px; }
.filters select{ flex:1 1 170px; }
.filters input:focus,.filters select:focus{ outline:2px solid var(--brand-light); outline-offset:1px; }
.count{ margin:12px 0 16px; }
.empty{ color:var(--text-dim); padding:30px 0; }

.grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:16px; }
.card{ background:linear-gradient(180deg,var(--panel),var(--panel-2)); border:1px solid var(--border); border-radius:var(--radius); padding:18px 18px 14px; display:flex; flex-direction:column; gap:6px; transition:border-color .18s, transform .18s; }
.card:hover{ border-color:var(--border-strong); transform:translateY(-2px); }
.card h3 a{ color:var(--text); }
.card .desc{ color:var(--text-dim); font-size:14px; margin:4px 0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.card .meta{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:6px; }
.tags{ display:flex; flex-wrap:wrap; gap:6px; min-height:0; }
.tag{ color:var(--text-faint); font-size:12px; }

.chips{ display:flex; flex-wrap:wrap; gap:6px; }
.chip{ font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:999px; border:1px solid var(--border-strong); color:var(--text-dim); background:rgba(255,255,255,0.03); }
.chip.kind-agents{ color:var(--brand-light); border-color:rgba(74,163,255,.4); }
.chip.kind-skills{ color:var(--accent); border-color:rgba(53,208,186,.4); }
.chip.kind-bundles{ color:var(--accent-2); border-color:rgba(165,107,255,.4); }
.chip.kind-mcps{ color:var(--warn); border-color:rgba(255,180,84,.4); }
.chip.warn{ color:var(--warn); border-color:rgba(255,180,84,.5); }
.trust,.risk{ font-size:12px; font-weight:700; padding:2px 9px; border-radius:8px; background:rgba(255,255,255,0.05); color:var(--text-dim); }
.trust-vendor_official{ color:var(--accent); }
.trust-ao_verified,.trust-verified_partner{ color:var(--brand-light); }
.risk-low{ color:var(--accent); } .risk-medium{ color:var(--warn); } .risk-high,.risk-critical{ color:var(--danger); }

.crumbs{ margin:22px 0 0; font-size:13px; color:var(--text-faint); }
.cols{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:32px; align-items:start; }
@media (max-width:900px){ .cols{ grid-template-columns:1fr; } }
.meta-table{ width:100%; border-collapse:collapse; font-size:14px; }
.meta-table th{ text-align:left; width:200px; vertical-align:top; color:var(--text-faint); font-weight:600; padding:8px 12px 8px 0; border-bottom:1px solid var(--border); }
.meta-table td{ padding:8px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.deps{ list-style:none; margin:0; padding:0; }
.deps li{ padding:7px 0; border-bottom:1px solid var(--border); font-size:14px; color:var(--text-dim); }
.deps .role{ display:inline-block; min-width:150px; color:var(--text-faint); }
.box{ background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:18px 20px; position:sticky; top:84px; }
.box h2{ margin-top:0; font-size:1.1rem; }

details.doc{ border:1px solid var(--border); border-radius:12px; margin:10px 0; background:var(--panel-2); }
details.doc summary{ cursor:pointer; padding:11px 14px; font-weight:700; font-size:14px; }
details.doc pre{ margin:0; padding:14px; max-height:520px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12.5px; border-top:1px solid var(--border); color:var(--text-dim); }

.steps{ list-style:none; padding:0; margin:24px 0; display:grid; gap:16px; max-width:820px; }
.steps li{ background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:18px 20px; }
.codebox{ position:relative; }
.codebox pre{ margin:0; background:var(--panel-2); border:1px solid var(--border); border-radius:10px; padding:14px 14px 14px; overflow:auto; font-size:13px; }
.codebox button{ position:absolute; top:8px; right:8px; }

footer{ border-top:1px solid var(--border); padding:22px 0; font-size:13px; color:var(--text-faint); }
footer .wrap{ display:flex; gap:22px; flex-wrap:wrap; }
footer a{ color:var(--text-dim); }
