@font-face{font-family:Videopac;src:url(/productions/videopac/fonts/videopac/Videopac%20Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Videopac;src:url(/productions/videopac/fonts/videopac/Videopac.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--bg0:#0a0c0e;--fg:#f2f2f2;--muted:#9a9a9a;--accent:#c41230;--accent-hover:#e01838;--accent-dim:#8a0c22;--panel:#080808e0;--font-logo:"Videopac", Impact, sans-serif;--font-ui:"Helvetica Neue", Helvetica, Arial, sans-serif}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;height:100dvh;color:var(--fg);font-family:var(--font-ui);background:#000;margin:0;overflow:hidden}@media (display-mode:window-controls-overlay){.hud{top:env(titlebar-area-height,0px);app-region:drag;-webkit-app-region:drag}.hud button{app-region:no-drag;-webkit-app-region:no-drag}.overlay{padding-top:calc(1.5rem + env(titlebar-area-height,0px))}}#app{touch-action:none;overscroll-behavior:none;background:#000;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}#screen{image-rendering:pixelated;image-rendering:crisp-edges;background:#000;display:block;position:absolute;top:0;left:0}.remote-screen{object-fit:fill;z-index:1;pointer-events:none;background:#000;display:block;position:absolute;top:0;left:0}.remote-screen.hidden,.invite-panel.hidden,.guest-panel.hidden,.hidden{display:none!important}html.guest-mode #screen{visibility:hidden}html.guest-mode .host-menu,html.guest-mode .credits,html.invite-open .host-menu,html.invite-open .brand .tagline{display:none}.overlay{padding:max(1.5rem, env(safe-area-inset-top,0px)) max(1.5rem, env(safe-area-inset-right,0px)) max(4.5rem, calc(3.25rem + env(safe-area-inset-bottom,0px))) max(1.5rem, env(safe-area-inset-left,0px));background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;transition:opacity .25s,visibility .25s;display:flex;position:absolute;inset:0}.overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.brand{text-align:center;max-width:28rem}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.7rem;font-weight:500}.brand h1{font-family:var(--font-logo);letter-spacing:.04em;text-transform:uppercase;color:#fff;margin:0;font-size:clamp(2.8rem,11vw,5.2rem);font-weight:700;line-height:.95}.tagline{letter-spacing:.02em;color:var(--muted);margin:.85rem 0 0;font-size:.9rem;font-weight:400}.controls{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.75rem 1rem;display:flex}.menu-panel{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.joystick-field{display:none}html.touch-device .joystick-field,html.one-gamepad .joystick-field{display:flex}html:not(.touch-device):not(.one-gamepad) .joystick-field,html.touch-device .legend-desktop{display:none}.menu-hint{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:400;display:none}.overlay.can-resume .menu-hint{display:block}.credits{padding:.85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom,0px));text-align:center;letter-spacing:.02em;color:var(--muted);pointer-events:auto;margin:0;font-size:.68rem;font-weight:400;line-height:1.45;position:absolute;bottom:0;left:0;right:0}.credits a{color:#ddd;text-underline-offset:.15em;-webkit-text-decoration:underline #555;text-decoration:underline #555}.credits a:hover{color:#fff;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.field{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex-direction:column;gap:.35rem;font-size:.68rem;font-weight:500;display:flex}#start-btn,#menu-btn,.legend kbd{-webkit-user-select:auto;user-select:auto;touch-action:manipulation}.field select{min-width:14rem;max-width:min(22rem,85vw);color:var(--fg);font-family:var(--font-ui);text-transform:none;letter-spacing:0;background:#111;border:1px solid #333;border-radius:0;padding:.55rem .7rem;font-size:.85rem;font-weight:400}#start-btn{background:var(--accent);color:#fff;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;transition:background .15s,transform .1s}#start-btn:hover{background:var(--accent-hover)}#start-btn:active{transform:scale(.98)}.secondary-btn{color:var(--fg);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #444;border-radius:0;padding:.65rem 1.1rem;font-size:.85rem;font-weight:600}.secondary-btn:hover{color:#fff;border-color:#888}#accept-answer-btn,#guest-join-btn{background:var(--accent);color:#fff;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600}.guest-offer-step,.guest-answer-step{flex-direction:column;align-items:center;gap:.85rem;width:100%;display:flex}.invite-panel,.guest-panel{flex-direction:column;align-items:center;gap:.85rem;width:100%;max-width:min(22rem,92vw);display:flex}.invite-status{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;margin:0;font-size:.78rem;font-weight:500}.guest-title{font-family:var(--font-logo);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.4rem}.guest-hint{color:var(--muted);text-align:center;margin:0;font-size:.78rem;line-height:1.4}#invite-qr{background:#fff;width:min(280px,70vw);height:auto;display:block}.invite-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.invite-panel .field,.guest-panel .field{width:100%}.invite-panel input,.invite-panel textarea,.guest-panel textarea{width:100%;color:var(--fg);resize:vertical;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#111;border:1px solid #333;border-radius:0;padding:.55rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.35}.invite-panel input{resize:none}.setup-panel{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;max-width:min(22rem,92vw);margin-bottom:.5rem;display:flex}.setup-status{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center;min-height:1em;margin:0;font-size:.72rem}.setup-panel input[type=file]{width:100%;color:var(--fg);font-family:var(--font-ui);padding:.45rem 0;font-size:.8rem}#play-controls.hidden{display:none!important}.add-more-games{color:var(--fg);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:1px solid #444;justify-content:center;align-self:flex-end;align-items:center;padding:.65rem 1.1rem;font-size:.85rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.add-more-games:hover{color:#fff;border-color:#888}.add-more-games input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;font-size:32px;position:absolute;inset:0}#invite-btn[hidden],html:not(.multiplayer-ui) #invite-btn{display:none!important}html.session-started.multiplayer-ui #invite-btn:not([hidden]){display:inline-block}.legend{text-align:center;color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.65}.legend strong{color:var(--fg);font-weight:600}.legend kbd{font-family:var(--font-ui);color:var(--fg);background:#161616;border:1px solid #444;border-radius:0;padding:.05rem .35rem;font-size:.7rem;font-weight:500;display:inline-block}.hud{z-index:20;padding:calc(.45rem + env(safe-area-inset-top,0px)) calc(.75rem + env(safe-area-inset-right,0px)) .45rem calc(.75rem + env(safe-area-inset-left,0px));pointer-events:none;background:0 0;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.hud button{pointer-events:auto;z-index:1;position:relative}.hud-key{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;app-region:no-drag;-webkit-app-region:no-drag;border:3px solid #f5f5f5;border-radius:.45rem;justify-content:center;align-items:center;width:3.1rem;height:1.55rem;padding:0;display:inline-flex;box-shadow:inset 0 0 0 1px #00000026}.hud-key:active{filter:brightness(.92);transform:scale(.97)}.hud-key-icon{width:.9rem;height:.9rem;display:block}.reset-btn{background:#d55348}.menu-btn{background:#f2f2f2}.menu-btn.hidden,.reset-btn.hidden,.hud.hidden{display:none}.touch-controls{z-index:3;pointer-events:none;display:none;position:absolute;inset:0}.touch-controls.touch-controls-active{pointer-events:none;display:block}.touch-zone{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute}.stick-zone{left:0;top:calc(3.25rem + env(safe-area-inset-top,0px));width:48%;height:auto;bottom:0}.fire-zone{right:0;top:calc(3.25rem + env(safe-area-inset-top,0px));width:48%;height:auto;bottom:0}#app.layout-wide .stick-zone,#app.layout-wide .fire-zone{top:calc(2.75rem + env(safe-area-inset-top,0px))}.stick-visual{pointer-events:none;width:7.5rem;height:7.5rem;position:absolute;transform:translate(-50%,-50%)}.stick-base,.stick-knob,.fire-visual{background:#ffffff24;border:2px solid #ffffff8c;border-radius:50%;transition:opacity .15s,background .15s,border-color .15s;box-shadow:0 0 0 1px #00000040}.stick-base{position:absolute;inset:0}.stick-knob{background:#ffffff47;border-color:#ffffffb3;width:42%;height:42%;margin:-21% 0 0 -21%;position:absolute;top:50%;left:50%}.fire-visual{pointer-events:none;background:#ffffff38;border-color:#ffffffa6;width:5.25rem;height:5.25rem;position:absolute;transform:translate(-50%,-50%)}.stick-visual.ghost,.fire-visual.ghost{opacity:.28}.stick-visual.active,.fire-visual.active{opacity:.9}.kbd-capture{left:0;right:0;top:calc(3.5rem + env(safe-area-inset-top,0px));opacity:.02;caret-color:#0000;color:#0000;z-index:4;pointer-events:none;-webkit-user-select:text;user-select:text;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;margin:0;padding:0;font-size:16px;position:absolute;bottom:0}.kbd-capture.kbd-capture-active{pointer-events:auto}.kbd-hint{left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:6;color:#fff;font-family:var(--font-ui);letter-spacing:.04em;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#000000bf;border:1px solid #444;border-radius:0;padding:.65rem 1.1rem;font-size:.85rem;position:absolute;transform:translate(-50%)}.kbd-hint.hidden{display:none}@media (width<=520px){.controls{flex-direction:column;width:100%;max-width:18rem}.field,.field select,#start-btn{width:100%}}
