/* $PS5SX2: ps2 boot-screen blue + memory-card browser. System fonts only (CSP: no external hosts). */
:root {
  --bg: #030820;
  --bg2: #081a5c;
  --ink: #eef3ff;
  --dim: #9fb2e6;
  --line: rgba(160, 190, 255, 0.22);
  --panel: rgba(10, 24, 80, 0.55);
  --glow: #7fb2ff;
  --hot: #ffffff;
  --sans: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --mono: ui-monospace, Menlo, Consolas, monospace;
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0; min-height: 100vh; color: var(--ink); font: 16px/1.5 var(--sans);
  background: radial-gradient(120% 80% at 50% 0%, #10307f 0%, var(--bg2) 35%, var(--bg) 78%);
  overflow-x: hidden;
}
a { color: inherit; }
.fog {
  position: fixed; inset: -20%; pointer-events: none; z-index: 0; opacity: 0.55;
  background:
    radial-gradient(30% 22% at 25% 35%, rgba(120, 170, 255, 0.28), transparent 70%),
    radial-gradient(28% 20% at 75% 60%, rgba(90, 140, 255, 0.22), transparent 70%),
    radial-gradient(40% 25% at 50% 90%, rgba(60, 110, 230, 0.25), transparent 70%);
  animation: drift 24s ease-in-out infinite alternate;
}
@keyframes drift { from { transform: translate3d(-3%, 0, 0); } to { transform: translate3d(3%, -2%, 0); } }
@media (prefers-reduced-motion: reduce) { .fog { animation: none; } }

.bar {
  position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 14px 24px; font-size: 13px; letter-spacing: 0.12em; text-transform: lowercase; color: var(--dim);
  border-bottom: 1px solid var(--line);
}
.bar-l { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); }
.dot { width: 9px; height: 9px; border-radius: 50%; background: var(--glow); box-shadow: 0 0 10px var(--glow); }

.wrap { position: relative; z-index: 1; max-width: 1100px; margin: 0 auto; padding: 36px 24px 24px; }
.hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: center; }

.screen { margin: 0; }
.screen video {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: #000;
  border-radius: 6px; border: 1px solid var(--line);
  box-shadow: 0 0 0 6px rgba(5, 12, 40, 0.8), 0 0 60px rgba(80, 140, 255, 0.35);
}
.screen figcaption { margin-top: 12px; font-size: 13px; color: var(--dim); }

.tick { margin: 0 0 6px; font: 600 14px var(--mono); letter-spacing: 0.08em; color: var(--glow); }
h1 {
  margin: 0; font-weight: 300; font-size: clamp(44px, 7vw, 76px); line-height: 1; letter-spacing: 0.04em;
  text-shadow: 0 0 18px rgba(140, 185, 255, 0.75), 0 0 2px #fff;
}
.line { margin: 14px 0 18px; font-size: 19px; line-height: 1.45; }
.fees {
  margin: 0 0 20px; padding: 12px 14px; font-size: 15px; color: var(--dim);
  border-left: 3px solid var(--glow); background: var(--panel);
}
.fees b { color: var(--ink); font-weight: 600; }
.fees a { text-decoration-color: var(--glow); text-underline-offset: 3px; }

.ca {
  display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 14px; margin-bottom: 14px;
  border: 1px solid var(--line); border-radius: 6px; background: rgba(2, 6, 24, 0.7);
}
.ca-k { font: 700 12px var(--mono); color: var(--glow); letter-spacing: 0.1em; }
.ca code { flex: 1; min-width: 0; font: 13px var(--mono); color: var(--dim); overflow-wrap: anywhere; }
.ca.live code { color: var(--ink); }
.ca button {
  font: 600 13px var(--sans); color: var(--bg); background: var(--ink); border: 0; border-radius: 4px;
  padding: 8px 12px; cursor: pointer;
}
.ca button:disabled { opacity: 0.35; cursor: default; }

.btns { display: flex; flex-wrap: wrap; gap: 10px; }
.btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 6px;
  font-weight: 600; font-size: 15px; text-decoration: none; border: 1px solid var(--line); background: var(--panel);
}
.btn:hover { border-color: var(--glow); }
.btn.hot { background: var(--hot); color: #06124a; border-color: var(--hot); box-shadow: 0 0 24px rgba(140, 185, 255, 0.55); }
.btn[aria-disabled="true"] { opacity: 0.45; pointer-events: none; }

.card { margin-top: 48px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
.card h2 {
  display: flex; justify-content: space-between; margin: 0; padding: 12px 18px; font-size: 13px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: lowercase; color: var(--dim); border-bottom: 1px solid var(--line);
}
.free { font-family: var(--mono); letter-spacing: 0; }
.saves { list-style: none; margin: 0; padding: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.saves a {
  display: grid; grid-template-columns: 52px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center;
  padding: 14px; border-radius: 6px; text-decoration: none; border: 1px solid transparent;
  background: linear-gradient(180deg, rgba(40, 80, 200, 0.25), rgba(10, 24, 80, 0.2));
}
.saves a:hover, .saves a:focus-visible { border-color: var(--glow); box-shadow: 0 0 18px rgba(120, 170, 255, 0.35); outline: none; }
.ico {
  grid-row: span 2; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 10px;
  background: radial-gradient(circle at 35% 30%, #4b7dff, #10297a); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
.ico svg { width: 24px; height: 24px; }
.ico-kofi { background: radial-gradient(circle at 35% 30%, #5bb7ff, #0e3a8a); }
.name { font-weight: 600; font-size: 16px; }
.meta { font-size: 13px; color: var(--dim); overflow-wrap: anywhere; }

.how { margin: 40px 0 8px; max-width: 760px; }
.how h2 { margin: 0 0 8px; font-size: 13px; font-weight: 500; letter-spacing: 0.12em; color: var(--dim); }
.how p { margin: 0; color: var(--ink); opacity: 0.9; }

footer {
  position: relative; z-index: 1; max-width: 1100px; margin: 0 auto; padding: 24px; font-size: 13px; color: var(--dim);
  border-top: 1px solid var(--line);
}

@media (max-width: 860px) {
  .hero { grid-template-columns: 1fr; gap: 26px; }
  .saves { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .bar { padding: 12px 16px; font-size: 11px; }
  .wrap { padding: 22px 16px 16px; }
  footer { padding: 20px 16px; }
  .line { font-size: 17px; }
}
