@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff)format("woff")}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0a0a18;--bg-2:#12122a;--panel:#16162f;--panel-2:#1e1e3d;--line:#2b2b52;--text:#f2f1ff;--muted:#9b99c7;--accent:#7c5cff;--accent-2:#a68bff;--gold:#ffd23f;--ok:#3ddc84;--err:#ff5470;--nes:#e2353f;--snes:#8b6cff;--gb:#9bbc0f;--gbc:#ff9f1c;--gba:#3d7bff;--sys:var(--accent);--icon-cut:var(--bg);--pixel:"Press Start 2P", ui-monospace, monospace;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter Variable,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg)}body{min-height:100dvh;color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #7c5cff38, transparent 60%), radial-gradient(900px 500px at 110% 10%, #3d7bff24, transparent 60%), var(--bg);background-attachment:fixed;margin:0}body:after{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px);position:fixed;inset:0}h1,h2,h3{margin:0}.muted{color:var(--muted)}.pixel{font-family:var(--pixel);letter-spacing:.02em}button,.upload-btn,.ghost,a.primary{font:inherit;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;transition:transform 80ms,filter .12s,background .12s,box-shadow .12s;display:inline-flex}button:active,.upload-btn:active,a.primary:active{transform:translateY(2px)}.primary{background:linear-gradient(180deg, var(--accent-2), var(--accent));color:#fff;font-weight:700;box-shadow:0 4px #4b33b8,0 8px 20px #7c5cff59}.primary:hover{filter:brightness(1.08)}.primary:active{box-shadow:0 2px #4b33b8}.ghost{color:var(--text);border:1px solid var(--line);background:#ffffff0a}.ghost:hover{background:#ffffff14;border-color:#3d3d70}.link{color:var(--accent-2);background:0 0;padding:0;font-size:14px}.link:hover{text-decoration:underline}.small-btn{padding:7px 12px;font-size:13px}.icon-btn{width:42px;height:42px;padding:0;font-size:18px}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.glyph{width:22px;height:22px;font:700 11px/1 var(--pixel);color:#0a0a18;border-radius:50%;flex:none;place-items:center;display:inline-grid}.glyph.a{background:#3ddc84}.glyph.b{background:#ff5470}.glyph.x{color:#fff;background:#3d7bff}.glyph.y{background:#ffd23f}.glyph.shoulder{background:#c9c7ee;border-radius:6px;width:auto;padding:0 7px;font-size:9px}.auth{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.title-screen{text-align:center;flex-direction:column;align-items:center;gap:22px;width:100%;max-width:420px;display:flex}.logo{flex-direction:column;align-items:center;gap:14px;display:flex}.logo img{filter:drop-shadow(0 8px 24px #7c5cff99);width:84px;height:84px;animation:3s ease-in-out infinite float}.logo h1{font:400 clamp(22px, 7vw, 34px)/1.2 var(--pixel);color:#fff;text-shadow:3px 3px 0 var(--accent), 6px 6px 0 #7c5cff59}.press-start{font:400 12px/1 var(--pixel);color:var(--gold);animation:1.1s step-end infinite blink}.auth-card{text-align:left;border:3px solid var(--line);width:100%;box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--accent), 0 30px 60px #00000080;background:#16162fe6;border-radius:18px;flex-direction:column;gap:14px;padding:24px;display:flex}.auth-card .muted{margin:0;font-size:14px}.auth-card form{flex-direction:column;gap:12px;display:flex}.auth-card .primary{font:400 12px var(--pixel);margin-top:4px;padding:13px}label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input[type=email],input[type=password],input[type=search]{font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--line);border-radius:10px;padding:11px 12px;transition:border-color .12s}input:focus{border-color:var(--accent);outline:none}.msg{min-height:1em;color:var(--muted);margin:0;font-size:14px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}@keyframes blink{50%{opacity:0}}@keyframes float{50%{transform:translateY(-6px)}}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{width:34px;height:34px}.brand span{font:400 13px/1 var(--pixel);text-shadow:2px 2px 0 var(--accent)}.topbar{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#0a0a18f2,#0a0a18bf);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1240px;margin:0 auto;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.clock{font:400 11px var(--pixel);color:var(--muted);margin-right:6px}.avatar{width:42px;height:42px;font:400 14px var(--pixel);color:#fff;background:linear-gradient(135deg, var(--accent), #ff5ca8);border:2px solid #fff3;border-radius:50%;padding:0}.page{max-width:1240px;margin:0 auto;padding:0 16px 120px}.banner{color:#ffe48a;background:#ffd23f1a;border:1px solid #ffd23f59;border-radius:12px;margin:14px 0 0;padding:10px 14px;font-size:14px}.section-title{font:400 11px/1 var(--pixel);color:var(--muted);align-items:center;gap:10px;margin:26px 0 12px;display:flex}.section-title:after{content:"";background:linear-gradient(90deg, var(--line), transparent);flex:1;height:2px}.hero{border:2px solid #ffffff14;border-radius:22px;align-items:stretch;min-height:240px;margin-top:18px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000073}.hero-bg{filter:blur(36px)saturate(1.4)brightness(.55);background-position:50%;background-size:cover;position:absolute;inset:-40px;transform:scale(1.1)}.hero:before{content:"";z-index:1;background:linear-gradient(90deg,#0a0a18eb 0%,#0a0a188c 55%,#0a0a1833 100%);position:absolute;inset:0}.hero-inner{z-index:2;align-items:center;gap:26px;width:100%;padding:26px;display:flex;position:relative}.hero-art{border-radius:12px;flex:none;width:170px;overflow:hidden;transform:rotate(-2deg);box-shadow:0 12px 30px #0009}.hero-art .cover{aspect-ratio:3/4}.hero-info{flex-direction:column;gap:10px;min-width:0;display:flex}.hero-kicker{font:400 10px var(--pixel);color:var(--gold)}.hero-title{font-size:clamp(22px,4vw,34px);font-weight:800;line-height:1.1}.hero-meta{color:#cfcdf5;flex-wrap:wrap;gap:6px 14px;font-size:14px;display:flex}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.hero-actions .primary{font:400 12px var(--pixel);padding:13px 22px}.sys-badge{background:color-mix(in srgb, var(--sys) 22%, transparent);color:color-mix(in srgb, var(--sys) 60%, #fff);border:1px solid color-mix(in srgb, var(--sys) 45%, transparent);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.sys-badge svg{fill:currentColor;width:16px;height:16px}.recent-row{scroll-snap-type:x mandatory;gap:12px;margin:0 -4px;padding:4px 4px 10px;display:flex;overflow-x:auto}.recent-card{scroll-snap-align:start;background:var(--panel);border:2px solid var(--line);color:inherit;border-radius:14px;flex:0 0 250px;align-items:center;gap:12px;padding:8px;text-decoration:none;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.recent-card:hover,.recent-card:focus-visible{border-color:var(--sys);box-shadow:0 0 0 2px var(--sys), 0 10px 30px color-mix(in srgb, var(--sys) 35%, transparent);outline:none;transform:translateY(-3px)}.recent-card .cover{aspect-ratio:3/4;border-radius:8px;flex:none;width:64px}.recent-card h3{font-size:14px;line-height:1.3}.recent-card .meta{margin:3px 0 0}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.chips{gap:8px;margin:-4px;padding:4px;display:flex;overflow-x:auto}.chip{background:var(--panel);color:var(--muted);border:2px solid var(--line);--icon-cut:var(--panel);border-radius:12px;flex:none;padding:8px 14px 8px 10px;font-size:14px;font-weight:600}.chip svg{fill:currentColor;width:22px;height:22px}.chip span{font:400 9px var(--pixel);opacity:.7}.chip:hover{color:var(--text);border-color:#3d3d70}.chip.on{color:#fff;border-color:var(--sys);--icon-cut:color-mix(in srgb, var(--sys) 30%, var(--panel));background:color-mix(in srgb, var(--sys) 30%, var(--panel));box-shadow:0 0 0 1px var(--sys), 0 6px 20px color-mix(in srgb, var(--sys) 35%, transparent)}.search-wrap{position:relative}.search-wrap:before{content:"⌕";color:var(--muted);font-size:18px;position:absolute;top:50%;left:12px;transform:translateY(-52%)}#search{width:240px;max-width:100%;padding-left:34px}.uploads{gap:6px;margin:12px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.uploads li{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.uploads li.ok{color:var(--ok)}.uploads li.err{color:var(--err)}.uploads progress{width:100%;height:8px;accent-color:var(--accent)}.uploads li.ok progress,.uploads li.err progress{display:none}.grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:18px;margin-top:18px;display:grid}.sys-nes{--sys:var(--nes)}.sys-snes{--sys:var(--snes)}.sys-gb{--sys:var(--gb)}.sys-gbc{--sys:var(--gbc)}.sys-gba{--sys:var(--gba)}.card{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);transition:transform .14s cubic-bezier(.3,.7,.4,1.4),box-shadow .14s,border-color .14s;position:relative;overflow:hidden}.card:hover{border-color:var(--sys);z-index:1;box-shadow:0 0 0 2px var(--sys), 0 16px 36px color-mix(in srgb, var(--sys) 40%, transparent);transform:translateY(-6px)scale(1.03)}.card:has(.card-main:focus-visible){border-color:var(--sys);z-index:1;box-shadow:0 0 0 2px var(--sys), 0 16px 36px color-mix(in srgb, var(--sys) 40%, transparent);transform:translateY(-6px)scale(1.03)}.card:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(115deg,#0000 35%,#ffffff2e 50%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}.card:hover:after{animation:.7s ease-out shine}.card:has(.card-main:focus-visible):after{animation:.7s ease-out shine}@keyframes shine{0%{opacity:1;transform:translate(-100%)}to{opacity:1;transform:translate(100%)}}.card-main{color:inherit;padding-bottom:12px;text-decoration:none;display:block}.card-main:focus-visible{outline:none}.cover{aspect-ratio:3/4;background:color-mix(in srgb, var(--sys) 30%, #08081a);position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover img.shot{image-rendering:pixelated}.cart{--icon-cut:color-mix(in srgb, var(--sys) 70%, #000);background:linear-gradient(180deg, color-mix(in srgb, var(--sys) 85%, #fff) 0%, var(--sys) 40%, color-mix(in srgb, var(--sys) 70%, #000) 100%);border-radius:8px 8px 4px 4px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:14px 10px;display:flex;position:absolute;inset:10% 12% 6%;box-shadow:inset 0 -6px #00000040,0 10px 24px #00000073}.cart:before{content:"";background:#0003;border-radius:3px;height:5px;position:absolute;top:7px;left:20%;right:20%}.cart-label{color:#1a1a2e;text-align:center;width:100%;font:400 8px/1.6 var(--pixel);word-break:break-word;-webkit-line-clamp:4;background:#f6f3e8;border-radius:4px;-webkit-box-orient:vertical;padding:10px 6px;display:-webkit-box;overflow:hidden;box-shadow:inset 0 0 0 2px #0000001a}.cart svg{fill:#ffffffd9;width:34px;height:34px}.card h3{padding:11px 12px 2px;font-size:15px;font-weight:700;line-height:1.3}.meta{color:var(--muted);margin:3px 12px 0;font-size:12.5px}.meta.small{font-size:12px}.saved-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 8px var(--ok);vertical-align:1px;border-radius:50%;margin-right:6px;display:inline-block}.more{color:#fff;opacity:0;z-index:2;background:#0a0a18b3;border:1px solid #ffffff26;border-radius:10px;width:34px;height:34px;padding:0;font-size:18px;line-height:1;transition:opacity .12s;position:absolute;top:8px;right:8px}.card:hover .more{opacity:1}.card:has(:focus-visible) .more{opacity:1}@media (hover:none){.more{opacity:.9}}.unavailable{opacity:.45;filter:grayscale(.6)}.empty{text-align:center;border:3px dashed var(--line);border-radius:22px;grid-column:1/-1;padding:56px 16px}.empty h2{font:400 14px/1.6 var(--pixel);color:var(--gold);margin-bottom:14px}.empty p{max-width:520px;margin:0 auto 18px;line-height:1.7}.drop-hint{border:4px dashed var(--gold);z-index:50;font:400 16px var(--pixel);color:var(--gold);pointer-events:none;background:#0a0a18d9;border-radius:24px;place-items:center;display:none;position:fixed;inset:12px}.drop-hint.show{display:grid}.footer{border-top:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:36px;padding-top:18px;display:flex}.memory{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.memory-label{font:400 9px var(--pixel);color:var(--text)}.memory-blocks{gap:3px;display:flex}.memory-blocks i{background:var(--line);border-radius:2px;width:10px;height:16px}.memory-blocks i.on{background:var(--ok);box-shadow:0 0 6px #3ddc8499}.memory.warn .memory-blocks i.on{background:var(--gbc);box-shadow:0 0 6px #ff9f1c99}.footer .meta{margin:0}.hints{z-index:6;padding:10px 16px calc(10px + env(safe-area-inset-bottom));color:#cfcdf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0a0a18cc,#0a0a18f7);border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:center;gap:22px;font-size:13px;display:flex;position:fixed;bottom:0;left:0;right:0}.hints span{align-items:center;gap:7px;display:inline-flex}@media (hover:none) and (pointer:coarse){.hints:not(.pad){display:none}}dialog{border:3px solid var(--line);background:var(--panel);width:min(580px,100vw - 24px);max-height:calc(100dvh - 40px);color:var(--text);box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--sys), 0 40px 80px #0009;border-radius:18px;padding:22px}dialog[open]{animation:.16s cubic-bezier(.3,.7,.4,1.4) pop}@keyframes pop{0%{opacity:0;transform:scale(.94)}}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05050fb3}.dlg-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dlg-head h2{font-size:20px;font-weight:800}.dlg-head .meta{word-break:break-all;margin:6px 0 0}.close{padding:6px 11px}.play-btn{width:100%;margin:16px 0 4px;font:400 12px var(--pixel)!important;padding:14px!important}dialog section{margin-top:20px}dialog h3{font:400 10px var(--pixel);color:var(--gold);margin-bottom:8px}dialog section>.meta{margin:0 0 10px}.rows{border:2px solid var(--line);background:var(--bg-2);border-radius:12px;margin:0 0 10px;padding:0;list-style:none}.rows li{justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.rows li+li{border-top:1px solid var(--line)}.rows li.muted{display:block}.rows .meta{margin:2px 0 0}.row-actions{flex:none;gap:6px;display:flex}.tag{font:400 8px var(--pixel);background:var(--ok);color:#062;vertical-align:2px;border-radius:4px;margin-left:4px;padding:3px 6px}.danger{border-top:2px solid var(--line);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.danger-btn{color:var(--err);background:0 0;border:1px solid #ff547080}.danger-btn:hover{background:#ff54701f}dialog .msg{margin-top:10px}@media (width<=640px){.brand span,.clock{display:none}.hero{min-height:0}.hero-inner{gap:16px;padding:18px}.hero-art{width:96px}.hero-actions .primary{padding:12px 16px}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.toolbar{flex-direction:column;align-items:stretch}#search{width:100%}.upload-btn{padding:10px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}body.play{background:#000;flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.play:after{display:none}.play-bar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));border-bottom:2px solid var(--line);background:linear-gradient(#0d0d1f,#08081a);align-items:center;gap:12px;display:flex}.play-bar .ghost{white-space:nowrap;font:400 10px var(--pixel);padding:7px 12px}.play-bar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.sync{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;max-width:45vw;font-size:12px;display:inline-flex;overflow:hidden}.sync:before{content:"";background:var(--ok);width:8px;height:8px;box-shadow:0 0 8px var(--ok);border-radius:50%;flex:none}.sync:empty:before{display:none}.sync[data-state=busy]{color:var(--accent-2)}.sync[data-state=busy]:before{background:var(--accent-2);box-shadow:0 0 8px var(--accent-2);animation:.6s step-end infinite blink}.sync[data-state=err]{color:var(--err)}.sync[data-state=err]:before{background:var(--err);box-shadow:0 0 8px var(--err)}.sync[data-state=warn]{color:var(--gold)}.sync[data-state=warn]:before{background:var(--gold);box-shadow:0 0 8px var(--gold)}#stage{flex:1;min-height:0;position:relative}#game{width:100%;height:100%}.status{color:var(--muted);pointer-events:none;text-align:center;background:radial-gradient(600px 400px at 50% 40%,#7c5cff2e,#0000 70%),#000;flex-direction:column;justify-content:center;align-items:center;gap:22px;margin:0;padding:16px;display:flex;position:absolute;inset:0}.status .loader-cart{width:70px;height:80px;animation:1.4s ease-in-out infinite insert;position:relative}.status .loader-cart .cart{inset:0}.status .loader-text{font:400 11px/1.8 var(--pixel);color:#fff}.status .loader-text:after{content:"...";text-align:left;vertical-align:bottom;width:3ch;animation:1.2s steps(4,end) infinite dots;display:inline-block;overflow:hidden}.status .loader-bar{border:3px solid #fff;width:200px;height:14px;padding:2px}.status .loader-bar span{background:var(--accent);width:40%;height:100%;animation:1.1s ease-in-out infinite alternate slide;display:block}.status.error{pointer-events:auto}.status.error .loader-text{color:var(--err)}.status.error .loader-text:after,.status.error .loader-bar,.status.error .loader-cart{display:none}@keyframes insert{0%,to{transform:translateY(-6px)}50%{transform:translateY(6px)}}@keyframes slide{to{margin-left:60%}}@keyframes dots{0%{width:0}to{width:3ch}}@media (width<=520px){.play-bar{flex-wrap:wrap}.sync{flex-basis:100%;order:3;max-width:none}}.recent-row,.chips{scrollbar-width:none}.recent-row::-webkit-scrollbar{display:none}.chips::-webkit-scrollbar{display:none}.recent-card .cart{padding:6px;inset:12% 14% 8%}.recent-card .cart-label{display:none}.recent-card .cart svg{width:24px;height:24px}.recent-card .cart:before{height:3px;top:4px}body.play{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#game.ejs_parent{background:#000}#game .ejs_start_button{letter-spacing:.04em;animation:1.2s ease-in-out infinite pulse;font:400 14px/1 var(--pixel)!important;background:linear-gradient(180deg, var(--accent-2), var(--accent))!important;color:#fff!important;border:0!important;border-radius:14px!important;padding:18px 26px!important;box-shadow:0 5px #4b33b8,0 10px 30px #7c5cff80!important}@keyframes pulse{50%{filter:brightness(1.15);transform:scale(1.06)}}body.touch .ejs_virtualGamepad_button{color:#fff;background:#ffffff1a;border:2px solid #ffffff59;transition:transform 50ms,background 50ms;box-shadow:0 4px #00000059,inset 0 2px #ffffff26;font-family:var(--pixel)!important;font-size:16px!important}body.touch .ejs_virtualGamepad_button.b_a{background:#3ddc8459;border-color:#3ddc84cc}body.touch .ejs_virtualGamepad_button.b_b{background:#ff547059;border-color:#ff5470cc}body.touch .ejs_virtualGamepad_button.b_x{background:#3d7bff59;border-color:#3d7bffcc}body.touch .ejs_virtualGamepad_button.b_y{background:#ffd23f4d;border-color:#ffd23fcc}body.touch .ejs_virtualGamepad_button.b_start,body.touch .ejs_virtualGamepad_button.b_select,body.touch .ejs_virtualGamepad_button.b_l,body.touch .ejs_virtualGamepad_button.b_r,body.touch .ejs_virtualGamepad_button.b_speed_fast{letter-spacing:0;white-space:nowrap;text-overflow:clip;background:#ffffff1f;border-radius:999px;padding:0;overflow:hidden;font-family:Inter Variable,system-ui,sans-serif!important;font-size:12px!important;font-weight:700!important}body.touch .ejs_virtualGamepad_button.b_speed_slow,body.touch .ejs_virtualGamepad_button.b_speed_rewind{display:none}body.touch .ejs_virtualGamepad_button_down{filter:brightness(1.5);transform:translateY(3px)scale(.96);box-shadow:0 1px #00000059}body.touch .ejs_dpad_main{filter:drop-shadow(0 4px #00000059)}@media (pointer:coarse) and (orientation:portrait){body.touch{--ar:.75;--pad-room:calc(50px + 250px * var(--pad-scale,1) + var(--pad-y,0px) + env(safe-area-inset-bottom));--screen-h:min(calc(100% - var(--pad-room)), calc(100cqw * var(--ar)))}body.touch #game{container-type:inline-size}body.touch.sys-gb,body.touch.sys-gbc{--ar:.9}body.touch.sys-gba{--ar:.667}body.touch #game .ejs_canvas_parent{height:var(--screen-h);background:#000}body.touch #game.ejs_parent{background:linear-gradient(180deg, color-mix(in srgb, var(--sys) 24%, #0d0d1f), #08081a 85%)!important}body.touch #game.ejs_parent:before{content:"";left:0;right:0;top:var(--screen-h);z-index:1;pointer-events:none;background:linear-gradient(90deg, transparent, var(--sys), transparent);opacity:.8;height:3px;position:absolute}body.touch #game.ejs_parent:after{content:"RETRO VAULT";left:0;right:0;top:calc(var(--screen-h) + 22px);text-align:center;font:400 9px var(--pixel);letter-spacing:.2em;pointer-events:none;color:color-mix(in srgb, var(--sys) 55%, #fff);opacity:.35;position:absolute}}@media (pointer:coarse) and (orientation:landscape) and (height<=540px){body.touch .play-bar{top:max(6px, env(safe-area-inset-top));left:max(6px, env(safe-area-inset-left));z-index:1000;background:0 0;border:0;padding:0;position:fixed}body.touch .play-bar h1,body.touch .play-bar .sync{display:none}body.touch .play-bar{right:max(6px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between}body.touch .play-bar>*{pointer-events:auto}body.touch .play-actions{margin-right:36px}body.touch .bar-btn{opacity:.55;background:#00000080;width:30px;height:30px;font-size:13px}body.touch .play-bar .ghost{opacity:.55;background:#00000080;padding:6px 9px;font-size:8px}}.shared-badge{z-index:2;white-space:nowrap;text-overflow:ellipsis;color:#c9b8ff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a18bf;border:1px solid #a68bff80;border-radius:999px;max-width:calc(100% - 56px);padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px;overflow:hidden}.shared-flag{color:#c9b8ff;background:#7c5cff1f;border:1px solid #a68bff66;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.play-actions{flex:none;gap:6px;display:flex}.bar-btn{width:36px;height:36px;padding:0;font-size:16px}#play-saves h2{font:400 13px var(--pixel);color:var(--gold)}#play-saves .rows{max-height:50dvh;margin-top:12px;overflow:auto}#play-saves .meta{margin:6px 0 0}body.fs .play-bar{top:max(6px, env(safe-area-inset-top));left:max(6px, env(safe-area-inset-left));right:max(6px, env(safe-area-inset-right));z-index:1000;pointer-events:none;background:0 0;border:0;justify-content:space-between;padding:0;position:fixed}body.fs .play-bar>*{pointer-events:auto}body.fs .play-bar h1,body.fs .play-bar .sync{display:none}body.fs .play-bar .ghost{opacity:.45;background:#0000008c;transition:opacity .15s}body.fs .play-bar .ghost:hover,body.fs .play-bar .ghost:focus-visible{opacity:1}body.fs .play-actions{margin-right:36px}body.touch .ejs_virtualGamepad_parent{bottom:calc(50px + env(safe-area-inset-bottom) + var(--pad-y,0px))!important}body.touch .ejs_virtualGamepad_left{transform:scale(var(--pad-scale,1));transform-origin:0 100%;left:calc(10px + env(safe-area-inset-left) + var(--pad-x,0px))!important}body.touch .ejs_virtualGamepad_right{transform:scale(var(--pad-scale,1));transform-origin:100% 100%;right:calc(10px + env(safe-area-inset-right) + var(--pad-x,0px))!important}body.touch .ejs_virtualGamepad_top{left:calc(env(safe-area-inset-left) + var(--pad-x,0px))!important;right:calc(env(safe-area-inset-right) + var(--pad-x,0px))!important;width:auto!important;bottom:calc(250px * var(--pad-scale,1))!important}body.touch .ejs_virtualGamepad_bottom{transform:scale(var(--pad-scale,1));transform-origin:bottom}#pad-panel{top:max(10px, env(safe-area-inset-top));z-index:2000;width:min(420px,100vw - 24px);margin:0;padding:16px 18px;position:fixed;left:50%;transform:translate(-50%)}#pad-panel h2{font:400 11px var(--pixel);color:var(--gold)}#pad-panel .dlg-head .meta{margin-top:4px}.slider{color:var(--text);grid-template-columns:80px 1fr 46px;align-items:center;gap:10px;margin-top:12px;font-size:13px;display:grid}.slider input{width:100%;accent-color:var(--accent);height:28px}.slider output{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.pad-actions{justify-content:space-between;gap:8px;margin-top:14px;display:flex}.pad-only{display:none}body.touch .pad-only{display:inline-flex}@media (orientation:landscape) and (height<=540px){#pad-panel{width:min(520px,100vw - 24px);padding:10px 14px}.slider{margin-top:6px}}#pad-panel[open]{animation:none}
