@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-paper:oklch(15% .012 148);--color-paper-2:oklch(19% .013 148);--color-paper-3:oklch(24% .014 148);--color-rule:oklch(32% .012 148);--color-neutral:oklch(60% .01 148);--color-muted:oklch(74% .008 148);--color-ink:oklch(93% .008 148);--color-accent:oklch(78% .17 148);--color-accent-dim:oklch(55% .1 148);--color-focus:oklch(82% .17 148);--color-danger:oklch(74% .14 25);--color-scrim:oklch(15% .012 148/.82);--bloom:radial-gradient(60% 45% at 50% 32%, oklch(78% .17 148/.07) 0%, oklch(78% .17 148/0) 100%);--font-display:"JetBrains Mono Variable", ui-monospace, monospace;--font-mono:"JetBrains Mono Variable", ui-monospace, monospace;--font-body:"Geist Variable", system-ui, sans-serif;--text-xs:.64rem;--text-sm:.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--weight-body:350;--weight-display:700;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--page-gutter:clamp(1rem, 4vw, 2.5rem);--rule-hair:1px;--radius-sm:3px;--radius-md:6px;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--z-base:1;--z-raised:10;--z-sticky:200}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;overflow-x:clip}body{background:var(--color-paper);color:var(--color-muted);font:var(--weight-body) var(--text-base) / 1.55 var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:var(--bloom);position:fixed;inset:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-display);color:var(--color-ink);letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal}p{margin:0}button,.rom-picker,.colophon a{white-space:nowrap}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.tnum{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}}.app{padding-inline:max(var(--page-gutter), env(safe-area-inset-left));padding-bottom:max(var(--space-md), env(safe-area-inset-bottom));flex:1;grid-template-columns:minmax(0,1fr);grid-template-areas:"bar""stage""rail""colophon";align-content:start;display:grid}@media (width>=60rem){.app{column-gap:var(--space-xl);grid-template-columns:minmax(0,1fr) 21rem;grid-template-areas:"bar bar""stage rail""colophon colophon"}}.appbar{z-index:var(--z-sticky);background:var(--color-paper);border-bottom:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-sm);margin-inline:calc(var(--page-gutter) * -1);padding-inline:var(--page-gutter);grid-area:bar;position:sticky;top:0}.appbar-line{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.appbar-prompt{color:var(--color-accent);font-weight:var(--weight-display)}.appbar-name{color:var(--color-ink);font-weight:var(--weight-display);letter-spacing:.02em;margin-inline-end:var(--space-2xs)}.appbar-caret{color:var(--color-accent);animation:1.05s steps(2,end) infinite caret}@keyframes caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.appbar-caret{animation:none}}@media (pointer:coarse){.appbar-caret{display:none}}.flag{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-body);color:var(--color-muted);border:var(--rule-hair) solid transparent;border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--color-rule);text-decoration-color:var(--color-rule);text-underline-offset:3px;transition:color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);background:0 0}@media (hover:hover) and (pointer:fine){.flag:hover:not(:disabled){color:var(--color-accent);background:var(--color-paper-2);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}}.flag:active:not(:disabled){background:var(--color-paper-3)}.flag[aria-pressed=true]{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.flag:disabled{opacity:.4;cursor:default;text-decoration:none}.rom-picker:has(input:disabled){opacity:.4;cursor:default;text-decoration:none}@media (pointer:coarse){.flag{min-height:44px;padding-inline:var(--space-sm);align-items:center;display:inline-flex}}@media (pointer:coarse) and (width<=26rem){.appbar-line{gap:var(--space-2xs)}.flag{padding-inline:var(--space-2xs)}}.rom-picker{position:relative}.rom-picker input{opacity:0;width:100%;cursor:inherit;position:absolute;inset:0}.stage{padding-block:var(--space-md) var(--space-md);align-items:center;gap:var(--space-lg);flex-direction:column;grid-area:stage;display:flex;position:relative}@media (width>=60rem){.stage{padding-block:var(--space-xl) var(--space-md)}}.stage:fullscreen{background:var(--color-paper);justify-content:center;padding:0}.screen{width:100%;max-width:min(100%,46rem,106.667svh - 13.8667rem);line-height:0;position:relative}@media (pointer:coarse) and (orientation:portrait){.screen{max-width:min(100%,106.667svh - 22.4rem)}}.screen-canvas{aspect-ratio:256/240;width:100%;height:auto;image-rendering:pixelated;background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);display:block}.screen-canvas:not([data-filter=none]){image-rendering:auto}.screen-dragging{outline:2px dashed var(--color-accent);outline-offset:4px}.screen-overlay{color:var(--color-muted);background:var(--color-scrim);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-md);text-align:center;border-radius:var(--radius-sm);overflow-wrap:anywhere;justify-content:center;align-items:center;margin:0;line-height:1.5;display:flex;position:absolute;inset:0}.screen-overlay-error{color:var(--color-danger)}.screen-overlay-paused{color:var(--color-accent);font-weight:var(--weight-display);letter-spacing:.08em;text-transform:uppercase}.screen-indicator{right:var(--space-xs);bottom:var(--space-xs);padding:var(--space-2xs) var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);background:var(--color-scrim);border-radius:var(--radius-sm);pointer-events:none;margin:0;position:absolute}.first-run-tagline{color:var(--color-ink);font-weight:var(--weight-display);margin:0}.first-run-banner{align-items:flex-start;gap:var(--space-sm);width:100%;max-width:min(100%,46rem);padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);display:flex}.first-run-copy{gap:var(--space-2xs);flex-direction:column;min-width:0;display:flex}.first-run-copy p{overflow-wrap:anywhere;margin:0}.first-run-dismiss{font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-sm);min-width:24px;min-height:24px;color:inherit;border:var(--rule-hair) solid currentColor;cursor:pointer;background:0 0;flex:none;line-height:1}@media (pointer:coarse){.first-run-dismiss{min-width:44px;min-height:44px}.first-run-drop{display:none}}.touchpad{display:none}@media (pointer:coarse){.touchpad{justify-content:space-between;align-items:center;row-gap:var(--space-md);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;grid-template-columns:auto auto;grid-template-areas:"dpad faces""menu menu";width:100%;max-width:30rem;display:grid}}.pad-dpad{touch-action:none;grid-area:dpad;width:9rem;height:9rem;position:relative}.pad-arm{background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);transition:background-color var(--dur-micro) var(--ease-out);position:absolute}.pad-arm-up,.pad-arm-down{width:33.4%;height:40%;left:33.3%}.pad-arm-up{border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none;top:0}.pad-arm-down{border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;bottom:0}.pad-arm-left,.pad-arm-right{width:40%;height:33.4%;top:33.3%}.pad-arm-left{border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none;left:0}.pad-arm-right{border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:none;right:0}.pad-hub{background:var(--color-paper-2);border-block:var(--rule-hair) solid var(--color-rule);position:absolute;inset:33.3%}.pad-dpad[data-dir~=up] .pad-arm-up,.pad-dpad[data-dir~=down] .pad-arm-down,.pad-dpad[data-dir~=left] .pad-arm-left,.pad-dpad[data-dir~=right] .pad-arm-right{background:var(--color-accent-dim)}.pad-faces{align-items:center;gap:var(--space-sm);grid-area:faces;display:flex}.pad-face{border-radius:var(--radius-pill);width:4.25rem;height:4.25rem;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-display);color:var(--color-muted);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);cursor:pointer;touch-action:none;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out)}.pad-face-b{transform:translateY(var(--space-sm))}.pad-face[data-pressed=yes]{background:var(--color-accent-dim);color:var(--color-ink)}.pad-face-b[data-pressed=yes]{transform:translateY(var(--space-sm)) scale(.94)}.pad-face-a[data-pressed=yes]{transform:scale(.94)}.pad-menu{justify-content:center;gap:var(--space-sm);grid-area:menu;display:flex}.pad-pill{min-width:5.5rem;min-height:44px;padding-inline:var(--space-md);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);cursor:pointer;touch-action:none;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out)}.pad-pill[data-pressed=yes]{background:var(--color-accent-dim);color:var(--color-ink)}@media (pointer:coarse) and (width<=22.5rem){.pad-dpad{width:7.75rem;height:7.75rem}.pad-face{width:3.75rem;height:3.75rem}.pad-pill{min-width:4.75rem;padding-inline:var(--space-sm)}}@media (pointer:coarse) and (orientation:landscape){.appbar{padding-block:var(--space-2xs)}.stage{justify-content:center;height:calc(100svh - 3.25rem);padding-block:0}.screen{max-width:min(100%,106.667svh - 4.26667rem)}.touchpad{align-items:end;row-gap:var(--space-xs);pointer-events:none;max-width:none;padding:0 var(--space-xs) max(var(--space-sm), env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"menu menu menu""dpad.faces";position:absolute;inset:0}.pad-dpad,.pad-faces,.pad-menu{pointer-events:auto}.pad-menu{justify-content:space-between;align-self:end;width:100%}.pad-dpad{width:7.5rem;height:7.5rem}.pad-face{width:3.5rem;height:3.5rem}.pad-pill{min-width:4.5rem;padding-inline:var(--space-sm)}}.rail{gap:var(--space-lg);flex-direction:column;grid-area:rail;min-width:0;display:flex}@media (width>=60rem){.rail{padding-block:var(--space-xl) var(--space-md);border-inline-start:var(--rule-hair) solid var(--color-rule);padding-inline-start:var(--space-xl)}}.audio-output{gap:var(--space-xs);flex-direction:column;display:flex}.audio-output button{min-height:44px;font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);color:var(--color-ink);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);align-self:start}@media (hover:hover) and (pointer:fine){.audio-output button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-paper-3)}}.audio-output button:disabled{cursor:default;border-color:var(--color-accent-dim);color:var(--color-muted)}.audio-output button[aria-pressed=true]{background:var(--color-accent-dim);color:var(--color-ink);border-color:var(--color-accent-dim)}.audio-volume{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.audio-volume label{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);display:flex}.audio-volume input[type=range]{accent-color:var(--color-accent);width:8rem;min-height:44px}.status{gap:var(--space-2xs);flex-direction:column;min-width:0;display:flex}.rom-readout,.renderer-readout,.audio-debug,.battery,.resume-point{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;line-height:1.6}.audio-error{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-danger);margin:0}.rom-error{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-danger);overflow-wrap:anywhere;margin:0;line-height:1.6;display:flex}.rom-error-dismiss{font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-sm);min-width:24px;min-height:24px;color:inherit;border:var(--rule-hair) solid currentColor;cursor:pointer;background:0 0;flex:none;line-height:1}.display-settings{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.display-settings h2{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral)}.display-settings fieldset{gap:var(--space-2xs) var(--space-md);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.display-settings legend{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);margin-block-end:var(--space-2xs);padding:0}.display-settings label{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink);cursor:pointer;display:flex}.display-settings input{accent-color:var(--color-accent);cursor:inherit;margin:0}.display-settings label:has(input:disabled){color:var(--color-muted);cursor:default}.display-options{flex-direction:column}.display-note{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral);margin:0;line-height:1.6}@media (pointer:coarse){.display-settings label{min-height:44px}}.controls-panel{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.controls-panel h2{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral)}.controls-panel .keymap{gap:var(--space-2xs) var(--space-sm);grid-template-columns:auto 1fr;align-items:center;display:grid}.controls-panel .keymap-binding{display:contents}.controls-panel .sep{display:none}@media (pointer:coarse){.controls-panel{display:none}}.save-states{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.save-states h2{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral)}.slot-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.slot{align-items:center;gap:var(--space-xs);padding-block:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule);font-family:var(--font-mono);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.slot:last-child{border-bottom:var(--rule-hair) solid var(--color-rule)}.slot button{min-height:32px;font-family:var(--font-mono);font-size:var(--text-sm);padding-inline:var(--space-sm);border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out)}@media (hover:hover) and (pointer:fine){.slot button:hover:not(:disabled){border-color:var(--color-accent)}}.slot button:disabled{opacity:.35;cursor:default}.slot-actions{align-items:center;gap:var(--space-2xs);display:flex}.slot-name{color:var(--color-muted);white-space:nowrap}.slot[data-occupied=yes] .slot-name{color:var(--color-accent)}.slot-when{color:var(--color-neutral);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}.slot-delete{padding-inline:var(--space-xs)}@media (width<=26rem){.slot{row-gap:var(--space-xs);grid-template-columns:auto minmax(0,1fr)}.slot-actions{gap:var(--space-xs);grid-column:1/-1}.slot-actions button{flex:1;min-height:44px}.slot-delete{flex:none;min-width:44px}}.slot-error{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-danger);margin:0}.rom-library{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.rom-library h2{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral)}.rom-library-empty{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral);overflow-wrap:anywhere;margin:0}.rom-library-tag{padding-inline:var(--space-2xs);border-radius:var(--radius-sm);border:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-inline-start:var(--space-2xs);display:inline-block}.rom-library-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rom-library-item{align-items:center;gap:var(--space-xs);padding-block:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule);font-family:var(--font-mono);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.rom-library-item:last-child{border-bottom:var(--rule-hair) solid var(--color-rule)}.rom-library-item button{min-height:32px;font-family:var(--font-mono);font-size:var(--text-sm);padding-inline:var(--space-sm);border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out)}@media (hover:hover) and (pointer:fine){.rom-library-item button:hover:not(:disabled){border-color:var(--color-accent)}}.rom-library-item button:disabled{opacity:.35;cursor:default}.rom-library-name{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rom-library-when{color:var(--color-neutral);white-space:nowrap;font-variant-numeric:tabular-nums}.rom-library-actions{align-items:center;gap:var(--space-2xs);display:flex}.rom-library-remove{padding-inline:var(--space-xs)}@media (width<=26rem){.rom-library-item{row-gap:var(--space-xs);grid-template-columns:minmax(0,1fr)}.rom-library-actions{gap:var(--space-xs);grid-column:1/-1}.rom-library-actions button{flex:1;min-height:44px}.rom-library-remove{flex:none;min-width:44px}}.rom-library-error{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-danger);margin:0}.colophon{align-items:baseline;gap:var(--space-xs) var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-md);margin-top:var(--space-xl);font-size:var(--text-sm);color:var(--color-neutral);flex-wrap:wrap;grid-area:colophon;display:flex}.keymap{align-items:center;gap:var(--space-3xs);font-family:var(--font-mono);flex-wrap:wrap;display:flex}.keymap-binding,.keymap-keys{align-items:center;gap:var(--space-3xs);white-space:nowrap;display:inline-flex}@media (pointer:coarse){.keymap{display:none}}kbd{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);border-radius:var(--radius-sm);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);margin-inline-end:2px;padding:1px 5px}.sep{color:var(--color-rule);margin-inline:var(--space-2xs)}.colophon-note{color:var(--color-neutral)}
