:root{--bg: #07081a;--bg-deep: #02030c;--panel: #131428;--panel-2: #1c1d3a;--border: rgba(255, 255, 255, .1);--text: #f0f1ff;--text-dim: #8a92a6;--accent: #5cf2c7;--accent-2: #ffb86b;--neon: #ff2dd1;--neon-2: #7c3aed;--neon-3: #00e5ff;--shadow: 0 20px 60px rgba(0, 0, 0, .5);--radius: 14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:inherit}a{color:inherit;text-decoration:none}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{display:grid;grid-template-rows:auto 1fr;height:100vh;background:radial-gradient(900px 500px at 15% 110%,rgba(255,45,209,.18),transparent 60%),radial-gradient(900px 500px at 85% 110%,rgba(0,229,255,.13),transparent 60%),radial-gradient(1400px 700px at 50% -200px,rgba(124,58,237,.18),transparent 60%),linear-gradient(180deg,#07081a,#100726 70%,#1a0a36);position:relative}.app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(255,255,255,.018) 2px,rgba(255,255,255,.018) 3px);z-index:1;mix-blend-mode:overlay}.app>*{position:relative;z-index:2}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid rgba(255,45,209,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(180deg,#07081ad9,#07081a8c);box-shadow:0 1px #00e5ff14}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;font-size:13px;color:#fff;text-shadow:0 0 8px rgba(255,45,209,.7),0 0 18px rgba(255,45,209,.4)}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--neon);box-shadow:0 0 10px var(--neon),0 0 24px #ff2dd180;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.85)}}.user{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:13px}.user img{width:28px;height:28px;border-radius:50%}.carousel-wrap{position:relative;padding:32px 0 24px;overflow:hidden;flex-shrink:0}.carousel-horizon{position:absolute;left:0;right:0;bottom:12px;height:60%;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0px,transparent 56px,rgba(0,229,255,.07) 56px,rgba(0,229,255,.07) 57px),linear-gradient(180deg,transparent 0%,rgba(255,45,209,.14) 95%,rgba(0,229,255,.18) 100%);mask-image:radial-gradient(ellipse at center bottom,black 0%,black 40%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center bottom,black 0%,black 40%,transparent 80%)}.carousel-label{position:relative;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:#ffffffa6;text-align:center;margin-bottom:18px;text-shadow:0 0 8px rgba(0,229,255,.4)}.carousel{position:relative;display:flex;gap:28px;padding:32px 50% 36px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.system-card{flex:0 0 220px;height:230px;border-radius:var(--radius);scroll-snap-align:center;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;padding:20px 16px 16px;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s,opacity .3s;opacity:.45;position:relative;overflow:hidden;background:linear-gradient(170deg,#7c3aed0d,#131428d9 60%,#1c1d3af2);color:var(--text);font-family:inherit;isolation:isolate}.system-card-glow{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(circle at 50% 0%,var(--sys-color, var(--neon)),transparent 70%);mix-blend-mode:screen;z-index:0}.system-card-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(255,255,255,.025) 2px,rgba(255,255,255,.025) 3px);border-radius:inherit;mix-blend-mode:overlay;z-index:1;opacity:.6}.system-card>*:not(.system-card-glow):not(.system-card-scanlines){position:relative;z-index:2}.system-card.active{transform:scale(1.18) translateY(-4px);opacity:1;z-index:5;border-color:var(--sys-color, var(--neon));box-shadow:0 0 0 1px var(--sys-color, var(--neon)),0 0 24px -2px var(--sys-color, var(--neon)),0 0 60px -10px var(--sys-color, var(--neon)),0 30px 80px -20px #0009}.system-card.active .system-card-glow{opacity:.35}.system-card.active .system-card-scanlines{opacity:1}.system-card:hover{opacity:.85}.system-card.active:hover{opacity:1}.system-art-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:90px;margin-bottom:8px}.system-art{width:100%;max-width:130px;height:100%;filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 4px 8px rgba(0,0,0,.5));display:flex;align-items:center;justify-content:center}.system-art svg{width:100%;height:100%;max-height:80px;overflow:visible}.system-card.active .system-art{filter:drop-shadow(0 0 14px currentColor) drop-shadow(0 0 28px currentColor) drop-shadow(0 4px 8px rgba(0,0,0,.5))}.system-mark{width:78px;height:50px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:18px;letter-spacing:1.5px;text-shadow:0 1px 2px rgba(0,0,0,.4);transition:box-shadow .25s}.system-card.active .system-mark{box-shadow:0 0 24px var(--sys-color),0 4px 12px #0006}.system-name{font-size:14px;font-weight:700;text-align:center;line-height:1.2;text-transform:uppercase;letter-spacing:1.5px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.system-card.active .system-name{text-shadow:0 0 6px rgba(255,255,255,.6),0 0 14px var(--sys-color)}.system-meta{margin-top:6px;font-size:10px;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase}.system-count{margin-top:auto;padding-top:10px;font-size:10px;color:var(--neon-3);letter-spacing:2px;text-transform:uppercase;font-weight:700;text-shadow:0 0 6px rgba(0,229,255,.4)}.system-card.active .system-count{color:#fff;text-shadow:0 0 8px var(--sys-color)}.split{display:grid;grid-template-columns:380px 1fr;gap:0;overflow:hidden;padding:0 24px 24px}.gamelist{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);overflow-y:auto;scrollbar-width:thin}.gamelist-empty{padding:24px;color:var(--text-dim);text-align:center;font-size:13px}.game-row{padding:12px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .15s}.game-row:hover{background:#ffffff08}.game-row.active{background:linear-gradient(90deg,#5cf2c71f,#5cf2c700);border-left:3px solid var(--accent);padding-left:15px}.game-row-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.game-row-size{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.detail{background:var(--panel-2);border:1px solid var(--border);border-left:none;border-radius:0 var(--radius) var(--radius) 0;display:flex;flex-direction:column;position:relative;overflow:hidden}.detail-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-dim);font-size:13px}.detail-header{padding:28px 32px 20px;border-bottom:1px solid var(--border)}.detail-name{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.detail-meta{color:var(--text-dim);font-size:12px;letter-spacing:1px;text-transform:uppercase}.detail-body{flex:1;display:grid;grid-template-columns:280px 1fr;gap:24px;padding:24px 32px;overflow:hidden}.boxart-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.boxart{width:100%;max-width:280px;aspect-ratio:3/4;background:var(--bg-deep);border-radius:10px;box-shadow:var(--shadow);object-fit:cover;border:1px solid var(--border)}.boxart.placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:11px;letter-spacing:2px}.previews{display:flex;flex-direction:column;gap:18px;min-height:0}.preview-frame{background:var(--bg-deep);border:1px solid var(--border);border-radius:10px;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center}.preview-frame img{width:100%;height:100%;object-fit:cover}.preview-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:-10px}.preview-empty{color:var(--text-dim);font-size:11px;letter-spacing:2px}.back-btn{display:none;background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:6px 12px;border-radius:8px;font-size:12px;letter-spacing:.5px;cursor:pointer;margin-bottom:14px}.back-btn:active{background:#ffffff0a}.actions{padding:18px 32px 24px;display:flex;gap:12px;align-items:center;border-top:1px solid var(--border)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;border:none;background:var(--accent);color:#0b0d12;font-weight:700;font-size:13px;letter-spacing:.5px;cursor:pointer;transition:transform .1s,box-shadow .2s;text-transform:uppercase}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #5cf2c74d}.btn:active{transform:translateY(0)}.btn.ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border)}.player-page{display:grid;grid-template-rows:auto 1fr;height:100vh;background:#000}.player-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:#0b0d12d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.player-title{font-size:14px;font-weight:600}.player-mount{position:relative;width:100%;height:100%;background:#000}.player-loading,.player-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dim);font-size:13px;text-align:center;padding:24px}.player-error{color:#ff8b8b}.login{display:flex;align-items:center;justify-content:center;height:100vh}.login-card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:48px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.login-emoji{font-size:44px}.login-title{font-size:22px;font-weight:700;margin:0;letter-spacing:-.3px}.login-sub{color:var(--text-dim);font-size:13px;margin:-6px 0 6px}@media (max-width: 768px){.topbar{padding:10px 14px}.user{font-size:12px}.user img{width:24px;height:24px}.carousel-wrap{padding:18px 0 14px}.carousel{gap:16px;padding:20px 50% 24px}.system-card{flex:0 0 170px;height:195px;padding:14px 12px 12px}.system-card.active{transform:scale(1.1) translateY(-2px)}.system-art-wrap{height:72px;margin-bottom:6px}.system-art{max-width:110px}.system-art svg{max-height:64px}.system-mark{width:60px;height:38px;font-size:13px;margin-bottom:8px}.system-name{font-size:12px;letter-spacing:1px}.system-meta{font-size:9px;letter-spacing:1px}.system-count{font-size:9px;letter-spacing:1.5px}.split{grid-template-columns:1fr;padding:0 12px 12px}.split.show-list .detail,.split.show-detail .gamelist{display:none}.split.show-detail .detail{border-radius:var(--radius);border:1px solid var(--border)}.gamelist{border-radius:var(--radius)}.back-btn{display:inline-block}.detail-header{padding:18px 18px 14px}.detail-name{font-size:20px}.detail-body{grid-template-columns:1fr;padding:16px 18px;gap:16px;overflow-y:auto}.boxart{max-width:200px;margin:0 auto}.actions{padding:14px 18px 18px;flex-wrap:wrap}.actions .btn{flex:1 1 auto;justify-content:center}}
