@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap');
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'JetBrains Mono',monospace;background:#070b0f;color:#c8d8e8;min-height:100vh;padding:32px 20px;}
body::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.05) 2px,rgba(0,0,0,0.05) 4px);pointer-events:none;z-index:1000;}
body::after{content:'';position:fixed;bottom:0;left:0;right:0;height:35vh;background:radial-gradient(ellipse 80% 100% at 50% 100%,rgba(30,60,120,0.12) 0%,transparent 70%);pointer-events:none;z-index:1;}
.shell{width:100%;max-width:620px;border:1px solid #1a2330;border-radius:4px;background:#0d1318;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,0.6);}
.shell-sm{max-width:480px;}
.titlebar{display:flex;align-items:center;padding:10px 14px;background:#0a0f14;border-bottom:1px solid #1a2330;gap:8px;}
.titlebar-label{flex:1;text-align:center;color:#4a6070;font-size:11px;letter-spacing:0.08em;}
.badge{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;}
.badge-dot{width:7px;height:7px;border-radius:50%;}
.badge-text{font-size:10px;letter-spacing:0.12em;}
.badge-green .badge-dot{background:#00D9C8;box-shadow:0 0 8px rgba(0,217,200,0.3);}
.badge-green .badge-text{color:#00D9C8;}
.badge-red .badge-dot{background:#ff4a6a;box-shadow:0 0 8px rgba(255,74,106,0.4);}
.badge-red .badge-text{color:#ff4a6a;}
.footer{padding:14px 28px;border-top:1px solid rgba(74,120,180,0.2);}
.footer-text{font-size:10px;color:rgba(90,154,186,0.4);letter-spacing:0.06em;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.footer-text a{color:rgba(90,154,186,0.5);text-decoration:none;}
.footer-text a:hover{color:rgba(90,154,186,0.85);}
.footer-lr{display:inline-flex;align-items:center;gap:5px;}
.footer-lr img{width:13px;height:13px;opacity:0.45;vertical-align:middle;transition:opacity 0.2s;}
.footer-lr:hover img{opacity:0.75;}
a{color:#4a9eff;text-decoration:none;}
a:hover{text-decoration:underline;}
.label{font-size:10px;color:#4a6070;letter-spacing:0.1em;text-transform:uppercase;}
.meta{display:flex;flex-wrap:wrap;gap:20px;align-items:center;}
.meta-item{font-size:11px;color:#4a6070;}
.meta-item span{color:#7a9ab0;}
.pin-badge{display:inline-block;padding:2px 10px;background:#0a1520;border:1px solid #1a3040;border-radius:2px;font-size:12px;color:#5b9aba;letter-spacing:0.15em;}
.btn{background:transparent;border:1px solid #00D9C8;color:#00D9C8;border-radius:3px;padding:12px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;cursor:pointer;letter-spacing:0.04em;transition:background 0.15s,box-shadow 0.15s;width:100%;}
.btn:hover{background:#0d2820;box-shadow:0 0 16px rgba(0,217,200,0.1);}
.btn.copied{border-color:#4a6070;color:#4a6070;cursor:default;}
.btn-blue{border-color:#4a9eff;color:#4a9eff;}
.btn-blue:hover{background:#0a1520;box-shadow:0 0 16px rgba(74,158,255,0.1);}
code{background:#0a0f14;border:1px solid #1a2330;padding:1px 6px;border-radius:2px;font-size:12px;color:#7ab8d0;font-family:'JetBrains Mono',monospace;}
pre{background:#0a0f14;border:1px solid #1a2330;padding:14px;border-radius:3px;margin:10px 0;overflow-x:auto;}
pre code{background:none;border:none;padding:0;}
.markdown{font-size:13px;line-height:1.85;color:#c8d8e8;}
.markdown h1{font-size:14px;font-weight:600;color:#e0ecf8;border-bottom:1px solid #1a2330;padding-bottom:8px;margin:20px 0 12px;}
.markdown h1:first-child{margin-top:0;}
.markdown h2{font-size:13px;font-weight:600;color:#7ab8d0;margin:18px 0 8px;}
.markdown h3{font-size:13px;font-weight:600;color:#5b9aba;margin:14px 0 6px;}
.markdown p{margin:6px 0;}
.markdown ul,.markdown ol{margin:6px 0 6px 20px;}
.markdown li{margin:3px 0;}
.markdown strong{color:#e0ecf8;font-weight:600;}
.markdown em{color:#a0c0d0;}
.markdown code{background:#0a0f14;border:1px solid #1a2330;padding:1px 6px;border-radius:2px;font-size:12px;color:#7ab8d0;}
.markdown pre{background:#0a0f14;border:1px solid #1a2330;padding:14px;border-radius:3px;margin:10px 0;overflow-x:auto;}
.markdown pre code{background:none;border:none;padding:0;}
.markdown hr{border:none;border-top:1px solid #1a2330;margin:18px 0;}
.markdown blockquote{border-left:2px solid #1a3040;padding-left:14px;color:#7a9ab0;margin:8px 0;}
.markdown a{color:#5b9aba;text-decoration:none;}

/* ── Landing page (relayctx.com root) ── */
.stars{position:fixed;inset:0;z-index:0;pointer-events:none}
.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle var(--dur,3s) var(--delay,0s) ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:var(--min,0.05)}to{opacity:var(--max,0.4)}}
.nebula{position:fixed;bottom:0;left:0;right:0;height:35vh;background:radial-gradient(ellipse 80% 100% at 50% 100%,rgba(30,60,120,0.12) 0%,transparent 70%);z-index:0;pointer-events:none}
.head{margin-bottom:52px;padding-bottom:36px;border-bottom:1px solid var(--line);animation:fadein .5s ease both}
.service-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.service-name{font-size:13px;font-weight:400;color:var(--bright)}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--dim);flex-shrink:0;transition:background .3s}
.status-dot.live{background:#4ade80;box-shadow:0 0 6px rgba(74,222,128,0.4)}
.status-dot.down{background:#f87171}
.status-text{font-size:11px;color:var(--dim);letter-spacing:.06em;margin-bottom:14px}
.status-text.live{color:#4ade80}
.lr-link{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:rgba(90,154,186,0.35);text-decoration:none;letter-spacing:.04em;margin-bottom:18px;transition:color .15s}
.lr-link img{width:12px;height:12px;opacity:0.4;transition:opacity .15s}
.lr-link:hover{color:rgba(90,154,186,0.7)}
.lr-link:hover img{opacity:0.7}
.desc{font-size:12px;color:var(--text);max-width:460px;line-height:1.75}
.section{margin-bottom:48px;animation:fadein .5s .1s ease both}
.section-title{font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:rgba(90,154,186,0.35);margin-bottom:20px}
.cap{display:grid;grid-template-columns:148px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
.cap:first-of-type{border-top:1px solid var(--line)}
.cap-label{font-size:12px;font-weight:400;color:var(--bright)}
.cap-desc{font-size:12px;color:var(--text);line-height:1.7}
.access-note{font-size:12px;color:var(--text);padding:16px 0;border-bottom:1px solid var(--line);line-height:1.7}
.access-note a{color:rgba(90,154,186,0.7);text-decoration:none;transition:color .15s}
.access-note a:hover{color:var(--bright)}