:root{
  --bg-main:#0a001a; --bg-card:#14142b;
  --neon-pink:#ff007c; --neon-blue:#00e0ff; --neon-green:#00ff9f;
  --text-main:#f0f0f0; --radius:10px;
  --font-display:'Orbitron',sans-serif;
  --font-ui:'Press Start 2P',cursive;                /* keep for accents */
  --font-sans:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,
              "Noto Sans","Helvetica Neue",Arial,sans-serif; /* NEW: body */
  --transition:.25s ease;
}

.ssa-gl-visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}

/* Use a readable body font; keep neon look */
.ssa-game-library-container{
  background:var(--bg-main);
  padding:clamp(1rem, 2vw, 2rem) clamp(.75rem, 2vw, 1.25rem);
  color:var(--text-main);
  font-family:var(--font-sans);                       /* CHANGED */
  box-shadow:inset 0 0 60px #000
}
.ssa-gl-title{
  font-family:var(--font-display);
  letter-spacing:0;margin:.25rem 0 1rem;
  background:linear-gradient(90deg,var(--neon-pink),var(--neon-blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent
}

.ssa-gl-searchwrap{margin-bottom:1rem}
#ssa-search{
  width:100%;max-width:680px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.14);outline:none;border-radius:var(--radius);
  background:rgba(255,255,255,.06);color:var(--neon-blue);font-family:var(--font-display);
  box-shadow:0 0 10px var(--neon-blue)
}
#ssa-search::placeholder{color:#88c7ff}
#ssa-search:focus-visible{
  border-color:var(--neon-blue);
  box-shadow:0 0 0 3px rgba(0,224,255,.2),0 0 14px var(--neon-blue);
}

.ssa-filters{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.ssa-filters select,.ssa-filters label{
  min-height:44px;
  font-size:.9rem;padding:.55rem .8rem;background:rgba(255,255,255,.06);
  color:var(--neon-pink);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);cursor:pointer;
  font-family:var(--font-display)
}
.ssa-filters select:focus-visible,
.ssa-filters label:focus-within{
  outline:2px solid var(--neon-blue);
  outline-offset:2px;
}
.ssa-filters input[type=checkbox]{accent-color:var(--neon-green);transform:scale(1.15)}

.ssa-gl-grid{
  margin-top:1.25rem;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),320px));
  justify-content:center;
  align-items:stretch;
  gap:1rem
}

/* Card */
.ssa-card{
  background:var(--bg-card);border-radius:var(--radius);overflow:hidden;
  transition:transform var(--transition),box-shadow var(--transition);
  position:relative;border:1px solid #2b2f45
}
/* keep hover lift, but cursor now shows only on clickable children */
@media (hover:hover) and (pointer:fine){
  .ssa-card:hover{transform:translateY(-4px);box-shadow:0 0 15px var(--neon-pink),0 0 30px var(--neon-blue)}
}

/* Clickable THUMB as a link */
.ssa-thumb{display:block;line-height:0;cursor:pointer;position:relative}
.ssa-thumb::after{
  content:"Play";
  position:absolute;right:.65rem;bottom:.65rem;
  padding:.38rem .62rem;border-radius:999px;
  background:rgba(0,0,0,.72);color:#fff;
  font-family:var(--font-display);font-size:.78rem;line-height:1;
  border:1px solid rgba(255,255,255,.18);
}
.ssa-thumb img{
  width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#0b0e18;border:0
}

/* Content */
.ssa-card-meta{padding:1rem .75rem 1.1rem;text-align:left}

/* Title (clickable) */
.ssa-card-meta h3{
  margin:.2rem 0 .35rem;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1rem,0.9rem + .3vw,1.15rem);       /* CHANGED smaller */
  line-height:1.15;
  color:var(--neon-green);
  overflow-wrap:break-word;
}
.ssa-title-link{color:inherit;text-decoration:none;cursor:pointer}
.ssa-title-link:focus-visible,
.ssa-thumb:focus-visible{outline:2px solid var(--neon-pink);outline-offset:2px}

.ssa-game-favorite-button{
  margin-top:.65rem;
  min-height:38px;
  border:0;
  border-radius:999px;
  padding:.55rem .8rem;
  background:#0d6f68;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.ssa-game-favorite-button:hover,
.ssa-game-favorite-button:focus-visible{
  background:#084f4b;
  outline:2px solid var(--neon-pink);
  outline-offset:2px;
}
.ssa-game-favorite-button.is-saved{
  background:#123f38;
}

.new-tag{background:var(--neon-pink);color:#000;padding:2px 6px;border-radius:4px;font-size:.7rem;margin-left:.4rem}

/* Description: readable font + clamp lines */
.ssa-card-meta p{
  margin:.3rem 0 .5rem;
  font-family:var(--font-sans);                       /* NEW */
  font-size:clamp(.82rem,.78rem + .2vw,.95rem);      /* CHANGED smaller */
  line-height:1.45; color:#dfe6ff;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; /* NEW clamp */
  overflow:hidden;
  min-height:auto;                                   /* override old rule */
}

/* Rating / meta */
.rating{display:block;margin-top:.15rem;font-size:.78rem;color:#cfe3ff;opacity:.9}

/* Optional play CTA (if you add one) */
.ssa-play{display:inline-flex;gap:.4rem;align-items:center;font-weight:700;text-decoration:none;cursor:pointer}

.ssa-top-grid{gap:.85rem}
.ssa-top-card{
  min-height:100%;
  transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
}
.ssa-top-card img{background:#0b0e18}
.ssa-top-card:focus-visible{
  outline:2px solid var(--neon-blue);
  outline-offset:3px;
}
@media (hover:hover) and (pointer:fine){
  .ssa-top-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,224,255,.5)!important;
    box-shadow:0 0 16px rgba(0,224,255,.22);
  }
}

/* Load more */
.ssa-gl-loadmore{
  display:block;margin:2rem auto 0;padding:1rem 2.2rem;min-height:48px;background:transparent;color:var(--neon-pink);
  border:2px solid var(--neon-pink);border-radius:var(--radius);cursor:pointer;font-family:var(--font-display);
  transition:background var(--transition),box-shadow var(--transition)
}
.ssa-gl-loadmore:hover{background:var(--neon-pink);color:#000;box-shadow:0 0 15px var(--neon-pink),0 0 30px var(--neon-pink)}
.ssa-gl-loadmore:focus-visible{outline:2px solid var(--neon-blue);outline-offset:3px}
.ssa-gl-loadmore:disabled{opacity:.62;cursor:not-allowed}

.ssa-gl-library-help{
  display:grid;
  gap:.85rem;
  margin:1.25rem auto 0;
  max-width:980px;
  padding:1rem;
  border:1px solid rgba(0,224,255,.22);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  color:#dfe6ff;
  line-height:1.6;
}
.ssa-gl-library-help h3{
  margin:0;
  color:#fff;
  font-family:var(--font-display);
  font-size:1.05rem;
}
.ssa-gl-library-help p{margin:0}
.ssa-gl-library-help ul{
  display:grid;
  gap:.45rem;
  margin:0 0 0 1.1rem;
  padding:0;
}

/* Mobile layout */
@media (max-width:640px){
  .ssa-game-library-container{padding:.85rem .65rem}
  .ssa-gl-title{font-size:1.35rem;line-height:1.2}
  .ssa-filters{display:grid;grid-template-columns:1fr;gap:.6rem}
  .ssa-filters select,.ssa-filters label{width:100%}
  .ssa-gl-grid{grid-template-columns:minmax(0,1fr);gap:.85rem}
  .ssa-card-meta{padding:.85rem .75rem}
  .ssa-card-meta p{-webkit-line-clamp:4}
}

/* Scrollbar */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#1c1c1c}
::-webkit-scrollbar-thumb{background:var(--neon-blue);border-radius:10px;box-shadow:0 0 10px var(--neon-blue)}

.ssa-gl-recommendations {
  margin-top: 1.25rem;
}

.ssa-gl-recommendations .ssa-aie-block,
.ssa-gl-recommendations .ssa-aie-products,
.ssa-gl-recommendations .ssa-aie-recommendations {
  border: 1px solid rgba(45,212,191,.34) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(8,18,34,.98), rgba(3,8,18,.98)) !important;
  color: #dbeafe !important;
  padding: 18px !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.ssa-gl-recommendations .ssa-aie-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

.ssa-gl-recommendations .ssa-aie-card,
.ssa-gl-recommendations .ssa-aie-product-card {
  background: rgba(2,6,23,.88) !important;
  border: 1px solid rgba(56,189,248,.42) !important;
  border-radius: 14px !important;
  color: #dbeafe !important;
  padding: 16px !important;
}

.ssa-gl-recommendations :is(h3,h4,strong) {
  color: #ffffff !important;
}

.ssa-gl-recommendations a {
  color: #67e8f9 !important;
}

/* Final game library neon polish for archive and single-game templates. */
body :is(.game-archive.ct-container, .single-game.ct-container) {
  width: min(100%, 1440px) !important;
  max-width: calc(100dvw - 24px) !important;
  margin-inline: auto !important;
  padding: clamp(18px, 3vw, 32px) !important;
  border: 1px solid rgba(56, 189, 248, 0.22) !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(45, 212, 191, 0.10), transparent 32%),
    linear-gradient(180deg, rgba(3, 8, 18, 0.98), rgba(8, 12, 28, 0.98)) !important;
  color: #f4fdff !important;
  overflow-x: hidden !important;
}

h1, h2, h3, h4, h5, h6, strong, b {
  color: #f8fdff !important;
  text-shadow: 0 0 16px rgba(56, 189, 248, 0.20) !important;
}

body :is(.game-archive.ct-container, .single-game.ct-container) :is(h1, h2, h3, h4, strong, b) {
  color: #f8fdff !important;
  text-shadow: 0 0 16px rgba(56, 189, 248, 0.20) !important;
}

body :is(.game-archive.ct-container, .single-game.ct-container) :is(p, li, label, span, small, em, dd, dt, div) {
  color: #dbeafe !important;
}

body :is(.game-archive.ct-container, .single-game.ct-container) a:not(.hub-btn):not(.game-play-button):not(.ssa-favorite-button) {
  color: #7dd3fc !important;
}

body :is(.game-archive.ct-container, .single-game.ct-container) :is(
  .game-archive-hero,
  .game-trust-strip span,
  .game-intent-card,
  .game-card,
  .game-intro-card,
  .game-embed,
  .game-ad-slot,
  .game-quick-facts p,
  .game-detail-grid div,
  .game-tips li,
  .game-genre-hub,
  .game-faq details,
  .game-related-tool-card,
  .game-discovery-cta,
  .related-game-card,
  .ssa-account-links,
  .entry-content,
  .game-seo-details,
  .game-play-guide,
  .game-tags li
) {
  border: 1px solid rgba(56, 189, 248, 0.32) !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(45, 212, 191, 0.08), transparent 30%),
    linear-gradient(180deg, rgba(8, 18, 34, 0.96), rgba(3, 8, 18, 0.96)) !important;
  color: #dbeafe !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body .game-archive.ct-container .game-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 280px)) !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 18px !important;
}

body .game-archive.ct-container .game-card {
  display: grid !important;
  align-content: start !important;
  overflow: hidden !important;
  width: 100% !important;
}

body .game-archive.ct-container .game-card .excerpt {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 7 !important;
  overflow: hidden !important;
}

body .game-archive.ct-container .hub-links {
  margin-block: 34px 18px !important;
  padding-top: 8px !important;
}

body .game-archive.ct-container .hub-links h2 {
  color: #f8fdff !important;
  opacity: 1 !important;
}

body :is(.game-archive.ct-container, .single-game.ct-container) :is(input, select, textarea) {
  min-height: 44px !important;
  background: rgba(2, 6, 23, 0.92) !important;
  border: 1px solid rgba(56, 189, 248, 0.44) !important;
  border-radius: 8px !important;
  color: #f4fdff !important;
  -webkit-text-fill-color: #f4fdff !important;
}

body :is(.game-archive.ct-container, .single-game.ct-container) :is(button, .game-filter-reset, .game-library-back, .game-play-button, .ssa-favorite-button, .game-hub-button, .ssa-account-links a) {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(125, 249, 255, 0.72) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #2dd4bf, #38bdf8) !important;
  color: #031018 !important;
  -webkit-text-fill-color: #031018 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: normal !important;
}

body .single-game.ct-container .game-embed {
  width: min(100%, 1000px) !important;
  max-width: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .single-game.ct-container .game-quick-facts,
body .single-game.ct-container .game-intro-grid,
body .single-game.ct-container .game-detail-grid,
body .single-game.ct-container .related-games-grid,
body .single-game.ct-container .game-related-tools-grid {
  gap: 14px !important;
}

@media (max-width: 760px) {
  body :is(.game-archive.ct-container, .single-game.ct-container) {
    max-width: calc(100dvw - 10px) !important;
    padding: 14px !important;
    border-radius: 10px !important;
  }

  body .single-game.ct-container :is(.game-intro-grid, .game-quick-facts, .game-detail-grid, .game-tips ul, .related-games-grid, .game-related-tools-grid),
  body .game-archive.ct-container :is(.game-intent-grid, .game-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
