/* rahulr-pro shell styles — used by the hub, section indexes and 404.
   Content pages stay self-contained and do not load this file.
   Tokens and layout are shared with rahulr-web so the two sites read as one family. */
:root{
  --bg:#0d1117; --panel:#161b22; --panel2:#0f141a;
  --border:#30363d; --border2:#21262d;
  --fg:#e6edf3; --fg2:#adbac7; --muted:#8b949e;
  --accent:#58a6ff; --green:#3fb950;
  --mono:'SFMono-Regular',ui-monospace,'JetBrains Mono',Consolas,'Liberation Mono',monospace;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
html[data-theme="light"]{
  --bg:#ffffff; --panel:#f6f8fa; --panel2:#ffffff;
  --border:#d0d7de; --border2:#d8dee4;
  --fg:#1f2328; --fg2:#3d444d; --muted:#656d76;
  --accent:#0969da; --green:#1a7f37;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:var(--accent);text-decoration:none}

.page{max-width:1040px;margin:0 auto;padding:40px 22px 100px}

#themeToggle{position:fixed;top:14px;right:16px;z-index:50;background:var(--panel);border:1px solid var(--border);
  color:var(--fg2);font-family:var(--mono);font-size:12px;padding:7px 12px;border-radius:8px;cursor:pointer}
#themeToggle:hover{background:var(--border2);color:var(--fg)}

.crumb{display:inline-block;font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:16px}
.crumb:hover{color:var(--fg)}

.hero{background:linear-gradient(180deg,#11213a,#0d1a2e);border:1px solid #1f3a5f;border-radius:16px;
  padding:42px 34px;margin:6px 0 34px}
html[data-theme="light"] .hero{background:linear-gradient(180deg,#ddf4ff,#eef6ff);border-color:#b6e3ff}
.hero .kick{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.hero h1{font-size:40px;margin:0 0 12px;letter-spacing:-.5px;line-height:1.08}
.hero h1.gradient{background:linear-gradient(90deg,#14b8a6,#5eead4,#60a5fa,#a78bfa);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p{color:var(--fg2);font-size:16.5px;max-width:70ch;margin:0}
.hero .meta{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:16px}
.hero .meta b{color:var(--green)}

.section{margin:0 0 34px}
.section > h2{font-size:13px;font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin:0 0 4px;display:flex;align-items:baseline;gap:10px}
.section > h2 .count{color:var(--border);font-size:12px;letter-spacing:.5px}
.section > p.lede{color:var(--fg2);font-size:14.5px;margin:0 0 16px;max-width:72ch}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.card{display:flex;flex-direction:column;background:var(--panel2);border:1px solid var(--border);border-radius:16px;
  padding:22px;position:relative;min-height:150px;transition:border-color .15s,transform .15s,box-shadow .15s}
a.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.35);text-decoration:none}
.card.soon{opacity:.6}
.card .emoji{font-size:22px;line-height:1;margin-bottom:12px}
.ctitle{font-size:19px;font-weight:700;color:var(--fg);margin:2px 0 8px;letter-spacing:-.2px}
.cdesc{font-size:14px;color:var(--fg2);line-height:1.5;flex:1}
.cmeta{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:14px}
.badge{position:absolute;top:18px;right:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.5px;
  text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid var(--border);color:var(--muted);background:var(--panel)}
.badge.live{color:var(--green);border-color:#1f5137;background:#0e2a1a}
html[data-theme="light"] .badge.live{background:#dafbe1;border-color:#aceebb;color:#116329}

.card.feature{background:linear-gradient(180deg,#11213a,#0d1a2e);border-color:#1f3a5f}
html[data-theme="light"] .card.feature{background:linear-gradient(180deg,#ddf4ff,#eef6ff);border-color:#b6e3ff}

.foot{margin-top:44px;color:var(--muted);font-size:13px;font-family:var(--mono);
  border-top:1px solid var(--border2);padding-top:20px}

@media(max-width:560px){
  .hero{padding:28px 20px}.hero h1{font-size:29px}
  .grid{grid-template-columns:1fr}
  .page{padding:26px 14px 70px}
  #themeToggle{top:12px;right:12px}
}
