:root{color-scheme:dark;--background:#050a05;--text:#33ff66;--secondary:#1d8a45;--accent:#5eff8a;--alert:#ff4d4d}
*{box-sizing:border-box}
html{background:var(--background);color:var(--text);font-family:ui-monospace,"Cascadia Mono","Courier New",monospace}
body{margin:0;min-height:100vh;font-size:15px;line-height:1.55;background:var(--background)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;background:repeating-linear-gradient(to bottom,rgba(51,255,102,.017) 0px,rgba(51,255,102,.017) 1px,transparent 1px,transparent 5px)}
.terminal{width:min(100% - 40px,980px);min-height:100vh;margin:auto;display:flex;flex-direction:column}
.header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:40px 0 45px}
.prompt-wrap{min-width:0;flex:1}
.prompt{margin:0;color:var(--accent);font-size:1.12rem;font-weight:700;line-height:1.5;text-shadow:0 0 7px rgba(94,255,138,.26);overflow-wrap:anywhere}
.prompt-static{white-space:normal}
.cursor{display:inline-block;color:var(--accent);animation:cursor-blink 1s steps(2,start) infinite}
@keyframes cursor-blink{to{visibility:hidden}}
.clock{flex:0 0 auto;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.clock-label{display:block;font-size:.8rem;color:var(--secondary);font-weight:400;letter-spacing:.1em}
main{flex:1}
section{margin:0 0 36px}
h2{color:var(--secondary);font-size:.86rem;font-weight:700;letter-spacing:.04em;margin:0 0 10px}
.directory{display:flex;flex-direction:column;gap:6px}
.entry{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:0;min-height:52px;padding:10px 12px;border:1px solid transparent;border-radius:4px;text-decoration:none;color:var(--text);overflow-wrap:anywhere}
a.entry:hover,a.entry:active,a.entry:focus-visible{color:var(--accent);background:rgba(94,255,138,.07);border-color:rgba(94,255,138,.36)}
a.entry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.entry strong{font-size:1rem;font-weight:700}
.entry .kind,.entry .dash{color:var(--secondary);font-weight:400}
.entry .description{color:var(--text);font-weight:400}
.entry.static{cursor:default}
.entry.static .description,.entry.static strong{color:var(--secondary)}
footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(29,138,69,.45);padding:20px 0 30px;color:var(--secondary);font-size:.86rem}
footer a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
footer a:hover,footer a:focus-visible{color:var(--text)}
@media(max-width:640px){body::before{display:none}.terminal{width:min(100% - 28px,980px)}.header{padding:28px 0 34px;gap:12px}.prompt{font-size:.94rem}.clock{font-size:.9rem}.entry{padding:9px 7px;column-gap:7px;min-height:48px}.entry .description{flex-basis:100%;padding-left:0}.directory{gap:4px}}
@media(prefers-reduced-motion:reduce){.cursor{animation:none}}

/* Hub v2 live status indicators; no infrastructure metrics disclosed. */
.service-status{display:inline-block;margin-left:auto;min-width:4ch;text-align:right;font:700 .9rem ui-monospace,"Cascadia Mono","Courier New",monospace;color:#1d8a45;white-space:nowrap}
.service-status[data-state="ok"]{color:#33ff66}
.service-status[data-state="fail"]{color:#ff4d4d}
.service-status[data-state="unknown"]{color:#1d8a45}
.hub-status-line{color:#1d8a45;font-size:.85rem;margin-top:6px}
.hub-status-line .service-status{margin-left:4px}
@media(max-width:640px){.entry .service-status{margin-left:auto;align-self:flex-start}.entry .description{flex:1 1 60%;min-width:0}}
