:root{
  --bg:#0f1115;
  --surface:#171a21;
  --surface-2:#1e2229;
  --border:#2a2e37;
  --text:#e9edf2;
  --text-dim:#9aa3af;
  --text-mute:#6b7280;
  --accent:#5b8def;
  --g7000:#3ba97a;
  --g7400:#c07de0;
  --c64:#b98a5f;
  --pc:#4a7fd6;
  --radius:10px;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}
.topbar{
  display:flex;align-items:center;gap:16px;
  padding:14px 24px;
  border-bottom:1px solid var(--border);
  position:sticky;top:0;background:var(--bg);z-index:10;
}
.brand{font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.brand-mark{color:var(--accent);}
.brand-sub{font-size:11px;font-weight:400;color:var(--text-mute);letter-spacing:.04em;margin-left:2px;align-self:center;white-space:nowrap;}
#search{
  flex:1;max-width:420px;
  background:var(--surface);border:1px solid var(--border);
  color:var(--text);padding:8px 12px;border-radius:var(--radius);
  font-size:14px;
}
#search:focus{outline:none;border-color:var(--accent);}
.lang-sel{
  background:var(--surface);border:1px solid var(--border);color:var(--text-dim);
  padding:7px 10px;border-radius:var(--radius);font-size:13px;cursor:pointer;
}
.lang-sel:hover{border-color:var(--accent);color:var(--text);}
.ghost-btn{
  background:transparent;border:1px solid var(--border);color:var(--text-dim);
  padding:8px 14px;border-radius:var(--radius);cursor:pointer;font-size:13px;
}
.ghost-btn:hover{border-color:var(--accent);color:var(--text);}

/* Update button, when the watcher has found something waiting. Yellow, like
   the import/export buttons - that reads on its own without a badge too. */
#updateBtn.has-updates{
  background:#ffc400; border-color:#ffc400; color:#000; font-weight:600;
}
#updateBtn.has-updates:hover{background:#ffd23b; border-color:#ffd23b; color:#000;}

.filterbar{
  display:flex;flex-direction:column;gap:10px;
  padding:14px 24px;border-bottom:1px solid var(--border);
}
.filterrow{display:flex;align-items:flex-start;gap:12px;}
.filterlabel{
  font-size:12px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.04em;
  padding-top:7px;min-width:64px;flex-shrink:0;
}
.chipgroup{display:flex;gap:6px;flex-wrap:wrap;}
.chip{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--surface);border:1px solid var(--border);color:var(--text-dim);
  padding:6px 12px;border-radius:999px;font-size:13px;cursor:pointer;
}
.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.chip-dot{
  width:8px;height:8px;border-radius:50%;background:var(--chip-dot,var(--text-mute));
  display:inline-block;flex-shrink:0;
}
.result-count{color:var(--text-mute);font-size:13px;padding-left:76px;}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:16px;padding:24px;
}
.card{
  cursor:pointer;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;transition:border-color .15s, transform .15s;
}
.card:hover{border-color:var(--accent);transform:translateY(-2px);}
.cover{
  position:relative;overflow:hidden;
  aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;
  font-size:28px;font-weight:700;color:#fff;
}
.cover-art{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  background:var(--surface-2);
}
.card-body{padding:10px 12px 12px;}
.card-title{font-size:13px;font-weight:600;margin:0 0 4px;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card-meta{display:flex;gap:6px;flex-wrap:wrap;}
.badge{font-size:10px;padding:2px 7px;border-radius:999px;font-weight:600;letter-spacing:.02em;}
.badge-g7000{background:rgba(59,169,122,.18);color:var(--g7000);}
.badge-g7400{background:rgba(192,125,224,.18);color:var(--g7400);}
.badge-c64{background:rgba(185,138,95,.2);color:var(--c64);}
.badge-pc{background:rgba(74,127,214,.2);color:var(--pc);}
.badge-cat{background:var(--surface-2);color:var(--text-mute);}
.badge-cat-dyn{background:color-mix(in srgb, var(--badge-color) 20%, transparent);color:var(--badge-color);}
/* dump variant (alt dump / 12K banked) - tells apart entries that are
   otherwise the same title, platform and category */
.badge-variant{background:var(--surface-2);color:var(--text-mute);border:1px solid var(--border);}
/* shipped with a physical board / overlay / workbook */
.badge-pack{background:rgba(224,192,90,.16);color:#e0c05a;border:1px solid rgba(224,192,90,.35);}

/* favorite star, top-right of the cover */
.fav-btn{
  position:absolute;top:6px;right:6px;z-index:2;
  width:30px;height:30px;padding:0;line-height:1;
  border:none;border-radius:50%;cursor:pointer;
  background:rgba(0,0,0,.45);color:rgba(255,255,255,.45);
  font-size:17px;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .12s, color .12s, background .12s;
}
.card:hover .fav-btn{opacity:1;}
.fav-btn:hover{background:rgba(0,0,0,.7);color:#ffc400;}
.fav-btn.on{opacity:1;color:#ffc400;}
.chip-count{
  display:inline-block;min-width:16px;padding:0 5px;margin-left:2px;
  border-radius:999px;background:rgba(255,255,255,.12);
  font-size:11px;line-height:16px;text-align:center;
}
.chip.active .chip-count{background:rgba(0,0,0,.22);}
#favChip.active{background:#ffc400;border-color:#ffc400;color:#000;}
.badge-extras{background:rgba(255,196,0,.22);color:#ffc400;border:1px solid rgba(255,196,0,.4);}

.empty-state{padding:60px 24px;text-align:center;color:var(--text-mute);}

.modal[hidden]{display:none;}
.modal{
  position:fixed;inset:0;background:rgba(0,0,0,.6);
  display:flex;align-items:center;justify-content:center;z-index:100;padding:24px;
}
.modal-card{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  max-width:600px;width:100%;max-height:85vh;overflow-y:auto;
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--border);
}
.modal-head h2{margin:0;font-size:16px;}
.modal-body{padding:18px 20px;font-size:14px;line-height:1.6;color:var(--text-dim);}
.modal-body h3{color:var(--text);font-size:14px;margin:18px 0 6px;}
.modal-body h3:first-child{margin-top:0;}
.modal-body code{background:var(--surface-2);color:var(--accent);padding:1px 6px;border-radius:4px;font-size:13px;}
.modal-body pre{background:var(--surface-2);padding:10px 12px;border-radius:8px;overflow-x:auto;}
.modal-body ul,.modal-body ol{padding-left:20px;}
.modal-body li{margin-bottom:5px;}
.modal-body .credits{
  margin-top:24px;padding-top:14px;border-top:1px solid var(--border);
  font-size:13px;color:var(--text-mute);
}
.modal-body .credits strong{color:var(--accent);}
.fav-io{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 6px;}
.fav-io .ghost-btn{font-size:13px;}
.fav-io-note{font-size:13px;color:var(--text-mute);transition:color .2s;}
.fav-io-note.ok{color:var(--g7000);}

#bootSplash{
  position:fixed;inset:0;background:#000;z-index:9999;
  overflow:hidden;cursor:pointer;
  transition:opacity .5s ease;
}
#bootSplash.hide{opacity:0;pointer-events:none;}
#bootSplash::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(rgba(0,0,0,0) 0px,rgba(0,0,0,0) 2px,rgba(0,0,0,.15) 3px);
}
#bootSplashField{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:"Press Start 2P",ui-monospace,Menlo,Consolas,monospace;
  font-size:clamp(24px,5.5vw,56px);
  white-space:nowrap;
}
.sg-letter{text-shadow:0 0 6px currentColor;}
.sg-space{display:inline-block;width:0.9em;}

.extras-wrap{
  position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:4px;z-index:1;
}
.extras-badge{
  width:28px;height:28px;border-radius:7px;
  background:#ffc400;box-shadow:0 1px 6px rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;text-decoration:none;
  border:1px solid rgba(0,0,0,.15);
  animation:extras-pulse 2s ease-in-out infinite;
}
.extras-badge:hover{background:#ffd23b;animation:none;}
@keyframes extras-pulse{
  0%,100%{box-shadow:0 1px 6px rgba(0,0,0,.5),0 0 0 0 rgba(255,196,0,.5);}
  50%{box-shadow:0 1px 6px rgba(0,0,0,.5),0 0 0 5px rgba(255,196,0,0);}
}
#extrasOnlyChip{border-color:rgba(255,196,0,.4);}
#extrasOnlyChip.active{background:#ffc400;border-color:#ffc400;color:#000;}

/* Homebrew ribbon. Runs from the top edge down across the upper-left corner,
   deliberately clear of the favourite star at top-right. */
.cover-ribbon{
  position:absolute; z-index:2;
  left:-30%; top:17%; width:100%;
  transform:rotate(-45deg);
  background:#e05a7e; color:#2e0713;
  font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  text-align:center; padding:4px 0;
  box-shadow:0 1px 5px rgba(0,0,0,.45);
  pointer-events:none;
}
/* the game page shows a bigger cover, so the ribbon scales with it */
.game-cover .cover-ribbon{font-size:12px; padding:5px 0;}

/* explains what "alt dump" / "12K banked dump" actually mean */
.variant-note{
  font-size:13px; line-height:1.6; color:var(--text-dim);
  background:var(--surface-2); border:1px solid var(--border);
  border-radius:var(--radius); padding:10px 12px; margin:10px 0 0;
}
.variant-note strong{color:var(--text);}

/* Compact filter bar: one row of dropdowns instead of six rows of chips,
   so the library itself gets the screen on a laptop. */
.filterrow{flex-wrap:wrap; align-items:center; gap:8px;}
.filter-sel{
  background:var(--surface); border:1px solid var(--border); color:var(--text-dim);
  padding:6px 10px; border-radius:999px; font-size:13px; cursor:pointer; max-width:230px;
}
.filter-sel:hover{border-color:var(--accent); color:var(--text);}
.filter-sel.on{background:var(--accent); border-color:var(--accent); color:#fff;}
.ghost-btn.small{padding:5px 10px; font-size:12px;}
.icon-btn{
  display:inline-flex; align-items:center; gap:5px;
  background:transparent; border:1px solid var(--border); color:var(--text-dim);
  padding:7px 11px; border-radius:999px; cursor:pointer; font-size:14px; line-height:1;
}
.icon-btn:hover{border-color:var(--accent); color:var(--text);}
.icon-btn.active{background:#ffc400; border-color:#ffc400; color:#000;}
#packChip.active{background:#e0c05a; border-color:#e0c05a; color:#000;}
.result-count{padding-left:4px;}

/* Language: five flags, no dropdown. */
.lang-flags{display:flex; gap:2px;}
.flag-btn{
  background:transparent; border:1px solid transparent; border-radius:8px;
  padding:5px 6px; line-height:0; cursor:pointer;
  opacity:.5; transition:opacity .12s, border-color .12s;
}
.flag-btn svg{display:block; border-radius:2px;}
.flag-btn:hover{opacity:1; border-color:var(--border);}
.flag-btn.active{opacity:1; border-color:var(--accent); background:var(--surface);}

/* Don't let a cover's alt text render as giant type while the image loads
   or if it 404s - the coloured placeholder underneath says enough. */
.cover-art{font-size:0; color:transparent;}

/* Favourites export/import, shown in the filter row while the star list is on */
.fav-io-inline{display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap;}
.fav-io-inline[hidden]{display:none;}
.fav-io-inline .fav-io-note{font-size:12px;}

/* Export/import wear the favourites yellow, so they read as belonging to the
   star list rather than as two more grey filter controls. */
#exportFavs, #importFavs{
  background:#ffc400; border-color:#ffc400; color:#2e2200; font-weight:600;
}
#exportFavs:hover, #importFavs:hover{
  background:#ffd23b; border-color:#ffd23b; color:#2e2200;
}

/* ---- Showcase: featured games, sponsors, community ---------------------- */
.showcase{padding:18px 24px 4px; border-bottom:1px solid var(--border);}
.showcase[hidden]{display:none;}
.showcase-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}
.showcase-head h2{margin:0; font-size:16px; font-weight:600;}

.feature-row{display:flex; gap:14px; align-items:stretch; min-height:300px;}
.feature-main{
  flex:1 1 auto; min-width:0; display:flex; gap:20px; align-items:center;
  text-decoration:none; color:inherit;
  background:var(--surface); border:1px solid var(--border); border-radius:12px;
  padding:16px; transition:border-color .15s;
}
.feature-main:hover{border-color:var(--accent);}
.feature-cover{
  width:198px; height:264px; object-fit:cover; border-radius:8px; flex-shrink:0;
}
.feature-copy{display:flex; flex-direction:column; gap:11px; min-width:0; flex:1 1 auto;}
.feature-copy h3{margin:0; font-size:22px; font-weight:600; line-height:1.25;}
.feature-blurb{margin:0; font-size:14px; line-height:1.65; color:var(--text-dim);}
.feature-meta{display:flex; gap:6px; flex-wrap:wrap; margin-top:auto;}
.feature-shot{
  width:340px; height:255px; object-fit:cover; border-radius:8px;
  flex-shrink:0; background:#000; image-rendering:pixelated;
}

/* The C64 featured panel's right-hand slot: a live, muted, looping gameplay
   clip in place of a still. Same footprint as .feature-shot. The cover
   fallback (no video / offline) reuses the same box. */
.feature-video{
  width:340px; height:255px; flex-shrink:0; border-radius:8px;
  overflow:hidden; background:#000; position:relative; display:block;
}
.feature-video iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
}
/* a locally-recorded clip fills the slot the same way a screenshot would */
.feature-video .feature-clip{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  display:block; background:#000;
}
.feature-video-fallback a{display:block; width:100%; height:100%;}
.feature-video-fallback img{
  width:100%; height:100%; object-fit:cover; display:block; image-rendering:pixelated;
}
/* the C64 feature card isn't one big link, so it shouldn't get the hover
   border the Videopac one has; the cover and title link on their own */
.feature-main-c64{cursor:default;}
.feature-main-c64:hover{border-color:var(--border);}
.feature-main-c64 .feature-cover-wrap, .feature-main-c64 h3 a{text-decoration:none; color:inherit;}
.feature-main-c64 h3 a:hover{color:var(--accent);}

.feature-list{display:flex; flex-direction:column; gap:6px; width:196px; flex-shrink:0;}
.feature-thumb{
  flex:1; display:flex; align-items:center; gap:8px; cursor:pointer;
  background:var(--surface); border:1px solid transparent; border-radius:8px;
  padding:4px 8px; text-align:left; color:var(--text-dim); font-size:12px; line-height:1.3;
}
.feature-thumb span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0;}
.feature-thumb:hover{border-color:var(--border); color:var(--text);}
.feature-thumb.on{border-color:var(--accent); color:var(--text); background:var(--surface-2);}
.feature-thumb img{width:26px; height:35px; object-fit:cover; border-radius:3px; flex-shrink:0;}

/* Homebrew panel - the featured layout again, but sitting inside the grid.
   Warmer border than the rest so it reads as its own thing rather than a
   second helping of "featured". */
.homebrew-strip{
  grid-column:1/-1; margin:16px 0 10px; padding:16px 18px 18px;
  background:var(--surface); border-radius:12px;
  border:2px solid color-mix(in srgb, #e05a7e 65%, transparent);
}
.hb-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px;}
.homebrew-strip h3{margin:0 0 3px; font-size:15px; display:flex; align-items:center; gap:9px;}
/* the same word the cover ribbons carry, in the same pink */
.hb-word{
  font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  background:#e05a7e; color:#2e0713; border-radius:4px; padding:2px 8px;
}
.hb-intro{margin:0 0 12px; font-size:13px; color:var(--text-mute);}
/* the featured cover needs the ribbon too, or a borrowed official box reads
   as an official release - which is the whole reason the ribbon exists */
.feature-cover-wrap{position:relative; overflow:hidden; border-radius:8px; flex-shrink:0;}
.feature-cover-wrap .feature-cover{display:block; border-radius:0;}
.feature-cover-wrap .cover-ribbon{font-size:11px; padding:5px 0;}
/* Two screenshots share the slot: same footprint, one above the other. */
/* Two screenshots sit side by side at 4:3 - the console's own aspect, so
   nothing is cropped. Stacking them instead would halve the height and cut
   the top off a title screen, which defeats the point of showing it. */
.feature-shots{display:flex; gap:6px; flex-shrink:0;}
.feature-shots .feature-shot{width:248px; height:186px;}
@media (max-width:1500px){
  .feature-shots .feature-shot:nth-child(2){display:none;}
}

/* ---- Master Strategy Series banner ---------------------------------------
   Sits mid-grid like Homebrew/Community below, not pinned above the grid
   next to Featured - placeBlocks() drops it roughly 60% of the way down the
   list, clear of both the sponsor strip and the homebrew panel on either
   side, so it reads as its own stop on the page rather than one banner
   stacked on another. Deliberately bigger than .showcase up top all the
   same: three cards always shown side by side (not a rotator - there are
   only three games total, no need to hide any of them), each carrying more
   copy (box contents) and two media slots instead of one. Amber/bronze
   accent throughout - the "treasure chest" box style these three shipped
   in - to read as its own thing next to the blue accent of Featured, the
   pink of Homebrew and the yellow of Community. */
.ms-strip{
  grid-column:1/-1; margin:16px 0 10px; padding:18px 20px 20px;
  background:var(--surface); border-radius:12px;
  background-image:linear-gradient(180deg, color-mix(in srgb, #c9973b 6%, transparent), transparent 160px);
  border:2px solid color-mix(in srgb, #c9973b 65%, transparent);
}
.ms-head{margin-bottom:14px;}
.ms-head h3{margin:0 0 4px; font-size:17px; font-weight:600;}
.ms-intro{margin:0; font-size:13px; line-height:1.6; color:var(--text-dim); max-width:980px;}
.ms-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;}
.ms-card{
  display:flex; flex-direction:column; gap:12px;
  background:var(--surface); border-radius:14px; padding:16px;
  border:2px solid color-mix(in srgb, #c9973b 55%, transparent);
}
.ms-card-top{display:flex; gap:14px;}
.ms-card-cover{display:block; width:104px; height:139px; object-fit:cover; border-radius:8px; flex-shrink:0;}
.ms-card-head{display:flex; flex-direction:column; gap:5px; min-width:0; justify-content:center;}
.ms-card-head h3{margin:0; font-size:18px; font-weight:600; line-height:1.25;}
.ms-card-head h3 a{color:inherit; text-decoration:none;}
.ms-card-head h3 a:hover{color:var(--accent);}
.ms-year{font-size:12px; color:var(--text-mute);}
.ms-fact{display:block; margin-top:3px; font-size:11.5px; font-weight:600; color:#c9973b; line-height:1.4;}
.ms-blurb{margin:0; font-size:13px; line-height:1.6; color:var(--text-dim);}
.ms-contents{margin:0; padding-left:17px; font-size:12px; line-height:1.55; color:var(--text-mute);}
.ms-contents li{margin:0 0 2px;}
.ms-media{display:flex; gap:10px; margin-top:auto;}
.ms-media-box{flex:1 1 50%; min-width:0; display:flex; flex-direction:column; gap:5px;}
.ms-media-frame{
  position:relative; width:100%; aspect-ratio:4/3; border-radius:8px;
  overflow:hidden; background:#000;
}
.ms-media-frame img, .ms-media-frame video{width:100%; height:100%; object-fit:cover; display:block;}
.ms-media-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}
/* the board is a real photograph, not console pixel art - no pixelated hint */
.ms-board-frame img{background:#1a1a1a;}
.ms-media-cap{
  font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-mute); text-align:center;
}
@media (max-width:1300px){
  .ms-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:900px){
  .ms-grid{grid-template-columns:1fr;}
  .ms-card-cover{width:88px; height:117px;}
}
@media (max-width:640px){
  .ms-media{flex-direction:column;}
}

/* Advert strip - full width, always labelled, never dressed up as content */
.sponsor-strip{grid-column:1/-1; margin:16px 0 10px;}
.sponsor{
  position:relative; display:block; border-radius:12px; overflow:hidden;
  border:1px solid var(--border); background:#0d0e13; text-decoration:none;
}
.sponsor:hover{border-color:var(--accent);}
.sponsor img{width:100%; height:140px; display:block; object-fit:cover;}

/* Empty slot: the Videopac attract screen, letters drifting off the walls */
.sponsor-empty{
  background:#07080c;
  background-image:
    repeating-linear-gradient(rgba(255,255,255,.035) 0 1px, transparent 1px 3px);
}
.attract{
  position:relative; display:block; width:100%; height:140px; overflow:hidden;
}
.attract-word{
  position:absolute; top:0; left:0; white-space:nowrap;
  font-family:"Press Start 2P", ui-monospace, Menlo, Consolas, monospace;
  font-size:clamp(19px, 3.1vw, 40px); letter-spacing:.06em; line-height:1;
  padding:6px 8px; will-change:transform;
}
.attract-letter{text-shadow:0 0 8px currentColor; transition:color .5s;}
.attract-space{display:inline-block; width:.9em;}
@media (prefers-reduced-motion: reduce){
  .attract-word{transition:none;}
}
.sponsor-tag{
  position:absolute; top:8px; right:10px; z-index:2;
  font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.25);
  border-radius:4px; padding:2px 7px;
}
.sponsor-sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}

/* Yellow all round, like the import/export and update buttons — this panel is
   the one asking you to go somewhere else, so it is allowed to be loud. */
.community{
  grid-column:1/-1; margin:20px 0 14px; padding:20px 22px 22px;
  background:var(--surface); border:2px solid #ffc400; border-radius:12px;
}
.community-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px;}
.community h3{margin:0 0 5px; font-size:19px;}
.community-intro{margin:0 0 16px; font-size:14.5px; color:var(--text-dim);}
.carousel-nav{display:flex; gap:8px; flex-shrink:0;}
.car-btn{
  width:36px; height:36px; border-radius:50%; cursor:pointer;
  font-size:20px; font-weight:700; line-height:1;
  background:#fff; border:none; color:#000;
  box-shadow:0 1px 5px rgba(0,0,0,.45);
}
.car-btn:hover{background:#ffc400;}
.car-btn:active{transform:translateY(1px);}
.community-track{
  display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; padding-bottom:2px;
}
.community-track::-webkit-scrollbar{display:none;}
.community-item{
  flex:0 0 300px; scroll-snap-align:start;
  display:block; text-decoration:none; color:inherit; border-radius:10px;
  padding:13px 15px 14px 16px;
  background:color-mix(in srgb, var(--tint) 12%, var(--surface-2));
  border:1px solid color-mix(in srgb, var(--tint) 32%, transparent);
  border-left:3px solid var(--tint);
  transition:background .15s, border-color .15s;
}
.community-item:hover{
  background:color-mix(in srgb, var(--tint) 22%, var(--surface-2));
  border-color:var(--tint);
}
.community-item .cname{font-size:15px; font-weight:600; display:flex; gap:7px; align-items:center; color:var(--text);}
.community-item .clang{
  font-size:11px; color:var(--tint); border:1px solid color-mix(in srgb, var(--tint) 45%, transparent);
  border-radius:999px; padding:1px 7px; font-weight:500; white-space:nowrap;
}
.community-item .cwhat{margin:7px 0 0; font-size:13px; line-height:1.55; color:var(--text-dim);}

@media (max-width:1200px){
  .feature-shot, .feature-video{display:none;}
}
@media (max-width:900px){
  .feature-list{display:none;}
  .feature-cover{width:120px; height:160px;}
}

/* ---- C64-style "advertise here" banner (C64 shelf ad slot) ---- */
.c64-ad-strip{grid-column:1/-1;}
.c64ad-link{display:block;text-decoration:none;position:relative;}
.c64ad{background:#7869C4;padding:16px;border-radius:var(--radius);font-family:ui-monospace,Menlo,Consolas,monospace;user-select:none;box-shadow:0 6px 22px rgba(0,0,0,.4);}
.c64ad-screen{position:relative;background:#40318D;height:200px;overflow:hidden;display:flex;flex-direction:column;}
.c64ad-rasters{position:absolute;inset:0;opacity:.42;pointer-events:none;}
.c64ad-rasters i{position:absolute;left:0;right:0;height:14px;}
.c64ad-top{position:relative;color:#B0A4FF;font-size:14px;letter-spacing:1px;padding:10px 14px 0;line-height:1.5;text-shadow:1px 1px 0 rgba(0,0,0,.35);}
.c64ad-cur{display:inline-block;width:9px;height:15px;background:#B0A4FF;vertical-align:-3px;margin-left:2px;animation:c64blink 1.06s steps(1) infinite;}
@keyframes c64blink{50%{opacity:0}}
.c64ad-band{position:relative;flex:1;display:flex;align-items:center;overflow:hidden;}
.c64ad-scroller{position:absolute;white-space:nowrap;will-change:transform;}
.c64ad-scroller b{display:inline-block;font-family:"Press Start 2P",ui-monospace,Menlo,Consolas,monospace;font-size:26px;letter-spacing:2px;text-transform:uppercase;text-shadow:3px 3px 0 rgba(0,0,0,.5);}
.c64ad-bottom{position:relative;color:#B0A4FF;font-size:12px;letter-spacing:2px;padding:0 14px 10px;display:flex;justify-content:space-between;gap:12px;text-shadow:1px 1px 0 rgba(0,0,0,.35);}
.c64ad-blk{color:#94E089;}
@media (prefers-reduced-motion: reduce){ .c64ad-cur{animation:none;} }

/* Bundled retro pixel font (Press Start 2P, SIL OFL), embedded so it works
   offline. Drives the C64 ad scroller and the Videopac attract slot, both of
   which already asked for this family by name. */
@font-face{
  font-family:"Press Start 2P";
  font-style:normal; font-weight:400; font-display:swap;
  src:url(data:font/woff2;base64,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) format("woff2");
}
