@charset "utf-8";
/* Retro arcade: synthwave — a striped sun on a neon grid, pixel letters, glowing dice. */
:root[data-theme="arcade"] {
  --bg: #14002e; --panel: #1d0838; --ink: #ffe9ff; --muted: #c79bdb; --line: #4d1d7a;
  --accent: #ff2bd6; --accent-ink: #14002e; --mover: #2a0d52; --die: #0c0020; --die-edge: #00eaff;
  --pip: #00eaff; --held: #ff2bd6; --field: #12002a; --good: #39ff9e; --bad: #ff5f7e;
  --title: #ff2bd6; --title-font: "Press Start 2P", monospace; --name-font: "Press Start 2P", monospace;
  --radius: 4px; --mark: "▶";
  --pattern: linear-gradient(#14002e 0 50%, #2d0750 75%, #5a0f6e 100%);
}
[data-theme="arcade"] h1 { font-size: 24px; line-height: 1.4; text-shadow: 0 0 8px #ff2bd6, 0 0 20px #ff2bd6; animation: neon-flicker 6s steps(1) infinite; }
@keyframes neon-flicker { 0%, 93%, 97%, 100% { opacity: 1; } 95% { opacity: .55; } }
[data-theme="arcade"] .tray-head .name { font-size: 11px; line-height: 1.6; }
[data-theme="arcade"] .tray-head .total { font-size: 18px; color: #00eaff; text-shadow: 0 0 8px #00eaff; }
[data-theme="arcade"] .sheet thead th { font-size: 9px; line-height: 1.6; }
[data-theme="arcade"] .sheet tr.total td, [data-theme="arcade"] .sheet tr.total th { font-size: 13px; }
[data-theme="arcade"] h2 { font-size: 12px; }
[data-theme="arcade"] .card { box-shadow: 0 0 0 1px #ff2bd655, 0 0 18px rgba(255, 43, 214, .15); }
[data-theme="arcade"] .die:not(.blank) { box-shadow: 0 0 8px rgba(0, 234, 255, .6), inset 0 0 6px rgba(0, 234, 255, .3); border-radius: 4px; }
[data-theme="arcade"] .pip { border-radius: 1px; box-shadow: 0 0 5px #00eaff; }
[data-theme="arcade"] .die.held { border-color: var(--held); box-shadow: 0 0 0 2px var(--held), 0 0 16px var(--held); }
[data-theme="arcade"] .die.held .pip { background: #ff2bd6; box-shadow: 0 0 5px #ff2bd6; }
[data-theme="arcade"] button.primary { box-shadow: 0 0 12px rgba(255, 43, 214, .6); text-transform: uppercase; }
/* The sun on the horizon, and the grid running towards it. */
[data-theme="arcade"] body::before {
  content: ""; position: fixed; left: 50%; bottom: 20vh; width: 240px; height: 240px; margin-left: -120px;
  border-radius: 50%; pointer-events: none; z-index: 0; opacity: .5;
  background:
    repeating-linear-gradient(to bottom, transparent 0 12px, #2d0750 12px 18px) bottom / 100% 50% no-repeat,
    linear-gradient(#ffd319, #ff8c1a 50%, #ff2bd6);
}
[data-theme="arcade"] body::after {
  content: ""; position: fixed; left: -50%; right: -50%; bottom: 0; height: 24vh; pointer-events: none; z-index: 0; opacity: .55;
  background:
    repeating-linear-gradient(90deg, rgba(255, 43, 214, .7) 0 2px, transparent 2px 60px),
    repeating-linear-gradient(0deg, rgba(255, 43, 214, .7) 0 2px, transparent 2px 36px);
  transform: perspective(260px) rotateX(58deg); transform-origin: bottom;
  animation: grid-run 1.6s linear infinite;
}
@keyframes grid-run { to { background-position: 0 0, 0 36px; } }
[data-theme="arcade"] .ambient .a1 { display: block; top: 6%; left: 4%; font-size: 26px; animation: invader 12s steps(12) infinite alternate; }
[data-theme="arcade"] .ambient .a1::before { content: "👾"; }
@keyframes invader { to { transform: translateX(80vw); } }
