/* Goetschi Arcade 2.0 – platform-specific product styling.
   Goetschi Labs remains the manufacturer; no vendor logos or protected trade dress copied. */
.platform-card { --skin:#75d8c3; --skin-bg: #101f27; position:relative; border-color:color-mix(in srgb,var(--skin) 32%,var(--line)); }
.platform-card[data-platform="original"] { --skin:#75d8c3; --skin-bg:#0c2730; }
.platform-card[data-platform="nes"] { --skin:#dc997d; --skin-bg:#342624; }
.platform-card[data-platform="snes"] { --skin:#ae9ad8; --skin-bg:#363042; }
.platform-card[data-platform="segaMD"] { --skin:#e75a68; --skin-bg:#1e2235; }
.platform-card[data-platform="psx"] { --skin:#84a9e9; --skin-bg:#253049; }
.platform-card[data-platform="external"] { --skin:#dcac6b; --skin-bg:#2e2722; }
.platform-card .game-cover { background:linear-gradient(145deg,color-mix(in srgb,var(--skin) 38%,var(--skin-bg)),var(--skin-bg)); }
.platform-card[data-platform="snes"] .game-cover { border-bottom:5px solid #9e91b9; }
.platform-card[data-platform="segaMD"] .game-cover { border-bottom:5px solid #d14455; background-image:repeating-linear-gradient(115deg,transparent 0 16px,rgba(255,255,255,.04) 16px 17px),linear-gradient(135deg,#303447,#0c1322); }
.platform-card[data-platform="psx"] .game-cover { border-bottom:5px solid #809cc8; background-image:radial-gradient(ellipse at 70% 40%,rgba(140,173,233,.3),transparent 60%),linear-gradient(145deg,#40495e,#171b28); }
.platform-card .game-kind { border:1px solid color-mix(in srgb,var(--skin) 55%,transparent);color:#fff; }
.platform-card .game-action,.platform-card .game-subtitle { color:var(--skin); }
:root[data-theme="light"] .platform-card .game-action,:root[data-theme="light"] .platform-card .game-subtitle { color:var(--text); }
.platform-card:hover { border-color:var(--skin); }
.featured-ribbon { position:absolute;right:10px;top:12px;z-index:2;padding:5px 8px;background:#f8d78d;color:#34240e;border-radius:7px;font-size:10px;font-weight:900; }
.arcade-dashboard { padding:25px 0 30px;margin:5px 0 24px;border-top:1px solid var(--line); }
.dashboard-heading,.originals-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:18px}
.dashboard-heading h2,.originals-heading h2 {font-size:clamp(25px,3vw,34px);letter-spacing:-.055em;margin:0 0 6px}
.dashboard-kicker {font-size:10px;color:var(--muted);letter-spacing:.16em}
.stats-grid,.admin-overview {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.dash-stat {min-width:0;display:flex;flex-direction:column;gap:7px;border:1px solid var(--line);background:var(--surface);padding:20px;border-radius:14px}
.dash-stat>span {font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.dash-stat strong {font-size:clamp(24px,3.3vw,39px);line-height:1.1;letter-spacing:-.06em;color:var(--text);font-variant-numeric:tabular-nums}
.dash-stat small {font-size:9px;color:var(--accent);letter-spacing:.12em}
.admin-overview {margin:17px 0 21px}
.admin-overview .dash-stat {padding:17px}
.admin-overview .dash-stat strong {font-size:30px}
.recent-strip {display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:14px 0;border-bottom:1px solid var(--line)}
.recent-label {font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.11em;margin-right:9px}
.recent-strip a {border:1px solid var(--line);border-radius:99px;padding:6px 11px;text-decoration:none;font-size:12px;color:var(--accent)}
.recent-strip a:hover {background:var(--surface)}
.originals-section {margin:5px 0 55px;background:linear-gradient(125deg,var(--bg-elevated),var(--bg));border:1px solid var(--line);border-radius:20px;padding:clamp(16px,3vw,27px);}
.originals-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.originals-link {color:var(--accent);font-weight:700;font-size:13px;white-space:nowrap}
.originals-section .game-description {-webkit-line-clamp:2}
.platform-filters {display:flex;align-items:center;gap:8px;overflow-x:auto;padding:0 0 16px;scrollbar-width:thin;margin-bottom:12px}
.system-filter {flex:none;min-height:44px;border:1px solid var(--line);background:var(--surface);padding:10px 14px;border-radius:11px;font-size:12px;font-weight:750;color:var(--muted)}
.system-filter:hover {border-color:var(--accent);color:var(--text)}
.system-filter.active {background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.system-filter[data-platform="snes"].active {background:#ae9ad8;color:#171321;border-color:#ae9ad8}
.system-filter[data-platform="segaMD"].active {background:#e75a68;color:#220f14;border-color:#e75a68}
.system-filter[data-platform="psx"].active {background:#84a9e9;color:#112034;border-color:#84a9e9}
/* Distinct console frames: shared Arcade structure, recognizable retro visual rhythms. */
.page-retro { --console-accent:#ae9ad8; --console-face:#363240; --console-rim:#b2a9c7; }
.page-retro[data-platform="nes"] { --console-accent:#eeb098; --console-face:#342e2c; --console-rim:#c0aca4; }
.page-retro[data-platform="segaMD"] { --console-accent:#ef7284; --console-face:#1c202d; --console-rim:#55546a; }
.page-retro[data-platform="psx"] { --console-accent:#92b7f2; --console-face:#373f53; --console-rim:#858da4; }
.retro-main {padding:34px 0 0}
.console-heading h1 {font-size:clamp(28px,4vw,49px);letter-spacing:-.055em;line-height:1.12;margin:8px 0}
.console-shell {border:2px solid var(--console-rim);border-radius:25px;padding:clamp(10px,2.4vw,23px);
  background:linear-gradient(155deg,color-mix(in srgb,var(--console-face) 84%,white),var(--console-face));
  box-shadow:0 25px 80px rgba(0,0,0,.34),inset 0 2px rgba(255,255,255,.16)}
.console-topbar,.console-foot {display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;color:#f5f5fa}
.console-topbar {margin:0 2px 14px}
.console-identity {display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-weight:860;font-size:13px;letter-spacing:.05em}
.console-identity small {font-size:9px;color:#c6c6d1;letter-spacing:.12em}
.console-light {width:9px;height:9px;border-radius:50%;background:var(--console-accent);box-shadow:0 0 12px var(--console-accent)}
.console-controls {display:flex;align-items:center;gap:11px}
.console-controls .text-button {color:#fff;background:rgba(0,0,0,.32);border-color:rgba(255,255,255,.3)}
.pad-status {font-size:11px;color:#e3e3ed}
.console-bezel {background:#050607;padding:clamp(5px,1.4vw,12px);border-radius:14px;border:2px solid rgba(0,0,0,.5);box-shadow:inset 0 0 35px rgba(0,0,0,.4)}
#game {width:100%;height:min(67dvh,730px);min-height:300px;background:#000;border-radius:8px;overflow:hidden}
.console-foot {padding:14px 3px 0;font-size:10px;font-weight:760;letter-spacing:.14em}
.console-brand {opacity:.68}
.page-retro[data-platform="segaMD"] .console-shell {background-image:repeating-linear-gradient(110deg,transparent 0 26px,rgba(255,255,255,.025) 26px 27px),linear-gradient(135deg,#31394f,#161821)}
.page-retro[data-platform="psx"] .console-shell {border-radius:20px;background:linear-gradient(145deg,#5b6175,#262d3d)}
.page-retro[data-platform="psx"] .console-bezel {border-radius:16px;border:4px solid #71809e}
@media(max-width:800px) {
  .stats-grid,.admin-overview {grid-template-columns:repeat(2,minmax(0,1fr))}
  .originals-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-kicker {display:none}
}
@media(max-width:560px) {
  .dashboard-heading,.originals-heading {align-items:flex-start;flex-direction:column}
  .originals-grid {grid-template-columns:1fr}
  .dash-stat {padding:15px}
  .console-identity small {display:none}
  .console-controls {width:100%;justify-content:space-between}
  .pad-status {font-size:10px}
  .console-shell {border-radius:17px}
  #game {min-height:300px;height:62dvh}
}

/* Keep the entire input surface available when the browser cannot fullscreen (iOS). */
.retro-input-options {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.retro-input-options label {font-weight:700}
.retro-input-options select {min-height:44px;font-size:16px;padding:8px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px}
.retro-input-options span {flex-basis:100%;color:var(--muted);font-size:14px}
.console-controls {flex-wrap:wrap}
.console-controls button {min-height:44px}
#game {touch-action:none;overscroll-behavior:contain}
.console-shell:fullscreen {width:100%;height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;border:0;border-radius:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.console-shell:fullscreen .console-bezel {flex:1;min-height:0}
.console-shell:fullscreen #game {height:100%;min-height:0}
.play-focus {overflow:hidden}
.play-focus .console-shell {position:fixed;inset:0;z-index:1000;border:0;border-radius:0;display:flex;flex-direction:column;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.play-focus .console-bezel {flex:1;min-height:0}
.play-focus #game {height:100%;min-height:0}
.play-focus .console-foot,.console-shell:fullscreen .console-foot {display:none}
@media (max-height:500px) and (orientation:landscape) {
 .page-retro .console-identity,.page-retro .pad-status {display:none}
 .page-retro .console-topbar {margin-bottom:6px}
 .page-retro .console-controls {width:100%;justify-content:flex-end}
 .page-retro #game {min-height:200px;height:75dvh}
 .page-retro.play-focus #game,.console-shell:fullscreen #game {height:100%;min-height:0}
}
