.system-count{margin:.2rem 0 .8rem}
.sys-browser,.game-catalog{margin-top:3rem}
.sys-browser-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;border-bottom:1px solid var(--indigo-edge);padding-bottom:1.25rem}
.sys-browser h2,.game-catalog>h2{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.9rem)}
.eyebrow{color:var(--amber);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem}
.sys-search-wrap,.search-label{display:grid;gap:.4rem;color:#C8CEE0;font-size:.8rem;font-weight:700}
.sys-search-wrap{width:min(100%,320px)}
.sys-search-wrap input,.game-search{min-height:44px;border:1px solid var(--indigo-edge);background:var(--panel);color:var(--text);font:500 1rem var(--body);padding:.65rem .8rem}
.sys-search-wrap input:focus-visible,.game-search:focus-visible,.sys-card:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sys-group{margin-top:2rem}
.sys-group h3,.sys-group .sys-group-h{font-family:var(--display);font-size:.9rem;color:var(--blue-lit);letter-spacing:.04em;margin-bottom:.7rem}
.sys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem}
.sys-card{display:flex;min-height:64px;flex-direction:column;justify-content:center;padding:.7rem .85rem;text-decoration:none;background:var(--panel);border-left:3px solid var(--blue);color:var(--text)}
.sys-card:hover{background:var(--panel2);border-left-color:var(--amber)}
.sys-card strong{font-size:.9rem;line-height:1.25}
.sys-card span{color:#B9C0D4;font-size:.78rem;margin-top:.2rem}
.no-systems,.no-results{color:var(--amber);margin-top:1rem}
.game-hero .badge{margin-top:.4rem}
.title-count{font-family:var(--display);color:var(--amber)!important;font-size:1.15rem!important}
.game-catalog{background:var(--panel);border-top:3px solid var(--blue);padding:clamp(1rem,3vw,1.75rem)}
.search-label{display:block;margin-top:1rem}
.game-search{display:block;width:min(100%,440px);margin-top:.4rem}
.game-content{margin-top:1.6rem;color:#CDD2E1;line-height:1.55}
.game-content h2,.game-content h3,.game-content h4{font-family:var(--display);color:var(--blue-lit);margin:1.5rem 0 .6rem}
.game-content p{max-width:78ch;margin:.7rem 0}
.game-list{columns:4 220px;column-gap:2rem;margin:0;padding-left:1.2rem}
.game-list li{break-inside:avoid;padding:.22rem .3rem .22rem 0}
.cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem}
.cta-actions .btn-ghost{justify-content:center}
[hidden]{display:none!important}
@media(max-width:700px){
  .sys-browser-head{align-items:stretch;flex-direction:column;gap:1rem}
  .sys-search-wrap{width:100%}
  .sys-grid{grid-template-columns:1fr}
  .game-catalog{margin-inline:-2vw}
  .game-list{columns:1}
}

/* fold-ups (Louis: each section should fold up to condense the page) */
.tier-fold summary,.sys-group summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;gap:.6rem}
.tier-fold summary::-webkit-details-marker,.sys-group summary::-webkit-details-marker{display:none}
.tier-fold summary::before,.sys-group summary::before{content:"+";font-family:var(--display);color:var(--amber);width:1.1em;flex:none}
.tier-fold[open] summary::before,.sys-group[open] summary::before{content:"–"}
.tier-fold summary{font-weight:700;font-size:.85rem;color:var(--blue-lit);margin-top:.4rem}
.tier-fold summary:focus-visible,.sys-group summary:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.tier-fold ul{margin-top:.2rem}
.sys-group summary{border-bottom:1px solid rgba(53,64,127,.5);padding:.4rem 0}
.sys-group summary h3{margin:0}
.sys-sum{color:#B9C0D4;font-size:.8rem;margin-left:auto;text-align:right}
.sys-group[open] .sys-grid{margin-top:.8rem}
.game-hits{margin-top:1.2rem;padding:1rem;background:var(--panel);border-left:3px solid var(--amber)}
.hits-head{color:var(--text);font-weight:700;margin-bottom:.6rem}
.hit{padding:.5rem 0;border-top:1px solid rgba(53,64,127,.4)}
.hit a{text-decoration:none;color:var(--text)}
.hit a strong{color:var(--blue-lit)}
.hit a span{color:#B9C0D4;font-size:.8rem;margin-left:.4rem}
.hit ul{margin:.3rem 0 0 1.1rem;color:#CDD2E1;font-size:.9rem;columns:2 220px}
.hits-more{color:#B9C0D4;font-size:.85rem;margin-top:.6rem}
@media(max-width:700px){.hit ul{columns:1}}

/* Dennis 17 Aug: "no navigation to go back a screen" — a way back from a system page to the packages list */
.back-link{display:inline-flex;align-items:center;gap:.4rem;margin:1.1rem 0 -.6rem;padding:.55rem .9rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#B9C0D4;font-size:.92rem;text-decoration:none;min-height:44px}
.back-link:hover,.back-link:focus-visible{color:#fff;border-color:rgba(255,255,255,.45)}

/* ── Congruence layer (sheet rows 196/197) ────────────────────────────────────
   Dennis's package design introduced a per-tier accent, rounded cards and a stat
   strip. Without this the top of the Game Packages page looks like the new site
   and everything under it looks like the old one - and the 72 system pages did
   not match either. Same language everywhere: tier colour, same card, same chip. */
/* Colour policy (Louis, 8/29): Dennis wants the site to POP - colour lives on artwork, labels,
   headings, borders and glows. The one thing that stays constant is ACTIONS: every button on the
   site is the amber coin button. These group accents are labels, so they keep their colour. */
.pk-tier-1{--acc:#29a9e4}.pk-tier-2{--acc:#a06bf5}.pk-tier-3{--acc:#e8a626}
.pk-tier-4{--acc:#f07098}.pk-tier-5{--acc:#3ecf8e}.pk-tier-0{--acc:#7d87a8}

/* the browser groups pick up the tier colour of the package they are */
.sys-group{border:1px solid rgba(53,64,127,.45);border-radius:12px;padding:14px 16px;background:rgba(12,16,28,.45)}
.sys-group summary{border-bottom:1px solid rgba(53,64,127,.35);padding-bottom:.6rem}
.sys-group summary h3{color:var(--acc,var(--blue-lit));font-size:1rem;text-transform:uppercase}
.sys-group summary::before{color:var(--acc,var(--blue-lit))}
.sys-group .sys-sum{font-family:var(--display);letter-spacing:.04em;font-size:.74rem;text-transform:uppercase}
/* the system card is the package card, one size down */
.sys-card{border-left:0;border:1px solid rgba(53,64,127,.5);border-radius:10px;padding:14px;min-height:0;transition:border-color .12s,transform .12s}
.sys-card:hover{background:var(--panel);border-color:var(--acc,var(--blue));transform:translateY(-1px)}
.sys-card strong{font-family:var(--display);text-transform:uppercase;font-size:.9rem}
.sys-card span{color:var(--acc,var(--blue-lit));font-size:.8rem}
.sys-browser-head h2{font-family:var(--display);text-transform:uppercase}

/* the 72 system pages: same hero shape and chips as a package page */
.game-hero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2rem,4.4vw,3.2rem);line-height:.98;margin:6px 0 10px}
.game-hero .badge{display:inline-block;border:1px solid rgba(53,64,127,.6);border-radius:999px;padding:6px 12px;font-family:var(--display);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;color:#C8CEE0;background:none}
.title-count{font-family:var(--display);color:var(--blue-lit)!important;font-size:1.6rem!important;margin-top:.35rem}
.back-link{display:inline-block;font-family:var(--display);text-transform:uppercase;font-size:.74rem;letter-spacing:.06em;color:var(--blue-lit);text-decoration:none;margin-bottom:.6rem}
.game-catalog h2,.cta-band h2{font-family:var(--display);text-transform:uppercase}
.game-catalog{border:1px solid rgba(53,64,127,.45);border-radius:12px;padding:16px;background:rgba(12,16,28,.45);margin-top:20px}
/* SYSTEM CARD CSS START */
/* Rows 210-215/218: system cards built on Dennis's artwork. The painted "view games" strip and
   featured-game chip are cropped off the image and rebuilt below it as real HTML. */
.sys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}
.sys-card--art{display:block;padding:0;overflow:hidden;border-left:0;border:1px solid var(--indigo-edge);border-radius:10px;background:var(--panel);transition:border-color .12s,transform .12s}
.sys-card--art:hover{transform:translateY(-2px);border-color:var(--amber);background:var(--panel)}
.sys-card--art img{display:block;width:100%;height:auto}
.sys-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .7rem}
.sys-feat{display:flex;flex-direction:column;line-height:1.25;font-size:.78rem;color:#B9C0D4;min-width:0}
.sys-feat b{font-family:var(--display);text-transform:uppercase;font-size:.58rem;letter-spacing:.12em;color:var(--muted);font-weight:700}
.sys-go{font-family:var(--display);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;color:var(--blue-lit);white-space:nowrap}
.sys-card--art:hover .sys-go{color:var(--amber)}
/* Row 223: the page-top hardware banner on a system page. His README suggests a 20px radius; 12px
   is the site's, and matching the cards beat matching the note. */
.system-hero{display:block;width:100%;height:auto;aspect-ratio:16/5;object-fit:cover;border-radius:12px;margin:0 0 1.2rem;background:var(--panel)}
/* His banner already prints the system name, so the h1 would say it twice. It stays in the markup
   for screen readers and search - his README asks for exactly that - and is hidden visually.
   Same pattern as the machine pages' ownHeadline banners (row 167). */
.system-desc{max-width:78ch;color:#CDD2E1;line-height:1.6;margin:0 0 1.6rem}
.system-desc p{margin:.7rem 0}
.sys-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* SYSTEM CARD CSS END */
