:root{color:#eef5ff;background:#070b14;font-family:Inter,ui-sans-serif,system-ui,Arial}*{box-sizing:border-box}body{background:radial-gradient(circle at 70% 0,#1a3264 0,#070b14 38%),#070b14;margin:0}button,input{font:inherit}.app{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.rail{background:linear-gradient(#0b1220,#080c15);border-right:1px solid #1d2a44;flex-direction:column;gap:28px;height:100vh;padding:24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand span{color:#fff;background:linear-gradient(135deg,#ff3867,#ffb02e);border-radius:16px;place-items:center;width:48px;height:48px;font-weight:1000;display:grid;box-shadow:0 20px 60px #ff386744}.brand b{font-size:20px}.rail nav{gap:8px;display:grid}.rail a{color:#94a3b8;border-radius:14px;padding:13px 14px;font-weight:800}.rail a.active,.rail a:hover{color:#fff;background:#142039}.legal{color:#a9bad3;background:#101827;border:1px solid #20314f;border-radius:18px;margin-top:auto;padding:14px}.legal p{margin:8px 0 0;font-size:13px;line-height:1.4}main{gap:22px;padding:28px;display:grid}.hero{background:linear-gradient(135deg,#101a2d,#0b1020 65%,#171027);border:1px solid #22365a;border-radius:30px;grid-template-columns:1fr 360px;align-items:center;gap:22px;padding:28px;display:grid;box-shadow:0 30px 100px #0008}.eyebrow{color:#ffb02e;letter-spacing:.16em;text-transform:uppercase;font-weight:1000}.hero h1{margin:8px 0;font-size:clamp(34px,5vw,64px);line-height:.95}.sub{color:#a8b7cf;max-width:780px;font-size:17px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}button{color:#fff;cursor:pointer;background:#ff3867;border:0;border-radius:14px;align-items:center;gap:8px;padding:12px 16px;font-weight:900;display:inline-flex}button.ghost{color:#d8e6ff;background:#16233b}.cabinet{background:#070b14;border:1px solid #314568;border-radius:26px;padding:18px;box-shadow:inset 0 0 0 8px #0f1728}.screen{text-align:center;background:radial-gradient(circle,#1d3b73,#080c15);border:1px solid #39547e;border-radius:18px;place-items:center;height:230px;display:grid}.screen span{color:#ffb02e;font-size:72px;font-weight:1000}.screen small{color:#cbd5e1;display:block}.sticks{justify-content:center;gap:12px;padding-top:18px;display:flex}.sticks i{background:#ff3867;border-radius:50%;width:22px;height:22px;box-shadow:34px 0 #ffb02e}.grid{grid-template-columns:1.35fr .9fr;gap:22px;display:grid}.panel-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}.card{background:#0d1424;border:1px solid #213452;border-radius:24px;padding:18px;box-shadow:0 24px 80px #0005}.card header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.card h2{margin:0}.card header span{color:#8fa3c2}.game-list{gap:10px;display:grid}.game-list button{text-align:left;color:#eef5ff;background:#111b2f;border:1px solid #243958;grid-template-columns:56px 1fr auto;align-items:center;width:100%;padding:12px;display:grid}.game-list button.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 20px 70px #0006}.game-list button>span{background:var(--accent);border-radius:14px;place-items:center;width:48px;height:48px;font-weight:1000;display:grid}.game-list small,.game-list em,.file small,.file p{color:#91a4c0}.game-list em{font-size:12px;font-style:normal}.room-code{color:#fff;background:linear-gradient(135deg,#ff3867,#ffb02e);border-radius:20px;margin-bottom:14px;padding:18px}.room-code small{text-transform:uppercase;opacity:.85;font-weight:900;display:block}.room-code strong{letter-spacing:.12em;font-size:46px}.room label{color:#91a4c0;font-weight:800}.linkbox{background:#070b14;border:1px solid #263a5d;border-radius:14px;margin:8px 0 14px;display:flex;overflow:hidden}.linkbox input{color:#dbeafe;background:0 0;border:0;outline:0;flex:1;padding:12px}.linkbox button{border-radius:0}.slots{grid-template-columns:1fr 1fr;gap:10px;display:grid}.slots div{background:#10192b;border:1px solid #243958;border-radius:16px;padding:12px}.slots div.active{border-color:#38e8a1}.slots b,.slots small{display:block}.slots small{color:#91a4c0;margin-top:6px}.stage{text-align:center;background:radial-gradient(circle at 50% 0,#19325f,#080c15);border:1px dashed #39547e;border-radius:20px;place-items:center;min-height:300px;padding:24px;display:grid}.stage p{color:#a8b7cf;max-width:540px}.sync{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.sync span{color:#cfe2ff;background:#142039;border:1px solid #2b4268;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;display:flex}.file{background:#10192b;border:1px solid #243958;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;margin-bottom:10px;padding:12px;display:grid}.file p{margin:4px 0 0;font-size:13px}.file button,.download-btn{color:#d8e6ff;background:#17243c;border-radius:14px;padding:9px 12px;font-weight:900;text-decoration:none}@media (width<=1050px){.app{grid-template-columns:1fr}.rail{flex-direction:row;align-items:center;height:auto;position:relative}.rail nav{display:flex;overflow:auto}.legal{display:none}.hero,.grid,.panel-row{grid-template-columns:1fr}.cabinet{display:none}}@media (width<=640px){main,.rail{padding:12px}.brand b{display:none}.hero{border-radius:20px;padding:18px}.slots,.game-list button{grid-template-columns:1fr}.game-list button>span{display:none}.panel-row{display:block}.downloads{margin-top:14px}.file{grid-template-columns:1fr}.room-code strong{font-size:34px}}.room-code em{opacity:.85;margin-top:6px;font-size:13px;font-style:normal;display:block}.slots button{text-align:left;color:#eef5ff;background:#10192b;border:1px solid #243958;border-radius:16px;padding:12px;display:block}.slots button.active{border-color:#38e8a1}.slots button.taken{box-shadow:0 0 0 1px #ffb02e}.slots button b,.slots button small{display:block}.slots button small{color:#91a4c0;margin-top:6px}.host-controls{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.host-controls .ghost{background:#16233b}.input-test{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.input-test b{color:#dbeafe;width:100%}.input-test button{background:#17243c;border-radius:10px;padding:8px 10px;font-size:12px}.input-test button:hover{background:#ff3867}.host-controls button:disabled{opacity:.45;cursor:not-allowed}.host-controls small{color:#91a4c0;text-align:center;grid-column:1/-1;font-weight:800}.mobile-pad{align-items:center}.mobile-pad .dpad{grid-template-rows:46px 46px 46px;grid-template-columns:54px 54px 54px;gap:6px;display:grid}.mobile-pad .dpad .up{grid-column:2}.mobile-pad .dpad .left{grid-area:2/1}.mobile-pad .dpad .right{grid-area:2/3}.mobile-pad .dpad .down{grid-area:3/2}.mobile-pad .face{grid-template-columns:repeat(2,54px);gap:8px;display:grid}.mobile-pad .face button{background:linear-gradient(135deg,#ff3867,#ff7a45);border-radius:50%;width:54px;height:54px}.mobile-pad .system{gap:8px;display:flex}.mobile-pad .system button{background:#1f2d48}.mobile-pad button{touch-action:none;-webkit-user-select:none;user-select:none}@media (width<=720px){.mobile-pad{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mobile-pad b,.mobile-pad .system{grid-column:1/-1}.mobile-pad .system{justify-content:center}.stage{min-height:420px}}.asset-loader{grid-template-columns:1fr 1fr;gap:8px;width:min(680px,100%);margin:10px auto;display:grid}.asset-loader label{color:#dbeafe;background:#101827;border:1px solid #2b4268;border-radius:14px;padding:10px;font-weight:900}.asset-loader input{color:#91a4c0;width:100%;margin-top:6px;display:block}.asset-loader code{color:#ffb02e;text-align:left;text-overflow:ellipsis;background:#070b14;border:1px solid #22365a;border-radius:12px;padding:9px;font-size:12px;overflow:hidden}@media (width<=720px){.asset-loader{grid-template-columns:1fr}.asset-loader code{font-size:11px}}.sync-ready{border-radius:12px;padding:9px 12px;font-weight:1000;color:#071018!important;background:#38e8a1!important}.sync-list{grid-column:1/-1;gap:6px;display:grid}.sync-list span{color:#91a4c0;text-align:left;background:#101827;border:1px solid #2b4268;border-radius:10px;padding:7px 9px;font-size:12px}.sync-list span.ok{color:#dbeafe;border-color:#38e8a1}.sync-list span.bad{color:#ffd4dc;background:#2a1020;border-color:#ff3867}.emu-frame{background:#050812;border:1px solid #2b4268;border-radius:18px;width:min(760px,100%);height:320px;margin:12px auto;display:block}@media (width<=640px){body{overflow-x:hidden}.rail{gap:12px;overflow-x:auto}.rail nav{min-width:0}.rail a{white-space:nowrap;padding:10px 12px}.hero h1{font-size:32px;line-height:1.02}.hero .sub{font-size:15px}.hero-actions{gap:8px}.hero-actions button{justify-content:center;width:100%}.game-list button{grid-template-columns:1fr!important}.room-code strong{letter-spacing:.08em;word-break:break-all;font-size:30px}.linkbox input{font-size:12px}.slots{grid-template-columns:1fr}.card{border-radius:18px;padding:14px}.stage{padding:14px}.sync{gap:6px}.sync span{font-size:12px}.mobile-pad{place-items:center;grid-template-columns:1fr!important}.emu-frame{height:260px}.downloads .file{gap:8px}.download-btn{text-align:center;justify-content:center}}
