/* Catalyst public release: shared footer credit, stale banner, landing page */
.bwf{display:inline-flex;align-items:center;gap:8px;color:#9fb0c8;text-decoration:none;white-space:nowrap;font-size:14px}
.bwf img{height:18px;width:auto;display:block}.bwf:hover{color:#eaf1fb}.bwf b{color:#eaf1fb;font-weight:600}
.stale{color:#ffc857;font-weight:700}
#stalebar{position:absolute;left:50%;top:6px;transform:translateX(-50%);background:rgba(255,200,87,.16);border:1px solid #ffc857;color:#ffc857;border-radius:8px;padding:4px 14px;font-size:14px;z-index:9}
.od footer{gap:18px;align-items:center}.od footer #keys{margin-left:auto}
/* landing */
body.land{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 20% -10%,#12305a 0,#07111f 60%);color:#eaf1fb;font-family:'Source Sans Pro',system-ui,sans-serif;display:flex;flex-direction:column}
.land main{flex:1;max-width:1180px;width:100%;margin:0 auto;padding:48px 28px 24px}
.land header{display:flex;align-items:center;gap:18px}.land header img{height:56px}
.land .kick{color:#00d4ff;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:14px}
.land h1{font-size:40px;margin:6px 0 4px;line-height:1.1}.land .sub{color:#9fb0c8;font-size:18px}
.land .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin:36px 0}
.land a.card{display:block;background:rgba(12,26,43,.88);border:1px solid rgba(82,126,255,.25);border-radius:14px;padding:22px 24px;color:#eaf1fb;text-decoration:none;transition:border-color .15s,transform .15s}
.land a.card:hover{border-color:#00d4ff;transform:translateY(-2px)}
.land a.card h2{margin:0 0 6px;font-size:24px}.land a.card p{margin:0;color:#9fb0c8;font-size:16px;line-height:1.45}.land a.card .go{display:inline-block;margin-top:14px;color:#00d4ff;font-weight:700}
.land .lab{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.1em;padding:2px 7px;border-radius:4px;margin-right:6px;vertical-align:2px}
.lab.mo{background:rgba(0,212,255,.15);color:#00d4ff}.lab.mk{background:rgba(255,200,87,.16);color:#ffc857}.lab.an{background:rgba(82,126,255,.2);color:#9fbcff}.lab.ac{background:rgba(80,220,140,.16);color:#7ee2a8}.lab.un{background:rgba(159,176,200,.18);color:#c6d2e3}
.land .meth{color:#9fb0c8;font-size:15px;line-height:1.55;border-top:1px solid rgba(82,126,255,.2);padding-top:18px}.land .meth b{color:#eaf1fb}.land .meth a{color:#8fb0ff}
.land .upd{font-family:'Source Code Pro',monospace;color:#9fb0c8;font-size:14px;margin-top:10px}
.land footer.sitefoot{border-top:1px solid rgba(82,126,255,.2);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;color:#9fb0c8;font-size:14px}
.land footer.sitefoot .bwf{font-size:15px}.land footer.sitefoot .bwf img{height:26px}
.od .gapn a,.od #next a{color:#8fb0ff}
/* home (Catalyst site style): starfield navy, cyan kickers, gradient headline, nine full-width cards */
body.land.home{background:#112337 radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.35) 50%,transparent 51%) 0 0/230px 230px,#112337;background-image:radial-gradient(1px 1px at 20px 30px,rgba(143,176,255,.35),transparent 60%),radial-gradient(1px 1px at 140px 90px,rgba(255,255,255,.25),transparent 60%),radial-gradient(1.5px 1.5px at 80px 170px,rgba(0,212,255,.25),transparent 60%),linear-gradient(180deg,#0d1c2e 0,#112337 40%,#0f2033 100%);background-size:230px 230px,310px 310px,270px 270px,100% 100%}
.home main{max-width:1180px;min-width:0;box-sizing:border-box}
.home .hero{padding:40px 0 30px}.home .hero .logo{height:64px;display:block;margin-bottom:26px}
.home .hero .kick{font-family:'Source Code Pro',monospace;font-size:12px;letter-spacing:.16em;font-weight:600;display:flex;align-items:center;gap:10px}.home .hero .kick i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e}
.home .hero h1{font-size:58px;line-height:1.08;font-weight:800;margin:18px 0 14px;letter-spacing:-.01em}
.home .grad{background:linear-gradient(90deg,#527EFF,#00d4ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.home .hero .sub{font-size:20px;color:#c6d2e3;font-weight:600;max-width:760px}
.home .stats{display:flex;flex-wrap:wrap;margin:30px 0 8px;border-top:1px solid rgba(82,126,255,.2);border-bottom:1px solid rgba(82,126,255,.2)}
.home .st{flex:1 1 160px;padding:16px 22px 16px 0;margin-right:22px;border-right:1px solid rgba(82,126,255,.18)}.home .st:last-child{border-right:0}
.home .st .n{font-size:34px;font-weight:800;color:#fff}.home .st .l{font-family:'Source Code Pro',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8a9bb5;margin-top:2px}
.home .st .lab{font-size:9px;margin:0 0 0 4px;vertical-align:1px}
.home .asof{font-family:'Source Code Pro',monospace;font-size:12px;color:#8a9bb5;margin:6px 0 0}
.home .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.home .ctas a{font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:13px;padding:14px 28px;border-radius:4px;text-decoration:none}
.home .ctas .b1{background:linear-gradient(135deg,#527EFF,#3d6bff);color:#fff}.home .ctas .b1:hover{box-shadow:0 6px 24px rgba(82,126,255,.45)}
.home .ctas .b2{border:1px solid rgba(0,212,255,.55);color:#00d4ff}.home .ctas .b2:hover{background:rgba(0,212,255,.08)}
.home .slabel{text-align:center;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#00d4ff;font-weight:600;margin-top:46px}
.home .stitle{text-align:center;font-size:38px;font-weight:800;margin:10px 0 30px}
.home .hcards{display:flex;flex-direction:column;gap:26px;margin-bottom:40px}
.home a.hc{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;background:rgba(16,30,50,.85);border:1px solid rgba(82,126,255,.22);border-radius:14px;overflow:hidden;color:#eaf1fb;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.home a.hc:hover{border-color:#00d4ff;transform:translateY(-2px);box-shadow:0 10px 40px rgba(0,0,0,.35)}
.home a.hc.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}.home a.hc.flip .viz{order:2}
.home .hc .viz{align-self:stretch;background:#08101d;border-right:1px solid rgba(82,126,255,.18);display:flex}.home a.hc.flip .viz{border-right:0;border-left:1px solid rgba(82,126,255,.18)}
.home .hc .viz img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top;display:block}
.home .hc .txt{padding:30px 36px}
.home .hc .num{font-family:'Source Code Pro',monospace;font-size:11px;letter-spacing:.15em;color:#00d4ff;font-weight:600}
.home .hc h2{font-size:32px;font-weight:800;margin:8px 0 10px;line-height:1.1}.home .hc p{margin:0 0 14px;color:#c6d2e3;font-size:17px;line-height:1.5}
.home .hc .go{display:inline-block;margin-top:14px;color:#00d4ff;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px}
.home .meth{margin-top:10px}
@media (max-width:820px){.home .hero h1{font-size:38px}.home .hero .sub{font-size:17px}.home .stitle{font-size:28px}
 .home a.hc,.home a.hc.flip{grid-template-columns:minmax(0,1fr)}.home footer.sitefoot{padding:16px 18px}.home footer.sitefoot .bwf{white-space:normal;flex-wrap:wrap}.home a.hc.flip .viz{order:0;border-left:0}.home .hc .viz{border-right:0;border-bottom:1px solid rgba(82,126,255,.18)}
 .home .hc .txt{padding:20px 20px 22px}.home .hc h2{font-size:26px}.home .st{flex:1 1 40%;padding:12px 0;border-right:0}.home .st .n{font-size:28px}.home main{padding:28px 18px 18px}}
@media (max-width:480px){.home .hero h1{font-size:31px}.home .hero .kick{font-size:10px;letter-spacing:.1em}.home .asof{overflow-wrap:anywhere}.home .ctas a{padding:12px 20px}}
