/* Direct numbered-deal launch -----------------------------------------------
   PHP marks valid /?action=play-deal&deal=N requests before first paint.
   Keep the normal homepage splash out of the render path and show a tiny,
   stable loading state until game.js has dealt the requested Microsoft deal.
*/
body.direct-deal-launch{
  /* Do not change viewport geometry during direct launch. The homepage is
     vertically scrollable, so overflow:hidden would remove the scrollbar and
     change the board width between layout calculation and deal animation. */
}
body.direct-deal-launch .start-overlay{
  display:none!important;
}
body.direct-deal-launch::after{
  content:"Loading Deal #" attr(data-direct-deal) "…";
  position:fixed;
  inset:0;
  z-index:99;
  display:grid;
  place-items:center;
  pointer-events:none;
  color:rgba(244,238,226,.88);
  background:
    radial-gradient(circle at 50% 42%,rgba(215,183,107,.07),transparent 24%),
    radial-gradient(circle at 50% 50%,rgba(36,84,64,.20),transparent 44%),
    #07130f;
  font:600 clamp(16px,2vw,20px)/1.2 "Fraunces",Georgia,serif;
  letter-spacing:.02em;
}

/* Homepage editorial layer --------------------------------------------------
   The game remains the primary experience. This section extends the dark
   emerald table into useful discovery, rules and strategy content below it.
*/
body:not([data-deal]) .game-seo-content{
  padding-block:72px 28px;
  border-top:1px solid rgba(215,183,107,.13);
  background:
    radial-gradient(circle at 50% 0,rgba(215,183,107,.055),transparent 26%),
    radial-gradient(circle at 15% 36%,rgba(36,84,64,.20),transparent 34%),
    linear-gradient(180deg,#07150f 0%,#06120e 48%,#050f0c 100%);
}
.home-content{color:rgba(238,233,222,.84)}
.home-content section{scroll-margin-top:24px}
.home-kicker{
  color:var(--gold2,#f4db97);
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.home-content h2{
  margin:9px 0 15px;
  color:#f4eee2;
  font:560 clamp(30px,4vw,46px)/1.08 "Fraunces",Georgia,serif;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.home-content h3{
  margin:8px 0 9px;
  color:#f2ecdf;
  font:560 20px/1.24 "Fraunces",Georgia,serif;
}
.home-content p{color:rgba(222,216,205,.66);line-height:1.72}
.home-lede{max-width:760px;margin:0;font-size:16px}
.home-intro{padding:4px 0 64px;border-bottom:1px solid rgba(255,255,255,.075)}
.home-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:30px 0 22px;
}
.home-facts article{
  min-height:166px;
  padding:22px;
  border:1px solid rgba(215,183,107,.14);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
}
.home-facts strong{
  display:block;
  color:#f0d99d;
  font:560 38px/1 "Fraunces",Georgia,serif;
}
.home-facts span{
  display:block;
  margin-top:5px;
  color:#eee6d9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-facts p{margin:13px 0 0;font-size:12px}
.home-text-link,
.home-inline-links a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#e8cd88;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
.home-text-link:hover,.home-inline-links a:hover{color:#fff0bd}
.home-section{padding:64px 0;border-bottom:1px solid rgba(255,255,255,.075)}
.home-section__heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,470px);
  gap:42px;
  align-items:end;
  margin-bottom:28px;
}
.home-section__heading h2{margin-bottom:0}
.home-section__heading > p{margin:0;font-size:13px}
.home-challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-challenge-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:230px;
  padding:25px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  color:inherit;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.016));
  box-shadow:0 18px 48px rgba(0,0,0,.10);
  text-align:left;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,background-color .16s ease;
}
button.home-challenge-card{width:100%;font:inherit;cursor:pointer}
.home-challenge-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-92px;
  top:-96px;
  border-radius:50%;
  background:rgba(215,183,107,.045);
}
.home-challenge-card:hover{
  transform:translateY(-2px);
  border-color:rgba(215,183,107,.26);
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022));
}
.home-challenge-card:focus-visible{outline:2px solid rgba(244,219,151,.72);outline-offset:3px}
.home-challenge-card--legend{border-color:rgba(215,183,107,.20)}
.home-card-label{
  color:#bfa66c;
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.home-challenge-card h3{font-size:25px}
.home-challenge-card p{max-width:47ch;margin:0 0 22px;font-size:12px}
.home-card-cta{margin-top:auto;color:#e8cd88;font-size:11px;font-weight:800}
.home-card-cta b{margin-left:4px;font-weight:800}
.home-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.home-steps article{padding:22px 18px;border-top:1px solid rgba(215,183,107,.20)}
.home-steps article > span{color:#9d8757;font-size:9px;font-weight:800;letter-spacing:.13em}
.home-steps h3{font-size:17px}
.home-steps p{margin:0;font-size:12px}
.home-strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-strategy-grid article{
  padding:24px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:16px;
  background:rgba(255,255,255,.022);
}
.home-strategy-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border:1px solid rgba(215,183,107,.22);
  border-radius:50%;
  color:#e5c97f;
  font-family:"Fraunces",Georgia,serif;
}
.home-strategy-grid h3{font-size:18px}
.home-strategy-grid p{margin:0;font-size:12px}
.home-inline-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:24px}
.home-legend{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:52px;
  align-items:center;
  margin:64px 0 38px;
  padding:38px;
  border:1px solid rgba(215,183,107,.22);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(215,183,107,.09),transparent 34%),
    linear-gradient(145deg,rgba(19,51,40,.88),rgba(8,28,21,.88));
  box-shadow:0 26px 70px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.025);
}
.home-legend__copy > p{max-width:62ch;margin:0}
.home-legend__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.home-primary-link,.home-secondary-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border-radius:10px;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.home-primary-link{border:1px solid rgba(215,183,107,.46);color:#172018;background:#e5ca86}
.home-primary-link:hover{background:#efd89d}
.home-secondary-link{border:1px solid rgba(255,255,255,.10);color:#dfd7ca;background:rgba(255,255,255,.035)}
.home-secondary-link:hover{border-color:rgba(215,183,107,.25);color:#f2e4bf}
.home-legend__stats{display:grid;gap:9px;margin:0}
.home-legend__stats div{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.home-legend__stats div:last-child{border-bottom:0}
.home-legend__stats dt{color:rgba(222,216,205,.48);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.home-legend__stats dd{margin:0;color:#f2dfaa;font:560 22px/1 "Fraunces",Georgia,serif}

@media(max-width:820px){
  body:not([data-deal]) .game-seo-content{padding-block:54px 22px}
  .home-section__heading{grid-template-columns:1fr;gap:12px;align-items:start}
  .home-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-strategy-grid{grid-template-columns:1fr}
  .home-legend{grid-template-columns:1fr;gap:28px;padding:30px}
}
@media(max-width:620px){
  .home-intro{padding-bottom:48px}
  .home-section{padding:48px 0}
  .home-facts,.home-challenge-grid,.home-steps{grid-template-columns:1fr}
  .home-facts article{min-height:0}
  .home-challenge-card{min-height:205px;padding:22px}
  .home-steps article{padding:18px 4px}
  .home-legend{margin-top:48px;padding:24px 20px}
  .home-legend__actions{flex-direction:column;align-items:stretch}
}
@media(prefers-reduced-motion:reduce){
  .home-challenge-card{transition:none}
}


/* Deal Difficulty Index — first-class homepage asset ----------------------- */
.home-ddi{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:48px;
  align-items:center;
  margin:64px 0 0;
  padding:36px 38px;
  border:1px solid rgba(215,183,107,.24);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(215,183,107,.10),transparent 36%),
    linear-gradient(145deg,rgba(19,51,40,.90),rgba(8,28,21,.90));
  box-shadow:0 26px 70px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.03);
}
.home-ddi__copy>p{max-width:66ch;margin:0 0 24px}
.home-ddi__stats{display:grid;gap:9px;margin:0}
.home-ddi__stats div{
  display:flex;
  justify-content:space-between;
  gap:22px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.home-ddi__stats div:last-child{border-bottom:0}
.home-ddi__stats dt{color:rgba(222,216,205,.48);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.home-ddi__stats dd{margin:0;color:#f2dfaa;font:560 22px/1 "Fraunces",Georgia,serif}
@media(max-width:820px){
  .home-ddi{grid-template-columns:1fr;gap:26px;padding:30px}
}
@media(max-width:620px){
  .home-ddi{margin-top:48px;padding:24px 20px}
  .home-ddi .home-primary-link{width:100%}
}
