:root{--plastic:#cfc8b8;--plastic-dark:#a9a290;--ink:#15171f;--accent:#6ee7ff;--accent2:#ffd166;--pixel:"Press Start 2P", ui-monospace, "Courier New", monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:#fff;height:100%;font-family:var(--pixel);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0c11;margin:0;overflow:hidden}body:before{content:"";pointer-events:none;background:radial-gradient(at 50% 40%,#3c466e59,#0000 60%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}body:after{content:"";pointer-events:none;background:radial-gradient(#0000 55%,#000000b3 100%);position:fixed;inset:0}#app{position:fixed;inset:0}.stage{z-index:1;place-items:center;display:grid;position:absolute;inset:0;container-type:size}.console{--sw:max(280px, min(calc(100cqw - 110px), calc((100cqh - 235px) * 4 / 3)));width:calc(var(--sw) + 64px);background:linear-gradient(180deg, #ffffff59, #fff0 12%), linear-gradient(160deg, var(--plastic), var(--plastic-dark));border-radius:26px 26px 34px 34px;padding:0;position:relative;box-shadow:0 30px 60px #0009,inset 0 0 0 3px #8b8576,inset 0 -2px #fff3}.slot-area{height:50px;position:relative}.slot{background:linear-gradient(#0c0d12,#23262f);border-radius:4px;width:180px;height:16px;position:absolute;bottom:12px;left:calc(50% - 90px);box-shadow:0 1px #fff8,inset 0 2px 4px #00000080}.slot-lip{z-index:3;background:linear-gradient(180deg, #1a1c24 0 5px, var(--plastic) 5px, var(--plastic-dark));pointer-events:none;border-radius:0 0 6px 6px;width:200px;height:26px;position:absolute;top:34px;left:calc(50% - 100px);box-shadow:0 2px 3px #00000040}.bezel{z-index:2;background:linear-gradient(#151822,#0b0c12);border-radius:20px;margin:0 18px;padding:14px;position:relative;box-shadow:0 0 0 3px #6f6a5c,inset 0 8px 18px #00000080}.screen{width:var(--sw);aspect-ratio:4/3;background:#000;border-radius:14px;max-width:100%;margin:0 auto;font-size:2cqw;position:relative;overflow:hidden;container-type:inline-size}.screen-inner{position:absolute;inset:0;overflow:hidden}.screen canvas{width:100%;height:100%;image-rendering:pixelated;display:block;position:absolute;inset:0}.screen-off{background:radial-gradient(at 30% 20%,#1a1e29,#07080c 70%);position:absolute;inset:0}.powered .screen-off{display:none}.glass{pointer-events:none;background:linear-gradient(115deg,#ffffff1a 0%,#fff0 32%),radial-gradient(at 50% 120%,#ffffff0a,#fff0 60%);border-radius:14px;position:absolute;inset:0;box-shadow:inset 0 0 40px #000000b3}.crt-on{animation:.5s ease-out crton}@keyframes crton{0%{filter:brightness(8);transform:scale(.02,.004)}40%{filter:brightness(8);transform:scaleY(.006)}to{filter:brightness();transform:scale(1)}}.controls{z-index:2;color:#3b3a35;align-items:center;gap:14px;min-height:62px;padding:12px 160px 16px 20px;font-size:8px;display:flex;position:relative}.brand{white-space:nowrap;letter-spacing:1px;color:#3b3a35;text-shadow:0 1px #fff8;font-size:12px}.led-wrap{flex-direction:column;align-items:center;gap:3px;display:inline-flex}.led-wrap small{font-size:6px}.led{background:#4a1d1d;border-radius:50%;width:9px;height:9px;box-shadow:inset 0 0 0 2px #0003}.led.on{background:#4dff88;box-shadow:0 0 10px #4dff88,inset 0 0 0 2px #0003}.sw{font-family:var(--pixel);color:#ddd;cursor:pointer;background:linear-gradient(#4a4d57,#2c2e36);border:0;border-radius:6px;padding:8px 10px;font-size:8px;box-shadow:0 3px #15161b,0 4px 6px #0006}.sw:active{transform:translateY(2px);box-shadow:0 1px #15161b}.sw-power{background:linear-gradient(#b4423c,#8a2b27);box-shadow:0 3px #4d1210,0 4px 6px #0006}.hint{color:#5b594f;max-width:220px;margin-left:auto;font-size:6px;line-height:1.6}button:focus-visible,.cartridge:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.cartridge{z-index:5;cursor:pointer;width:112px;height:84px;font-family:var(--pixel);background:linear-gradient(160deg,#3a3f55,#1c1f2e);border:0;border-radius:8px 8px 4px 4px;padding:0;animation:2.4s ease-in-out infinite cartbob;position:absolute;bottom:10px;right:24px;transform:rotate(-4deg);box-shadow:0 6px 14px #0000008c,inset 0 0 0 2px #0008,inset 0 2px #fff3}.cart-in .cartridge{cursor:default;animation:none}@keyframes cartbob{50%{transform:rotate(-4deg)translateY(-4px)}}.cart-grip{background:repeating-linear-gradient(90deg,#0007 0 3px,#0000 3px 7px);border-radius:3px;height:8px;position:absolute;top:6px;left:12px;right:12px}.cart-label{color:#10131c;background:linear-gradient(135deg,#6ee7ff,#b28cff 55%,#ff6ec7);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:22px 10px 8px}.cart-label b{text-align:center;font-size:7px;line-height:1.4}.cart-label i{display:none}.layer{pointer-events:none;position:absolute;inset:0}.layer>*{pointer-events:auto}.blink{animation:.9s step-end infinite blink}@keyframes blink{50%{opacity:.15}}.logo-screen{pointer-events:none;position:absolute;inset:0}.logo-text{text-align:center;letter-spacing:.4cqw;text-shadow:0 0 1.5cqw #6ee7ff,.4cqw .4cqw #ff6ec7;font-size:7.5cqw;position:absolute;bottom:18%;left:0;right:0}.title-screen{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2.4cqw;display:flex;position:absolute;inset:0}.title-main{color:#fff;text-shadow:.6cqw .6cqw #ff6ec7,0 0 3cqw #6ee7ff;font-size:8cqw}.title-sub{color:#ffd166;text-shadow:.4cqw .4cqw #7a3b00;font-size:5.6cqw}.title-press{color:#fff;margin-top:4cqw;font-size:2.6cqw}.menu-screen{pointer-events:none;position:absolute;inset:0}.menu-head{text-align:center;color:#ffd166;text-shadow:.3cqw .3cqw #000;font-size:3cqw;position:absolute;top:5%;left:0;right:0}.menu-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(5,1fr);gap:1.2cqw;width:92%;height:76%;display:grid;position:absolute;top:17%;left:4%}.tile{pointer-events:auto;cursor:pointer;text-align:center;background:#0a0e1c59;border:.3cqw solid #ffffff24;border-radius:1.2cqw;flex-direction:column;justify-content:flex-end;align-items:center;gap:.6cqw;padding:.8cqw .4cqw;transition:border-color .1s,background .1s,transform .1s;display:flex;position:relative}.tile.sel{background:#ffd1661f;border-color:#ffd166;transform:translateY(-.5cqw);box-shadow:0 0 2.4cqw #ffd1668c}.tile-name{color:#fff;font-size:1.8cqw;line-height:1.35}.tile-best{color:#8fe9ff;font-size:1.4cqw}.menu-foot{text-align:center;color:#ffffff8c;font-size:1.35cqw;position:absolute;bottom:2.2%;left:0;right:0}.hud{position:absolute;inset:0;pointer-events:none!important}.hud-score{color:#fff;text-shadow:.4cqw .4cqw #000c;font-size:4cqw;position:absolute;top:3.2cqw;left:3.2cqw}.hud-best{color:#ffd166;text-shadow:.3cqw .3cqw #000c;font-size:1.9cqw;position:absolute;top:3.8cqw;right:3.2cqw}.game-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none!important}.game-layer>*{pointer-events:none}.flash{pointer-events:none;opacity:0;position:absolute;inset:0}.pop-text{white-space:nowrap;text-shadow:.3cqw .3cqw #000000d9;font-size:2.6cqw;position:absolute;transform:translate(-50%,-50%)}.gl-label{white-space:nowrap;text-shadow:.3cqw .3cqw #000000d9;font-size:2.2cqw;position:absolute}.gl-center{text-align:center;text-shadow:.3cqw .3cqw #000000d9;font-size:2.4cqw;line-height:1.7;position:absolute;left:0;right:0}.gl-bar{background:#0006;border:.3cqw solid #fffc;border-radius:1cqw;height:1.6cqw;position:absolute;top:11cqw;left:20%;right:20%;overflow:hidden}.gl-bar>i{background:#ffd166;width:0;height:100%;display:block}.loading{pointer-events:none;justify-content:center;align-items:center;font-size:3cqw;display:flex;position:absolute;inset:0}.card,.panel{text-align:center;background:#080a16e0;border:.5cqw solid #fff;border-radius:1.4cqw;min-width:52%;padding:3cqw 4cqw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 .5cqw #000,0 0 4cqw #6ee7ff59}.card-title,.panel-title{color:#ffd166;margin-bottom:2.6cqw;font-size:4cqw}.card-row{margin:1.4cqw 0;font-size:2.6cqw}.card-row b{color:#6ee7ff;margin-left:1cqw}.card-hint{color:#ccc;margin-top:3cqw;font-size:1.6cqw}.settings-panel,.pause-panel{min-width:70%}.settings-panel{padding:2.2cqw 3cqw}.settings-panel .panel-title{margin-bottom:1.6cqw;font-size:3.2cqw}.menu-list{flex-direction:column;gap:.6cqw;display:flex}.menu-row{text-align:left;white-space:pre;cursor:pointer;border-radius:.6cqw;padding:1cqw 2cqw;font-size:2.3cqw}.menu-list.compact .menu-row{padding:.6cqw 2cqw;font-size:1.9cqw}.menu-row.sel{color:#ffd166;background:#ffd1662e}.menu-row.sel:before{content:"> "}.menu-row:not(.sel):before{content:"  "}.toast{opacity:0;pointer-events:none;z-index:20;background:#000000b3;border-radius:6px;padding:8px 12px;font-size:9px;transition:opacity .2s;position:absolute;top:14px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.touchpad{padding:8px 18px calc(16px + env(safe-area-inset-bottom));z-index:10;touch-action:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:none;position:fixed;bottom:0;left:0;right:0}body.touch-ui .touchpad{display:flex}.tp-dpad{background:radial-gradient(circle,#2c3042 0 35%,#1a1d2a 36% 100%);border-radius:50%;flex:none;width:140px;height:140px;position:relative;box-shadow:0 0 0 3px #3c4158,0 6px 14px #0009}.tp-dpad:before,.tp-dpad:after{content:"";background:#0006;border-radius:6px;position:absolute}.tp-dpad:before{inset:14% 44%}.tp-dpad:after{inset:44% 14%}.tp-knob{z-index:1;background:linear-gradient(#aab0cc,#6a7090);border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 3px 6px #00000080}.tp-mid{flex:1 0 100%;order:3;justify-content:center;gap:10px;display:flex}.tp-pill{font-family:var(--pixel);color:#ddd;background:#2c3042;border:0;border-radius:14px;padding:11px 12px;font-size:9px;box-shadow:0 3px #11131c}.tp-pill.down,.tp-a.down,.tp-b.down{filter:brightness(1.6);transform:translateY(2px)}.tp-ab{flex:none;width:150px;height:140px;position:relative}.tp-a,.tp-b{font-family:var(--pixel);color:#fff;border:0;border-radius:50%;position:absolute;box-shadow:0 4px #0007,0 6px 12px #00000080}.tp-a{background:radial-gradient(circle at 35% 30%,#ff7a8a,#c42a45);width:78px;height:78px;font-size:20px;bottom:40px;right:0}.tp-b{background:radial-gradient(circle at 35% 30%,#ffd37a,#c98a1a);width:58px;height:58px;font-size:15px;bottom:6px;left:4px}body.touch-ui .controls,body.touch-ui .slot-area,body.touch-ui .slot-lip{display:none}@media (max-width:700px),(max-height:520px){.controls,.slot-area,.slot-lip{display:none}.console{--sw:max(240px, min(calc(100cqw - 36px), calc((100cqh - 30px) * 4 / 3)));width:calc(var(--sw) + 18px);border-radius:18px}.bezel{border-radius:16px;margin:0;padding:6px}.cartridge{margin:0 -56px -42px 0;animation:none;bottom:50%;right:50%;transform:none}}body.touch-ui .console{--sw:max(240px, min(calc(100cqw - 36px), calc((100cqh - 30px) * 4 / 3)));width:calc(var(--sw) + 18px);border-radius:18px}body.touch-ui .bezel{border-radius:16px;margin:0;padding:6px}body.touch-ui .cartridge{margin:0 -56px -42px 0;animation:none;bottom:50%;right:50%;transform:none}body.touch-ui .stage{padding-bottom:250px}@media (orientation:landscape){body.touch-ui .stage{padding-bottom:0}body.touch-ui .touchpad{pointer-events:none;padding:0;top:0}body.touch-ui .touchpad>*{pointer-events:auto;position:absolute}body.touch-ui .tp-dpad{width:min(150px,36vh);height:min(150px,36vh);bottom:5vh;left:3vw}body.touch-ui .tp-ab{bottom:5vh;right:3vw}body.touch-ui .tp-mid{flex-direction:column;flex:none;margin:0;top:4vh;left:3vw}}@media (prefers-reduced-motion:reduce){.cartridge,.blink{animation:none}}body.site-page{touch-action:auto;-webkit-user-select:text;user-select:text;height:auto;min-height:100%;overflow:auto}html:has(body.site-page){height:auto;overflow:auto}body.site-page #app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative;inset:auto}.site-head{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0c12cc;border-bottom:2px solid #232842;flex-wrap:wrap;align-items:center;gap:18px;padding:14px clamp(14px,4vw,40px);display:flex;position:sticky;top:0}.site-logo{color:#fff;text-shadow:2px 2px #ff6ec7;font-size:16px;text-decoration:none}.site-head nav{flex-wrap:wrap;gap:6px;display:flex}.site-head nav a{color:#9aa3c7;border-radius:6px;padding:8px 10px;font-size:10px;text-decoration:none}.site-head nav a:hover,.site-head nav a.on{color:#ffd166;background:#1a1e33}.site-me{color:#cfd6f5;align-items:center;gap:8px;margin-left:auto;font-size:9px;text-decoration:none;display:flex}.site-main{flex:1;width:min(1040px,100%);margin:0 auto;padding:28px clamp(14px,4vw,40px) 60px;line-height:1.7}.site-main h1{color:#ffd166;text-shadow:3px 3px #000;margin:0 0 18px;font-size:clamp(18px,4vw,28px)}.site-main h2{color:#6ee7ff;margin:34px 0 14px;font-size:13px}.site-main h3{margin:0 0 6px;font-size:13px}.site-main p,.site-main td,.site-main label{color:#d5dbf3;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px}.site-main a{color:#6ee7ff}.muted{color:#8089ad!important}.center{text-align:center}.site-foot{text-align:center;color:#5a6285;padding:18px;font-size:8px;line-height:1.8}.btn{font-family:var(--pixel);background:#ffd166;border-radius:8px;padding:11px 16px;font-size:11px;text-decoration:none;display:inline-block;box-shadow:0 4px #8a6a1d;color:#10131c!important}.btn:hover{filter:brightness(1.1)}.btn:active{transform:translateY(2px);box-shadow:0 2px #8a6a1d}.btn.big{background:#6ee7ff;padding:15px 22px;font-size:13px;box-shadow:0 5px #1e7f95}.btn.ghost{background:0 0;box-shadow:inset 0 0 0 2px #6ee7ff;color:#6ee7ff!important}.hero{flex-wrap:wrap;align-items:center;gap:40px;padding:20px 0 10px;display:flex}.hero-text{flex:320px}.hero-text h1{color:#fff;text-shadow:4px 4px #ff6ec7,0 0 24px #6ee7ff;font-size:clamp(30px,8vw,54px)}.hero-text p{max-width:460px;font-size:17px}.hero-cart canvas{filter:drop-shadow(0 16px 24px #000a);animation:2.6s ease-in-out infinite cartbob;transform:rotate(-4deg)}.feature{background:#12162a;border:2px solid #232842;border-radius:14px;flex-wrap:wrap;align-items:center;gap:24px;padding:20px;display:flex}.shelf{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;display:grid}.shelf-item{background:#12162a;border:2px solid #232842;border-radius:14px;padding:18px}.shelf-item .art{margin-bottom:12px;display:block}.shelf-item canvas{max-width:100%;transition:transform .15s;height:auto!important}.shelf-item .art:hover canvas{transform:translateY(-4px)rotate(-1.5deg)}.games,.tabs{flex-wrap:wrap;gap:6px;margin:10px 0 14px;display:flex}.chip{font-family:var(--pixel);background:#1a1e33;border-radius:6px;padding:7px 9px;font-size:8px;text-decoration:none;color:#cfd6f5!important}.chip:hover,.chip.on{background:#ffd166;color:#10131c!important}.board{border-collapse:collapse;background:#12162a;border-radius:10px;width:100%;overflow:hidden}.board th{color:#6ee7ff;text-align:left;background:#0e1122;padding:10px 12px;font-size:8px}.board td{border-top:1px solid #1d2240;padding:8px 12px}.board .num{font-family:var(--pixel);color:#ffd166;font-size:11px}.board .who{align-items:center;gap:8px;display:flex}.panel-box{background:#12162a;border:2px solid #232842;border-radius:14px;padding:22px}.profile{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.profile .form{flex-direction:column;gap:16px;font-size:10px;display:flex}.profile input{font-family:var(--pixel);color:#fff;text-transform:uppercase;background:#0a0c14;border:2px solid #3a4170;border-radius:6px;width:190px;margin-left:10px;padding:10px;font-size:12px}.picks{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.picks button{cursor:pointer;background:#0a0c14;border:2px solid #232842;border-radius:8px;padding:3px}.picks button.on{border-color:#ffd166;box-shadow:0 0 10px #ffd16688}.picks .swatch{width:34px;height:34px}.back-link{z-index:30;font-family:var(--pixel);color:#9aa3c7;background:#0a0c1299;border-radius:6px;padding:8px 10px;font-size:9px;text-decoration:none;position:fixed;top:10px;left:12px}.back-link:hover{color:#ffd166}
