.menu-backdrop{padding:calc(env(safe-area-inset-top) + 16px) calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 16px) calc(env(safe-area-inset-left) + 16px);box-sizing:border-box;touch-action:manipulation;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.menu-backdrop:focus{outline:none}.menu-panel{box-sizing:border-box;color:#e6e8ec;background:#1c1f26;border:1px solid #3a3f4b;border-radius:12px;flex-direction:column;gap:8px;width:min(100%,320px);max-height:100%;padding:16px;font:15px system-ui,sans-serif;display:flex;overflow-y:auto;box-shadow:0 8px 32px #0009}.menu-title{color:#999;text-align:center;overflow-wrap:anywhere;margin:0 0 8px;font-size:16px;font-weight:600}.menu-button{color:#e6e8ec;min-height:44px;font:inherit;cursor:pointer;background:#262a33;border:1px solid #3a3f4b;border-radius:8px;padding:8px 14px}.menu-button:hover{background:#2f3440}.menu-button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.menu-button.is-primary{color:#fff;background:#1d4ed8;border-color:#3b82f6;font-weight:600}.menu-button.is-primary:hover{background:#2563eb}.menu-button.is-danger{color:#fca5a5;border-color:#b91c1c}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{color:#ddd;background:#000;min-height:100%;margin:0;font:14px system-ui,sans-serif}[hidden]{display:none!important}#library{box-sizing:border-box;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) calc(env(safe-area-inset-bottom) + 120px) env(safe-area-inset-left);flex-direction:column;align-items:center;gap:8px;display:flex}.app-header{box-sizing:border-box;align-items:center;gap:12px;width:min(100%,720px);padding:12px 8px 0;display:flex}.app-title{margin:0;font-size:20px;font-weight:700}.app-status{color:#999;overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:12px}.app-status.is-error{color:#f87171}.app-settings-button{color:#eee;min-height:36px;font:inherit;cursor:pointer;background:#222;border:1px solid #444;border-radius:6px;padding:6px 12px}.app-settings-button:hover{background:#2c2c2c}.app-settings-button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}#library .install-hint{box-sizing:border-box;border:1px solid #3a3f4b;border-radius:8px;width:min(100%,720px);padding:12px 16px;position:static}#overlays{z-index:200;position:fixed;inset:0}#overlays:empty{display:none}.cheats-overlay{z-index:200;box-sizing:border-box;color:#e6e8ec;background:#0009;justify-content:center;align-items:flex-start;font:14px/1.4 system-ui,sans-serif;display:flex;position:fixed;inset:0}.cheats{box-sizing:border-box;width:min(100%,560px);height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#1c1f26;border:1px solid #3a3f4b;flex-direction:column;display:flex;overflow:hidden}@media (width>=601px){.cheats-overlay{padding:24px}.cheats{border-radius:12px;height:auto;max-height:100%;padding:0}}.cheats-header,.cheats-footer{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.cheats-header{border-bottom:1px solid #3a3f4b}.cheats-footer{border-top:1px solid #3a3f4b;justify-content:flex-end}.cheats-header h2{margin:0;font-size:18px;font-weight:600}.cheats-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;padding:8px 16px;overflow-y:auto}.cheats-note,.cheats-missing{color:#999;margin:8px 0}.cheats-note[hidden],.cheats-missing[hidden],.cheats-filter[hidden]{display:none}.cheats-filter{box-sizing:border-box;width:100%;min-height:40px;font:inherit;color:#e6e8ec;background:#151515;border:1px solid #3a3f4b;border-radius:6px;margin:4px 0 8px;padding:6px 10px}.cheats-list{margin:0;padding:0;list-style:none}.cheats-entry label{overflow-wrap:anywhere;border-top:1px solid #2a2e37;align-items:center;gap:10px;min-height:44px;padding:4px 0;display:flex}.cheats-entry input{accent-color:#3b82f6;flex:none;width:22px;height:22px;margin:0}.cheats-folder{color:#999}.cheats-status{color:#aaa;min-height:1.2em;margin:8px 0;font-size:13px}.cheats-status.is-error{color:#f87171}.cheats button{font:inherit;color:#e6e8ec;cursor:pointer;background:#262a33;border:1px solid #3a3f4b;border-radius:6px;min-height:36px;padding:6px 14px}.cheats button:hover:not(:disabled){background:#303542}.cheats button:disabled{opacity:.45;cursor:default}.cheats button.is-primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.cheats button.is-primary:hover:not(:disabled){background:#2563eb}.cheats button:focus-visible,.cheats input:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}@media (pointer:coarse){.cheats button{min-height:44px}}.install-hint{z-index:100;box-sizing:border-box;padding:12px 16px calc(12px + env(safe-area-inset-bottom));color:#e6e8ec;background:#1c1f26;border-top:1px solid #3a3f4b;font:14px/1.4 system-ui,sans-serif;position:fixed;inset:auto 0 0}.install-hint strong{margin-bottom:4px;font-size:15px;display:block}.install-hint p{margin:0 0 6px}.install-hint button{color:inherit;font:inherit;background:0 0;border:1px solid #5a6170;border-radius:6px;margin-top:4px;padding:6px 12px}.library{box-sizing:border-box;color:#ddd;flex-direction:column;gap:12px;width:min(100%,720px);padding:8px;display:flex}.library-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.library-header h2{margin:0;font-size:18px;font-weight:600}.library-storage{color:#999;font-variant-numeric:tabular-nums;margin:0;font-size:12px}.library-dropzone{text-align:center;border:2px dashed #444;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:16px;display:flex}.library-dropzone.is-dragover{background:#0b1a33;border-color:#3b82f6}.library-hint{color:#999;margin:0;font-size:12px}.library-status{color:#aaa;min-height:1.2em;margin:0;font-size:13px}.library-status.is-error{color:#f87171}.library-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.library-entry{background:#151515;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.library-info{flex-direction:column;gap:2px;min-width:0;display:flex}.library-title{overflow-wrap:anywhere;font-weight:600}.library-meta{color:#999;font-variant-numeric:tabular-nums;font-size:12px}.library-actions{flex-wrap:wrap;gap:6px;display:flex}.library button{font:inherit;color:#eee;cursor:pointer;background:#222;border:1px solid #444;border-radius:6px;min-height:36px;padding:6px 12px}.library button:hover:not(:disabled){background:#2c2c2c}.library button:disabled{opacity:.45;cursor:default}.library button.is-primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.library button.is-primary:hover:not(:disabled){background:#2563eb}.library button.is-danger{color:#fca5a5}.library button:focus-visible,.library input:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.library-empty{color:#999;text-align:center;margin:0}.toast-stack{z-index:300;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:0;right:0}.toast-stack.is-bottom{padding:0 16px calc(16px + env(safe-area-inset-bottom));bottom:0}.toast-stack.is-top{top:calc(env(safe-area-inset-top) + 56px);padding:0 16px}.toast-stack:empty{display:none}.toast{box-sizing:border-box;color:#e6e8ec;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#1c1f26f0;border:1px solid #3a3f4b;border-radius:8px;align-items:center;gap:12px;max-width:min(100%,420px);padding:10px 14px;font:14px/1.35 system-ui,sans-serif;display:flex;box-shadow:0 4px 16px #00000080}.toast.is-passthrough{pointer-events:none}.toast-text{overflow-wrap:anywhere}.toast-action{color:#fff;min-height:32px;font:inherit;cursor:pointer;pointer-events:auto;background:#1d4ed8;border:1px solid #3b82f6;border-radius:6px;flex:none;padding:4px 12px;font-weight:600}.toast-action:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.player-screen{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#000;position:fixed;inset:0;overflow:hidden}.player-screen[hidden]{display:none}.player-canvas{image-rendering:crisp-edges;image-rendering:pixelated;background:#000;display:block;position:absolute;top:0;left:0}.player-hud{top:calc(env(safe-area-inset-top) + 6px);left:calc(env(safe-area-inset-left) + 8px);right:calc(env(safe-area-inset-right) + 8px);z-index:20;pointer-events:none;align-items:center;gap:8px;font:13px system-ui,sans-serif;display:flex;position:absolute}.player-badge{color:#e6e8ec;font-variant-numeric:tabular-nums;background:#141414b3;border-radius:6px;padding:3px 8px}.player-badge[hidden]{display:none}.player-ff{color:#fff;background:#b45309e6;font-weight:700}.player-menu-button{color:#ffffffd9;letter-spacing:.08em;pointer-events:auto;touch-action:manipulation;cursor:pointer;background:#1414148c;border:1px solid #ffffff59;border-radius:8px;min-width:44px;min-height:44px;margin-left:auto;padding:0 12px;font:600 12px system-ui,sans-serif}.player-menu-button[hidden]{display:none}.player-menu-button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.player-overlays{z-index:50;position:absolute;inset:0}.player-overlays:empty{display:none}.settings-overlay{z-index:200;box-sizing:border-box;color:#e6e8ec;background:#0009;justify-content:center;align-items:flex-start;font:14px/1.4 system-ui,sans-serif;display:flex;position:fixed;inset:0}.settings{box-sizing:border-box;width:min(100%,560px);height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#1c1f26;border:1px solid #3a3f4b;flex-direction:column;display:flex;overflow:hidden}@media (width>=601px){.settings-overlay{padding:24px}.settings{border-radius:12px;height:auto;max-height:100%;padding:0}}.settings-header{border-bottom:1px solid #3a3f4b;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.settings-header h2{margin:0;font-size:18px;font-weight:600}.settings-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;padding:0 16px 16px;overflow-y:auto}.settings-section{border-bottom:1px solid #3a3f4b;padding:12px 0 16px}.settings-section:last-child{border-bottom:0}.settings-section h3{letter-spacing:.06em;text-transform:uppercase;color:#999;margin:0 0 4px;font-size:12px;font-weight:600}.settings-section p{margin:6px 0}.settings-subheading{margin:12px 0 4px;font-size:14px;font-weight:600}.settings-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:4px 0;display:flex}.settings-row[hidden]{display:none}.settings-row-text{flex-direction:column;flex:auto;min-width:0;display:flex}.settings-label{font-weight:500}.settings-hint{color:#999;font-size:12px}.settings-value{color:#ccc;text-align:right;overflow-wrap:anywhere}.settings-reload{background:#0b1a33;border:1px solid #1d4ed8;border-radius:8px;padding:8px 12px}.settings-select{font:inherit;color:#e6e8ec;background:#151515;border:1px solid #3a3f4b;border-radius:6px;max-width:55%;min-height:40px;padding:6px 10px}.settings-toggle{accent-color:#3b82f6;flex:none;width:22px;height:22px;margin:0}.settings-range-control{flex:none;align-items:center;gap:8px;width:55%;display:flex}.settings-range{accent-color:#3b82f6;flex:auto;min-width:0}.settings-range-value{text-align:right;font-variant-numeric:tabular-nums;color:#ccc;min-width:3.5ch}.settings-controller{color:#999;font-size:12px}.settings-bindings-table{border-collapse:collapse;width:100%;font-size:13px}.settings-bindings-table th,.settings-bindings-table td{vertical-align:middle;border-top:1px solid #2a2e37;padding:4px}.settings-bindings-table th{text-align:left;width:26%;font-weight:500}.settings-binding-value{color:#ccc;overflow-wrap:anywhere}.settings-binding-value.is-unbound{color:#999;font-style:italic}.settings-binding-value.is-capturing{color:#60a5fa}.settings-binding-actions{text-align:right;white-space:nowrap}.settings-binding-actions button{margin-left:4px;padding:4px 8px}.settings-advanced{margin:6px 0}.settings-advanced summary{cursor:pointer;color:#999;padding:6px 0;font-size:12px}.settings-actions{flex-wrap:wrap;gap:6px;margin:4px 0;display:flex}.settings-status{color:#aaa;min-height:1.2em;font-size:13px}.settings-status.is-error{color:#f87171}.settings button{font:inherit;color:#e6e8ec;cursor:pointer;background:#262a33;border:1px solid #3a3f4b;border-radius:6px;min-height:36px;padding:6px 12px}.settings button:hover:not(:disabled){background:#303542}.settings button:disabled{opacity:.45;cursor:default}.settings button.is-primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.settings button.is-primary:hover:not(:disabled){background:#2563eb}.settings button.is-danger{color:#fca5a5}.settings a{color:#60a5fa}.settings button:focus-visible,.settings input:focus-visible,.settings select:focus-visible,.settings a:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}@media (pointer:coarse){.settings button{min-height:44px}.settings-binding-actions button{min-height:40px}}.vpad{--vpad-opacity:.6;--vpad-scale:1;z-index:10;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:#ffffffeb;font:600 calc(14px * var(--vpad-scale)) system-ui, sans-serif;text-shadow:0 0 2px #000;position:absolute;inset:0}.vpad[hidden]{display:none}.vpad-control{box-sizing:border-box;pointer-events:auto;touch-action:none;opacity:var(--vpad-opacity);position:absolute}.vpad-btn,.vpad-arm,.vpad-dpad-centre{box-sizing:border-box;background:#1e1e1e8c;border:1.5px solid #ffffffb3;box-shadow:0 0 0 1px #00000073}.vpad-btn{letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;display:flex}.vpad-btn.is-pressed,.vpad-arm.is-pressed{color:#000;text-shadow:none;background:#ffffffd9}.vpad-face-btn{width:42%;height:42%;font-size:calc(18px * var(--vpad-scale));position:absolute}.vpad-face-x{top:0;left:29%}.vpad-face-y{top:29%;left:0}.vpad-face-a{top:29%;left:58%}.vpad-face-b{top:58%;left:29%}.vpad-arm{width:33.34%;height:33.34%;position:absolute}.vpad-arm-up{border-bottom:0;border-radius:8px 8px 0 0;top:0;left:33.33%}.vpad-arm-down{border-top:0;border-radius:0 0 8px 8px;bottom:0;left:33.33%}.vpad-arm-left{border-right:0;border-radius:8px 0 0 8px;top:33.33%;left:0}.vpad-arm-right{border-left:0;border-radius:0 8px 8px 0;top:33.33%;right:0}.vpad-dpad-centre{width:33.34%;height:33.34%;box-shadow:none;border:0;position:absolute;top:33.33%;left:33.33%}.vpad-shoulder{font-size:calc(15px * var(--vpad-scale));border-radius:12px}.vpad-pill{font-size:calc(11px * var(--vpad-scale));letter-spacing:.08em}.vpad-ff.is-pressed{background:#f59e0b}
