/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#f4f2ee;--muted:#8a8992;--panel:#d8d8dc;--red:#e30613;--night:#08080c}*{box-sizing:border-box}html,body{background:var(--night);min-height:100%;color:var(--ink);margin:0}html.room-active{height:100%;min-height:100%;overflow:hidden}body{font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}.room-shell{width:100%;height:100dvh;height:var(--retrotap-viewport-height,100dvh);max-height:var(--retrotap-viewport-height,100dvh);min-height:100vh;min-height:var(--retrotap-viewport-height,100dvh);overscroll-behavior:none;background:radial-gradient(ellipse 120% 80% at 50% 0%, #1a1025 0%, var(--night) 55%);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.room-shell:after{content:"";pointer-events:none;opacity:.11;mix-blend-mode:screen;background-image:repeating-linear-gradient(0deg,#ffffff0f 0 1px,#0000 1px 3px);position:fixed;inset:0}.glass-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0f;border:1px solid #ffffff1f;box-shadow:0 18px 50px #00000073}.room-header{top:calc(env(safe-area-inset-top,0px) + 8px);z-index:8000;border-radius:999px;align-items:center;gap:12px;padding:5px 10px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.playing .room-header{top:env(safe-area-inset-top,0px);opacity:.92;padding:4px 8px}.console-label{font:800 11px var(--font-geist-mono), monospace;letter-spacing:.12em;color:#63e7c4}.controller-button{color:#9b98a6;font:700 11px var(--font-geist-mono), monospace;cursor:pointer;padding:6px 12px;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:5px;padding-inline:9px;display:flex}.controller-button span{color:#777481;font-size:9px}.controller-button.connected{color:#8cffaa;background:#25703f33;border-color:#61e88b5c}.controller-button.connected span{color:#58ed85;text-shadow:0 0 8px #58ed85}.boot-screen{--boot-pointer-x:50%;--boot-pointer-y:45%;z-index:10000;width:100%;height:100%;padding:max(28px, env(safe-area-inset-top,0px)) 18px max(28px, env(safe-area-inset-bottom,0px));appearance:none;color:#fff;background-color:#010103;background-image:repeating-linear-gradient(0deg, #ffffff09 0 1px, transparent 1px 4px), linear-gradient(#8d55c7 0 0), linear-gradient(#397fda 0 0), linear-gradient(#b263da 0 0), linear-gradient(#42cb7c 0 0), linear-gradient(#f0c242 0 0), linear-gradient(#7541a8 0 0), linear-gradient(#7541a8 0 0), linear-gradient(#d04f68 0 0), url(/retrotap-logo.png), radial-gradient(circle at var(--boot-pointer-x) var(--boot-pointer-y), #7437b53d, transparent 27%), radial-gradient(ellipse 72% 46% at 50% 46%, #491f7442, transparent 68%);background-blend-mode:screen, screen, screen, screen, screen, screen, screen, screen, screen, screen, normal, normal;image-rendering:pixelated;font-family:var(--font-geist-mono), monospace;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;isolation:isolate;background-position:0 0,7% 16%,14% 29%,91% 18%,84% 72%,10% 76%,95% 51%,4% 53%,73% 22%,50% 43%,50%,50%;background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;background-size:auto,6px 6px,18px 4px,8px 8px,4px 18px,8px 8px,26px 4px,22px 4px,4px 12px,clamp(280px,82vw,740px),auto,auto;border:0;border-radius:0;margin:0;animation:.55s cubic-bezier(.16,.84,.28,1) both boot-power-on;position:fixed;inset:0;overflow:hidden;box-shadow:inset 0 0 clamp(70px,15vw,190px) #000000f2}.boot-screen:before{content:"●  TOQUE PARA ATIVAR";left:50%;bottom:max(14vh, calc(env(safe-area-inset-bottom,0px) + 38px));z-index:2;pointer-events:none;color:#e9ddf4bd;letter-spacing:.28em;white-space:nowrap;text-shadow:0 0 14px #a35be0b8;font-size:clamp(8px,1.6vw,11px);font-weight:800;animation:1.05s step-end infinite boot-ready-blink;position:absolute;transform:translate(-50%)}.boot-screen:after{content:"";z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:0;background:linear-gradient(90deg,#0000 45%,#ffffff61 50%,#0000 55%);animation:1.7s .45s both boot-light-sweep;position:absolute;inset:-20% -35%;transform:translate(-74%)skew(-18deg)}.boot-screen:focus-visible{outline-offset:-8px;outline:2px solid #c47effe6}.boot-screen.boot-exiting{animation:.65s cubic-bezier(.4,0,.8,.25) forwards boot-away}.boot-screen.boot-exiting:before{content:"●  SISTEMA ATIVO";color:#77ff9b;animation:none}@keyframes boot-power-on{0%{filter:brightness(.18)}to{filter:brightness()}}@keyframes boot-light-sweep{15%{opacity:0}42%{opacity:.75}72%,to{opacity:0;transform:translate(72%)skew(-17deg)}}@keyframes boot-ready-blink{50%{opacity:.22}}@keyframes boot-away{0%{opacity:1;filter:brightness()}35%{opacity:1;filter:brightness(2.15)}to{opacity:0;visibility:hidden;pointer-events:none;filter:brightness(1.75)blur(2px)}}.game-stage{width:100%;min-height:0;padding:calc(env(safe-area-inset-top,0px) + 52px) max(8px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 4px) max(8px, env(safe-area-inset-left,0px));flex-direction:column;flex:1 1 0;display:flex;position:relative}.playing .game-stage{padding-top:calc(env(safe-area-inset-top,0px) + 27px);padding-bottom:0;padding-left:0;padding-right:0}.pre-play{z-index:9000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05050ae0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.game-card{color:#17171c;text-align:center;background:linear-gradient(160deg,#e1e1e4,#bebec3);border-radius:14px;flex:none;width:min(420px,100%);margin:auto;padding:24px 20px 28px;animation:.45s both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cover-art{aspect-ratio:400/560;background:linear-gradient(140deg,#0000 0 42%,#ffffff21 42% 43%,#0000 43%),radial-gradient(circle at 70% 30%,#ff3150 0 4%,#0000 4.5%),radial-gradient(circle at 32% 68%,#ffd629 0 4%,#0000 4.5%),linear-gradient(135deg,#14245a,#24266f 45%,#5b164b);border-radius:12px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 45px #00000059,0 16px 40px #0006}.cover-art>img{object-fit:cover;width:100%;height:100%;display:block}.cover-art.has-cover:before{display:none}.cover-art:before{content:"";border:26px solid #ffffff1a;border-radius:50%;width:150%;height:72%;position:absolute;bottom:-35%;left:-25%;box-shadow:0 0 0 30px #ffffff0e,0 0 0 62px #ffffff09}.cover-logo{text-align:center;text-shadow:0 6px #00000040;position:relative;transform:rotate(-4deg)}.cover-logo small{font:800 15px var(--font-geist-mono), monospace;letter-spacing:.36em;color:#ffd629;margin-bottom:6px;display:block}.cover-logo strong{letter-spacing:-.07em;color:#fff;font:950 clamp(35px,8vw,55px)/.82 Arial Black,sans-serif;display:block}.cover-logo em{background:var(--red);color:#fff;font:900 11px var(--font-geist-mono), monospace;letter-spacing:.16em;border-radius:4px;margin-top:13px;padding:5px 11px;font-style:normal;display:inline-block}.game-meta h1{letter-spacing:-.02em;margin:0 0 8px;font-size:18px;line-height:1.25}.game-meta p{color:#74747c;margin:0 0 20px;font-size:13px;line-height:1.4}.local-progress{color:#1a753d;text-align:left;background:#26a55514;border:1px solid #147e3d38;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;margin:-6px 0 12px;padding:10px 12px;display:grid}.local-progress>span{color:#22a959;text-shadow:0 0 8px #22a95959;grid-row:1/3;font-size:10px}.local-progress strong{font:900 9px var(--font-geist-mono), monospace;letter-spacing:.07em}.local-progress small{color:#69746c;font-size:9px}.controller-guide-button{color:#32323a;cursor:pointer;text-align:left;background:#16161c13;border:1px solid #26262f2e;border-radius:11px;gap:3px;width:100%;margin:-6px 0 12px;padding:10px 13px;display:grid}.controller-guide-button span{font:900 9px var(--font-geist-mono), monospace;letter-spacing:.08em}.controller-guide-button small{color:#777680;font-size:10px}.controller-guide-button.connected{background:#31b56014;border-color:#1a8d4440}.controller-guide-button.connected span{color:#16733a}.start-button{color:#fff;cursor:pointer;background:linear-gradient(90deg,#ef0a17,#c9000b);border:0;border-radius:999px;width:100%;padding:14px 18px;font-size:13px;font-weight:900;transition:transform .2s,filter .2s;box-shadow:0 10px 23px #da000b47}.start-button:disabled{cursor:wait;opacity:.65;box-shadow:none}.start-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.start-button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #fff}.emulator-mount{isolation:isolate;touch-action:manipulation;-webkit-touch-callout:none;color:#bdbcc5;background:linear-gradient(#000 0 38%,#31004f 38%,#19002b 72%,#0b0013 100%);flex:auto;align-self:stretch;width:100%;max-width:100%;min-height:0;margin:0 auto;position:relative;overflow:hidden}.emulator-mount:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(#3a075ceb,#4b0e76f0 42%,#1f0235fa 100%);position:absolute;inset:38% 0 0;-webkit-mask-image:linear-gradient(#0000,#000 10%,#000);mask-image:linear-gradient(#0000,#000 10%,#000)}#game.ejs_parent{flex-direction:column!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;display:flex!important;overflow:hidden!important}#game .ejs_game{width:100%!important;height:100%!important;min-height:0!important;position:relative!important;overflow:hidden!important}#game .ejs_canvas_parent{background:0 0!important;flex:auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;position:relative!important}#game .ejs_canvas{image-rendering:pixelated;image-rendering:crisp-edges;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;margin:0 auto!important;display:block!important}#game .ejs_virtualGamepad_parent{z-index:30!important;pointer-events:none!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important}#game .ejs_virtualGamepad_top,#game .ejs_virtualGamepad_bottom,#game .ejs_virtualGamepad_left,#game .ejs_virtualGamepad_right{pointer-events:none!important}#game .ejs_virtualGamepad_button,#game .ejs_dpad_main,#game .ejs_dpad_main *{touch-action:none!important;pointer-events:auto!important;-webkit-tap-highlight-color:transparent!important}#game .ejs_virtualGamepad_button{color:#fffffff0!important;background:#14111b94!important;border:2px solid #ffffffa8!important;transition:transform 70ms,background-color 70ms,opacity 70ms!important;box-shadow:0 4px 12px #00000047!important}#game .ejs_dpad_main{filter:drop-shadow(0 5px 12px #00000059);opacity:.78!important}.touch-controls-off #game .ejs_virtualGamepad_parent{display:none!important}#game .ejs_start_button{visibility:hidden!important;pointer-events:none!important;opacity:0!important;width:0!important;height:0!important;display:none!important;position:absolute!important;left:-9999px!important;overflow:hidden!important}.emulator-loading,.emulator-error,.room-demo-message{text-align:center;font:700 12px/1.7 var(--font-geist-mono), monospace;place-items:center;padding:28px;display:grid;position:absolute;inset:0}.emulator-loading{color:#70f0cd;z-index:10000;pointer-events:none;background:#08080b}.emulator-error{color:#ff6972;z-index:3;background:#08080bf0}.room-demo-message{color:#bdbcc5}.pre-play-error{font-weight:700;color:#a8000a!important;margin:12px 0 0!important;font-size:11px!important}.save-notice{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:7900;pointer-events:none;color:#75ef99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:900 8px var(--font-geist-mono), monospace;letter-spacing:.1em;white-space:nowrap;background:#07110bd1;border:1px solid #5cea8647;border-radius:999px;padding:8px 12px;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #0000006b}@media (orientation:landscape) and (height<=720px){.emulator-mount:before{inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 24% 76%,#000);mask-image:linear-gradient(90deg,#000,#0000 24% 76%,#000)}}.controller-dialog-backdrop,.delete-dialog-backdrop{z-index:14000;padding:max(18px, env(safe-area-inset-top,0px)) 16px max(18px, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#030307e0;place-items:center;display:grid;position:fixed;inset:0}.controller-dialog-dismiss,.delete-dialog-dismiss{cursor:default;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.controller-dialog{z-index:1;color:#f4f1f7;background:linear-gradient(160deg,#17121e,#0d0c12);border:1px solid #393544;border-radius:20px;width:min(520px,100%);max-height:100%;padding:clamp(22px,5vw,34px);position:relative;overflow:auto;box-shadow:0 26px 90px #000000b3,inset 0 1px #ffffff0f}.controller-dialog-close{color:#bbb5c4;cursor:pointer;background:#17141d;border:1px solid #3d3946;border-radius:50%;width:34px;height:34px;font-size:23px;line-height:1;position:absolute;top:12px;right:13px}.controller-dialog-eyebrow{color:#a86cda;font:800 9px var(--font-geist-mono), monospace;letter-spacing:.2em;margin:0 0 8px}.controller-dialog h2{letter-spacing:-.05em;margin:0 0 20px;font-size:clamp(27px,6vw,38px)}.controller-status{background:#0b0a0f;border:1px solid #373340;border-radius:13px;align-items:center;gap:12px;padding:13px 14px;display:flex}.controller-status>span{background:#6f6976;border-radius:3px;flex:0 0 10px;width:10px;height:10px}.controller-status.connected>span{background:#5dea86;box-shadow:0 0 11px #5dea86}.controller-status strong,.controller-status small{display:block}.controller-status strong{color:#d8d3dc;font:900 9px var(--font-geist-mono), monospace;letter-spacing:.1em}.controller-status small{color:#77717e;overflow-wrap:anywhere;max-width:390px;margin-top:4px;font-size:10px;line-height:1.35}.controller-status.connected strong{color:#7cf19e}.ios-controller-help{background:linear-gradient(145deg,#ffbe2f14,#822cff0f);border:1px solid #ffbe2f57;border-radius:13px;margin-top:12px;padding:13px 14px}.ios-controller-help p{color:#ffc94b;font:900 8px var(--font-geist-mono), monospace;letter-spacing:.12em;margin:0 0 7px}.ios-controller-help>strong,.ios-controller-help>span,.ios-controller-help>small{display:block}.ios-controller-help>strong{color:#f1e7f5;font-size:11px}.ios-controller-help>span{color:#9f91a6;margin-top:4px;font-size:9.5px;line-height:1.4}.ios-controller-help ol{color:#c4b8c9;margin:11px 0 9px;padding-left:20px;font-size:9.5px;line-height:1.5}.ios-controller-help li+li{margin-top:5px}.ios-controller-help b{color:#fff}.ios-controller-help>small{color:#8f8196;font-size:8.5px;line-height:1.4}.controller-steps{color:#aaa3b0;margin:20px 0;padding-left:20px;font-size:11px;line-height:1.55}.controller-steps li+li{margin-top:7px}.controller-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.controller-map>span{background:#ffffff06;border:1px solid #302c38;border-radius:10px;gap:4px;min-width:0;padding:10px;display:grid}.controller-map kbd{color:#e2dce7;font:900 10px var(--font-geist-mono), monospace;white-space:nowrap}.controller-map small{color:#716b78;font-size:9px}.touch-controls-toggle{color:#d8c5e8;width:100%;font:900 9px var(--font-geist-mono), monospace;letter-spacing:.08em;cursor:pointer;background:#854ab41f;border:1px solid #51455e;border-radius:999px;margin-top:18px;padding:11px 14px}.controller-profile{background:#7a3a9e12;border:1px solid #3b3043;border-radius:12px;align-items:center;gap:11px;margin-top:12px;padding:11px 13px;display:flex}.controller-profile>span{color:#9d67bd;font-size:13px}.controller-profile strong,.controller-profile small{display:block}.controller-profile strong{color:#d9cde0;font:900 8.5px var(--font-geist-mono), monospace;letter-spacing:.075em}.controller-profile small{color:#83778a;margin-top:3px;font-size:9.5px;line-height:1.35}.controller-profile.custom{background:#257e4314;border-color:#5be88542}.controller-profile.custom>span,.controller-profile.custom strong{color:#78ee9c}.controller-live-test{background:#05020885;border:1px dashed #42354c;border-radius:12px;gap:5px;min-height:54px;margin-top:10px;padding:10px 13px;display:grid}.controller-live-test small{color:#7e6a89;font:900 8px var(--font-geist-mono), monospace;letter-spacing:.13em}.controller-live-test strong{color:#aaa0af;font:800 10px var(--font-geist-mono), monospace;line-height:1.35}.controller-live-test.active{background:#822cff1a;border-style:solid;border-color:#b864f080}.controller-live-test.active strong{color:#e4c1fb}.controller-map-start{color:#fff;text-align:left;cursor:pointer;background:linear-gradient(105deg,#5e168c,#8128b5);border:1px solid #8d45bc;border-radius:13px;grid-template-columns:34px 1fr;align-items:center;gap:1px 10px;width:100%;margin-top:12px;padding:12px 14px;display:grid;box-shadow:0 10px 28px #52117938}.controller-map-start>span{grid-row:1/3;font-size:24px}.controller-map-start strong{font:950 9.5px var(--font-geist-mono), monospace;letter-spacing:.09em}.controller-map-start small{color:#dcc4e9;font-size:9px}.controller-map-start:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.controller-mapping-wizard{margin-top:14px}.controller-mapping-progress{background:#2d2333;border-radius:999px;height:4px;overflow:hidden}.controller-mapping-progress>span{border-radius:inherit;background:linear-gradient(90deg,#2e95ef,#26c365,#ef3f4b,#f5bf2d);height:100%;transition:width .18s;display:block}.controller-mapping-target{text-align:center;background:radial-gradient(circle at 50% 25%,#9a32e133,#0000 66%),#0d0712;border:1px solid #663589;border-radius:15px;place-items:center;min-height:120px;margin-top:10px;padding:14px;display:grid}.controller-mapping-target small{color:#ab71ce;font:900 8px var(--font-geist-mono), monospace;letter-spacing:.14em}.controller-mapping-target strong{color:#f0d9ff;font:950 clamp(25px, 8vw, 38px) var(--font-geist-mono), monospace;letter-spacing:-.05em;text-shadow:0 0 24px #ba5bff40}.controller-mapping-target p{color:#87768f;margin:0;font-size:10px}.controller-mapping-target.complete{background:radial-gradient(circle at 50% 25%,#2fab5629,#0000 66%),#071009;border-color:#54e07f66}.controller-mapping-target.complete small,.controller-mapping-target.complete strong{color:#7ff2a1}.controller-binding-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px;display:grid}.controller-binding-grid>span{text-align:center;background:#0c0910;border:1px solid #34293b;border-radius:9px;min-width:0;padding:7px 6px}.controller-binding-grid kbd,.controller-binding-grid small{text-overflow:ellipsis;display:block;overflow:hidden}.controller-binding-grid kbd{color:#796f7e;font:900 8px var(--font-geist-mono), monospace}.controller-binding-grid small{color:#514b55;font:700 6.5px var(--font-geist-mono), monospace;white-space:nowrap;margin-top:3px}.controller-binding-grid>span.mapped{background:#7023a11f;border-color:#974bc96b}.controller-binding-grid>span.mapped kbd{color:#dcb7f2}.controller-binding-grid>span.mapped small{color:#967aa5}.controller-binding-grid>span.current{border-color:#b46ce2;box-shadow:inset 0 0 0 1px #c97ef72e}.controller-mapping-actions{grid-template-columns:1fr auto;gap:8px;margin-top:11px;display:grid}.controller-map-save,.controller-map-secondary,.controller-reset-map{font:900 8.5px var(--font-geist-mono), monospace;letter-spacing:.07em;cursor:pointer;border-radius:999px;padding:11px 13px}.controller-map-save{color:#fff;background:#1a8d42;border:1px solid #41d36e}.controller-map-secondary{color:#bca9c6;background:#ffffff06;border:1px solid #594464}.controller-map-secondary.full{width:100%;margin-top:11px}.controller-mapping-message{color:#dd9cba;text-align:center;margin:10px 0 0;font-size:9.5px;line-height:1.4}.controller-mapping-message.success{color:#7feaa0}.controller-reset-map{color:#8f7d98;text-underline-offset:3px;background:0 0;border:0;width:100%;margin-top:10px;text-decoration:underline}.manager-shell{background:radial-gradient(circle at 70% 20%,#2a1343 0,#0000 35%),#08080c;place-items:center;min-height:100vh;padding:32px;display:grid}.manager-card{background:#0f0f16d9;border:1px solid #2d2d36;border-radius:26px;width:min(780px,100%);padding:clamp(28px,7vw,68px);box-shadow:0 30px 100px #0006}.brand-mark{letter-spacing:-.03em;font-weight:950}.brand-mark span{background:var(--red);border-radius:7px;place-items:center;width:30px;height:30px;margin-right:9px;display:inline-grid}.eyebrow{color:#ef3340;font:800 11px var(--font-geist-mono), monospace;letter-spacing:.2em;margin:46px 0 12px}.manager-card h1{letter-spacing:-.07em;margin:0;font-size:clamp(42px,8vw,78px);line-height:.95}.manager-copy{color:#9a99a3;max-width:580px;margin:28px 0 36px;font-size:16px;line-height:1.7}.manager-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.primary-link{color:#fff;background:var(--red);border-radius:999px;padding:14px 20px;font-size:13px;font-weight:800;text-decoration:none;display:inline-block}.secondary-link{color:#cccbd2;text-underline-offset:4px;font-size:12px;font-weight:800}.availability{color:#777680;font:800 10px var(--font-geist-mono), monospace;letter-spacing:.12em}.availability i{background:#4bd887;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 10px #4bd887}.invalid-room{text-align:center;background:#08080c;place-content:center;gap:14px;min-height:100vh;padding:30px;display:grid}.invalid-room .brand-mark{margin:0 auto 28px}.invalid-room p{color:var(--red);font:800 11px var(--font-geist-mono), monospace;letter-spacing:.18em;margin:0}.invalid-room h1{letter-spacing:-.05em;margin:0;font-size:clamp(34px,7vw,62px)}.invalid-room>span{color:#85848e}.access-denied{text-align:center;background:#08080c;place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:30px;display:grid}.access-denied .brand-mark{margin-bottom:28px}.access-denied p{color:var(--red);font:800 11px var(--font-geist-mono), monospace;letter-spacing:.18em;margin:0}.access-denied h1{letter-spacing:-.05em;max-width:680px;margin:0;font-size:clamp(34px,7vw,62px)}.access-denied>span{color:#85848e}.access-denied a{color:#fff;text-underline-offset:4px;margin-top:18px;font-size:12px;font-weight:800}.admin-shell{background:radial-gradient(circle at 15% 0,#231039 0,#0000 30%),#08080c;min-height:100vh;padding:clamp(24px,5vw,64px)}.admin-header{justify-content:space-between;align-items:center;max-width:1260px;margin:0 auto 64px;display:flex}.admin-header p{color:#75747e;font:700 9px var(--font-geist-mono), monospace;letter-spacing:.18em;margin:9px 0 0 40px}.admin-user{text-align:right;color:#a09fa8;font-size:12px}.admin-user a{color:#ef3340;font:800 9px var(--font-geist-mono), monospace;margin-top:6px;display:block}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);align-items:start;gap:38px;max-width:1260px;margin:auto;display:grid}.upload-panel,.rooms-panel{background:#101017e0;border:1px solid #292933;border-radius:24px;padding:clamp(25px,4vw,44px)}.upload-panel .eyebrow{margin-top:0}.upload-panel h1{letter-spacing:-.06em;margin:0 0 34px;font-size:clamp(34px,5vw,56px);line-height:1}.upload-panel form{gap:17px;display:grid}.upload-panel label{color:#aaa9b2;gap:8px;font-size:11px;font-weight:700;display:grid}.upload-panel input,.upload-panel select{color:#f0eff3;background:#0c0c12;border:1px solid #34343f;border-radius:11px;outline:none;width:100%;padding:13px 14px}.file-field small{color:#66656f;font-weight:500}.rights-check{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.rights-check input{width:16px;height:16px}.create-button{color:#fff;background:var(--red);cursor:pointer;border:0;border-radius:999px;margin-top:8px;padding:14px;font-size:12px;font-weight:900}.create-button:disabled{opacity:.55;cursor:wait}.admin-message{color:#c9c8cf;font:700 10px/1.6 var(--font-geist-mono), monospace;overflow-wrap:anywhere;border:1px solid #363642;border-radius:12px;padding:13px 15px}.rooms-title{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.rooms-title h2{margin:0;font-size:24px}.rooms-title span{min-width:28px;height:28px;font:700 11px var(--font-geist-mono), monospace;background:#292932;border-radius:50%;place-items:center;display:grid}.empty-state{color:#777680;text-align:center;padding:50px 0}.rooms-list{gap:11px;display:grid}.room-row{background:#0c0c12;border:1px solid #292933;border-radius:15px;justify-content:space-between;gap:18px;padding:16px;display:flex}.room-row strong,.room-row span,.room-row code{display:block}.room-row strong{font-size:14px}.room-row span{color:#6f6e78;margin:7px 0;font-size:10px}.room-row code{color:#a3a2ab;font:700 9px var(--font-geist-mono), monospace}.room-row-actions{align-content:center;gap:7px;display:grid}.room-row-actions button{color:#aaa9b2;font:800 8px var(--font-geist-mono), monospace;cursor:pointer;background:0 0;border:1px solid #34343f;border-radius:999px;padding:7px 9px}.room-row-actions button.active{color:#55da91;border-color:#245d40}.room-row-actions .delete-room-button{color:#f2767d;border-color:#5b2b30}.delete-dialog-backdrop{z-index:15000}.delete-dialog{z-index:1;background:linear-gradient(155deg,#1a1115,#0d0b0d);border:1px solid #4a2b30;border-radius:20px;width:min(440px,100%);padding:clamp(24px,5vw,34px);position:relative;box-shadow:0 25px 90px #000000b8}.delete-dialog p{color:#ef5d67;font:900 9px var(--font-geist-mono), monospace;letter-spacing:.18em;margin:0 0 10px}.delete-dialog h2{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(25px,6vw,36px)}.delete-dialog>span{color:#9d9398;font-size:12px;line-height:1.55;display:block}.delete-dialog>div{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.delete-dialog>div button{color:#b3aaaf;font:900 9px var(--font-geist-mono), monospace;cursor:pointer;background:0 0;border:1px solid #3b3438;border-radius:999px;padding:10px 13px}.delete-dialog>div .confirm-delete-button{color:#fff;background:#d40715;border-color:#a9252f}.delete-dialog button:disabled{opacity:.5;cursor:wait}@media (width<=900px){.admin-grid{grid-template-columns:1fr}.rooms-panel{order:2}}@media (width<=640px){.boot-screen{background-position:0 0,7% 12%,16% 24%,90% 15%,86% 73%,9% 76%,96% 48%,3% 51%,73% 18%,50% 42%,50%,50%;background-size:auto,5px 5px,14px 4px,7px 7px,4px 14px,7px 7px,20px 4px,18px 4px,4px 10px,min(90vw,620px),auto,auto}.room-header{gap:6px}.controller-button{padding:6px 9px}.pre-play{padding:14px}.game-card{max-width:390px;padding:16px 14px 18px}.game-meta{padding-top:13px}.game-meta p{margin-bottom:16px;font-size:12px}.manager-shell{padding:18px}.admin-shell{padding:20px 14px}.admin-header{margin-bottom:36px}.admin-grid{grid-template-columns:1fr}.upload-panel,.rooms-panel{border-radius:18px;padding:22px 17px}.room-row{flex-direction:column}.room-row-actions{display:flex}.controller-map{grid-template-columns:1fr 1fr}.controller-dialog{border-radius:16px;padding:20px 16px}.controller-binding-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.controller-mapping-actions{grid-template-columns:1fr}.controller-map-save,.controller-map-secondary{width:100%}.delete-dialog>div{flex-direction:column-reverse}.delete-dialog>div button{width:100%}}@media (pointer:coarse){#game .ejs_menu_bar,#game .ejs_context_menu,#game .ejs_settings_parent{visibility:hidden!important;pointer-events:none!important;display:none!important}}@media (height<=720px){.game-card{max-width:330px;padding:12px}.cover-art{aspect-ratio:16/12}.game-meta{padding-top:10px}.game-meta p{margin-bottom:10px}.controller-guide-button{margin-bottom:8px;padding-block:8px}.start-button{padding-block:11px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.boot-screen:before,.boot-screen:after{animation:none!important}.boot-screen.boot-exiting{animation-duration:.2s}}:root{--ink:#f7f3fb;--muted:#988da4;--panel:#171020;--red:#822cff;--night:#07000d;--purple:#822cff;--purple-bright:#b641ff;--purple-deep:#2e0754;--brand-blue:#237cff;--brand-green:#18c96b;--brand-red:#f0443e;--brand-yellow:#ffc62f}html,body{background:var(--night)}body{color:var(--ink)}.room-shell{background:radial-gradient(circle at 50% -12%,#822cff57,#0000 42%),linear-gradient(#10001e,#050008 58%)}.room-shell:after{opacity:.14;background-image:repeating-linear-gradient(0deg,#b559ff14 0 1px,#0000 1px 4px),linear-gradient(90deg,#0000 49.8%,#822cff14 50%,#0000 50.2%)}.glass-panel{background:#12061ec7;border-color:#ab54ff47;box-shadow:0 14px 44px #2a004b85,inset 0 1px #ffffff0f}.console-label{color:#c995ff;text-shadow:0 0 10px #b967ffb3}.controller-button{background:#7e2cce1f;border-color:#af5dff40}.boot-screen{background-color:#030005;background-image:repeating-linear-gradient(0deg, #c572ff09 0 1px, transparent 1px 4px), radial-gradient(circle at var(--boot-pointer-x) var(--boot-pointer-y), #a64aff33, transparent 24%), url(/retrotap-official.jpg);background-blend-mode:screen, screen, normal;background-position:0 0,50%,50%;background-repeat:repeat,no-repeat,no-repeat;background-size:auto,auto,cover;box-shadow:inset 0 0 clamp(48px,10vw,150px) #000000b8,0 0 80px #6916ca3d}.boot-screen:before{bottom:max(8vh, calc(env(safe-area-inset-bottom,0px) + 28px));color:#f7ebffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:0 0 14px #b54cfff2;background:#08001085;border:1px solid #bc67ff52;border-radius:999px;padding:9px 14px;box-shadow:0 0 24px #822cff3d}.boot-screen.boot-exiting:before{color:#7dffa3;border-color:#58ff8b57}.pre-play{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#05000bb8,#05000bf0),url(/retrotap-official.jpg) 50% 39%/cover no-repeat}.game-card{color:#17101c;background:linear-gradient(155deg,#f8f4faf7,#d3c6dcf7);border:1px solid #a64eed7a;box-shadow:0 24px 70px #280047b3,0 0 32px #822cff29}.cover-art{background:linear-gradient(140deg, transparent 0 42%, #ffffff1f 42% 43%, transparent 43%), radial-gradient(circle at 72% 28%, var(--brand-red) 0 4%, transparent 4.5%), radial-gradient(circle at 32% 70%, var(--brand-yellow) 0 4%, transparent 4.5%), linear-gradient(135deg, #10062c, #401074 52%, #8914af)}.cover-logo small{color:var(--brand-yellow)}.cover-logo em{background:linear-gradient(90deg,#6d1ed8,#9e28ec)}.controller-guide-button{background:#66299114;border-color:#5b217c3b}.start-button{background:linear-gradient(90deg,#5c18cd,#8c24ed 52%,#b632ff);box-shadow:0 10px 27px #6819cd61,inset 0 1px #ffffff3d}.start-button:focus-visible,a:focus-visible{outline-color:#bd7cff}.emulator-loading{color:#c391ff;background:#07000d}.emulator-error{background:#08000ff5}.save-notice{color:#d4a4ff;background:#130322e0;border-color:#b656ff66}#game .ejs_virtualGamepad_button_down{opacity:1!important;background:#443b4dd1!important;transform:scale(.94)!important}.controller-dialog-backdrop,.delete-dialog-backdrop{background:#05000ae6}.controller-dialog{background:linear-gradient(160deg,#21102f,#0b0610);border-color:#582879;box-shadow:0 26px 90px #150026d1,inset 0 1px #ffffff12}.controller-dialog-close{background:#24112f;border-color:#5f347c}.controller-dialog-eyebrow{color:#bd75f0}.controller-status,.controller-map>span{background:#08020db3;border-color:#3d244c}.touch-controls-toggle{color:#e3c4fa;background:#822cff24;border-color:#773ca1}.brand-mark{aspect-ratio:2.75;color:#0000;text-indent:-9999px;background:#0a0014 url(/retrotap-official.jpg) 50% 54%/cover no-repeat;border:1px solid #b153ff5c;border-radius:12px;width:clamp(180px,21vw,235px);font-size:0;overflow:hidden;box-shadow:0 9px 30px #31005575,inset 0 0 20px #822cff1f}.brand-mark span{display:none}.eyebrow{color:#c66cff;text-shadow:0 0 12px #a841ff6b}.primary-link,.create-button{background:linear-gradient(90deg,#631bd0,#a42df5);box-shadow:0 10px 28px #6217c747}.manager-shell,.invalid-room,.access-denied{background:linear-gradient(#05000ac7,#05000af0),url(/retrotap-official.jpg) 50% 38%/cover no-repeat}.manager-card{background:#0c0512e6;border-color:#4c2667}.invalid-room p,.access-denied p{color:#c875ff}.admin-shell{isolation:isolate;background:radial-gradient(circle at 12% 0,#751cca80,#0000 34%),radial-gradient(circle at 90% 14%,#3c16775c,#0000 30%),#07000d;position:relative;overflow:hidden}.admin-shell:before{content:"";z-index:-2;pointer-events:none;opacity:.56;background:linear-gradient(#05000ab8,#05000af0),url(/retrotap-official.jpg) 50% 34%/cover no-repeat;position:fixed;inset:0}.admin-shell:after{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#9c3fff0d 1px,#0000 1px),linear-gradient(90deg,#9c3fff0d 1px,#0000 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000c,#0000 74%);mask-image:linear-gradient(#000c,#0000 74%)}.admin-header{position:relative}.admin-header p{color:#a68caf;text-align:center;margin-left:0}.admin-user{color:#c0b1c9}.admin-user a{color:#c56dff}.upload-panel,.rooms-panel{background:#0c0512e8;border-color:#8f41c961;box-shadow:0 24px 80px #11001e75,inset 0 1px #ffffff0a}.upload-panel h1{color:#f7f1fa;text-shadow:0 4px 28px #7622c538}.upload-panel label{color:#c0afc9}.upload-panel input,.upload-panel select{color:#f4ecf8;background:#09030e;border-color:#45215c}.upload-panel input:focus,.upload-panel select:focus{border-color:#a24ef1;box-shadow:0 0 0 3px #8e3ae024}.file-field small{color:#81728a}.admin-message{color:#ddc7e9;background:#5d1c8b1f;border-color:#542870}.rooms-title span{color:#e4c8f7;background:#441b64;box-shadow:0 0 18px #8f3adb2e}.room-row{background:#08030cdb;border-color:#372044}.room-row code{color:#c790ec}.room-row-actions button{color:#c4afcf;background:#67248f0d;border-color:#4b2c5c}.room-row-actions button:hover{color:#f3e4fb;border-color:#9550bd}.delete-dialog{background:linear-gradient(155deg,#24102a,#0d0710);border-color:#622a69}.delete-dialog>div .confirm-delete-button{background:linear-gradient(90deg,#aa263f,#dc4051);border-color:#a43850}@media (width<=640px){.boot-screen{background-position:0 0,50%,50%;background-size:auto,auto,cover}.brand-mark{width:190px}.admin-header{align-items:flex-start;gap:16px}.admin-user{overflow-wrap:anywhere;max-width:120px;font-size:10px}}@media (orientation:landscape) and (height<=520px){.boot-screen:before{bottom:max(10px, env(safe-area-inset-bottom,0px))}}.device-check-screen,.desktop-experience{isolation:isolate;background:linear-gradient(#05000c8f,#05000cf0),url(/retrotap-official.jpg) 50% 38%/cover no-repeat;place-items:center;min-height:100dvh;padding:clamp(24px,5vw,64px);display:grid;position:fixed;inset:0;overflow:hidden}.device-check-screen:before,.desktop-experience:before{content:"";z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(0deg,#d292ff0b 0 1px,#0000 1px 4px),linear-gradient(#9c3fff0e 1px,#0000 1px),linear-gradient(90deg,#9c3fff0e 1px,#0000 1px);background-size:auto,32px 32px,32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#00000073);mask-image:linear-gradient(#000000e6,#00000073)}.device-check-screen .brand-mark{width:min(300px,76vw);animation:1.3s ease-in-out infinite alternate desktop-brand-pulse}.desktop-experience-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#0a0212d6;border:1px solid #b75bff6e;border-radius:26px;width:min(760px,100%);padding:clamp(30px,5.5vw,62px);box-shadow:0 30px 100px #18002bb8,inset 0 1px #ffffff14,0 0 55px #822cff24}.desktop-experience-card .brand-mark{width:min(320px,72vw);margin:0 auto clamp(26px,4vw,40px)}.desktop-experience-eyebrow{color:#ca79ff;font:900 11px var(--font-geist-mono), monospace;letter-spacing:.22em;text-shadow:0 0 16px #bc59ff8c;margin:0 0 14px}.desktop-experience-card h1{color:#fff;letter-spacing:-.055em;text-wrap:balance;max-width:670px;margin:0 auto 18px;font-size:clamp(35px,5vw,64px);line-height:.98}.desktop-experience-copy{color:#bcb0c5;text-wrap:balance;max-width:610px;margin:0 auto;font-size:clamp(14px,1.6vw,18px);line-height:1.65}.desktop-experience-hint{color:#e5c4fb;width:fit-content;max-width:100%;font:800 11px var(--font-geist-mono), monospace;letter-spacing:.05em;background:#822cff21;border:1px solid #ba5bff61;border-radius:999px;justify-content:center;align-items:center;gap:12px;margin:clamp(28px,4vw,42px) auto 0;padding:13px 18px;display:flex}.desktop-experience-hint span{color:#bd62ff;font-size:20px;line-height:1}@keyframes desktop-brand-pulse{0%{filter:brightness(.78);transform:scale(.985)}to{filter:brightness(1.12);transform:scale(1)}}html.room-active body{height:100%;overflow:hidden}html:fullscreen .room-shell{width:100vw!important;height:100dvh!important;max-height:none!important;inset:0!important}.room-shell:fullscreen{width:100vw!important;height:100dvh!important;max-height:none!important;inset:0!important}.state-button{color:#8effac;font:800 9px var(--font-geist-mono), monospace;letter-spacing:.05em;cursor:pointer;background:#20824124;border:1px solid #4ee27d4d;border-radius:999px;padding:6px 9px}.state-button:focus-visible,.start-over-button:focus-visible,.save-state-button:focus-visible,.load-state-button:focus-visible{outline-offset:3px;outline:2px solid #c47cff}.boot-screen.boot-playing{cursor:wait;animation:1.75s cubic-bezier(.2,.72,.2,1) both boot-theme-pulse}.boot-screen.boot-playing:before{content:"RETROTAP  ·  CARREGANDO";color:#e9ccff;animation:.55s steps(2,end) infinite boot-loading-text}.boot-screen.boot-playing:after{opacity:0;animation:1.68s ease-out both boot-theme-sweep}.boot-screen.boot-exiting{animation-duration:.7s}@keyframes boot-theme-pulse{0%{filter:brightness();transform:scale(1)}24%{filter:brightness(1.28)saturate(1.08)}58%{filter:brightness(.92)saturate(1.18);transform:scale(1.012)}84%,to{filter:brightness(1.18)saturate(1.12);transform:scale(1)}}@keyframes boot-theme-sweep{0%{opacity:0;transform:translate(-78%)skew(-18deg)}30%{opacity:.65}72%,to{opacity:0;transform:translate(78%)skew(-18deg)}}@keyframes boot-loading-text{50%{opacity:.48}}.pre-play{padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px))}.game-card{--card-rotate-x:0deg;--card-rotate-y:0deg;--card-light-x:50%;--card-light-y:25%;isolation:isolate;color:#f8f0fc;background:radial-gradient(circle at var(--card-light-x) var(--card-light-y), #b85bff2e, transparent 34%), linear-gradient(155deg, #1c082bf5, #08020efa);width:min(920px,100%);max-height:calc(100dvh - 24px);transform:perspective(1100px) rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y));text-align:left;border:1px solid #bf69ff80;border-radius:25px;padding:clamp(16px,3vw,28px);transition:transform .18s,border-color .25s;position:relative;overflow:auto;box-shadow:0 26px 80px #1a002fb8,inset 0 1px #ffffff17,0 0 38px #822cff29}.game-card:before{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background-image:linear-gradient(#c168ff0b 1px,#0000 1px),linear-gradient(90deg,#c168ff0b 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.game-card-topline{color:#b898ca;font:800 8px var(--font-geist-mono), monospace;letter-spacing:.14em;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.game-card-topline span{align-items:center;gap:7px;display:flex}.game-card-topline i{background:#6cff9c;border-radius:2px;width:7px;height:7px;box-shadow:0 0 10px #6cff9c}.game-card-topline strong{color:#d17eff;font-size:9px}.game-card-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(18px,3vw,34px);display:grid}.cover-shell{background:linear-gradient(150deg,#f4e5ff2b,#55177e29);border:1px solid #deb7ff85;border-radius:19px;padding:9px 9px 24px;position:relative;box-shadow:inset 0 1px #ffffff2b,0 18px 45px #00000061}.cover-art{aspect-ratio:16/11;background:linear-gradient(135deg,#12042c,#4b147b 54%,#7b1598);border-radius:13px;box-shadow:inset 0 0 40px #00000061,0 10px 30px #0000006b}.cover-art.has-cover{background:#10051c}.cover-art>.cover-art-backdrop{object-fit:cover;filter:blur(18px)brightness(.48)saturate(1.3);width:120%;height:120%;position:absolute;inset:-10%;transform:scale(1.05)}.cover-art>.cover-art-main{z-index:1;object-fit:contain;filter:drop-shadow(0 10px 18px #00000061);width:100%;height:100%;position:relative}.cover-scan{z-index:2;pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff2e 48%,#0000 60%);animation:3.8s ease-in-out 1.1s infinite cover-shine;position:absolute;inset:0;transform:translate(-110%)}.cartridge-contact{gap:5px;display:flex;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.cartridge-contact span{opacity:.72;background:linear-gradient(90deg,#8c5f15,#ffd45c,#8c5f15);border-radius:1px;width:18px;height:4px}@keyframes cover-shine{0%,68%{transform:translate(-110%)}92%,to{transform:translate(110%)}}.game-meta{text-align:left;padding:0}.game-meta-kicker{letter-spacing:.17em;color:#c875ff!important;font:800 8px var(--font-geist-mono), monospace!important;margin:0 0 7px!important}.game-meta h1{color:#fff;letter-spacing:-.055em;text-wrap:balance;margin:0 0 7px;font-size:clamp(27px,5vw,45px);line-height:.98}.game-meta-copy{color:#a99caf!important;margin:0 0 14px!important;font-size:11px!important}.local-progress,.manual-state-available{text-align:left;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;margin:0 0 9px;padding:9px 11px;display:grid}.local-progress{color:#6ce995;background:#2ba75117;border-color:#4ce0793d}.manual-state-available{color:#d694ff;background:#892ec81a;border:1px solid #c466ff45}.local-progress>span,.manual-state-available>span{grid-row:1/3;font-size:10px}.local-progress strong,.manual-state-available strong{color:inherit;font:900 8px var(--font-geist-mono), monospace;letter-spacing:.06em}.local-progress small,.manual-state-available small{color:#93899a;font-size:8px}.controller-guide-button{color:#d9c4e6;background:#8d35c417;border-color:#b75eed47;margin:0 0 10px}.controller-guide-button small{color:#8f8297}.start-mode-actions{gap:8px;display:grid}.start-button,.start-over-button{cursor:pointer;text-align:left;border-radius:14px;gap:3px;width:100%;padding:12px 15px;transition:transform .18s,filter .18s,border-color .18s;display:grid}.start-button{color:#fff;background:linear-gradient(90deg,#641bd1,#a42df4 62%,#c047ff);border:0;box-shadow:0 10px 26px #7019d359,inset 0 1px #ffffff38}.start-over-button{color:#d8c6e2;background:#6f2a971a;border:1px solid #b874e252}.start-button strong,.start-over-button strong{font:900 10px var(--font-geist-mono), monospace;letter-spacing:.05em}.start-button small,.start-over-button small{color:#ffffffa6;font-size:8px}.start-over-button small{color:#8f8097}.start-button:hover,.start-over-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.start-button:disabled,.start-over-button:disabled{cursor:wait;opacity:.55;transform:none}.state-dialog-backdrop{z-index:15000;padding:max(16px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#040008e6;place-items:center;display:grid;position:fixed;inset:0}.state-dialog-dismiss{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.state-dialog{z-index:1;background:linear-gradient(155deg,#21102d,#0b0610);border:1px solid #b754f17a;border-radius:22px;width:min(480px,100%);max-height:100%;padding:clamp(23px,5vw,34px);position:relative;overflow:auto;box-shadow:0 28px 90px #140023d1,inset 0 1px #ffffff12}.state-dialog-close{color:#cbb5d7;cursor:pointer;background:#21102c;border:1px solid #563168;border-radius:50%;width:34px;height:34px;font-size:22px;position:absolute;top:12px;right:13px}.state-dialog-eyebrow{color:#ca79ff;font:900 8px var(--font-geist-mono), monospace;letter-spacing:.18em;margin:0 0 8px}.state-dialog h2{color:#fff;letter-spacing:-.055em;margin:0 0 10px;font-size:clamp(30px,7vw,44px)}.state-dialog-copy{color:#9f92a7;margin:0 0 18px;font-size:11px;line-height:1.55}.manual-state-status{background:#08030cb3;border:1px solid #3f3048;border-radius:12px;align-items:center;gap:11px;padding:12px 13px;display:flex}.manual-state-status>span{color:#74657d}.manual-state-status.available>span{color:#d47cff;text-shadow:0 0 10px #ae48f1}.manual-state-status strong,.manual-state-status small{display:block}.manual-state-status strong{color:#d9cfdf;font:900 8px var(--font-geist-mono), monospace;letter-spacing:.07em}.manual-state-status small{color:#827589;margin-top:3px;font-size:8px}.state-dialog-actions{gap:9px;margin-top:18px;display:grid}.save-state-button,.load-state-button{text-align:left;cursor:pointer;border-radius:13px;gap:3px;width:100%;padding:12px 14px;display:grid}.save-state-button{color:#fff;background:linear-gradient(90deg,#641bd1,#a42df4);border:0}.load-state-button{color:#8cf0a9;background:#309a501f;border:1px solid #67ea8f4d}.save-state-button strong,.load-state-button strong{font:900 9px var(--font-geist-mono), monospace;letter-spacing:.05em}.save-state-button small,.load-state-button small{color:#ffffff94;font-size:8px}.load-state-button:disabled{cursor:not-allowed;opacity:.42}#game .ejs_popup_container.retrotap-native-resume{visibility:hidden!important;pointer-events:none!important;display:none!important}.resume-start-screen{z-index:14000;padding:max(18px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(18px, env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:repeating-linear-gradient(0deg,#ffffff07 0 1px,#0000 1px 4px),radial-gradient(circle at 50% 35%,#852ce245,#0000 43%),linear-gradient(155deg,#090111f5,#010004fc);place-items:center;animation:.24s ease-out both resume-screen-in;display:grid;position:fixed;inset:0;overflow:auto}.resume-start-card{isolation:isolate;color:#f8f0fc;background:linear-gradient(#c168ff0b 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#c168ff0b 1px,#0000 1px) 0 0/18px 18px,linear-gradient(155deg,#1e082ffa,#08020efc);border:1px solid #bf69ff80;border-radius:24px;width:min(460px,100%);padding:clamp(18px,5vw,30px);position:relative;overflow:hidden;box-shadow:0 28px 90px #140023d1,inset 0 1px #ffffff14,0 0 42px #822cff2e}.resume-start-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#da99fff2,#0000);height:1px;position:absolute;top:0;left:12%;right:12%;box-shadow:0 0 18px #b95cffbf}.resume-brand{aspect-ratio:3.1;width:min(280px,78%);image-rendering:pixelated;filter:drop-shadow(0 0 22px #8d39e66b);background:url(/retrotap-logo.png) 50%/contain no-repeat;margin:clamp(18px,5vh,34px) auto clamp(15px,4vh,28px);animation:1.8s ease-in-out infinite alternate resume-brand-pulse}.resume-start-kicker{color:#c875ff;font:800 9px var(--font-geist-mono), monospace;letter-spacing:.16em;margin:0 0 8px}.resume-start-card h2{color:#fff;font:760 clamp(27px, 8vw, 42px)/1 var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;text-wrap:balance;margin:0 0 10px}.resume-start-copy{color:#a99caf;font:450 12px/1.55 var(--font-geist-sans), Arial, sans-serif;margin:0 0 19px}.resume-start-actions{gap:9px;display:grid}@keyframes resume-screen-in{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes resume-brand-pulse{0%{opacity:.82;filter:drop-shadow(0 0 13px #8d39e647)}to{opacity:1;filter:drop-shadow(0 0 26px #8d39e694)}}@media (orientation:landscape) and (height<=640px){.resume-start-screen{padding-block:8px}.resume-start-card{width:min(760px,100%);max-height:calc(100dvh - 16px);padding:14px 18px}.resume-brand{width:min(210px,34vw);margin:8px auto 7px}.resume-start-card h2{font-size:clamp(24px,5vw,34px)}.resume-start-copy{margin-bottom:10px;font-size:10px}.resume-start-actions{grid-template-columns:1fr}}@media (width<=720px){.game-card{width:min(430px,100%)}.game-card-grid{grid-template-columns:1fr;gap:14px}.cover-art{max-height:35vh}.game-meta h1{font-size:clamp(26px,9vw,38px)}.room-header{gap:4px;max-width:calc(100vw - 12px)}.state-button,.controller-button{padding:6px 7px}}@media (orientation:landscape) and (height<=640px){.pre-play{align-items:stretch}.game-card{border-radius:18px;width:min(960px,100%);max-height:calc(100dvh - 16px);padding:13px 15px}.game-card-topline{margin-bottom:9px}.game-card-grid{grid-template-columns:minmax(240px,.86fr) minmax(300px,1.14fr);gap:16px}.cover-art{aspect-ratio:16/10;max-height:calc(100dvh - 92px)}.game-meta h1{font-size:clamp(25px,5.5vw,38px)}.game-meta-copy{margin-bottom:9px!important}.local-progress,.manual-state-available,.controller-guide-button{margin-bottom:6px;padding:7px 9px}.start-mode-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.start-button,.start-over-button{padding:9px 11px}.room-header{top:env(safe-area-inset-top,0px)}}@media (prefers-reduced-motion:reduce){.cover-scan,.boot-screen.boot-playing:after{animation:none!important}.game-card{transform:none!important}.resume-start-screen,.resume-brand{animation:none!important}}.game-card{font-family:var(--font-geist-sans), Arial, sans-serif;scrollbar-width:none}.game-card::-webkit-scrollbar{display:none}.game-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#da99fff2,#0000);height:1px;position:absolute;top:0;left:12%;right:12%;box-shadow:0 0 18px #b95cffbf}.game-card-topline{font-family:var(--font-geist-mono), monospace;letter-spacing:.105em;font-weight:720}.game-card-topline i{animation:1.55s ease-in-out infinite alternate cartridge-led}@keyframes cartridge-led{0%{opacity:.55;box-shadow:0 0 5px #6cff9c}to{opacity:1;box-shadow:0 0 14px #6cff9c}}.cover-shell{transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s}.game-card:hover .cover-shell,.game-card:focus-within .cover-shell{border-color:#e8cbffc7;transform:translateY(-2px);box-shadow:inset 0 1px #fff3,0 22px 50px #29004480,0 0 24px #912de226}.game-meta-kicker{text-transform:uppercase;align-items:center;gap:7px;display:flex;color:#d39aff!important;font-family:var(--font-geist-sans), Arial, sans-serif!important;letter-spacing:.055em!important;margin-bottom:8px!important;font-size:10px!important;font-weight:760!important}.game-meta-kicker>span{background:#72ff9e;border-radius:2px;width:7px;height:7px;box-shadow:0 0 11px #72ff9ed9}.game-meta h1{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;text-shadow:0 8px 28px #7522b94d;margin-bottom:9px;font-size:clamp(30px,5.2vw,48px);font-weight:900;line-height:.98}.game-meta-copy{max-width:440px;font-weight:460;color:#b8acbf!important;font-family:var(--font-geist-sans), Arial, sans-serif!important;margin-bottom:15px!important;font-size:12.5px!important;line-height:1.45!important}.local-progress,.manual-state-available{gap:3px 10px;min-height:54px;padding:10px 12px}.local-progress>span,.manual-state-available>span{font-size:11px}.local-progress strong,.manual-state-available strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.005em;text-transform:none;font-size:11px;font-weight:780}.local-progress small,.manual-state-available small{color:#a397aa;font-family:var(--font-geist-sans), Arial, sans-serif;font-size:9.5px;line-height:1.3}.controller-guide-button{border-radius:14px;grid-template-rows:auto auto;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:2px 10px;min-height:58px;padding:9px 12px;transition:transform .18s,border-color .18s,background .18s}.controller-guide-button .controller-guide-icon{color:#dca9ff;width:31px;height:31px;font:800 19px/1 var(--font-geist-sans), Arial, sans-serif;background:#9e41d81f;border:1px solid #d197f847;border-radius:10px;grid-row:1/3;place-items:center;display:grid}.controller-guide-button>span:not(.controller-guide-icon){font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.005em;text-transform:none;font-size:11px;font-weight:760}.controller-guide-button small{color:#97899e;font-family:var(--font-geist-sans), Arial, sans-serif;grid-column:2;font-size:9.5px}.controller-guide-button b{color:#a77bbc;grid-area:1/3/3;font-size:22px;font-weight:400;transition:transform .18s,color .18s}.controller-guide-button:hover,.controller-guide-button:active{background:#9b3dd324;border-color:#cf87fa80;transform:translateY(-1px)}.controller-guide-button:hover b,.controller-guide-button:active b{color:#e2b9ff;transform:translate(2px)}.start-mode-actions{gap:10px}.start-button,.start-over-button{min-height:64px;font-family:var(--font-geist-sans), Arial, sans-serif;-webkit-tap-highlight-color:transparent;border-radius:16px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 13px;position:relative;overflow:hidden}.start-button:after,.start-over-button:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#fff3 48%,#0000 65%);transition:transform .6s;position:absolute;inset:0;transform:translate(-120%)}.start-button:hover:after,.start-button:focus-visible:after,.start-over-button:hover:after,.start-over-button:focus-visible:after{transform:translate(120%)}.start-action-icon{z-index:1;color:#fff;background:#ffffff1f;border:1px solid #ffffff38;border-radius:11px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .18s;display:grid;position:relative}.start-over-button .start-action-icon{color:#d7a9f5;background:#9e45d31c;border-color:#cd8bf647;font-size:19px;font-weight:400}.start-action-copy{z-index:1;gap:3px;min-width:0;display:grid;position:relative}.start-button strong,.start-over-button strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:.015em;font-size:12.5px;font-weight:850;line-height:1.1}.start-button small,.start-over-button small{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:9.5px;line-height:1.25}.start-button>b,.start-over-button>b{z-index:1;color:#ffffffb3;font-size:23px;font-weight:400;transition:transform .18s;position:relative}.start-over-button>b{color:#a783b9}.start-button:hover .start-action-icon,.start-button:active .start-action-icon,.start-over-button:hover .start-action-icon,.start-over-button:active .start-action-icon{background:#ffffff2e;transform:scale(1.08)rotate(-2deg)}.start-button:hover>b,.start-button:active>b,.start-over-button:hover>b,.start-over-button:active>b{transform:translate(2px)}.start-button:active,.start-over-button:active{transform:scale(.985)}@media (width<=720px){.game-meta h1{font-size:clamp(31px,9.2vw,41px);font-weight:900}.game-meta-copy{font-size:12px!important}.start-button,.start-over-button{min-height:62px}}@media (orientation:landscape) and (height<=640px){.game-meta h1{font-size:clamp(28px,5vw,39px)}.local-progress,.manual-state-available{min-height:45px}.controller-guide-button{min-height:48px}.start-button,.start-over-button{min-height:54px}}.legal-entry-link,.room-legal-link,.admin-legal-footer a{color:#e0c7f052;font:650 8px/1.45 var(--font-geist-mono), monospace;letter-spacing:.055em;text-decoration:none;transition:color .18s,opacity .18s}.legal-entry-link:hover,.legal-entry-link:focus-visible,.room-legal-link:hover,.room-legal-link:focus-visible,.admin-legal-footer a:hover,.admin-legal-footer a:focus-visible{color:#efdcfcd1}.legal-entry-link{width:fit-content;margin-top:38px;display:block}.room-legal-link{text-align:center;width:fit-content;margin:11px auto 0;display:block}.desktop-legal-link{margin-top:24px}.admin-legal-footer{text-align:center;max-width:1260px;margin:30px auto 0}.legal-shell{background:linear-gradient(#05000ac7,#05000af5),url(/retrotap-official.jpg) 50% 35%/cover no-repeat fixed;min-height:100vh;padding:clamp(20px,5vw,64px)}.legal-card{background:#0a0310ed;border:1px solid #a84de257;border-radius:24px;width:min(760px,100%);margin:0 auto;padding:clamp(24px,5vw,54px);box-shadow:0 28px 90px #1700289e,inset 0 1px #ffffff0d}.legal-card .brand-mark{width:min(210px,64vw);margin:20px 0 34px}.legal-back-link{color:#e0c7f07a;font:750 8px var(--font-geist-mono), monospace;letter-spacing:.1em;text-decoration:none}.legal-back-link:hover{color:#e6c7f8}.legal-eyebrow{color:#c875ff;font:800 8px var(--font-geist-mono), monospace;letter-spacing:.16em;margin:0 0 10px}.legal-card h1{color:#fff;letter-spacing:-.055em;margin:0 0 8px;font-size:clamp(32px,7vw,58px);line-height:.98}.legal-updated{color:#716779;font:600 8px var(--font-geist-mono), monospace;margin:0 0 34px}.legal-card section{border-top:1px solid #a460cc24;padding:20px 0}.legal-card h2{color:#d8b2ef;font:780 11px/1.35 var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.01em;margin:0 0 10px}.legal-card section p{color:#95899d;font:450 10px/1.7 var(--font-geist-sans), Arial, sans-serif;margin:0}.legal-card section p+p{margin-top:9px}.legal-statement{color:#dcc4e99e;font:650 8px/1.65 var(--font-geist-mono), monospace;letter-spacing:.035em;border-top:1px solid #a460cc38;margin-top:22px;padding-top:20px}@media (width<=640px){.legal-entry-link{margin-top:30px}.legal-shell{padding:12px}.legal-card{border-radius:18px;padding:24px 19px 30px}.legal-card .brand-mark{margin-bottom:28px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
