@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/barlow-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/barlow-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/barlow-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/barlow-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/barlow-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/barlow-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/barlow-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/barlow-8.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/barlow-9.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/barlow-10.ttf) format('truetype');
}


:root{color-scheme:light;--ink:#34393d;--muted:#747771;--red:#d84339;--blue:#397ac0;--green:#32915f;--yellow:#e3b339;--shell:#d5d4ce;--plastic:#e2e1dc;--edge:#babbb5;font-family:Barlow,"Arial",sans-serif}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 5%,#faf9f3 0,#eeede6 53%,#e0dfd6 100%);color:var(--ink)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888' filter='url(%23n)' opacity='.16' d='M0 0h140v140H0z'/%3E%3C/svg%3E")}
main{width:min(1080px,calc(100% - 64px),calc((100svh - 390px)*1.333 + 350px));margin:32px auto 30px}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}
/* Keep Safari's text selection and long-press callout off the game controls. */
.dpad,.dpad *,.control-shelf,.control-shelf *,.fire-socket,.fire-socket *,#steering{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
button:disabled{cursor:default;opacity:.5}
a{color:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible,#steering:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.edition-line,.below-shell{display:flex;justify-content:space-between;gap:16px;font:600 10px/1.4 Barlow,Arial,sans-serif;letter-spacing:1.6px;color:#797c76;padding:0 9px}
.edition-line{margin-bottom:14px}
.shell{position:relative;border:1px solid #b7b8b0;border-radius:34px 34px 66px 66px;background:linear-gradient(155deg,#e4e3de,#d0cfc9 52%,#d5d4ce);padding:30px 30px 36px;box-shadow:inset 0 3px 2px #ffffffe0,inset 0 -9px 0 #b8b9b2,inset 0 -11px 0 #efeee8,0 15px 0 -4px #b1b2aa,0 16px 0 -4px #8f9289,0 30px 36px -16px #53584a66,0 60px 90px -45px #53584a55}
.shell::before{content:"";position:absolute;inset:8px 9px 17px;border:1px solid #ffffff45;border-bottom:0;border-radius:26px 26px 54px 54px;pointer-events:none}
.shell-header{display:flex;justify-content:space-between;align-items:center;padding:0 10px 24px}
.brand-lockup{display:flex;align-items:center;gap:20px}
.logo{margin:0;font:900 italic 42px/.95 Barlow,Arial,sans-serif;letter-spacing:-2.8px;text-shadow:0 1px #fff}
.logo span{color:#34785a;letter-spacing:-3.5px;margin-left:1px}
.power-label{font:700 8px/1.5 Barlow,Arial,sans-serif;letter-spacing:1px;max-width:155px;display:flex;align-items:center;gap:8px;padding-top:8px}
#power-light{display:block;flex:none;width:7px;height:7px;border-radius:50%;background:#657264;box-shadow:inset 0 1px 3px #25332d99,0 1px #fff9}
.shell[data-state="booting"] #power-light{animation:boot-flicker 1.25s steps(1,end) infinite}
.shell[data-state="running"] #power-light{background:#85d05a;box-shadow:0 0 8px #7ac54b88,inset 0 1px 2px #d0ff95}
.shell[data-state="error"] #power-light{background:var(--red)}
@keyframes boot-flicker{0%,20%,48%,72%,100%{background:#91d86b;box-shadow:0 0 8px #79c34c}12%,40%,62%,88%{background:#657264;box-shadow:inset 0 1px 3px #25332d99}}
.cartridge-mark{display:flex;align-items:center;gap:10px;font:700 10px/1.1 "Barlow Condensed",Arial,sans-serif;letter-spacing:2px}
.cartridge-mark b{font-size:7px;font-weight:600;letter-spacing:1.4px}
.four-colors{display:grid;grid-template-columns:repeat(2,10px);gap:3px;transform:rotate(-15deg)}
.four-colors i{width:10px;height:10px;display:block;border-radius:50%;box-shadow:inset 0 1px #fff7,0 1px 1px #0002;background:var(--red)}
.four-colors i:nth-child(2){background:var(--yellow)}.four-colors i:nth-child(3){background:var(--blue)}.four-colors i:nth-child(4){background:var(--green)}
.console-layout{display:grid;grid-template-columns:132px minmax(0,1fr) 132px;gap:18px;align-items:center}
.display-column{min-width:0}
.display-bezel{background:linear-gradient(130deg,#42494a,#262c30);padding:12px 13px 7px;border-radius:15px;box-shadow:0 2px #f9f9ef99,0 -1px 3px #646a66, inset 0 1px #ffffff1a}
.bezel-label,.bezel-bottom{display:flex;justify-content:space-between;align-items:center;color:#8a9694;font:600 8px/1.2 Barlow,Arial,sans-serif;letter-spacing:1.3px}
.bezel-label{padding:0 2px 9px}.bezel-label span:last-child{font-size:7px;letter-spacing:2px}
.screen{position:relative;aspect-ratio:4/3;background:#080916;overflow:hidden;isolation:isolate;border:2px solid #1d2425;border-radius:4px;box-shadow:0 1px #ffffff12,0 0 5px #0006}
#game,#steering,.boot-panel{position:absolute;inset:0}
#game{z-index:0}
#game canvas{image-rendering:pixelated!important;display:block}
.ejs_menu_bar,.ejs_context_menu{display:none!important}
#steering{z-index:2;touch-action:none;cursor:grab;outline-offset:-4px;overflow:hidden}
#steering:active{cursor:grabbing}
[hidden]{display:none!important}
#stick-origin,#stick-thumb{position:absolute;pointer-events:none;display:none;border-radius:50%;transform:translate(-50%,-50%)}
#stick-origin{width:86px;height:86px;background:#f1eee710;border:1px solid #f1eee76b}
#stick-thumb{width:24px;height:24px;border:1px solid #f1eee7cc;background:#f1eee749}
#steering.dragging i{display:block}
.boot-panel{z-index:3;display:flex;flex-direction:column;justify-content:space-between;padding:7% 7% 6%;color:#eeede7;background:linear-gradient(180deg,#08091612 20%,#080916dc 76%),url('assets/attract.png') center/cover;image-rendering:pixelated}
.boot-kicker{font:600 8px Barlow,Arial,sans-serif;letter-spacing:2px;color:#ada9c7;margin:0}
.boot-title{font:800 52px/.88 "Barlow Condensed","Arial Narrow",sans-serif;letter-spacing:-1px;align-self:flex-start;margin-top:9px;text-shadow:0 2px 16px #05030d88}
.boot-title em{color:#e9c75b;font-style:normal}
.boot-bottom{margin-top:auto;padding-top:20%}
.power-on{border:1px solid #ffffff40;border-radius:5px;background:#e8e6dc;color:#2f3935;box-shadow:inset 0 1px #fff,0 3px 0 #8b958d;font-size:10px;font-weight:800;letter-spacing:1.4px;padding:13px 20px}
.power-on:hover{background:#f5f4ea}.power-on:active{transform:translateY(2px);box-shadow:inset 0 1px #fff,0 1px 0 #8b958d}
.power-icon{font-size:16px;vertical-align:-1px;padding-right:7px}
#boot-message{font:400 10px/1.6 Barlow,Arial,sans-serif;color:#bbb9cb;margin:13px 0 0;max-width:340px}
.shell[data-state="booting"] .boot-title{opacity:.45}
.bezel-bottom{height:28px;font-size:7px;letter-spacing:1.1px}
#fullscreen{padding:3px 6px;border:0;background:none;color:#b9c1b9;font-size:20px;line-height:1}
.grip{display:flex;flex-direction:column;align-items:center;padding-top:20px;gap:16px;align-self:center}
.molded-label,.grip-note{font-size:8px;letter-spacing:1.8px;font-weight:700;color:#7c8077;text-shadow:0 1px #ffffffa6}
.grip-note{font-size:7px;letter-spacing:1px;margin-top:2px}
.dpad{display:grid;grid-template:repeat(3,40px)/repeat(3,40px);filter:drop-shadow(0 4px 0 #757b76) drop-shadow(0 5px 2px #0003);transform:rotate(0);touch-action:none}
.dpad button{border:0;background:linear-gradient(120deg,#525b58,#414b48);color:#78847d;padding:0;touch-action:none;position:relative;box-shadow:inset 0 1px #718077}
.dpad button span{font-size:11px;filter:drop-shadow(0 1px #253a31)}
.dpad button:active,.dpad button.pressed{background:#323e38;color:#a9b6ad;box-shadow:inset 0 3px 4px #0004}
.up{grid-area:1/2;border-radius:5px 5px 0 0}.left{grid-area:2/1;border-radius:5px 0 0 5px}.right{grid-area:2/3;border-radius:0 5px 5px 0}.down{grid-area:3/2;border-radius:0 0 5px 5px}
.dpad-center{grid-area:2/2;background:#47534c;position:relative}
.dpad-center::after{content:"";position:absolute;inset:8px;border:1px solid #29372f99;border-bottom-color:#68776e;border-radius:50%;background:radial-gradient(circle at 65% 65%,#56685a,#3a473e)}
.fire-socket{padding:10px;border-radius:50%;background:linear-gradient(145deg,#b9bab1,#ecebe3);box-shadow:inset 0 2px 3px #858d7b55,0 1px #fff8;transform:rotate(-12deg)}
#fire{width:100px;height:100px;border-radius:50%;border:1px solid #b23930;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#f7d6c9;background:radial-gradient(circle at 40% 20%,#ef6553,#cf3f35 70%);box-shadow:inset 0 2px 2px #ffb099bb,inset 0 -3px 2px #a9322880,0 5px 0 #923d32,0 8px 5px #282b2533;touch-action:none;transform:rotate(12deg)}
#fire span{font-size:10px;opacity:.65;font-weight:600}#fire b{font-size:19px;letter-spacing:2px;font-weight:800}
#fire:active,#fire.pressed{transform:rotate(12deg) translateY(3px);box-shadow:inset 0 2px 2px #ffb09988,inset 0 -3px 2px #a9322855,0 2px 0 #923d32,0 4px 3px #282b2533}
.control-shelf{display:flex;justify-content:center;align-items:center;gap:17px;padding:16px 8px 8px;background:linear-gradient(#b8bbb31a,#f4f1e420);border-radius:0 0 24px 24px}
.shelf-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #adb3a7;border-radius:14px;padding:8px 12px;background:linear-gradient(#e8e8df,#cfcec5);box-shadow:inset 0 1px #fff,0 3px 0 #a3a99c,0 4px 4px #555c4920;font-size:8px;font-weight:700;letter-spacing:.5px;min-height:32px;white-space:nowrap;touch-action:none}
.shelf-button small{font-size:6px;color:#888f81}
.shelf-button:active,.shelf-button.pressed{transform:translateY(2px);box-shadow:inset 0 1px #fff,0 1px 0 #a3a99c}
.pause-button>span{letter-spacing:-1px;font-size:10px}.accent{width:6px;height:6px;border-radius:50%;box-shadow:inset 0 1px #fff7}.blue{background:var(--blue)}.green{background:var(--green)}
#music[aria-pressed="false"] .accent{background:#a4a69b}
.shell-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:27px 12px 0}
.speaker{display:flex;gap:5px;transform:skewY(-14deg);padding:0 7px}
.speaker i{display:block;width:4px;height:30px;border-radius:2px;background:#8b9386;box-shadow:0 1px #f7f6ed,inset 1px 1px 2px #2f392d66}
.nameplate{text-align:center;line-height:1;flex:1;color:#687362;text-shadow:0 1px #ffffffe0}
.nameplate b{font:800 italic 18px/1.1 "Barlow",Arial,sans-serif;letter-spacing:-.6px}
.nameplate span{display:block;font:500 7px/1.4 "Barlow",Arial,sans-serif;letter-spacing:1px;margin-top:4px}
.rom-download{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:9px;letter-spacing:.8px;padding:10px 13px;border:1px solid #b5b8ac;border-radius:6px;box-shadow:inset 0 1px #f5f6ea,0 1px #e7e9dc;background:#c8ccc13b;white-space:nowrap}
.rom-download>span:first-child{font-size:25px;line-height:1;color:#3d8057}.rom-download small{display:block;color:#7e8776;font:500 6px/1.8 Barlow,Arial,sans-serif;letter-spacing:.8px}
.rom-download:hover{background:#e7e8dc}
.screw{position:absolute;bottom:20px;width:7px;height:7px;background:#b1b7a9;border-radius:50%;box-shadow:inset 0 1px 2px #56664a66,0 1px #fff9}
.screw::after{content:"";position:absolute;inset:3px 1px;background:#939d8b;transform:rotate(-30deg)}.screw-left{left:30px}.screw-right{right:30px}
.below-shell{margin:33px 0 29px;font-size:8px;letter-spacing:1.2px}
.below-shell b{font-weight:700;color:#5e6959}
.instructions{margin:0 auto;max-width:850px;border-top:1px solid #cfd1c6;border-bottom:1px solid #cfd1c6}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;padding:18px 0;font-size:16px;font-weight:600;gap:22px}
summary::-webkit-details-marker{display:none}
summary span{margin-left:auto;font-size:8px;font-weight:500;letter-spacing:1.3px;color:#7d8576}summary i{font-style:normal;font-size:24px;font-weight:400;color:#7d8576}details[open] summary i{transform:rotate(45deg)}
.instruction-body{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:12px 0 20px}
.instruction-body h2{font-size:16px;font-weight:600;margin:0 0 14px}
.instruction-body p{font-size:13px;line-height:1.7;color:#687160;margin:0 0 10px}
dl{margin:0;font-size:12px;line-height:1.6}dl>div{display:grid;grid-template-columns:90px 1fr;margin-bottom:7px;gap:10px}dt{font-weight:600}dd{margin:0;color:#687160}
.runtime-note{font-size:11px;line-height:1.7;color:#7a8271;margin:0 0 20px}.runtime-note a{text-underline-offset:3px}
.colophon{text-align:center;font-size:10px;color:#8a8e80;letter-spacing:.3px;margin:24px 0 0}
.noscript{text-align:center}
.shell:fullscreen{width:100vw;height:100dvh;max-width:none;border-radius:0;padding:12px 28px;display:flex;flex-direction:column;justify-content:center;overflow:auto}
.shell:fullscreen .console-layout{width:100%;grid-template-columns:130px minmax(0, min(75vw,calc((100dvh - 170px)*1.333))) 130px;justify-content:center}
.shell:fullscreen .shell-header{padding:0 10px 12px}.shell:fullscreen .shell-footer{margin-top:12px}
@media(min-width:1450px){main{margin-top:65px}.boot-title{font-size:64px}}
@media(max-width:960px){main{width:calc(100% - 32px);margin-top:28px}.shell{padding:24px 18px 32px}.console-layout{grid-template-columns:102px minmax(0,1fr) 102px;gap:10px}.dpad{grid-template:repeat(3,32px)/repeat(3,32px)}#fire{width:82px;height:82px}.fire-socket{padding:8px}.molded-label{font-size:7px;letter-spacing:1.1px}.grip{gap:12px}.logo{font-size:36px}.brand-lockup{gap:14px}.control-shelf{gap:10px;padding:14px 0 6px}.shelf-button{padding:9px 9px;font-size:7px;gap:5px}.shelf-button small{display:none}.boot-title{font-size:44px}.boot-bottom{padding-top:17%}.shell-footer{margin:22px 6px 0}.nameplate span{font-size:6px;letter-spacing:.6px}.speaker{gap:4px;padding:0 3px}.speaker i{height:25px}.rom-download{font-size:8px;padding:9px}.rom-download small{font-size:5px}.boot-kicker{font-size:7px;letter-spacing:1.2px}#boot-message{font-size:9px}.power-on{padding:10px 12px;font-size:9px}.display-bezel{padding:10px 9px 3px}.bezel-label{font-size:6px;letter-spacing:1px}.bezel-bottom{font-size:5px;height:24px}.instruction-body{gap:24px}}
@media(max-width:620px) and (orientation:portrait){main{width:calc(100% - 20px);margin:22px auto}.edition-line{font-size:7px;letter-spacing:.9px;padding:0 8px}.shell{padding:22px 16px 36px;border-radius:25px 25px 48px 48px}.shell-header{padding:0 4px 20px}.brand-lockup{display:block}.logo{font-size:37px}.power-label{font-size:6px;letter-spacing:.8px;padding-top:7px;gap:6px}#power-light{width:5px;height:5px}.cartridge-mark{font-size:8px;letter-spacing:1px;gap:8px}.cartridge-mark b{font-size:5px;letter-spacing:1px}.four-colors{grid-template-columns:repeat(2,8px);gap:3px}.four-colors i{width:8px;height:8px}.console-layout{grid-template-columns:1fr 1fr;gap:0 20px;align-items:center}.display-column{grid-column:1/-1;grid-row:1}.display-bezel{padding:10px 9px 3px;border-radius:11px}.bezel-label{font-size:6px;padding-bottom:8px}.bezel-bottom{font-size:6px;height:26px;letter-spacing:.7px}.screen{aspect-ratio:4/3}.boot-title{font-size:46px}.boot-panel{padding:7%}.boot-kicker{font-size:7px}.boot-bottom{padding-top:13%}.power-on{font-size:9px;padding:11px 16px}#boot-message{font-size:9px;margin-top:12px}.control-shelf{padding:17px 0 8px;gap:13px}.shelf-button{min-height:44px;padding:10px 12px;font-size:7px}.grip{grid-row:2;padding-top:19px;gap:10px;align-self:start}.left-grip{grid-column:1}.right-grip{grid-column:2}.dpad{grid-template:repeat(3,44px)/repeat(3,44px)}.molded-label{font-size:7px;letter-spacing:1.4px}.grip-note{font-size:6px;letter-spacing:.6px}.fire-socket{margin:4px 0;padding:9px}#fire{width:100px;height:100px}#fire b{font-size:20px}.shell-footer{display:grid;grid-template-columns:1fr auto;gap:23px 15px;margin:27px 4px 0}.speaker{grid-row:1;grid-column:1;justify-content:center;width:126px}.speaker i{height:17px;width:3px;gap:4px}.nameplate{grid-column:1/-1;grid-row:2}.nameplate b{font-size:18px}.nameplate span{font-size:6px;letter-spacing:.8px}.rom-download{grid-row:1;grid-column:2;font-size:7px;padding:8px}.rom-download small{font-size:5px}.rom-download>span:first-child{font-size:21px}.screw{bottom:24px}.below-shell{font-size:6px;letter-spacing:.6px;margin:30px 3px 25px;padding:0}.instructions{margin:0 12px}summary{font-size:14px;gap:10px;padding:16px 0}summary span{font-size:6px;letter-spacing:.6px}.instruction-body{grid-template-columns:1fr;gap:16px}.instruction-body h2{font-size:15px}.instruction-body p,dl{font-size:12px}.runtime-note{font-size:10px}.colophon{font-size:8px;margin:20px 12px}.shell:fullscreen{padding:16px;display:block}.shell:fullscreen .console-layout{grid-template-columns:1fr 1fr}.shell:fullscreen .shell-footer{margin-top:20px}}
@media(max-height:600px) and (orientation:landscape){main{width:calc(100% - 20px);margin:10px auto}.edition-line,.below-shell,.instructions,.colophon{display:none}.shell{padding:12px 16px 18px;border-radius:22px 22px 36px 36px}.shell-header{padding:0 3px 10px}.logo{font-size:27px}.power-label{font-size:6px;padding-top:3px}.cartridge-mark{font-size:7px}.cartridge-mark b{font-size:5px}.console-layout,.shell:fullscreen .console-layout{grid-template-columns:100px minmax(0,min(62vw,calc((100svh - 202px)*1.333))) 100px;gap:12px;justify-content:center}.display-bezel{padding:6px 7px 0}.bezel-label{font-size:5px;padding-bottom:5px}.bezel-bottom{height:20px;font-size:5px}#fullscreen{font-size:17px}.grip{padding-top:0}.dpad{grid-template:repeat(3,34px)/repeat(3,34px)}#fire{width:86px;height:86px}.control-shelf{padding-top:8px;gap:10px}.shelf-button{min-height:28px;padding:7px 9px;font-size:6px}.shell-footer{margin:10px 7px 0;gap:10px}.speaker i{height:15px;width:3px}.nameplate b{font-size:12px}.nameplate span{font-size:5px;margin-top:2px}.rom-download{font-size:6px;padding:5px 9px;gap:6px}.rom-download small{font-size:4px}.rom-download>span:first-child{font-size:18px}.screw{bottom:12px}.boot-panel{padding:6%}.boot-title{font-size:34px;margin-top:3px}.boot-kicker{font-size:5px;letter-spacing:1px}.boot-bottom{padding-top:12%}.power-on{padding:7px 10px;font-size:7px}.power-icon{font-size:12px}#boot-message{font-size:7px;line-height:1.4;margin-top:8px}.shell:fullscreen{padding:10px 16px}.shell:fullscreen .shell-header{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.shell[data-state="booting"] #power-light{animation:none;background:#9cbf76}}
