:root{color-scheme:dark;--bg:#141615;--panel:#1c1f1d;--border:#343933;--ink:#eef0e7;--muted:#a0a79c;--acid:#cbef72;--mono:'Courier New',monospace;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--border);background:transparent;border-radius:5px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#343b30;border-color:#6a7857}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--acid);outline-offset:4px}a{color:inherit}button,select{min-height:40px}button.primary{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--acid);color:#1c2513;border:1px solid var(--acid);padding:15px 20px;font-weight:800;font-size:14px;border-radius:4px;box-shadow:0 3px 0 #789144}button.primary:hover{background:#defda2;color:#1c2513;border-color:#defda2}button.primary span{font-size:20px;line-height:16px}.secondary{padding:12px 18px;background:#2a3028;font-weight:600}.topbar{height:78px;max-width:1440px;margin:auto;padding:0 48px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800;letter-spacing:2px;text-decoration:none}.brand-icon{width:33px;height:30px;background:var(--acid);color:var(--bg);font-size:17px;letter-spacing:-2px;display:flex;align-items:center;justify-content:center;transform:skew(-8deg)}.brand-icon span{font-size:13px;margin-top:5px}.topnote{font-family:var(--mono);font-size:10px;letter-spacing:1.4px;display:flex;align-items:center;gap:9px;color:var(--muted)}.status-dot{display:inline-block;height:6px;width:6px;border-radius:50%;background:var(--acid);flex-shrink:0}.sep{color:#586152;margin:0 6px}.text-button{font-size:12px;font-weight:600;border:0;padding:0 2px;display:flex;gap:20px;align-items:center}.text-button span{color:var(--acid)}main{max-width:1344px;padding:0 32px;margin:auto}.heading{padding:37px 0 28px;display:flex;align-items:flex-end;justify-content:space-between}.eyebrow{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.8px;color:var(--acid);margin:0 0 13px}h1{font-family:Impact,'Arial Narrow',var(--sans);font-weight:900;font-size:46px;line-height:1;letter-spacing:.2px;margin:0}h1 span{display:block;font:600 13px var(--mono);letter-spacing:6px;margin-top:12px;color:var(--muted)}.edition{text-align:right;font:11px var(--mono);color:var(--acid);letter-spacing:1px}.edition span{display:block;color:var(--muted);font-size:9px;margin-top:9px}.arcade-layout{display:grid;grid-template-columns:minmax(0,1fr) 314px;gap:24px;align-items:start}.cabinet{border:1px solid #41463d;border-radius:8px;background:#232722;overflow:hidden;box-shadow:0 16px 45px #0003}.cabinet-top{font:10px var(--mono);letter-spacing:.7px;color:#a9b19f;height:41px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.cabinet-top>span:first-child{display:flex;align-items:center;gap:8px}#runDot{background:#64715c}#runDot.running{background:var(--acid);box-shadow:0 0 9px #cbef7240}.screen-wrap{position:relative;background:#080c0b;aspect-ratio:256/224;margin:0 12px;overflow:hidden;border:1px solid #080a09;isolation:isolate;display:flex;align-items:center;justify-content:center}#screen{height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:pixelated;display:block;background:#080c0b}.empty-screen{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#24302a 0,#141f1c 42%,#0f1715 90%);display:flex;justify-content:center;overflow:hidden}.empty-content{position:relative;z-index:2;text-align:center;padding:35px 20px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.insert-label{font:10px var(--mono);color:var(--acid);letter-spacing:2px;margin:25px 0 12px}.empty-content h2{font-family:Impact,'Arial Narrow',var(--sans);font-size:52px;line-height:1.02;font-weight:900;letter-spacing:.3px;margin:0 0 16px;text-transform:uppercase}.empty-content>p:not(.insert-label){font-size:13px;line-height:1.6;color:#aab8ac;margin:0 0 24px}.empty-content strong{font-weight:600;color:#e2e8de}.empty-content .primary{width:204px}.empty-content small{font-size:10px;color:#7f9181;margin-top:17px}.cartridge{width:93px;height:98px;background:#7d8980;border:5px solid #45564b;border-radius:6px 6px 0 0;box-shadow:6px 6px 0 #0004;transform:rotate(-8deg);padding:5px 7px 18px;position:relative}.cartridge:after{content:'';position:absolute;width:48px;height:8px;background:repeating-linear-gradient(90deg,#535e52 0 3px,#acb295 3px 5px);left:18px;bottom:0}.cartridge>div{background:var(--acid);padding:10px 2px;color:#23321d;font:bold 9px var(--mono);line-height:1.2}.cartridge b{font-size:7px}.cartridge span{display:block;border-top:1px solid #607333;font:5px var(--mono);letter-spacing:.7px;margin-top:6px;padding-top:3px}.city{position:absolute;inset:0;display:flex;align-items:end;gap:2%;opacity:.38}.city span{background-color:#293b31;background-image:repeating-linear-gradient(0deg,transparent 0 14px,#14221c 14px 24px),repeating-linear-gradient(90deg,transparent 0 8px,#14221c 8px 18px);width:15%;height:28%;border-top:5px solid #364539}.city span:nth-child(2n){height:42%}.city span:nth-child(3n){height:33%}.city span:nth-child(4n){height:22%}.screen-floor{position:absolute;bottom:0;left:0;right:0;height:11%;background:repeating-linear-gradient(0deg,#30403644 0 1px,transparent 1px 20px),repeating-linear-gradient(90deg,#30403644 0 1px,transparent 1px 65px);background-color:#101b17;transform:perspective(90px) rotateX(35deg);transform-origin:bottom}.scanlines{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0004 0 1px,transparent 1px 4px);z-index:3}.paused-overlay,.drop-overlay{position:absolute;inset:0;background:#0b110de6;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(3px)}.paused-overlay>span{font:10px var(--mono);letter-spacing:3px;color:var(--acid)}.paused-overlay h2{font-size:34px;letter-spacing:-1px}.drop-overlay{border:3px dashed var(--acid);font:bold 17px var(--mono);color:var(--acid);z-index:6;pointer-events:none}.toolbar{display:flex;justify-content:space-between;gap:8px;padding:14px 16px}.toolbar>div{display:flex;gap:8px}.toolbar button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;font-size:17px;border-color:#444d3f}.toolbar button span:not(#pauseIcon){font-size:11px}.toolbar #pauseIcon{font-size:16px}.game-strip{background:#1b1f1a;border-top:1px solid var(--border);display:flex;align-items:center;gap:15px;justify-content:space-between;padding:5px 17px;font:9px var(--mono);letter-spacing:.6px}.game-strip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.game-strip button{border:0;color:var(--acid);white-space:nowrap;font-size:10px}aside{display:grid;gap:14px}.panel{border:1px solid var(--border);border-radius:6px;padding:20px;background:var(--panel)}.panel-label{display:flex;align-items:center;gap:8px;font:9px var(--mono);font-weight:700;letter-spacing:.7px;color:#b4bcae}.number{color:var(--acid);font-size:9px}.play-panel{background:linear-gradient(120deg,#272e22,#1e241d)}.panel h2{font-size:29px;line-height:1.05;letter-spacing:-.9px;margin:19px 0 12px}.panel p{color:var(--muted);font-size:12px;line-height:1.7}.panel p strong{color:#d8dece;font-weight:500}.panel em{font-style:normal}.panel .primary{width:100%;margin-top:20px}.file-note{margin-top:15px;font:8px var(--mono);letter-spacing:.6px;color:#89957e;text-align:center}.file-note span{padding:0 5px}.small-link{border:0;min-height:20px;padding:0;font:9px var(--mono);margin-left:auto;color:#ccd4c2;letter-spacing:0}.control-preview{display:flex;align-items:center;justify-content:space-between;margin:20px 0 14px;gap:12px}.arrow-keys{text-align:center}.arrow-keys>kbd{margin-bottom:4px}.arrow-keys>div{display:flex;gap:4px}kbd{border:1px solid #59634e;border-bottom:3px solid #59634e;background:#2c3328;min-width:28px;height:28px;padding:5px 6px;display:inline-flex;justify-content:center;align-items:center;font:11px var(--mono);border-radius:4px;color:#dde7d1}.action-keys{display:flex;gap:13px}.action-keys>div{display:flex;flex-direction:column;align-items:center;gap:6px}.action-keys kbd{width:36px;height:36px;font-size:15px;background:#39482b;border-color:#6a8349}.action-keys span{font:9px var(--mono);color:var(--muted)}.control-footer{display:flex;justify-content:space-between;gap:7px;font-size:10px;color:var(--muted);align-items:center}.control-footer kbd{height:22px;font-size:8px;padding:4px;margin-right:4px}.gamepad-status{border-top:1px solid var(--border);padding-top:15px;margin-top:16px;font-size:10px;line-height:1.5;color:#929d89;display:flex;align-items:center;gap:8px}.gamepad-status>span{color:var(--acid)}.save-panel{padding-bottom:14px}.slot-line{display:flex;align-items:center;justify-content:space-between;margin-top:15px;font-size:12px}.slot-line select{min-height:32px;background:#272d24;border:1px solid #49533f;color:var(--ink);padding:5px 10px;border-radius:4px}.save-status{margin:10px 0!important;font-size:10px!important;min-height:17px}.save-buttons{display:flex;gap:8px}.save-buttons button{flex:1;background:#30382a;font-size:12px}.backup-buttons{display:flex;justify-content:space-between;gap:10px;margin-top:3px}.backup-buttons button{border:0;min-height:35px;font-size:10px;color:#bdc7b2}.micro{font-size:10px!important;color:#8c9585!important;line-height:1.6!important;margin-bottom:0}.lower-bar{display:flex;align-items:center;justify-content:space-between;padding:19px 0;gap:15px}.lower-bar p{display:flex;align-items:center;gap:8px;font:9px var(--mono);color:#8d9b80;letter-spacing:.5px}footer{border-top:1px solid var(--border);padding:22px 0 30px;display:flex;justify-content:space-between;gap:15px;color:#7d8975;font-size:10px;line-height:1.6}footer a{text-decoration:underline;text-underline-offset:3px}.touch-controller{display:none;padding:15px 20px 20px;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #3b4633;touch-action:none;user-select:none}.dpad{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,32px)}.dpad button{min-height:32px;padding:0;border:0;background:#394730;border-radius:4px;color:var(--acid)}.dpad [data-control=UP]{grid-column:2}.dpad [data-control=LEFT]{grid-column:1;grid-row:2}.dpad span{grid-column:2;grid-row:2;background:#394730}.dpad [data-control=RIGHT]{grid-column:3;grid-row:2}.dpad [data-control=DOWN]{grid-column:2;grid-row:3}.ab-buttons{display:flex;gap:10px;transform:rotate(-14deg)}.ab-buttons button{width:46px;height:46px;border-radius:50%;border:2px solid #617747;background:#3c5228;color:var(--acid);font-weight:bold}.center-buttons{display:flex;gap:8px;align-self:flex-end;margin-bottom:8px}.center-buttons button{border-radius:15px;padding:0 9px;min-height:28px;font:8px var(--mono);background:#343b30}.touch-controller button{touch-action:none}.touch-controller button.pressed{background:var(--acid);color:#172110}dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink);background:#20271e;border:1px solid #60704e;border-radius:10px;padding:28px;box-shadow:0 20px 80px #000a}dialog::backdrop{background:#040906bb;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-heading h2{font-size:29px;letter-spacing:-1px;margin:0 0 10px}.dialog-heading .eyebrow{margin-bottom:10px}.close-button{border:0;width:40px;font-size:28px;align-self:flex-start}dialog p{color:#b1bba8;font-size:13px;line-height:1.7}table{width:100%;border-collapse:collapse;font-size:12px;margin:20px 0}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #3c4834}th{font:10px var(--mono);color:var(--acid)}td:nth-child(2),td:nth-child(3){font-family:var(--mono)}.dialog-box{background:#171f16;padding:16px;border-radius:5px;margin:20px 0}.dialog-box h3{font-size:14px;margin:0}.dialog-box p{font-size:12px;margin-bottom:0}.setting-row{display:flex;justify-content:space-between;align-items:center;margin:25px 0 14px}.setting-row input{width:22px;height:22px;accent-color:var(--acid)}#volume{width:100%;accent-color:var(--acid)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:15;background:var(--acid);color:#1c2a13;padding:14px 22px;border-radius:6px;box-shadow:0 5px 25px #0005;font-size:13px;max-width:calc(100% - 32px);width:max-content;text-align:center}#toast.error{background:#f0b5a1;color:#432016}[hidden]{display:none!important}.cabinet:fullscreen{background:#10150f;border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;padding:10px}.cabinet:fullscreen .screen-wrap{height:calc(100dvh - 115px);margin:auto;aspect-ratio:256/240;max-width:100%;flex:none}.cabinet:fullscreen .cabinet-top,.cabinet:fullscreen .game-strip{display:none}.cabinet:fullscreen .toolbar{max-width:820px;width:100%;margin:0 auto}.cabinet.theater{position:fixed;inset:0;z-index:10;background:#0b100c;display:flex;flex-direction:column;justify-content:center}.cabinet.theater .screen-wrap{flex:1;min-height:0;aspect-ratio:auto}.cabinet.theater canvas{height:100%;max-height:100%;max-width:100%}@media(min-width:1250px){.screen-wrap{aspect-ratio:256/220}.empty-content h2{font-size:57px}}@media(max-width:1100px){.arcade-layout{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.panel{padding:17px}.heading h1{font-size:39px}.empty-content{padding:20px 10px}.empty-content h2{font-size:40px}.cartridge{transform:scale(.85) rotate(-8deg);margin:-8px 0}.insert-label{margin-top:18px}.empty-content>p:not(.insert-label){margin-bottom:16px}.screen-wrap{aspect-ratio:256/255}}@media(max-width:800px){.topbar{padding:0 22px;height:64px}.topnote{display:none}main{padding:0 20px}.heading{padding:28px 0 22px}.heading h1{font-size:37px}.heading h1 span{font-size:11px;letter-spacing:4px}.edition{display:none}.arcade-layout{grid-template-columns:1fr}.screen-wrap{aspect-ratio:256/224}.empty-content h2{font-size:50px}aside{grid-template-columns:1fr 1fr}.play-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:center}.play-panel .panel-label{grid-column:1/-1}.play-panel h2{margin-top:15px}.play-panel>p{grid-row:2/4;grid-column:2}.play-panel .primary{margin:5px 0 0}.play-panel .file-note{grid-column:1;margin-top:10px}.panel h2{font-size:27px}.lower-bar p{font-size:8px}footer{flex-direction:column;gap:8px}.touch-controller{display:flex}.cabinet:fullscreen .screen-wrap{height:calc(100dvh - 220px)}.cabinet:fullscreen .touch-controller{max-width:600px;width:100%;margin:auto}.cabinet:fullscreen .toolbar{padding:8px}.cartridge{transform:rotate(-8deg);margin:0}.empty-content{padding:30px 10px}}@media(max-width:460px){main{padding:0 12px}.topbar{padding:0 16px}.wordmark{font-size:10px;letter-spacing:1.5px}.heading{padding-top:24px}.heading h1{font-size:31px}.heading h1 span{font-size:10px;letter-spacing:3.8px}.eyebrow{font-size:8px;letter-spacing:1.4px}.cabinet-top{padding:0 10px;font-size:8px}.screen-wrap{margin:0 7px;aspect-ratio:256/273}.empty-content{padding:20px 8px}.empty-content h2{font-size:41px}.empty-content .cartridge{transform:scale(.7) rotate(-8deg);margin:-12px 0 -5px}.insert-label{font-size:8px;margin:15px 0 10px}.empty-content>p:not(.insert-label){font-size:12px;margin-bottom:17px}.empty-content .primary{padding:12px 16px;width:190px}.empty-content small{margin-top:14px;font-size:9px}.toolbar{padding:12px 10px;gap:4px}.toolbar>div{gap:5px}.toolbar button{padding:0 8px;gap:6px}.toolbar button span:not(#pauseIcon){font-size:10px}.touch-controller{padding:10px 12px 16px}.dpad{grid-template-columns:repeat(3,32px);grid-template-rows:repeat(3,31px)}.center-buttons{gap:4px}.center-buttons button{font-size:7px;padding:0 7px}.ab-buttons{gap:6px}.ab-buttons button{height:42px;width:42px}aside{grid-template-columns:1fr}.play-panel{display:block}.play-panel h2 br{display:none}.play-panel h2{font-size:25px}.panel{padding:20px}.control-preview{justify-content:space-around}.control-footer{justify-content:center;gap:22px}.lower-bar{align-items:flex-start}.lower-bar p{max-width:200px;line-height:1.7;margin:0}.lower-bar .text-button{font-size:10px;gap:8px;min-height:24px}.game-strip{padding:4px 10px}.game-strip button{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(min-width:801px){.screen-wrap{height:clamp(400px,59vh,620px);aspect-ratio:auto}.empty-content{padding:20px 10px}.empty-content h2{font-size:46px}.empty-content .cartridge{transform:scale(.85) rotate(-8deg);margin:-8px 0}.insert-label{margin-top:18px}}

.version-badge{display:inline-block;margin-left:6px;padding:3px 6px;border:1px solid #667d42;border-radius:3px;color:var(--acid);letter-spacing:0;font-size:12px;vertical-align:middle}.game-strip{min-height:43px}.cabinet{scroll-margin-top:16px}.noscript-message{padding:20px;text-align:center;color:var(--acid)}#launchHint{max-width:280px;line-height:1.5}.version-badge{white-space:nowrap}
@media(max-width:460px){.heading h1{font-size:29px}.heading h1 span{letter-spacing:2.8px}.version-badge{font-size:10px}.topbar .wordmark{letter-spacing:1px}}

/* Keep the complete launcher visible and make touch targets usable on narrow screens. */
.cabinet:not(.has-game) .screen-wrap{min-height:440px}
@media(max-width:800px),(pointer:coarse){
  .touch-controller{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"dpad ab" "center center";gap:8px;align-items:center}
  .dpad{grid-area:dpad;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px)}
  .dpad button{min-height:44px}
  .ab-buttons{grid-area:ab;justify-self:end}.ab-buttons button{width:48px;height:48px}
  .center-buttons{grid-area:center;justify-self:center;align-self:center;margin:0;gap:14px}.center-buttons button{min-height:44px;min-width:60px;font-size:9px}
  .cabinet.has-game .screen-wrap{aspect-ratio:256/240}
  .cabinet:fullscreen .screen-wrap{height:calc(100dvh - 290px);min-height:0;aspect-ratio:256/240}
  .cabinet:not(.has-game):fullscreen .touch-controller{display:none}
  .cabinet:not(.has-game):fullscreen .screen-wrap{height:calc(100dvh - 80px);min-height:0;width:100%}
}
@media(max-height:500px){.cabinet:fullscreen .touch-controller{display:none}.cabinet:fullscreen .screen-wrap{height:calc(100dvh - 75px);min-height:0}.cabinet:fullscreen .empty-content .cartridge{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.cabinet:not(.has-game) .screen-wrap{aspect-ratio:auto}
.empty-content{min-width:0;max-width:100%}
@media(max-width:460px){.empty-content h2{font-size:clamp(29px,8.3vw,38px)}.toolbar button{font-size:13px;white-space:nowrap;padding:0 5px;gap:3px}.toolbar button span:not(#pauseIcon){font-size:9px}}
