:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px rgba(0,0,0,.18)}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}:root{--ion-font-family: Arial, Helvetica, sans-serif;--ion-background-color: #08090d;--ion-text-color: #f8fafc}*{box-sizing:border-box}html,body,#root,ion-app,ion-content{width:100%;height:100%;min-height:100%;overflow:hidden}body{margin:0;background:#08090d}ion-content::part(background){background:#08090d}.pairing-shell,.arcade-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;color:#f8fafc}.pairing-shell{background:linear-gradient(135deg,#08090d,#171b24 48%,#251318)}.pairing-card,.arcade-board{width:min(1180px,100%);border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(12,14,19,.96);box-shadow:0 22px 54px rgba(0,0,0,.34)}.pairing-card{padding:24px}.pairing-card p,.arcade-header span,.game-list button span,.game-list button em,.arcade-board footer span{margin:0;color:#a8b3bd;font-size:13px}.pairing-card p{color:var(--brand-color);font-weight:800;text-transform:uppercase}.pairing-card h1{margin:8px 0 18px;font-size:32px;line-height:1.1}.pairing-status{margin-bottom:18px;padding:12px;border-radius:8px;background:rgba(148,163,184,.14);color:#e2e8f0;overflow-wrap:anywhere}.pairing-status.is-pairing{background:rgba(245,158,11,.18);color:#fde68a}.pairing-status.is-error{background:rgba(239,68,68,.18);color:#fecaca}.pairing-code{margin-bottom:18px;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#12151c;color:#fff;font-size:clamp(38px,11vw,56px);line-height:1;font-weight:900;letter-spacing:.08em;text-align:center;font-variant-numeric:tabular-nums}.arcade-shell{width:100vw;height:100vh;min-height:100vh;overflow:hidden;position:relative;background:linear-gradient(155deg,#08090d,#111827 48%,#30141d)}.arcade-board{position:relative;z-index:2;max-height:calc(100vh - 48px);margin-bottom:12px;padding:18px;overflow:hidden}.arcade-header,.credit-panel,.arcade-board footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.arcade-header strong{color:#22d3ee;font-size:13px;overflow-wrap:anywhere;text-align:right}.credit-panel{margin-top:18px;padding:16px;border:1px solid rgba(250,204,21,.32);border-radius:8px;background:#171a21}.credit-panel p{margin:0;color:#fde68a;font-size:clamp(20px,5vw,30px);font-weight:900;line-height:1.05}.credit-panel strong{color:#f8fafc;font-size:clamp(24px,6vw,36px);font-variant-numeric:tabular-nums}.credit-panel.has-credit{border-color:rgba(34,197,94,.42)}.credit-panel.has-credit p{color:#86efac}.config-button{width:100%;min-height:44px;margin-top:12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#0f172a;color:#f8fafc;font:inherit;font-weight:800}.config-button.is-selected{border-color:#facc15;background:#1b1e26;box-shadow:0 0 0 3px rgba(250,204,21,.18)}.arcade-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:18px;min-height:0}.game-preview{display:flex;min-width:0;min-height:520px;flex-direction:column;justify-content:space-between;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#10131a}.game-preview img{width:100%;height:460px;object-fit:contain;border-radius:8px;background:#05070a}.game-preview strong{display:block;overflow:hidden;margin-top:12px;color:#f8fafc;font-size:24px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.game-list{display:grid;gap:10px;max-height:min(520px,calc(100vh - 270px));overflow:auto;margin-top:0;padding-bottom:18px;scrollbar-width:none}.game-list::-webkit-scrollbar{width:0;height:0}.game-list button{display:grid;grid-template-columns:70px minmax(0,1fr) 92px;align-items:center;gap:12px;min-height:64px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#10131a;color:#f8fafc;font:inherit;text-align:left}.game-list.snes-list button{grid-template-columns:72px minmax(0,1fr) 54px}.game-list button img{width:60px;height:46px;border-radius:6px;object-fit:cover;background:#05070a}.game-list button span{width:58px;padding:6px 0;border-radius:6px;background:rgba(34,211,238,.12);color:#67e8f9;text-align:center;font-weight:800}.game-list button strong{overflow:hidden;font-size:clamp(17px,4vw,23px);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.game-list button em{color:#fca5a5;font-style:normal;text-align:right}.game-list button.is-selected{border-color:#facc15;background:#1b1e26;box-shadow:0 0 0 3px rgba(250,204,21,.18)}.arcade-board footer{min-height:40px;margin-top:16px}.arcade-board footer strong{color:#f8fafc;text-align:right}.build-watermark{position:fixed;right:8px;bottom:8px;padding:4px 6px;border-radius:4px;background:rgba(8,9,13,.72);color:#cbd5e1;font-size:11px}.timer-badge{position:fixed;left:10px;top:8px;z-index:8;color:rgba(255,255,255,.5);font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}.timer-badge.is-warning{color:#facc15;opacity:.92}.timer-badge.is-danger{color:#ef4444;opacity:.96}.emulator-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;background:#000}.emulator-layer iframe{width:100%;height:100%;border:0}.jackpot-close{position:fixed;top:10px;right:10px;z-index:7;display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(15,23,42,.88);color:#f8fafc;font:inherit;font-weight:900}.button-key{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 6px;border:1px solid currentColor;border-radius:4px;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}.config-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(0,0,0,.72)}.config-panel{width:min(520px,100%);max-height:calc(100vh - 28px);overflow:auto;padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#10131a}.notice-panel{width:min(420px,100%);padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#10131a;text-align:center}.notice-panel strong{display:block;color:#f8fafc;font-size:22px}.notice-panel p{margin:12px 0 0;color:#cbd5e1;line-height:1.4}.notice-actions{display:flex;gap:10px;justify-content:center;margin-top:16px}.notice-actions button{min-width:104px}.jackpot-confirm{z-index:30}.control-row span{display:flex;flex-direction:column;gap:2px}.control-row em{color:#94a3b8;font-size:11px;font-style:normal;font-weight:700}.notice-panel button,.config-save{width:100%;min-height:44px;margin-top:14px;border:1px solid rgba(250,204,21,.38);border-radius:8px;background:#facc15;color:#111827;font:inherit;font-weight:900}.config-panel .arcade-header button,.control-row{border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#171a21;color:#f8fafc;font:inherit}.config-panel .arcade-header button{padding:9px 12px}.control-row{display:flex;width:100%;justify-content:space-between;gap:12px;margin-top:10px;padding:12px;text-align:left}.control-row span{color:#a8b3bd}.control-player{margin-top:14px}.control-player>strong{color:#22d3ee}@media (max-width: 520px){.pairing-shell,.arcade-shell{padding:12px}.arcade-board{padding:14px}.credit-panel{align-items:flex-start;flex-direction:column}.game-list button{grid-template-columns:62px minmax(0,1fr)}.arcade-grid{grid-template-columns:1fr}.game-preview{min-height:260px}.game-preview img{height:210px}.game-list button em{grid-column:2;text-align:left}}
