:root{--fs:17px;--bg:#000;--fg:#fff;--grid:#202020;--live:#00FF00;
  --mono:"DejaVu Sans Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color-scheme:dark}
html{height:100%;box-sizing:border-box;background:var(--bg)}
*,*::before,*::after{box-sizing:inherit;font-family:inherit}
body{height:100%;margin:0;font-weight:700;padding:16px;background:var(--bg);color:var(--fg);font-family:var(--mono);
  font-size:var(--fs);line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--fg);color:var(--bg)}
.page{--pad:32px;height:100%;display:flex;flex-direction:column;padding:var(--pad)}
.logo{margin:0;font-size:var(--fs);font-weight:700;line-height:1}
.logo a{color:inherit;text-decoration:none}
.mid{flex-grow:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.cta{display:inline-block;padding:18px 28px;border:1px solid var(--fg);background:var(--fg);color:var(--bg);
  font-size:21px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color .12s linear,border-color .12s linear}
.cta:hover,.cta:focus-visible{background:var(--live);border-color:var(--live)}
/* home: the typed line, small, under the button */
.tag{margin:0;width:100%;max-width:640px;font-size:var(--fs);font-weight:700;line-height:1.5;text-align:center;min-height:3em}
.cursor{font-weight:700}
.blink{animation:blink 1.1s steps(1,end) infinite}
@keyframes blink{50%{opacity:0}}
/* thesis */
.thesis{margin:0;font-size:var(--fs);font-weight:700;line-height:1.1;text-align:center}
.def{margin:0;max-width:560px;font-size:var(--fs);text-align:center;opacity:.55}
/* nodes */
.nodes{align-items:flex-start;justify-content:center;max-width:720px;width:100%;margin:0 auto;gap:22px}
.nodes h1{margin:0;font-size:var(--fs);line-height:1.2}
.nodes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--fs)}
.nodes li::before{content:"// ";opacity:.5}
/* footer: copyright | nav | email */
.foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:24px;border-top:1px solid var(--grid);
  padding-top:14px;font-size:12px}
.foot p{margin:0}
.foot .mail{text-align:right}
.nav{display:flex;gap:28px;letter-spacing:.08em}
.nav a{color:var(--fg);text-decoration:none;opacity:.55}
.nav a:hover,.nav a[aria-current]{opacity:1}
.nav a[aria-current]::before{content:"> "}
@media (max-width:820px){
  .page{--pad:20px}.cta{font-size:21px;padding:16px 24px}.thesis{font-size:var(--fs)}
  /* footer on phones: nav centered and 1.2x, a black gap, then copyright left + email right on one line
     when the footer is wide enough; narrower, email then copyright, stacked left */
  .foot{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:24px;row-gap:8px;container-type:inline-size}
  .foot p{flex:0 0 100%}.foot .mail{order:-1;text-align:left}
  .nav{order:-2;flex:0 0 100%;justify-content:center;gap:22px;font-size:1.2em;margin-bottom:20px}
  @container (min-width:370px){.foot p{flex:none}.foot .mail{order:0;text-align:right}}
}
@media (prefers-reduced-motion:reduce){.blink{animation:none}.cta{transition:none}}
/* nodes: live feed filling the page */
.live{flex-grow:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding-block:24px}
.livehead{margin:0;font-size:var(--fs);letter-spacing:.08em;opacity:.55}
.livehead b{color:var(--live);opacity:1}
.feed{flex-grow:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 35%);mask-image:linear-gradient(to bottom,transparent 0,#000 35%)}
.ex{color:var(--live);font-weight:400;font-size:var(--fs);line-height:1.55;padding:0 0 6px 2ch;text-indent:-2ch;overflow-wrap:anywhere}
.ex.new{animation:arrive .6s cubic-bezier(.2,.7,.2,1)}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ex.new{animation:none}}
/* legal: hub + documents (scroll, left-aligned) */
.page.long{height:auto;min-height:100%}
.legal{align-items:stretch;justify-content:center;max-width:720px;width:100%;margin:0 auto;gap:0;padding-block:48px}
.legal h1{margin:0 0 14px;font-size:21px;line-height:1.2}
.legal .lede{margin:0 0 40px;opacity:.55}
.legal .doclink{display:flex;justify-content:space-between;align-items:baseline;padding:22px 0;border-top:1px solid var(--grid);
  color:var(--fg);text-decoration:none;font-size:var(--fs);line-height:1.2}
.legal .doclink:last-of-type{border-bottom:1px solid var(--grid)}
.legal .doclink::after{content:">";opacity:.55}
.legal .doclink:hover,.legal .doclink:focus-visible{color:var(--live)}
.legal .doclink:hover::after{opacity:1}
.legal .back{margin:0 0 32px;font-size:12px;letter-spacing:.08em}
.legal .back a{color:var(--fg);text-decoration:none;opacity:.55}.legal .back a:hover{opacity:1}
.legal .meta{margin:0 0 6px;font-size:12px;opacity:.55}
.legal h2{margin:36px 0 8px;font-size:var(--fs);line-height:1.3}
.legal h2+p{margin:0}
.legal .tbd{opacity:.55}
@media (max-width:820px){.legal{padding-block:32px}.legal .doclink{font-size:var(--fs)}}
