/* pppokerbot.com — overlay on top of Primer CSS */

:root{
  --pp-accent:#d29922;            /* GitHub-docs gold */
  --pp-accent-soft:#3b2e0a;
  --pp-felt:#0a4d2c;              /* poker-felt undertone */
  --pp-mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

body{
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
  background:#0d1117;
  color:#c9d1d9;
  line-height:1.55;
}

/* Topbar — GitHub-style */
.pp-topbar{
  background:#161b22;
  border-bottom:1px solid #30363d;
  padding:14px 24px;
  display:flex; align-items:center; gap:24px;
  position:sticky; top:0; z-index:50;
}
.pp-topbar .pp-brand{
  display:flex; align-items:center; gap:10px;
  font-weight:600; color:#f0f6fc; text-decoration:none;
}
.pp-topbar .pp-brand svg{ width:28px; height:28px; }
.pp-topbar nav{ display:flex; gap:18px; margin-left:auto; flex-wrap:wrap; }
.pp-topbar nav a{ color:#c9d1d9; text-decoration:none; font-size:14px; }
.pp-topbar nav a:hover{ color:#f0f6fc; }
.pp-topbar nav a.pp-cta{
  background:var(--pp-accent);
  color:#0d1117;
  padding:6px 14px; border-radius:6px; font-weight:600;
}
.pp-topbar nav a.pp-cta:hover{ background:#e3a83a; color:#0d1117; }

/* Layout: sidebar + main */
.pp-shell{ display:grid; grid-template-columns:260px 1fr; min-height:calc(100vh - 60px); }
.pp-sidebar{
  background:#0d1117;
  border-right:1px solid #21262d;
  padding:28px 18px;
  position:sticky; top:60px; align-self:start;
  max-height:calc(100vh - 60px); overflow-y:auto;
}
.pp-sidebar h6{
  text-transform:uppercase; font-size:11px; letter-spacing:0.08em;
  color:#7d8590; margin:20px 0 6px; font-weight:600;
}
.pp-sidebar a{
  display:block; padding:5px 8px; border-radius:6px;
  color:#c9d1d9; text-decoration:none; font-size:14px;
}
.pp-sidebar a:hover{ background:#21262d; color:#f0f6fc; }
.pp-sidebar a.active{ background:var(--pp-accent-soft); color:var(--pp-accent); font-weight:600; }

.pp-main{
  padding:48px 64px;
  max-width:920px;
}
.pp-main h1{
  font-size:32px; font-weight:600;
  color:#f0f6fc; margin:0 0 8px;
  border-bottom:1px solid #21262d; padding-bottom:14px;
}
.pp-main h1 + .pp-lede{ color:#8b949e; font-size:18px; margin-top:0; margin-bottom:32px; }
.pp-main h2{
  font-size:22px; font-weight:600; color:#f0f6fc;
  margin-top:42px; padding-top:18px;
  border-top:1px solid #21262d;
}
.pp-main h3{ font-size:17px; font-weight:600; color:#e6edf3; margin-top:28px; }
.pp-main p, .pp-main li{ color:#c9d1d9; }
.pp-main code{
  font-family:var(--pp-mono);
  background:#161b22; padding:2px 6px; border-radius:4px;
  font-size:13px; color:#d29922;
}
.pp-main pre{
  background:#161b22; border:1px solid #30363d; border-radius:8px;
  padding:14px 18px; overflow-x:auto;
  font-family:var(--pp-mono); font-size:13px; line-height:1.5;
}
.pp-main pre code{ background:none; padding:0; color:#c9d1d9; }
.pp-main blockquote{
  border-left:3px solid var(--pp-accent);
  background:#161b22;
  margin:18px 0; padding:12px 18px;
  color:#8b949e;
}
.pp-main table{
  border-collapse:collapse; width:100%;
  margin:18px 0;
  font-size:14px;
}
.pp-main th, .pp-main td{
  border:1px solid #30363d; padding:8px 12px; text-align:left;
}
.pp-main th{ background:#161b22; color:#f0f6fc; font-weight:600; }
.pp-main tr:nth-child(even) td{ background:#0d1117; }
.pp-main a{ color:#58a6ff; }
.pp-main a:hover{ text-decoration:underline; }

/* Callout boxes (Primer-style flash) */
.pp-callout{
  border:1px solid #30363d; border-left:4px solid var(--pp-accent);
  background:#161b22;
  padding:14px 18px; border-radius:6px;
  margin:18px 0;
}
.pp-callout-warn{ border-left-color:#da3633; }
.pp-callout-note{ border-left-color:#58a6ff; }
.pp-callout strong{ color:#f0f6fc; }

/* Footer */
.pp-foot{
  border-top:1px solid #21262d;
  padding:28px 64px;
  color:#7d8590; font-size:13px;
  display:flex; gap:32px; flex-wrap:wrap;
}
.pp-foot a{ color:#8b949e; text-decoration:none; }
.pp-foot a:hover{ color:#c9d1d9; text-decoration:underline; }

/* Mobile */
@media (max-width:860px){
  .pp-shell{ grid-template-columns:1fr; }
  .pp-sidebar{
    position:static; max-height:none;
    border-right:none; border-bottom:1px solid #21262d;
  }
  .pp-main{ padding:32px 20px; }
  .pp-foot{ padding:24px 20px; flex-direction:column; gap:14px; }
  .pp-topbar{ padding:12px 16px; gap:14px; flex-wrap:wrap; }
  .pp-topbar nav{ font-size:13px; gap:12px; }
  .pp-main h1{ font-size:26px; }
  .pp-main h2{ font-size:19px; }
}

/* Narrow phones: stack the topbar — brand row, links row, CTA row (own line, full width) */
@media (max-width:620px){
  .pp-topbar{ flex-direction:column; align-items:stretch; gap:10px; }
  .pp-topbar nav{
    margin-left:0; width:100%;
    justify-content:flex-start; gap:10px 16px;
    flex-wrap:wrap;
  }
  .pp-topbar nav a.pp-cta{
    flex-basis:100%;
    text-align:center;
    margin:4px 0 0;
    padding:8px 12px;
  }
}

/* In-flow code listings — for /club-architecture money-flow */
.pp-flowchart{
  font-family:var(--pp-mono);
  background:#161b22; border:1px solid #30363d; border-radius:8px;
  padding:20px; margin:20px 0;
  white-space:pre; overflow-x:auto;
  font-size:13px; line-height:1.6; color:#c9d1d9;
}
