:root{
    --bg:#1a0a00;--bg2:#2a1200;
    --gold:#c8860a;--gold2:#e8a820;
    --felt:#1a4a2e;--cream:#ffeaa0;
    --card-bg:#fffef8;--card-border:#8b6914;
    --tile-bg:#f5e6c8;--tile-heading:#2c1810;--tile-body:#5a4530;--tile-idx:#7a4a00;
  }
  :root[data-theme="day"]{
    --bg:#f5e6c8;--bg2:#f5d080;
    --gold:#c8860a;--gold2:#e8a820;
    --felt:#4a7c5a;--cream:#2c1810;
    --card-bg:#fffef8;--card-border:#8b6914;
    --tile-bg:#2a1200;--tile-heading:#ffeaa0;--tile-body:#e8d0a0;--tile-idx:#e8a820;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:radial-gradient(ellipse at 50% 20%, var(--bg2), var(--bg) 70%);
    color:var(--cream);
    font-family:'IM Fell English', serif;
    transition:background .3s ease, color .3s ease;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:1100px;margin:0 auto;padding:64px 32px 100px;}
  .note{
    font-family:'Cinzel',serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
    color:color-mix(in srgb, var(--cream) 55%, transparent);margin:0 0 14px;
  }
  section{margin-bottom:96px;}
  .toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
  .site-nav{display:flex;gap:8px;flex-wrap:wrap;}
  .brand{
    font-family:'Cinzel Decorative',cursive;font-size:18px;color:var(--gold2);
    text-decoration:none;letter-spacing:0.02em;
  }
  .site-nav a{
    font-family:'Cinzel',serif;font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    padding:9px 16px;border-radius:100px;text-decoration:none;color:var(--gold2);
    border:1px solid rgba(200,134,10,0.3);transition:background .15s ease;
  }
  .site-nav a:hover{background:rgba(200,134,10,0.12);}
  :root[data-theme="day"] .site-nav a{color:#7a4a00;border-color:rgba(90,53,0,0.3);}
  .theme-toggle{
    font-family:'Cinzel',serif;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
    background:rgba(200,134,10,0.1);border:1px solid rgba(200,134,10,0.35);color:var(--gold2);
    border-radius:100px;padding:9px 18px;cursor:pointer;
  }
  :root[data-theme="day"] .theme-toggle{background:rgba(90,53,0,0.08);border-color:rgba(90,53,0,0.35);color:#7a4a00;}
  :root[data-theme="day"] h1{background:none;-webkit-background-clip:unset;background-clip:unset;color:#1a0a00;}
  .hero{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;}
  @media (max-width:820px){.hero{grid-template-columns:1fr;}}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-family:'Cinzel',serif;font-weight:700;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;
    background:linear-gradient(135deg,var(--gold) 0%,var(--gold2) 50%,var(--gold) 100%);
    color:#1a0a00;padding:9px 20px;border-radius:100px;margin-bottom:24px;
    box-shadow:0 4px 16px rgba(200,134,10,0.4);
  }
  .eyebrow::before{content:"♠";font-size:14px;}
  h1{
    font-family:'Cinzel Decorative', cursive;
    font-weight:700;font-size:clamp(34px, 4.6vw, 56px);line-height:1.1;
    letter-spacing:0.01em;margin:0 0 22px;
    background:linear-gradient(135deg,var(--gold) 0%,var(--gold2) 50%,var(--gold) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .sub{font-family:'IM Fell English',serif;font-size:19px;line-height:1.55;max-width:44ch;color:var(--cream);margin:0 0 34px;}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .store-badge{height:54px;width:auto;display:block;transition:transform .15s ease;}
  .store-badge:hover{transform:translateY(-2px);}
  .store-badge.soon{opacity:0.45;filter:grayscale(60%);pointer-events:none;}
  .pill{
    font-family:'Cinzel',serif;font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    padding:10px 18px;border-radius:100px;background:var(--gold);color:#1a0a00;text-decoration:none;
    display:inline-block;
  }

  /* ---------- Signature: fanned hand, real card art, one per deck style ---------- */
  :root{--fan-scale:1;}
  .fan{position:relative;height:calc(400px * var(--fan-scale));max-width:100%;margin:0 auto;}
  .pcard{
    position:absolute;top:calc(10px * var(--fan-scale));left:50%;width:calc(150px * var(--fan-scale));
    transform-origin:bottom center;
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .pcard-img{
    width:calc(150px * var(--fan-scale));height:calc(225px * var(--fan-scale));
    border-radius:10px;overflow:hidden;
    box-shadow:0 18px 34px rgba(0,0,0,0.5);
    border:2px solid var(--card-border);
    background:var(--card-bg);
  }
  .pcard-img img{width:100%;height:100%;object-fit:contain;display:block;}
  .pcard .deck-label{
    margin-top:9px;
    color:var(--gold2);font-family:'Cinzel',serif;font-size:calc(10px * var(--fan-scale));letter-spacing:0.1em;text-transform:uppercase;
    text-align:center;
  }
  :root[data-theme="day"] .pcard .deck-label{color:#7a4a00;}
  .pcard.c1{transform:translateX(calc(-225px * var(--fan-scale))) rotate(-14deg);z-index:1;}
  .pcard.c2{transform:translateX(calc(-85px * var(--fan-scale))) rotate(-5deg);z-index:2;}
  .pcard.c3{transform:translateX(calc(55px * var(--fan-scale))) rotate(6deg);z-index:3;}
  .pcard.c4{transform:translateX(calc(195px * var(--fan-scale))) rotate(15deg);z-index:2;}
  .fan:hover .pcard.c1{transform:translateX(calc(-245px * var(--fan-scale))) rotate(-16deg) translateY(calc(-14px * var(--fan-scale)));}
  .fan:hover .pcard.c2{transform:translateX(calc(-90px * var(--fan-scale))) rotate(-6deg) translateY(calc(-18px * var(--fan-scale)));}
  .fan:hover .pcard.c3{transform:translateX(calc(60px * var(--fan-scale))) rotate(7deg) translateY(calc(-18px * var(--fan-scale)));}
  .fan:hover .pcard.c4{transform:translateX(calc(210px * var(--fan-scale))) rotate(17deg) translateY(calc(-14px * var(--fan-scale)));}
  @media (max-width:820px){:root{--fan-scale:0.72;}}
  @media (max-width:600px){:root{--fan-scale:0.56;}}
  @media (max-width:400px){:root{--fan-scale:0.46;}}

  .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  @media (max-width:900px){.grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.grid{grid-template-columns:1fr;}}
  .browse-games{margin:0 0 56px;}
  .browse-games > h2{
    font-family:'Cinzel Decorative',cursive;font-size:20px;color:var(--gold2);margin:0 0 20px;
  }
  :root[data-theme="day"] .browse-games > h2{color:#7a4a00;}
  .game-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:760px){.game-groups{grid-template-columns:1fr;}}
  .game-group{
    background:var(--tile-bg);border-radius:16px;padding:22px 24px;
    border:1px solid rgba(200,134,10,0.2);
  }
  .game-group h3{
    font-family:'Cinzel',serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;
    color:var(--tile-idx);margin:0 0 12px;
  }
  .game-group p{
    font-family:'IM Fell English',serif;font-size:15px;line-height:1.85;color:var(--tile-body);margin:0;
  }
  .game-group a{color:var(--tile-heading);text-decoration:none;border-bottom:1px dotted currentColor;}
  .game-group a:hover{border-bottom-style:solid;}
  .game-group .sep{color:var(--tile-idx);padding:0 2px;}
  .tile{
    background:var(--tile-bg);
    border:1px solid rgba(200,134,10,0.35);
    border-radius:16px;padding:20px;position:relative;overflow:hidden;
    box-shadow:0 10px 24px rgba(0,0,0,0.25);
    transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .3s ease;
    display:flex;flex-direction:column;height:100%;
  }
  .tile:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 16px 32px rgba(0,0,0,0.35);}
  .tile .idx{
    font-family:'Cinzel',serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;
    display:flex;align-items:center;gap:6px;margin-bottom:14px;color:var(--tile-idx);
  }
  .tile .icon{
    width:52px;height:52px;border-radius:12px;overflow:hidden;margin-bottom:16px;
    border:1px solid rgba(200,134,10,0.35);box-shadow:0 4px 10px rgba(0,0,0,0.2);
  }
  .tile .icon img{width:100%;height:100%;display:block;object-fit:cover;}
  .tile h3{font-family:'Cinzel Decorative',cursive;font-size:19px;margin:0 0 8px;color:var(--tile-heading);}
  .tile p{font-family:'IM Fell English',serif;font-size:15px;line-height:1.5;color:var(--tile-body);margin:0 0 16px;flex-grow:1;}
  .tile .stores{display:flex;gap:8px;font-size:12px;font-weight:700;font-family:'Cinzel',serif;margin-top:auto;}
  .tile .pill{padding:5px 10px;border-radius:100px;background:var(--gold);color:#1a0a00;text-decoration:none;cursor:pointer;}
  .tile .pill.soon{background:transparent;border:1px dashed rgba(200,134,10,0.5);color:var(--gold2);}

/* ---------- Hub pages: centered hero icon (collection pages) ---------- */
.icon-hero{
  width:min(260px, 60vw);height:min(260px, 60vw);
  border-radius:28px;overflow:hidden;margin:0 auto;
  box-shadow:0 18px 34px rgba(0,0,0,0.5);
  border:2px solid var(--card-border);background:var(--card-bg);
}
.icon-hero img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- Hub pages: game list rows ---------- */
.game-list{display:flex;flex-direction:column;gap:16px;margin:0 0 40px;}
.game-row{
  background:var(--tile-bg);border:1px solid rgba(200,134,10,0.2);
  border-radius:14px;padding:18px 22px;display:flex;align-items:center;gap:16px;justify-content:space-between;
}
.game-row .game-row-name{font-family:'Cinzel Decorative',cursive;font-size:18px;color:var(--tile-heading);margin:0 0 4px;}
.game-row .game-row-name a{color:inherit;text-decoration:none;}
.game-row .game-row-name a:hover{text-decoration:underline;}
.game-row p{font-family:'IM Fell English',serif;font-size:14.5px;line-height:1.6;color:var(--tile-body);margin:0;max-width:60ch;}
.game-row .game-row-meta{font-family:'Cinzel',serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--tile-idx);white-space:nowrap;flex-shrink:0;}
.game-row .game-row-meta a{color:var(--gold2);text-decoration:none;border-bottom:1px dotted currentColor;}
.game-row .game-row-meta a:hover{border-bottom-style:solid;}
@media (max-width:640px){.game-row{flex-direction:column;align-items:flex-start;}}
