/* Play Some Bish - content pages (Learn, Daily Recap, trust pages).
   Tokens come straight from the brand guidelines. Charcoal is the "room";
   felt green is reserved for the playing table and is not used here. */
:root{
  --charcoal-hi:#2d2d2d; --charcoal-lo:#131313;
  --cream:#f4ecd8; --gold:#e8b54a; --coral:#ef5a4e; --blue:#5ac8e8;
  --line:rgba(244,236,216,.12); --line-strong:rgba(244,236,216,.22);
  --panel:rgba(244,236,216,.04);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; color:var(--cream); font-family:Inter,system-ui,sans-serif; line-height:1.65;
  background-color:var(--charcoal-lo);
  background-image:radial-gradient(circle at 50% 0%, var(--charcoal-hi), var(--charcoal-lo) 72%);
  background-repeat:no-repeat; background-size:100% 640px;
  min-height:100vh; display:flex; flex-direction:column;
}
a{color:var(--gold); text-underline-offset:3px}
a:hover{color:#f0c467}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:6px}
img{max-width:100%; height:auto}

.wrap{width:100%; max-width:820px; margin:0 auto; padding:0 24px}

/* Header */
.site-header{border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:14px; padding-bottom:14px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--cream);
  font-family:"Saira Condensed",sans-serif; font-weight:800; font-size:1.35rem}
.brand img{width:34px; height:34px; border-radius:8px}
.nav{display:flex; align-items:center; gap:6px 18px; flex-wrap:wrap}
.nav a{color:var(--cream); text-decoration:none; opacity:.8; font-weight:500; font-size:.95rem}
.nav a:hover{opacity:1; color:var(--gold)}
.nav a.btn{opacity:1}

/* Buttons: full pills, top-lit gradient. Gold = primary/online, coral = solo,
   blue = daily ritual, ghost = secondary/navigational. */
.btn{display:inline-block; font-family:"Saira Condensed",sans-serif; font-weight:800; font-size:1rem;
  padding:11px 24px; border-radius:999px; border:0; text-decoration:none; box-shadow:0 8px 20px rgba(0,0,0,.35)}
.btn.gold{background:linear-gradient(180deg,#f0c467,var(--gold)); color:#241d0c}
.btn.coral{background:linear-gradient(180deg,#f16a5d,var(--coral)); color:#fff}
.btn.blue{background:linear-gradient(180deg,#7ad6f0,var(--blue)); color:#0c2933}
.btn.ghost{background:transparent; border:1.5px solid rgba(244,236,216,.3); color:var(--cream); box-shadow:none}
.btn:hover{filter:brightness(1.06); color:inherit}
.btn.ghost:hover{border-color:var(--gold); color:var(--gold)}

/* Page body */
main{flex:1}
.page{padding:44px 0 64px}
.eyebrow{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:700; margin:0 0 10px}
h1,h2,h3{font-family:"Saira Condensed",sans-serif; font-weight:800; line-height:1.1; margin:0}
h1{font-size:clamp(2.2rem,6vw,3.2rem); margin-bottom:16px}
h2{font-size:1.9rem; margin:44px 0 12px}
h3{font-size:1.3rem; font-weight:700; margin:28px 0 8px}
p{margin:0 0 16px; opacity:.9}
.lead{font-size:1.1rem; opacity:.88; max-width:660px}
.byline{font-size:.9rem; opacity:.6; margin-bottom:28px}
ul,ol{margin:0 0 18px; padding-left:22px; opacity:.9}
li{margin-bottom:8px}
strong{font-weight:600; color:var(--cream); opacity:1}
hr{border:0; border-top:1px solid var(--line); margin:40px 0}

.crumbs{font-size:.85rem; opacity:.65; margin-bottom:22px}
.crumbs a{color:var(--cream)}

/* Tables */
.tbl-wrap{overflow-x:auto; margin:18px 0 24px; border:1px solid var(--line); border-radius:14px; background:var(--panel)}
table{border-collapse:collapse; width:100%; font-size:.95rem}
th,td{text-align:left; padding:11px 16px; border-bottom:1px solid var(--line)}
th{font-family:"Saira Condensed",sans-serif; font-weight:700; font-size:1rem; letter-spacing:.02em; color:var(--gold)}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right; font-variant-numeric:tabular-nums}
tr.total td{font-weight:700; color:var(--gold)}

/* Callouts and cards */
.note{border:1px solid rgba(232,181,74,.35); background:rgba(232,181,74,.06); border-radius:14px; padding:16px 20px; margin:24px 0}
.note p:last-child{margin-bottom:0}
.note .tag{font-size:11px; letter-spacing:.1em; font-weight:800; color:var(--gold); margin-bottom:6px; display:block}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; margin:28px 0}
.card{display:block; text-decoration:none; color:var(--cream); border:1px solid var(--line); border-radius:16px;
  background:var(--panel); padding:20px 22px; transition:border-color .15s, transform .15s}
.card:hover{border-color:var(--gold); transform:translateY(-2px); color:var(--cream)}
.card .meta{display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:6px}
.card strong{display:block; font-family:"Saira Condensed",sans-serif; font-weight:800; font-size:1.35rem; line-height:1.15; margin-bottom:6px}
.card span.sum{display:block; font-size:.92rem; opacity:.75}
.card.future{border-style:dashed; opacity:.75}
.month{font-family:"Saira Condensed",sans-serif; font-weight:700; font-size:1.1rem; color:var(--gold); margin:36px 0 -8px; letter-spacing:.04em}

/* Recap figures: a played trick, a hand diagram, a screenshot */
figure.play{margin:26px 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#0d0d0d}
figure.play img{display:block; width:100%}
figure.play figcaption{padding:12px 18px; font-size:.9rem; opacity:.8; border-top:1px solid var(--line)}
.trick{border-left:3px solid var(--gold); padding:2px 0 2px 18px; margin:22px 0}
.trick h3{margin-top:0}

/* Glossary */
dl.glossary{margin:24px 0}
dl.glossary dt{font-family:"Saira Condensed",sans-serif; font-weight:800; font-size:1.25rem; color:var(--gold); margin-top:22px}
dl.glossary dd{margin:4px 0 0; opacity:.9}

/* FAQ */
.faq h2{font-size:1.45rem; margin-top:30px}

.cta{margin-top:48px; padding:26px 28px; border:1px solid var(--line-strong); border-radius:18px; background:var(--panel)}
.cta h2{margin:0 0 6px; font-size:1.6rem}
.cta p{margin-bottom:16px}
.cta .row{display:flex; gap:12px; flex-wrap:wrap}

.pager{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:40px; padding-top:20px; border-top:1px solid var(--line); font-size:.95rem}

/* Footer */
.site-footer{border-top:1px solid var(--line); padding:28px 0 40px; font-size:.88rem}
.site-footer .links{display:flex; flex-wrap:wrap; gap:8px 20px; margin-bottom:12px}
.site-footer .links a{color:var(--cream); opacity:.75; text-decoration:none}
.site-footer .links a:hover{opacity:1; color:var(--gold)}
.site-footer p{opacity:.45; margin:0; font-size:.8rem}

@media (max-width:640px){
  .wrap{padding:0 18px}
  .page{padding-top:30px}
  h2{font-size:1.6rem}
  .nav{gap:4px 14px}
}
