﻿:root{font-family:Arial,Helvetica,sans-serif;color:#252525;background:#e5e5e0;font-synthesis:none;--red:#d32920;--ink:#252525;--gray:#bcbdb7;--mono:"Courier New",Courier,monospace}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#ffffff12,#ffffff12),repeating-linear-gradient(0deg,transparent 0 3px,#00000002 3px 4px)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}header,main,footer{max-width:1160px;margin:auto}header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid var(--ink)}.brand{display:flex;align-items:center;gap:9px;color:var(--red);text-decoration:none;font-size:27px;font-weight:900;letter-spacing:-1.5px}.brand>span{border:3px solid var(--red);border-radius:22px;padding:1px 10px;font-size:19px;letter-spacing:-.7px}.header-label{font:700 11px var(--mono);letter-spacing:1.3px;display:flex;gap:22px;align-items:center}.header-label b{background:var(--red);color:#fff;padding:8px 10px}.intro{padding:40px 0 35px;display:flex;justify-content:space-between;align-items:end}.eyebrow,.panel-label,.save-heading{font:700 11px/1.5 var(--mono);letter-spacing:1px}.eyebrow{color:#66675f;margin:0 0 17px}h1{font-size:clamp(44px,5.5vw,68px);letter-spacing:-3px;line-height:.98;margin:0;font-weight:900}h1 em{font-style:normal;color:var(--red)}.intro-note{padding-bottom:2px;width:340px}.intro-note p{font-size:14px;line-height:1.7;color:#62635e;margin:14px 0 0}.outline-badge{display:inline-block;border:2px solid var(--red);border-radius:25px;color:var(--red);font-size:13px;font-weight:800;padding:5px 14px;letter-spacing:1px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:32px;align-items:start}.console{background:#c9cac4;border:1px solid #a5a69f;border-radius:5px 5px 11px 11px;padding:23px 25px 0;box-shadow:0 7px 0 #989991,0 9px 0 #777970,0 18px 26px #25252515;overflow:hidden}.console-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 19px}.console-wordmark{color:var(--red);font-size:27px;font-weight:900;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.console-wordmark small{font-size:8px;letter-spacing:.6px;max-width:94px;line-height:1.5}#fps{font:700 11px var(--mono);color:#52554d;white-space:nowrap}.screen-frame{background:#25272a;border:1px solid #16181a;padding:13px 23px 23px;border-radius:3px;box-shadow:inset 0 2px 5px #0007}.screen-label{font:9px var(--mono);color:#999b97;display:flex;justify-content:space-between;letter-spacing:1px;margin-bottom:11px}canvas{display:block;background:#0d1012;width:100%;aspect-ratio:256/240;image-rendering:pixelated;box-shadow:0 0 0 2px #141617}.console-bottom{display:flex;gap:7px;align-items:center;margin:15px 0 20px;font-size:10px;color:#55584f}.power-label{font:700 9px var(--mono);display:flex;align-items:center;gap:6px;margin-right:8px}.power-label i{width:6px;height:7px;background:#68352d;box-shadow:inset 0 1px 2px #0006}.power-label i.on{background:#ef3024;box-shadow:0 0 6px #e3302370}#title{margin-right:auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px var(--mono)}.console-bottom button{background:#dedfd8;border:1px solid #96998f;padding:6px 9px;border-radius:2px;font:700 10px var(--mono);text-transform:uppercase;box-shadow:0 2px 0 #999c92}.controller{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#262729;border:6px solid #e0e0d9;border-radius:4px;padding:22px 21px 29px;box-shadow:0 2px 0 #aaa;min-height:165px}.dpad{display:grid;grid-template-columns:32px 32px 32px;grid-template-rows:32px 32px 32px;filter:drop-shadow(0 3px 0 #060606)}.dpad button{background:#111215;color:#696c6d;border:0;font-size:10px;box-shadow:inset 0 2px 0 #45474b}.dpad span{grid-column:2;grid-row:2;background:radial-gradient(circle,#1e2023 0 8px,#111215 9px)}.up{grid-area:1/2;border-radius:3px 3px 0 0}.left{grid-area:2/1;border-radius:3px 0 0 3px}.right{grid-area:2/3;border-radius:0 3px 3px 0}.down{grid-area:3/2;border-radius:0 0 3px 3px}.middle{position:relative;align-self:stretch;min-width:117px;flex:1;max-width:145px}.controller-stripes{position:absolute;inset:-22px 0 -29px;background:repeating-linear-gradient(to bottom,#727671 0 12px,transparent 12px 19px);opacity:.65}.system-buttons{position:absolute;top:53px;left:0;right:0;display:flex;gap:11px;justify-content:center;background:#c5c7c0;padding:12px 8px;border-radius:4px;box-shadow:0 0 0 4px #262729}.system-buttons button{position:relative;height:12px;width:40px;border:0;background:#25272b;border-radius:9px;box-shadow:0 3px 0 #777a73}.system-buttons button>span{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);color:#f44835;font-size:8px;font-weight:900;letter-spacing:.5px}.actions{display:flex;gap:12px;align-self:flex-end}.actions>div{background:#d9dad3;padding:5px;position:relative;border-radius:2px}.actions button{width:42px;height:42px;border-radius:50%;border:0;background:var(--red);color:transparent;box-shadow:0 3px 0 #90150e,inset 0 2px 1px #f65a49}.actions>div>span{position:absolute;right:2px;bottom:-22px;color:#f44835;font-size:16px;font-weight:900}.controller button{touch-action:none;user-select:none}.controller button.held{filter:brightness(1.35);transform:translateY(2px);box-shadow:none}.console-foot{display:flex;align-items:center;justify-content:space-between;height:48px}.console-foot>span{font:700 8px var(--mono);letter-spacing:1px;color:#62665a}.vents{height:100%;width:38%;background:repeating-linear-gradient(90deg,#91948b 0 3px,transparent 3px 8px);border-top:14px solid #c9cac4}.panel{border-top:2px solid #babcb3;padding:23px 0}.panel:first-child{padding:0 0 23px;border:0}.panel-label{display:flex;align-items:center;justify-content:space-between;color:#696c61;margin-bottom:18px;font-size:10px}.red-square{width:9px;height:9px;background:var(--red)}.panel h2{font-size:24px;letter-spacing:-.7px;margin:0 0 21px;font-weight:800}.file-label{width:100%;padding:21px 19px;display:flex;justify-content:space-between;align-items:center;background:#d2d3cd;border:2px solid #aeb0a6;border-top:7px solid #363935;cursor:pointer;box-shadow:inset 0 2px 0 #eee;font:700 12px var(--mono);letter-spacing:.8px}.file-label small{display:block;color:#65685d;font:11px var(--mono);letter-spacing:0;margin-top:7px}.insert-arrow{font-size:32px;color:var(--red);line-height:1}.file-label:hover{background:#dadbd4;border-color:#93988a}.primary{width:100%;padding:13px 16px;background:var(--red);color:white;border:1px solid #b41f17;border-bottom:4px solid #971a12;text-align:left;font:700 12px var(--mono);display:flex;justify-content:space-between}.primary:hover:enabled{background:#bd251c}.or-line{height:37px;display:flex;align-items:center;gap:10px;color:#73766b;font:9px var(--mono)}.or-line::before,.or-line::after{content:"";height:1px;background:#c6c8be;flex:1}.hint,.hardware p{font-size:12px;line-height:1.7;color:#666a5e}.hint{margin:15px 0 0}#status{font:11px/1.6 var(--mono);color:#3b5b37;margin:16px 0 0;border-left:3px solid #9da995;padding:2px 0 2px 10px;overflow-wrap:anywhere}#status.error{color:#b5251c;border-color:var(--red)}.sound-row{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);gap:8px}.sound-row button,.save-row button,.save-label,#archive-play{border:1px solid #999d90;border-bottom:3px solid #8e9385;border-radius:2px;background:#d4d6cc;padding:9px 11px;font:700 11px var(--mono);white-space:nowrap}.sound-row output{margin-left:7px;font-weight:700}input[type=range]{width:100%;accent-color:var(--red);margin:18px 0 10px;height:12px;cursor:pointer}input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-label:has(+input:focus-visible),.save-label:has(+input:focus-visible),button:focus-visible,a:focus-visible,canvas:focus-visible,select:focus-visible{outline:3px solid #3d6a8b;outline-offset:4px}.file-label:has(+input:disabled){opacity:.5;cursor:wait}.key-guide{margin:13px 0 0}.key-guide>div{display:flex;justify-content:space-between;gap:10px;margin:10px 0;font:10px var(--mono)}.key-guide dt{font-weight:700;color:#5d6156}.key-guide dd{margin:0;color:#686c60;text-align:right}.hardware h2{font-size:20px;line-height:1.2;margin-bottom:10px}.tag{display:inline-block;font:700 9px var(--mono);letter-spacing:.7px;border:1px solid #b2b6a8;padding:7px 9px}.save-row{display:flex;gap:10px;align-items:center;margin-top:32px;padding:22px 0;border-top:2px solid #b9bcb0;color:#64685d}.save-row>div{margin-right:auto}.save-heading{font-size:10px;color:#4d5345}.save-row p{font-size:11px;line-height:1.5;margin:5px 0 0}.save-label{cursor:pointer}footer{display:flex;justify-content:space-between;gap:20px;padding:23px 0 30px;border-top:4px solid var(--ink);font:9px/1.8 var(--mono);color:#73776c}footer b{color:var(--red);margin:0 6px}footer>span:last-child{text-align:right}#archive-picker{padding:15px 0 0}#archive-name{font:11px var(--mono);overflow-wrap:anywhere;margin:0 0 12px}#archive-picker label{font:700 9px var(--mono);letter-spacing:.8px}#archive-entry{display:block;width:100%;min-width:0;padding:10px 7px;margin:8px 0;background:#f3f4ed;border:1px solid #9c9f94;font:12px var(--mono)}#archive-play{width:100%}
@media(max-width:1230px){header,main,footer{margin-left:30px;margin-right:30px}.workspace{gap:25px}.controller{gap:13px;padding-left:15px;padding-right:15px}.actions{gap:9px}.actions button{width:38px;height:38px}.middle{min-width:106px}}@media(max-width:960px) and (min-width:761px){.console{padding-left:17px;padding-right:17px}.controller{gap:10px;padding-left:12px;padding-right:12px}.dpad{grid-template-columns:25px 25px 25px;grid-template-rows:25px 25px 25px}.actions button{width:30px;height:30px}.actions{gap:6px}.middle{min-width:92px}.system-buttons{gap:8px}.console-wordmark small{display:none}.screen-frame{padding-left:16px;padding-right:16px}#title{max-width:35%}.console-bottom{flex-wrap:wrap}.intro-note{width:315px}}
@media(max-width:760px){header,main,footer{margin-left:18px;margin-right:18px}header{height:79px}.brand{font-size:23px}.brand>span{font-size:15px}.header-label{font-size:8px;gap:12px;letter-spacing:.5px}.intro{padding:29px 0 28px;display:block}h1{font-size:54px;letter-spacing:-2.5px}.eyebrow{font-size:9px}.intro-note{width:auto;margin-top:20px;display:flex;gap:14px;align-items:center}.intro-note p{font-size:11px;margin:0}.outline-badge{font-size:10px;white-space:nowrap;padding:5px 9px}.workspace{grid-template-columns:1fr;gap:34px}.console{padding:20px 19px 0}.screen-frame{padding:11px 17px 17px}.controller{padding:22px 17px 29px;gap:15px}.dpad{grid-template-columns:30px 30px 30px;grid-template-rows:30px 30px 30px}.middle{min-width:100px}.actions{gap:9px}.actions button{width:36px;height:36px}.console-wordmark small{display:block}.save-row{flex-wrap:wrap;margin-top:0}.save-row>div{flex-basis:100%;margin-bottom:6px}footer{flex-direction:column;gap:9px}footer>span:last-child{text-align:left}.panel:first-child{padding-top:0}.panel h2{font-size:26px}}@media(max-width:390px){.console{padding-left:13px;padding-right:13px}.controller{padding-left:10px;padding-right:10px;gap:10px}.dpad{grid-template-columns:26px 26px 26px;grid-template-rows:26px 26px 26px}.actions button{width:31px;height:31px}.actions{gap:7px}.middle{min-width:92px}.console-bottom{flex-wrap:wrap}#title{max-width:40%}.intro-note{gap:10px}.header-label{font-size:7px}}
/* Keep the cartridge slot visibly active across its nested label elements. */
.file-label{transition:background-color .12s,border-color .12s,box-shadow .12s}
.file-label>span:first-child{min-width:0}
.file-label small{line-height:1.5}
.insert-arrow{flex-shrink:0;margin-left:10px}
.file-label.drag-over{background:#f1d9d2;border-color:var(--red);box-shadow:inset 0 0 0 2px var(--red),0 0 0 3px #d3292020}
.file-label.drag-over .insert-arrow{transform:translateY(4px)}
.brand{border:3px solid var(--red);border-radius:999px;padding:4px 16px 5px;font-size:25px;line-height:1;letter-spacing:-1.2px}
.firmware-deck{margin-top:42px;border:2px solid #a9aba1;border-top:8px solid var(--ink);background:#d5d6cf;padding:28px;scroll-margin-top:20px}.deck-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.deck-heading .eyebrow{margin-bottom:9px}.deck-heading h2{font-size:32px;letter-spacing:-1.2px;margin:0}.deck-heading .tag{white-space:nowrap;color:var(--red);border-color:var(--red)}.deck-intro{font-size:13px;color:#606456;line-height:1.7;margin:13px 0 25px}.deck-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:32px}.deck-build{min-width:0}.deck-label{display:block;font:700 10px var(--mono);letter-spacing:1px;color:#626657;margin-bottom:10px}.firmware-deck select{width:100%;background:#eeeee8;border:1px solid #999d90;padding:11px;font:12px var(--mono)}.firmware-deck button,dialog button{background:#e7e8e0;border:1px solid #969b8b;border-bottom:3px solid #8e9385;padding:11px 13px;font:700 11px var(--mono);border-radius:2px}.install-steps{display:flex;gap:10px;margin:20px 0 15px}.install-steps button{flex:1}.firmware-deck .primary{background:var(--red);color:white;border-color:#a92219;border-bottom-color:#821a13;margin-top:15px}#rom-summary{border-left:3px solid var(--red);padding:4px 0 4px 13px;margin-top:22px}#rom-name{display:block;font-size:15px;overflow-wrap:anywhere}#rom-info,#firmware-version,#device-status,#flash-status,#build-details{font:11px/1.7 var(--mono);overflow-wrap:anywhere}#rom-info{margin:7px 0 0;color:#65695c}#flash-status{border-top:1px solid #b3b7a9;padding-top:14px}#build-review{background:#e8e9e1;border:1px solid #b1b6a6;padding:17px;margin:18px 0}#build-title{font-size:15px;overflow-wrap:anywhere}#download-firmware,.hardware a{color:var(--red);font:700 11px var(--mono);text-underline-offset:3px}.trial-note{background:#c6c8be;padding:18px;border-top:3px solid #777d6e}.deck-recovery p,dialog p{font-size:12px;line-height:1.7;color:#565d4c}.trial-note p:last-child{margin-bottom:0}.firmware-deck details{border-top:1px solid #a5aa9a;padding:17px 0;margin-top:20px}.firmware-deck summary{font:700 12px var(--mono);cursor:pointer;line-height:1.6}.firmware-deck details[open] summary{color:var(--red)}#install-log{max-height:220px;overflow:auto;background:#272a26;color:#d9dece;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;font:10px/1.7 var(--mono);min-height:42px}.log-actions{display:flex;flex-wrap:wrap;gap:10px}dialog{max-width:470px;background:#e5e5df;border:3px solid #30342c;border-top:8px solid var(--red);padding:26px}dialog::backdrop{background:#111a}dialog h2{margin-top:0}#restore-panel button{color:#9e2119}@media(max-width:760px){.firmware-deck{padding:21px 17px;margin-top:16px}.deck-grid{grid-template-columns:1fr;gap:20px}.deck-heading{display:block}.deck-heading .tag{margin-top:18px}.deck-heading h2{font-size:29px}.install-steps{flex-wrap:wrap}.install-steps button{min-width:140px}}
.simulator-picker{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:16px;font:700 10px var(--mono)}.simulator-picker select,.simulator-picker button{padding:7px;border:1px solid #999d90;background:#e1e2da;font:11px var(--mono)}.simulator-picker select{flex:1;min-width:140px}#instrument-art{padding:14px 0;background:#dadbd5;border-radius:3px}#instrument-art svg{display:block;width:100%;height:auto}#instrument-art [data-control-bit]{cursor:pointer;touch-action:none}#instrument-art [data-control-bit]:focus{outline:none;stroke:var(--red);stroke-width:3px}#instrument-art .control-label{pointer-events:none;text-anchor:middle;dominant-baseline:middle;fill:#211d19;font-family:Arial,sans-serif;font-weight:bold}#instrument-art .lcd-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#101010}#instrument-art canvas{width:100%;height:100%;object-fit:contain;box-shadow:none}#hardware-legend{font:10px/1.8 var(--mono);color:#555b4c}#large-screen{background:#25272a;padding:17px;margin-bottom:15px}#large-screen canvas{max-width:512px;margin:auto}.local-library{border-top:1px solid #b3b8a8;padding:18px 0;margin-bottom:5px}.local-library summary{font:700 11px var(--mono);cursor:pointer}.local-library .save-label{display:inline-block;margin:14px 0 8px}.local-library input[type=search],.local-library select{display:block;width:100%;padding:9px;border:1px solid #a1a791;background:#eceee4;font:11px var(--mono);margin:7px 0}.local-library button{width:100%;background:#d4d6cc;border:1px solid #999d90;border-bottom:3px solid #8e9385;padding:10px;font:700 11px var(--mono)}.local-library select option{padding:5px;overflow:hidden;text-overflow:ellipsis}
