:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f0ede8;font-synthesis:none;--color-primary:#6ee7de;--color-secondary:gold;--color-success:#51cf66;--color-bg-0:#0a0f1f;--color-bg-1:#141b2d;--color-bg-2:#1a2236;--color-border:#ffffff1f;--color-border-hover:#ffffff3d;background:#0a0f1f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Tahoma,Arial,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#0a0f1f 0%,#13182a 50%,#0a0f1f 100%);min-height:100vh;margin:0}.shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.mark{color:#ffce67;background:#171e39;border:1px solid #626aa5;border-radius:1.5rem;place-items:center;width:5.5rem;height:5.5rem;margin-bottom:2rem;font-size:3.3rem;display:grid;box-shadow:0 1.25rem 3rem #0005}.eyebrow{color:#aab4dd;letter-spacing:.2em;margin:0 0 .8rem;font:700 .85rem Arial,sans-serif}h1{max-width:46rem;margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.45}.description{color:#bfc6db;max-width:40rem;margin:1.2rem 0 0;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.9}.account-page{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px 70px;max-width:1180px;margin:0 auto;padding:32px 24px 80px;display:grid}.account-page .shell{min-height:610px;padding:2rem 0}.account-card,.account-panel{background:#1a2839f0;border:1px solid #ffffff27;border-radius:20px;box-shadow:0 22px 65px #0005}.account-card{padding:clamp(24px,4vw,42px)}.account-card h2,.account-panel h2{margin:0 0 22px;font-size:24px}.account-card .eyebrow{color:#80e3ce}.account-tabs{background:#0f1b2b;border-radius:11px;gap:8px;margin-bottom:28px;padding:5px;display:flex}.account-tabs button{color:#b8c7ce;background:0 0;border:0;border-radius:8px;flex:1;padding:10px}.account-tabs button[aria-pressed=true]{color:#fff;background:#34485c}.account-card form,.account-card label{flex-direction:column;display:flex}.account-card form{gap:17px}.account-card label{color:#dce6e9;gap:8px;font-size:14px}.account-card input{color:#fff;width:100%;font:inherit;background:#0d1a2a;border:1px solid #ffffff40;border-radius:9px;padding:13px}.account-card input[dir=ltr]{text-align:left}.account-card small,.account-row small{color:#acc0ca;line-height:1.7}.account-page button{cursor:pointer;font:inherit}.account-page button:disabled{cursor:not-allowed;opacity:.5}.account-page button:focus-visible,.account-page input:focus-visible{outline-offset:3px;outline:2px solid #81e5d0}.account-card form>button,.account-actions button{color:#102b29;background:#78e2cc;border:0;border-radius:9px;padding:13px 17px;font-weight:700}.account-card form>button:hover:not(:disabled),.account-actions button:hover:not(:disabled){background:#a1f4e2}.account-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.account-actions button+button{color:#e4eeef;background:0 0;border:1px solid #ffffff50}.account-message{color:#ffe0a1;margin:22px 0 0;line-height:1.8}.account-details{grid-template-columns:1fr 1fr;gap:20px;display:grid}.account-details dt{color:#9db4c1;margin-bottom:6px;font-size:12px}.account-details dd{overflow-wrap:anywhere;margin:0}.account-details dd[dir=ltr]{text-align:right}.account-panel{grid-column:1/-1;padding:28px 36px}.account-panel h2{border-bottom:1px solid #ffffff25;padding-bottom:20px}.account-row{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.account-row:last-child{border-bottom:0}.account-row small{margin-top:6px;display:block}.account-row small[dir=ltr]{text-align:right}.account-row button,.account-pages button{color:#8be7d2;white-space:nowrap;background:0 0;border:1px solid #77ddc780;border-radius:8px;padding:8px 12px}.account-pages{justify-content:center;align-items:center;gap:16px;padding-top:20px;display:flex}@media (width<=850px){.account-page{display:block}.account-page .shell{min-height:0;padding:54px 0}.account-card,.account-panel{margin-bottom:24px}}@media (width<=500px){.account-page{padding:16px 14px 60px}.account-details{grid-template-columns:1fr}.account-panel{padding:22px 18px}.account-row{align-items:flex-start}}.game-panel{min-width:0}.game-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.game-heading h2{border:0;padding:0}.game-heading button,.game-editor button{border:1px solid var(--color-border);color:var(--color-primary);background:0 0;border-radius:8px;padding:9px 14px;text-decoration:none}.game-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.game-card{border:1px solid var(--color-border);background:linear-gradient(135deg,#1a22364d 0%,#141b2d33 100%);border-radius:12px;grid-template-rows:auto 1fr;transition:all .25s;display:grid;overflow:hidden}.game-card.premium{grid-template-columns:1fr}.game-card img,.game-placeholder{object-fit:cover;font-feature-settings:"kern";background:linear-gradient(135deg,#1a2236 0%,#14182a 100%);place-items:center;width:100%;height:200px;display:grid}.game-placeholder{color:var(--color-primary);opacity:.4;font-size:48px;font-weight:700}.game-placeholder span{letter-spacing:.2em;opacity:.5;font-size:12px;display:block}.game-card-body{gap:12px;padding:16px;display:grid}.game-card h3{margin:0;font-size:15px;font-weight:600}.game-card p{color:#a8b5c5;min-height:0;margin:0;font-size:13px;line-height:1.5}.game-card small{color:#7a8396;font-size:12px;display:block}.game-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 12px 40px #6ee7de1a}.game-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.game-actions button,.game-actions a{border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;background:#6ee7de14;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}.game-actions button:hover,.game-actions a:hover{border-color:var(--color-primary);background:#6ee7de29}.game-editor{border-top:1px solid var(--color-border);margin-top:32px;padding-top:20px}.game-editor form{gap:16px;display:grid}.game-editor label{color:#dce6e9;gap:7px;display:grid}.game-editor input,.game-editor select,.game-editor textarea{color:#fff;width:100%;font:inherit;background:#0d1a2a;border:1px solid #ffffff40;border-radius:8px;padding:11px}.game-editor input[type=file]{max-width:360px}.game-editor fieldset{border:1px solid #ffffff35;border-radius:9px;padding:18px}.game-editor legend{padding:0 8px}.game-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.game-uploads{border-top:1px solid #ffffff30;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:30px;padding-top:20px;display:grid}.game-uploads h4,.game-versions h4{margin:0}.game-uploads p{color:#acc0ca;margin:0}.game-versions{margin-top:30px}.game-versions p{border-bottom:1px solid #ffffff25;padding-bottom:12px}.game-panel button:disabled{opacity:.5}.game-panel button:focus-visible,.game-panel input:focus-visible,.game-panel select:focus-visible,.game-panel textarea:focus-visible,.game-panel a:focus-visible{outline-offset:3px;outline:2px solid #81e5d0}.emulator-panel{min-width:0}.emulator-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.emulator-heading h2{border:0;padding:0}.emulator-heading button,.emulator-actions button{color:#8be7d2;background:0 0;border:1px solid #77ddc780;border-radius:8px;padding:9px 14px}.emulator-panel.is-gameplay .emulator-session,.emulator-panel.is-gameplay .emulator-help,.emulator-panel.is-gameplay .player-saves,.emulator-panel.is-gameplay .player-controls,.emulator-panel.is-gameplay .debug-metrics{display:none}.emulator-panel.is-gameplay{background:#000;border:0;padding:0}.emulator-panel.is-gameplay .emulator-heading{padding:10px 12px}.emulator-panel.is-gameplay .emulator-actions{margin-top:10px;padding:0 12px 12px}.emulator-shell{aspect-ratio:4/3;background:#000;border-radius:10px;place-items:center;width:min(100%,960px,96vh);margin:16px auto;display:grid;position:relative;overflow:hidden}.emulator-shell iframe{width:640px;height:480px;transform:translate(-50%, -50%) scale(var(--game-scale,1));transform-origin:50%;image-rendering:pixelated;border:0;display:block;position:absolute;top:50%;left:50%}.orientation-hint{top:calc(10px + env(safe-area-inset-top));z-index:7;pointer-events:none;color:#ffe0a1;text-shadow:0 1px 8px #000;justify-content:center;font-size:13px;display:flex;position:absolute;inset-inline:0}html.game-immersive,body.game-immersive{overscroll-behavior:none;overflow:hidden}html.game-immersive body{position:fixed;inset-inline:0}body.game-immersive .gaming-app.is-playing .app-topbar,body.game-immersive .mobile-tabs{display:none}body.game-immersive .gaming-app.is-playing .app-main.game-mode{width:100vw;max-width:none;min-height:100dvh;margin:0;padding:0}body.game-immersive .gaming-app.is-playing .emulator-panel{background:#000;border:0;border-radius:0;padding:0}body.game-immersive .gaming-app.is-playing .emulator-shell{border-radius:0;width:100vw;height:100dvh;max-height:none;margin:0}.emulator-loading,.emulator-paused{color:#fff;pointer-events:none;background:#000b;place-items:center;display:grid;position:absolute;inset:0}.emulator-paused{background:#0008;font-size:22px}.emulator-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.emulator-actions button:disabled{opacity:.45;cursor:not-allowed}.emulator-help{color:#bbd0d5;line-height:1.8}.player-controls{border:1px solid #ffffff35;border-radius:10px;margin:18px 0;padding:16px 18px}.player-controls summary{color:#8be7d2;cursor:pointer;font-weight:700}.player-controls summary span{color:#acc0ca;font-weight:400}.player-controls p{color:#bbd0d5;line-height:1.8}.controls-editor{gap:8px;display:grid}.control-row{border-bottom:1px solid #ffffff20;grid-template-columns:minmax(90px,1fr) 70px auto;align-items:center;gap:10px;padding:8px 0;display:grid}.control-row kbd{text-align:center;color:#fff;direction:ltr;background:#263651;border-radius:6px;padding:7px 9px}.control-row button{color:#8be7d2;background:0 0;border:1px solid #77ddc780;border-radius:8px;padding:8px 11px}.control-row button[aria-pressed=true]{color:#ffce67;border-color:#ffce67}.controls-hint{color:#ffce67}.player-saves,.debug-metrics{border-top:1px solid #ffffff30;margin:24px 0;padding-top:18px}.player-saves>summary,.debug-metrics>summary,.player-controls>summary{color:#8be7d2;cursor:pointer;font-weight:700}.player-saves>p,.debug-metrics>p{color:#bbd0d5;line-height:1.8}.save-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.save-card{background:#0d1a2a;border:1px solid #ffffff30;border-radius:10px;align-content:start;gap:8px;padding:12px;display:grid}.save-card img{aspect-ratio:4/3;object-fit:contain;background:#000;border-radius:6px;width:100%}.save-card small{color:#9db4c1}.save-actions{flex-wrap:wrap;gap:6px;display:flex}.save-actions button{color:#8be7d2;background:0 0;border:1px solid #77ddc780;border-radius:7px;padding:7px 9px}.save-actions button:disabled{opacity:.45;cursor:not-allowed}.emulator-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.emulator-metrics div{background:#0d1a2a;border-radius:8px;padding:12px}.emulator-metrics dt{color:#9db4c1;font-size:12px}.emulator-metrics dd{text-align:right;direction:ltr;margin:5px 0 0;font:700 16px Arial,sans-serif}.emulator-credit{color:#9db4c1}.emulator-credit a{color:#8be7d2}@media (width<=700px){.emulator-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.control-row{grid-template-columns:1fr 54px}.control-row button{grid-column:1/-1}}.room-lobby{background:#141e30;border:1px solid #62728c;border-radius:12px;margin-top:2rem;padding:1.25rem}.room-lobby h3{margin-top:0}.room-entry,.room-current{gap:.75rem;display:grid}.room-entry>div,.room-entry form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.room-entry label{gap:.35rem;display:grid}.room-lobby code{letter-spacing:.12em;direction:ltr;background:#263653;border-radius:5px;margin-inline:.35rem;padding:.2rem .5rem;display:inline-block}.peer-link{border-top:1px solid #62728c;padding-top:.6rem}.peer-link p{margin:.35rem 0}.gaming-app{background:linear-gradient(#0a0f1f 0% 100%);min-height:100vh}.app-topbar{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);background:#141b2dd9;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;top:0}.brand{color:var(--color-secondary);letter-spacing:.05em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.app-nav{flex-wrap:wrap;gap:8px;display:flex}.app-nav button{color:#a8b5c5;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:10px 16px;font-weight:500;transition:all .2s}.app-nav button:hover:not([aria-pressed=true]){background:#ffffff0a}.app-nav button[aria-pressed=true]{color:#0a0f1f;background:var(--color-primary);font-weight:600}.topbar-side{align-items:center;gap:12px;display:flex}.topbar-side button{border:1px solid var(--color-border);color:#f0ede8;cursor:pointer;background:#ffffff0a;border-radius:8px;padding:9px 14px;font-weight:500;transition:all .2s}.topbar-side button:hover{border-color:var(--color-border-hover);background:#ffffff14}.presence-dot{color:var(--color-primary);font-size:13px}.app-main{gap:32px;max-width:1200px;margin:0 auto;padding:32px 24px 140px;display:grid}.gaming-app.is-playing .app-nav,.gaming-app.is-playing .topbar-side{display:none}.gaming-app.is-playing .app-main.game-mode{max-width:100%;padding:12px}.hero{border:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#1a223680 0%,#141b2d4d 100%);border-radius:16px;grid-template-columns:minmax(240px,420px) 1fr;align-items:center;gap:32px;padding:32px;display:grid;overflow:hidden}.hero img{aspect-ratio:3/4;object-fit:cover;border-radius:12px;width:100%;box-shadow:0 20px 60px #6ee7de1a}.hero-body{gap:16px;display:grid}.hero-body .eyebrow{color:var(--color-secondary)}.hero-body h2{margin:0;font-size:clamp(28px,5vw,48px);font-weight:700;line-height:1.2}.hero-body p{color:#b8c3d1;margin:0;font-size:15px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.hero-actions button,.modal-actions button,.rail-card button,.invite-row button,.friend-row button,.library-cards button,.settings-grid button{border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;padding:12px 18px;font-weight:600;transition:all .2s}.hero-actions button:hover:not(.primary),.modal-actions button:hover:not(.primary){border-color:var(--color-border-hover);background:#6ee7de14}.hero-actions button.primary,.modal-actions button.primary,.library-cards button.primary{background:var(--color-primary);color:#0a0f1f;border:0;font-weight:700}.hero-actions button.primary:hover,.modal-actions button.primary:hover,.library-cards button.primary:hover{background:#7eece3}@media (width<=900px){.hero{grid-template-columns:1fr;gap:24px}}.rail{scroll-behavior:smooth;grid-auto-columns:minmax(200px,240px);grid-auto-flow:column;gap:16px;padding-bottom:12px;display:grid;overflow-x:auto}.rail-card{border:1px solid var(--color-border);cursor:pointer;background:linear-gradient(135deg,#1a223666 0%,#141b2d33 100%);border-radius:12px;gap:0;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.rail-card:hover{border-color:var(--color-primary);transform:translateY(-6px);box-shadow:0 12px 40px #6ee7de26}.rail-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.rail-card-body{align-content:start;gap:8px;padding:12px 14px;display:grid}.rail-card strong{font-size:14px;font-weight:600}.rail-card button{border:1px solid var(--color-border);color:var(--color-primary);background:#6ee7de14;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s}.rail-card button:hover{border-color:var(--color-primary);background:#6ee7de29}.friend-chip,.friend-row,.invite-row{border:1px solid var(--color-border);background:linear-gradient(135deg,#1a22364d 0%,#141b2d33 100%);border-radius:12px;padding:14px 16px;transition:all .2s}.friend-chip:hover,.friend-row:hover,.invite-row:hover{border-color:var(--color-primary);background:linear-gradient(135deg,#1a223680 0%,#141b2d4d 100%);transform:translateY(-2px)}.friend-list,.invite-list{gap:12px;margin:16px 0;display:grid}.friend-row,.invite-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.friend-row>div,.invite-row>div{flex:1;gap:4px;display:grid}.friend-row strong,.invite-row strong{font-size:14px;font-weight:600}.friend-row small,.invite-row small{color:#7a8396;font-size:13px;display:block}.status-dot{background:#5b6b7a;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot.on{background:var(--color-success);box-shadow:0 0 8px #51cf6666}.invite-form{border-top:1px solid var(--color-border);gap:14px;margin-top:20px;padding-top:20px;display:grid}.invite-form h3{margin:0 0 12px;font-size:16px;font-weight:600}.invite-form label{color:#b8c3d1;gap:6px;font-size:14px;display:grid}.invite-form input{border:1px solid var(--color-border);color:#f0ede8;font:inherit;background:#141b2d66;border-radius:8px;padding:10px 12px;transition:all .2s}.invite-form input:focus{border-color:var(--color-primary);background:#141b2d99;outline:none}.invite-form small{color:#7a8396}.invite-form .game-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.invite-form .game-actions button{border:1px solid var(--color-border);color:var(--color-primary);background:0 0;border-radius:8px;padding:8px 12px}.library-toolbar{flex-wrap:wrap;gap:10px;display:flex}.library-toolbar input,.library-toolbar select{color:#fff;font:inherit;background:#0d1a2a;border:1px solid #ffffff40;border-radius:10px;padding:10px 12px}.library-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f1fcc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--color-border);background:linear-gradient(135deg,#1a223680 0%,#141b2d4d 100%);border-radius:16px;grid-template-columns:300px 1fr;width:100%;max-width:760px;display:grid;overflow:hidden;box-shadow:0 25px 80px #0006}.modal-media img{object-fit:cover;width:100%;height:100%}.modal-body{align-content:start;gap:14px;padding:28px;display:grid}.modal-body h2{margin:0;font-size:28px;font-weight:700}.modal-description{color:#b8c3d1;margin:0;line-height:1.6}.modal-meta{color:#7a8396;margin:0;font-size:14px}.modal-actions{flex-wrap:wrap;gap:10px;display:flex}.modal-close{border:1px solid var(--color-border);color:#f0ede8;cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;font-size:18px;transition:all .2s;display:grid;position:absolute;top:12px;right:12px}.modal-close:hover{border-color:var(--color-primary);color:var(--color-primary);background:#6ee7de1a}.toast-stack{inset-inline:16px;z-index:60;justify-items:center;gap:10px;display:grid;position:fixed;bottom:76px}.toast{background:linear-gradient(135deg,#1a2236e6 0%,#141b2dcc 100%);border:1px solid #6ee7de66;border-radius:12px;width:min(420px,100%);padding:16px 18px;box-shadow:0 20px 60px #6ee7de1a}.toast strong{font-weight:600}.toast p{color:#b8c3d1;margin:6px 0 10px}.toast-actions{gap:8px;display:flex}.toast-actions button{border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;background:#6ee7de14;border-radius:6px;padding:7px 12px;transition:all .2s}.toast-actions button:hover{background:#6ee7de29}.app-loading,.empty-state{color:#b8c3d1;text-align:center;place-items:center;gap:12px;padding:48px 20px;display:grid}.app-spinner{border:3px solid #6ee7de33;border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{gap:20px;max-width:520px;margin:0 auto;padding:48px 20px 80px;display:grid}.auth-hero{text-align:center}.platforms-section h2{margin:0 0 20px;font-size:24px;font-weight:700}.platform-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.platform-card{border:1px solid var(--color-border);cursor:pointer;background:linear-gradient(135deg,#1a223666 0%,#141b2d33 100%);border-radius:14px;align-content:start;gap:12px;min-height:160px;padding:24px;transition:all .25s;display:grid;position:relative}.platform-card:hover{border-color:var(--color-primary);background:linear-gradient(135deg,#1a223699 0%,#141b2d66 100%);transform:translateY(-4px)}.platform-badge{letter-spacing:.05em;border-radius:6px;padding:4px 12px;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.platform-card.available .platform-badge{color:var(--color-success);background:#51cf6633}.platform-card.coming-soon .platform-badge{color:var(--color-secondary);background:#ffd70026}.platform-card h3{margin:0;font-size:18px;font-weight:700}.platform-card p{color:#7a8396;margin:0;font-size:13px}.platform-card.coming-soon{opacity:.7}.platform-card.coming-soon:hover{opacity:1}.setting-row,.settings-grid label{border:1px solid var(--color-border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:all .2s;display:flex}.setting-row:hover,.settings-grid label:hover{border-color:var(--color-primary);background:#6ee7de0a}.touch-controller{inset-inline:0;z-index:6;padding:0 calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));pointer-events:none;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:space-between;align-items:end;gap:12px;display:flex;position:absolute;bottom:0}.touch-side{pointer-events:auto;gap:10px;display:grid}.touch-side.left{justify-items:start}.touch-side.right{justify-items:end}.touch-pad{position:relative}.touch-pad .touch-button:first-child{top:0;position:absolute;inset-inline-start:50%;transform:translate(50%)}.touch-pad .touch-button:nth-child(2){bottom:0;position:absolute;inset-inline-start:50%;transform:translate(50%)}.touch-pad .touch-button:nth-child(3){inset-inline-start:0;position:absolute;top:50%;transform:translateY(-50%)}.touch-pad .touch-button:nth-child(4){inset-inline-end:0;position:absolute;top:50%;transform:translateY(-50%)}[dir=rtl] .touch-pad .touch-button:first-child,[dir=rtl] .touch-pad .touch-button:nth-child(2){transform:translate(-50%)}.touch-actions{gap:8px;display:flex}.touch-button,.touch-start{color:#fff;touch-action:none;pointer-events:auto;background:#101d2b8c;border:1px solid #fff5;border-radius:50%}.touch-button.active,.touch-start.active{background:var(--color-primary);color:#0a0f1f}.emulator-shell[data-orientation=landscape] .touch-controller{align-items:end}.emulator-shell[data-orientation=portrait] .touch-controller{padding-bottom:calc(8px + env(safe-area-inset-bottom))}@media (pointer:coarse) and (orientation:landscape){.emulator-shell .touch-side{max-width:38vw}.touch-actions{flex-wrap:wrap;justify-content:end;max-width:30vw}}.touch-start{border-radius:999px;padding:8px 14px;font-size:12px}.touch-preview{border:1px dashed var(--color-border);border-radius:12px;min-height:220px;position:relative;overflow:hidden}.touch-preview .touch-controller{position:relative}.game-loader{pointer-events:auto}.game-loader ol{color:#b8c3d1;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.game-loader li{border-left:2px solid #6ee7de33;align-items:center;gap:10px;padding:10px;transition:all .2s;display:flex}.game-loader li.active{border-left-color:var(--color-secondary);color:var(--color-secondary)}.game-loader li.done{border-left-color:var(--color-success);color:var(--color-success)}.mobile-tabs{inset-inline:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#141b2df2;gap:4px;display:none;position:fixed;bottom:0}.mobile-tabs button{color:#a8b5c5;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:10px 4px;font-size:12px;font-weight:500;transition:all .2s}.mobile-tabs button[aria-pressed=true]{color:#0a0f1f;background:var(--color-primary);font-weight:600}.gaming-app.is-playing .mobile-tabs{display:none}@media (width<=900px){.hero{grid-template-columns:1fr;gap:24px}.modal-card{grid-template-columns:1fr;max-height:90vh;overflow:auto}.modal-media img{aspect-ratio:16/9;height:auto}}@media (width<=720px){.app-nav{display:none}.mobile-tabs{display:flex}.app-main{padding:20px 16px 140px}.emulator-shell{aspect-ratio:4/3;height:auto}.game-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.hero{gap:16px;padding:20px}.hero-body h2{font-size:clamp(22px,4vw,32px)}.rail{grid-auto-columns:minmax(160px,200px)}.platform-grid{grid-template-columns:repeat(2,1fr)}.modal-card{grid-template-columns:1fr}.modal-media img{aspect-ratio:16/9;height:auto}.modal-body{padding:20px}.library-toolbar{flex-direction:column}.library-toolbar input,.library-toolbar select{width:100%}}@media (orientation:landscape) and (width<=950px){.gaming-app.is-playing .app-topbar,.gaming-app.is-playing .mobile-tabs{display:none}.gaming-app.is-playing .app-main.game-mode{max-width:100%;padding:8px}.gaming-app.is-playing .emulator-panel{border:0;padding:0}.gaming-app.is-playing .emulator-heading{display:none}.gaming-app.is-playing .emulator-shell:not(.is-fullscreen-native):not(.is-fullscreen-fallback){width:min(100%,133.333dvh - 21.3333px);margin:8px auto}}:-webkit-any(.emulator-shell:fullscreen,.emulator-shell:-webkit-full-screen,.emulator-shell.is-fullscreen-fallback){aspect-ratio:auto;background:#000;border-radius:0;place-items:center;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:grid;overflow:hidden}:is(.emulator-shell:fullscreen,.emulator-shell:fullscreen,.emulator-shell.is-fullscreen-fallback){aspect-ratio:auto;background:#000;border-radius:0;place-items:center;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:grid;overflow:hidden}.emulator-shell.is-fullscreen-fallback{z-index:45;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:0}:-webkit-any(.emulator-shell:fullscreen iframe,.emulator-shell:-webkit-full-screen iframe,.emulator-shell.is-fullscreen-fallback iframe){width:640px;max-width:none;height:480px;max-height:none}:is(.emulator-shell:fullscreen iframe,.emulator-shell:fullscreen iframe,.emulator-shell.is-fullscreen-fallback iframe){width:640px;max-width:none;height:480px;max-height:none}.emulator-shell.is-fullscreen-fallback .touch-controller{bottom:env(safe-area-inset-bottom)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0 24px;display:grid}.stat-card{border:1px solid var(--color-border);background:linear-gradient(135deg,#1a22364d 0%,#141b2d33 100%);border-radius:12px;gap:4px;padding:12px;transition:all .2s;display:grid}.stat-card:hover{border-color:var(--color-primary)}.stat-card small{color:#7a8396}.stat-card strong{font-size:18px;font-weight:600}.admin-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:24px 0;display:grid}.admin-errors h3,.admin-columns h3{margin:0 0 8px}@media (prefers-reduced-motion:reduce){.rail-card,.app-spinner,.touch-button,.game-card{transition:none;animation:none}}section{gap:16px;display:grid}section h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:700}section>.empty-state{margin:20px 0}
