/* Arcade cabinet: marquee, CRT bezel with scanlines, control panel. Neon from base0B/0E/0F. */
body.sponsor{background:radial-gradient(ellipse at top,var(--base01),var(--base00) 70%);font:18px/1.4 var(--code);min-height:100vh}
.cabinet{width:min(760px,96vw);margin:2vh auto;display:flex;flex-direction:column;align-items:stretch}
.marquee{display:flex;align-items:baseline;justify-content:center;gap:.6em;padding:.5em;border-radius:14px 14px 0 0;
  background:linear-gradient(var(--base02),var(--base00));border:3px solid var(--base0F);box-shadow:0 0 22px var(--base0F),inset 0 0 18px var(--base0F)}
.marquee h1{margin:0;font:italic 700 clamp(30px,7vw,56px) var(--head);color:var(--base0B);text-shadow:0 0 8px var(--base0B),0 0 22px var(--base0B)}
.marquee span{font:700 clamp(16px,3vw,24px) var(--code);color:var(--base0F);letter-spacing:.3em;text-shadow:0 0 8px var(--base0F)}
.bezel{background:var(--base00);padding:22px;border-left:3px solid var(--base02);border-right:3px solid var(--base02)}
.screen{position:relative;aspect-ratio:4/3;border-radius:22px/18px;overflow:hidden;background:#000;background:color-mix(in srgb,var(--base00) 40%,#000);
  box-shadow:inset 0 0 50px #000,0 0 0 4px var(--base02);display:grid;place-items:center;text-align:center;color:var(--base06);padding:6%}
.screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 2px,rgb(0 0 0/.3) 2px 4px)}
.screen h2{font:700 clamp(22px,5vw,40px) var(--code);color:var(--base0A);margin:0 0 .6em;text-shadow:0 0 10px var(--base0A)}
.sub{color:var(--base0C);font-size:.8em}
.credit{color:var(--base04);font-size:.7em;letter-spacing:.2em}
.coin{background:none;border:0;font:700 clamp(18px,4vw,30px) var(--code);color:var(--base0F);cursor:pointer;margin-top:1em;
  text-shadow:0 0 10px var(--base0F);animation:blink 1.1s steps(1) infinite}
.coin.small{font-size:.8em}
@keyframes blink{60%{opacity:0}}
.screen ol,.screen ul{list-style:none;margin:0;padding:0;text-align:left;width:100%}
.screen li{display:grid;grid-template-columns:5ch 28px 1fr auto;gap:1ch;align-items:center;padding:.12em 0}
.stages li{grid-template-columns:9ch 1fr auto}
.screen li img{width:24px;height:24px;image-rendering:pixelated;border-radius:2px}
.screen li a{color:var(--base0B);text-decoration:none;font-family:var(--code)}
.rank{color:var(--base0A)}
.pts{color:var(--base0F)}
.select ul{width:auto;margin:0 auto}
.select li{display:block;padding:.3em 1em}
.select li.sel{outline:2px solid var(--base0B);box-shadow:0 0 12px var(--base0B)}
.select li .rank{margin-right:1.5ch}
.panel{position:relative;height:110px;background:linear-gradient(var(--base02),var(--base00));border:3px solid var(--base03);border-radius:0 0 18px 18px;
  display:flex;align-items:center;gap:28px;padding:0 40px}
.stick{width:26px;height:56px;margin-right:30px;background:var(--base03);border-radius:6px;position:relative}
.stick::before{content:"";position:absolute;top:-22px;left:-11px;width:48px;height:48px;border-radius:50%;background:var(--base08);box-shadow:inset -6px -6px 0 rgb(0 0 0/.3)}
.btn-a,.btn-b{width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset -5px -5px 0 rgb(0 0 0/.35),0 0 12px currentColor}
.btn-a{background:var(--base0F);color:var(--base0F)}.btn-b{background:var(--base0B);color:var(--base0B)}
.btn-a:active,.btn-b:active{transform:translateY(2px)}
.slot{margin-left:auto;color:var(--base0A);text-decoration:none;border:2px solid var(--base0A);padding:.2em .6em;font-family:var(--code)}
.play{width:100%;height:100%;display:flex;flex-direction:column}
.field{flex:1;width:100%;touch-action:none;cursor:crosshair}
.field text{font-family:var(--code)}
.field .bug text{font-size:4px;fill:var(--base08)}
.field .bug .name{font-size:2.4px;fill:var(--base0F)}
.field .ship{font-size:6px;fill:var(--base0B);filter:drop-shadow(0 0 1px var(--base0B))}
.field .shot{fill:var(--base0A)}
.field .pop{font-size:3px;fill:var(--base0D)}
.field .hud{font-size:3px;fill:var(--base0A)}
.screen:has(.play){padding:2%}
.screen .play{align-self:stretch;justify-self:stretch}
.panel .edit{background:none;border:2px solid var(--base0B);color:var(--base0B);font:700 12px var(--code);padding:.2em .6em;cursor:pointer}
.row-title{margin:26px 0 8px;text-align:center;font:700 14px var(--code);letter-spacing:.3em;color:var(--base0F);text-shadow:0 0 8px var(--base0F)}
.row{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;margin-bottom:30px}
.minicab{display:flex;flex-direction:column;align-items:stretch;text-decoration:none;background:var(--base02);border:2px solid var(--base03);border-radius:8px 8px 2px 2px;
  overflow:hidden;transition:transform .15s,box-shadow .15s}
.minicab:hover{transform:translateY(-4px);box-shadow:0 0 18px var(--base0B)}
.mc-marquee{padding:4px;text-align:center;font:700 10px var(--code);color:var(--base0B);background:var(--base00);border-bottom:2px solid var(--base0F);text-shadow:0 0 6px var(--base0B)}
.mc-screen{height:56px;display:grid;place-items:center;margin:8px;font:700 28px var(--code);color:var(--base0A);background:#000;background:color-mix(in srgb,var(--base00) 40%,#000);border-radius:8px/6px;text-shadow:0 0 8px var(--base0A)}
.mc-blurb{padding:0 8px 8px;font:11px/1.3 var(--text);color:var(--base05)}
