:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#111317;--fg:#e8eaed;--muted:#9aa0a6;--accent:#7cb7ff;--warn:#fc6;--err:#ff8a80;--card:#1b1e24;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--bg:#fafafa;--fg:#1b1e24;--muted:#5f6368;--accent:#0b57d0;--warn:#8a5a00;--err:#b3261e;--card:#fff}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0}main{max-width:44rem;margin:0 auto;padding:1rem}a{color:var(--accent)}.muted{color:var(--muted)}.lead{font-size:1.1rem}.paste .row{gap:.5rem;display:flex}input[type=text]{min-width:0;font:inherit;border:1px solid var(--muted);background:var(--card);color:var(--fg);border-radius:.4rem;flex:1;padding:.6rem}button{font:inherit;border:1px solid var(--muted);background:var(--card);color:var(--fg);cursor:pointer;border-radius:.4rem;padding:.6rem 1rem}button.primary{background:var(--accent);color:#000;border-color:#0000;font-weight:600}.field-error,.error p{color:var(--err)}.error{border:1px solid var(--err);border-radius:.4rem;margin:1rem 0;padding:.5rem 1rem}.error pre{white-space:pre-wrap;word-break:break-all;font-size:.8rem}.warning{border:1px solid var(--warn);color:var(--warn);border-radius:.4rem;margin:1rem 0;padding:.5rem 1rem}.banner{background:var(--card);border-radius:.4rem;margin:1rem 0;padding:.5rem 1rem}.library{padding-left:1.2rem}dl{grid-template-columns:max-content 1fr;gap:.25rem 1rem;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}progress{width:100%}.drop{border:2px dashed var(--muted);text-align:center;border-radius:.6rem;margin:1rem 0;padding:2rem 1rem}.drop.over{border-color:var(--accent)}.play{color:#eee;--u:min(9vmin, 3.4rem);--side:clamp(8.5rem, 24vw, 15rem);background:#000;grid-template:"bar""screen"1fr/100%;display:grid;position:fixed;inset:0;overflow:hidden}.play .bar{z-index:2;height:calc(2.5rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) .25rem 0;background:#000;flex-wrap:nowrap;grid-area:bar;align-items:center;gap:.4rem;display:flex;overflow:hidden}.play .bar button{flex:none;height:2rem;padding:0 .6rem;font-size:1rem;line-height:1}.play .status{color:#ccc;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.8rem;overflow:hidden}.play .screen{grid-area:screen;min-width:0;min-height:0;position:relative}.play iframe{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.play>.error{z-index:5;background:var(--bg);position:absolute;top:3rem;left:1rem;right:1rem}.mouse-catch{cursor:pointer;z-index:1;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.mouse-catch span{background:#000000b3;border-radius:.4rem;margin-bottom:1rem;padding:.4rem .8rem;font-size:.9rem}.mouse-catch.locked{cursor:none}@media (orientation:portrait){.play.touch{grid-template:"bar bar bar" auto "screen screen screen" min(calc(100vw / var(--aspect)), 55dvh) "left mid right" 1fr / 1fr auto 1fr}.play.touch .tc-mid{padding-bottom:max(1rem, env(safe-area-inset-bottom));flex-direction:column-reverse;align-self:end}}@media (orientation:landscape){.play.touch{grid-template:"bar bar bar" auto "left screen right" 1fr "left mid right" auto / var(--side) 1fr var(--side)}.play.touch .tc-mid{padding-bottom:max(.25rem, env(safe-area-inset-bottom));flex-direction:row}}.tc{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:center;align-items:center;gap:calc(var(--u) * .4);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.tc-left{padding-left:env(safe-area-inset-left);grid-area:left}.tc-right{padding-right:env(safe-area-inset-right);grid-area:right}.tc-mid{gap:calc(var(--u) * .3);flex-wrap:wrap;grid-area:mid;justify-content:center}.tb{width:calc(var(--u) * 1.7);height:calc(var(--u) * 1.7);color:#fff;font-weight:700;font-size:calc(var(--u) * .5);background:#ffffff24;border:2px solid #ffffff59;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.tb.on,.dpad .arm.on{background:#7cb7ff8c;border-color:#7cb7ff}.tb.small{width:auto;min-width:calc(var(--u) * 2);height:calc(var(--u) * .9);border-radius:calc(var(--u) * .45);padding:0 calc(var(--u) * .3);font-size:calc(var(--u) * .36);font-weight:600}.tb.shoulder{width:calc(var(--u) * 2.2);height:calc(var(--u) * 1);border-radius:calc(var(--u) * .4)}.shoulders{gap:calc(var(--u) * .3);padding:0 calc(var(--u) * .3);justify-content:flex-start;align-self:stretch;display:flex}.shoulders.right{justify-content:flex-end}.dpad{width:calc(var(--u) * 4);height:calc(var(--u) * 4);flex:none;position:relative}.dpad .arm{border-radius:calc(var(--u) * .25);background:#ffffff24;border:2px solid #ffffff59;position:absolute}.dpad .arm-u,.dpad .arm-d{width:33.4%;height:38%;left:33.3%}.dpad .arm-u{top:0}.dpad .arm-d{bottom:0}.dpad .arm-l,.dpad .arm-r{width:38%;height:33.4%;top:33.3%}.dpad .arm-l{left:0}.dpad .arm-r{right:0}.gba-face{width:calc(var(--u) * 4);height:calc(var(--u) * 3.4);flex:none;position:relative}.gba-face .b{position:absolute;bottom:0;left:0}.gba-face .a{position:absolute;top:0;right:0}.stick{width:calc(var(--u) * 3.8);height:calc(var(--u) * 3.8);background:#ffffff14;border:2px solid #ffffff4d;border-radius:50%;flex:none;position:relative}.stick .knob{pointer-events:none;background:#ffffff59;border-radius:50%;width:50%;height:50%;position:absolute;top:25%;left:25%}.n64-face{width:calc(var(--u) * 4.4);height:calc(var(--u) * 4.8);flex:none;position:relative}.n64-face .c{width:calc(var(--u) * 1);height:calc(var(--u) * 1);font-size:calc(var(--u) * .35);background:#ffd6002e;border-color:#ffd60080;position:absolute}.n64-face .c-u{right:calc(var(--u) * 1);top:0}.n64-face .c-d{right:calc(var(--u) * 1);top:calc(var(--u) * 2)}.n64-face .c-l{right:calc(var(--u) * 2);top:calc(var(--u) * 1)}.n64-face .c-r{right:0;top:calc(var(--u) * 1)}.n64-face .a{left:calc(var(--u) * 1);top:calc(var(--u) * 3.1);background:#3c78ff4d;position:absolute}.n64-face .b{left:0;top:calc(var(--u) * 1.6);width:calc(var(--u) * 1.3);height:calc(var(--u) * 1.3);background:#00aa504d;position:absolute}.menu{z-index:4;background:var(--bg);color:var(--fg);padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));position:absolute;inset:0;overflow:auto}.menu-head{justify-content:space-between;align-items:center;gap:1rem;max-width:40rem;margin-bottom:.5rem;display:flex}.menu-section{border-top:1px solid var(--muted);max-width:40rem;padding:.5rem 0}.menu-section h3{margin:.25rem 0 .5rem;font-size:1rem}.menu-section label{margin:.3rem 0;display:block}.seg{gap:1rem;display:flex}.seg label{display:inline}.keys td{padding:.15rem .5rem .15rem 0}.keys button{padding:.15rem .5rem}.small{font-size:.85rem}.toast{z-index:5;background:var(--bg);position:absolute;top:3rem;left:1rem;right:1rem}.button-like{border:1px solid var(--muted);background:var(--card);cursor:pointer;border-radius:.4rem;padding:.6rem 1rem;display:inline-block}.button-like input[type=file]{display:none}.files{padding-left:1rem}.files li{margin:.3rem 0}.legal-footer{border-top:1px solid var(--muted);margin-top:2rem;padding-top:.75rem;font-size:.85rem}.legal h2{margin-top:1.5rem;font-size:1.05rem}.brand{align-items:center;gap:.5rem;display:flex}.brand img{flex:none}.online .room-code{letter-spacing:.2em;font-family:ui-monospace,monospace;font-size:1.6rem}.online code{word-break:break-all}.online .net-players{padding-left:1.2rem}.online input[data-field=net-code]{text-transform:uppercase;width:8em;font-family:ui-monospace,monospace}.play .bar button.net-on{border-color:var(--accent)}
