:root{
  --bg:#0B0C10; --panel:#13141a; --text:#ECEAF2; --muted:#9d9ab0; --soft:#8d86a6;
  --border:#20232b; --rule:rgba(255,255,255,.09);
  /* per-destination accents */
  --rmuv:#b7a7ee; --rmuv-g1:#3a2270; --rmuv-g2:#15182b;
  --consult:#C7F36B; --consult-g1:#1f3a1a; --consult-g2:#13160f;
  --news:#F2A35E; --news-g1:#3a2c14; --news-g2:#16120c;
  --accent:var(--rmuv);
}
[data-theme="light"]{
  --bg:#F5F2EB; --panel:#fffdf8; --text:#1C1813; --muted:#5b5246; --soft:#9a8c74;
  --border:#e2dccf; --rule:#ddd5c6;
  --rmuv:#6b4ea0; --rmuv-g1:rgba(108,78,160,.22); --rmuv-g2:rgba(108,78,160,.05);
  --consult:#5f7d1f; --consult-g1:rgba(120,170,40,.20); --consult-g2:rgba(120,170,40,.04);
  --news:#b07a2e; --news-g1:rgba(210,140,50,.22); --news-g2:rgba(210,140,50,.05);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;
  transition:background .25s ease,color .25s ease;}
a{color:inherit;}
.container{width:min(900px,calc(100% - 44px));margin:auto;}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.62rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--soft);}
.serif{font-family:Georgia,'Times New Roman',serif;}
.kicker-row{display:flex;justify-content:space-between;align-items:center;padding:22px 0;}
/* theme toggle */
.theme-toggle{background:none;border:1px solid var(--border);color:var(--soft);
  font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;
  padding:6px 11px;border-radius:4px;cursor:pointer;transition:color .15s,border-color .15s;}
.theme-toggle:hover{color:var(--text);border-color:var(--accent);}

/* ---- hub ---- */
.hero{padding:34px 0 8px;}
.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.9rem,5.5vw,3rem);
  line-height:1.04;letter-spacing:-.012em;margin:14px 0 12px;}
.hero h1 em{font-style:italic;color:var(--accent);}
.hero .lead{color:var(--muted);max-width:440px;font-size:1rem;margin:0;}
.tiles{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:14px;
  margin:30px 0 12px;min-height:300px;}
.tile{border:1px solid var(--border);border-radius:8px;padding:18px;text-decoration:none;
  color:var(--text);display:flex;flex-direction:column;justify-content:space-between;gap:18px;
  transition:transform .15s ease,border-color .15s ease;}
.tile:hover,.tile:focus-visible{transform:translateY(-2px);border-color:var(--accent);}
.tile .role{font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.14em;
  text-transform:uppercase;}
.tile .name{display:block;font-family:Georgia,serif;font-size:1.2rem;}
.tile .desc{display:block;font-size:.74rem;color:var(--muted);margin-top:4px;}
.tile-rmuv{grid-row:1/3;background:radial-gradient(120% 90% at 15% 10%,var(--rmuv-g1),var(--rmuv-g2));}
.tile-rmuv .role,.tile-rmuv .name{}
.tile-rmuv .role{color:var(--rmuv);} .tile-rmuv .name{font-size:1.4rem;}
.tile-consult{background:radial-gradient(120% 120% at 90% 10%,var(--consult-g1),var(--consult-g2));}
.tile-consult .role{color:var(--consult);}
.tile-news{background:radial-gradient(120% 120% at 90% 90%,var(--news-g1),var(--news-g2));}
.tile-news .role{color:var(--news);}
.made{border-top:1px solid var(--rule);margin-top:30px;padding:26px 0 0;color:var(--muted);
  max-width:600px;font-size:.92rem;}
.made a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;}
.made a:hover{border-color:var(--accent);}
footer{border-top:1px solid var(--rule);margin-top:40px;padding:24px 0 36px;}
footer .mono{color:var(--soft);}
@media(max-width:640px){
  .tiles{grid-template-columns:1fr;grid-template-rows:none;min-height:0;}
  .tile-rmuv{grid-row:auto;}
}

/* ---- timeline / devlog ---- */
.timeline{border-left:1px solid var(--border);padding-left:24px;margin:24px 0 0 6px;}
.dot{position:relative;padding-bottom:34px;}
.dot::before{content:"";position:absolute;left:-29px;top:5px;width:8px;height:8px;border-radius:50%;
  background:var(--soft);border:2px solid var(--bg);}
.dot .when{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:var(--soft);}
.dot .one-liner{font-size:.95rem;margin-top:5px;color:var(--text);}
.dot.rich::before{width:12px;height:12px;left:-31px;
  background:radial-gradient(circle at 35% 30%,#a78bff,var(--rmuv));
  box-shadow:0 0 0 4px rgba(108,78,200,.18);}
.dot .tag{border:1px solid color-mix(in srgb,var(--rmuv) 45%,transparent);color:var(--rmuv);
  border-radius:20px;padding:2px 8px;margin-left:8px;font-size:.6rem;}
.dot h2{font-family:Georgia,serif;font-weight:400;font-size:1.5rem;line-height:1.12;margin:9px 0 13px;}
.dot .player{color:var(--muted);font-size:.92rem;line-height:1.65;}
.dot .player p{margin:0 0 12px;}
details.hood{border:1px solid var(--border);border-radius:6px;background:var(--panel);
  padding:0;margin-top:14px;}
details.hood>summary{list-style:none;cursor:pointer;padding:13px 15px;
  font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.06em;color:#6fcf97;}
details.hood>summary::-webkit-details-marker{display:none;}
details.hood>summary::before{content:"▸ ";}
details.hood[open]>summary::before{content:"▾ ";}
details.hood .hood-body{padding:0 15px 15px;font-size:.8rem;color:var(--muted);line-height:1.7;}
details.hood .hood-body b{color:var(--text);}
.back{display:inline-block;margin:0 0 4px;color:var(--soft);text-decoration:none;font-size:.8rem;}
.back:hover{color:var(--accent);}
@media(max-width:640px){.timeline{padding-left:18px;}}
