:root{--bg: #07070d;--bg2: #0c0c16;--panel: rgba(20, 20, 34, .72);--panel-solid: #12121f;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #eef0ff;--muted: #9ca0c4;--accent: #39d0ff;--accent2: #7a5cff;--ok: #3ddc97;--warn: #ffb84d;--err: #ff5d6c;--radius: 16px;--shadow: 0 10px 40px rgba(0, 0, 0, .45);--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:radial-gradient(1200px 600px at 85% -10%,rgba(122,92,255,.18),transparent 60%),radial-gradient(1000px 500px at 0% 10%,rgba(57,208,255,.12),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:8px}::-webkit-scrollbar-track{background:transparent}button,input{font-family:inherit}.shell{display:grid;grid-template-rows:64px 1fr;height:100%}.shell-top{display:flex;align-items:center;gap:20px;padding:0 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(14px);z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.18em;font-size:15px;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.brand .dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 12px var(--accent)}.shell-main{display:grid;grid-template-columns:230px 1fr;min-height:0}.sidebar{border-right:1px solid var(--line);padding:18px 12px;overflow-y:auto}.sidebar .cat{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;margin-bottom:4px;border-radius:12px;border:none;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;transition:.18s}.sidebar .cat:hover{background:#ffffff0d;color:var(--text)}.sidebar .cat.active{background:linear-gradient(90deg,#39d0ff29,#7a5cff1f);color:var(--text)}.sidebar .cat .count{margin-left:auto;font-size:12px;color:var(--muted)}.content{overflow-y:auto;padding:26px 30px 60px}.page-title{margin:0 0 4px;font-size:26px;font-weight:800;letter-spacing:-.01em}.page-sub{margin:0 0 24px;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:170px;padding:18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(10px);overflow:hidden;cursor:pointer;transition:transform .22s,border-color .22s,box-shadow .22s}.card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}.card .glow{position:absolute;inset:-40% -20% auto;height:70%;background:radial-gradient(60% 100% at 50% 0%,color-mix(in srgb,var(--accent) 30%,transparent),transparent);opacity:.7;pointer-events:none}.card .tag-row{display:flex;gap:6px;flex-wrap:wrap}.card .chip{font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:3px 8px;border-radius:20px;background:#ffffff12;color:var(--muted);border:1px solid var(--line)}.card .chip.live{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}.card .ver{margin-left:auto;font-size:10.5px;color:var(--muted);font-weight:600}.card h3{margin:14px 0 6px;font-size:18px;font-weight:800;letter-spacing:.01em}.card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}.card .meta{margin-top:14px;display:flex;justify-content:space-between;align-items:center}.card .play{display:inline-flex;gap:6px;align-items:center;font-weight:700;font-size:12.5px;padding:7px 14px;border-radius:10px;border:none;color:#06060c;background:linear-gradient(90deg,var(--accent),var(--accent2));cursor:pointer}.card .soon{font-size:12.5px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.btn{border:1px solid var(--line-strong);background:#ffffff0a;color:var(--text);padding:9px 16px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.18s}.btn:hover{background:#ffffff14}.btn.primary{border:none;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#06060c}.btn.ghost{background:transparent}.input{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line-strong);background:#0000004d;color:var(--text);font-size:14px;outline:none;transition:.18s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#04040ab3;backdrop-filter:blur(8px);z-index:50;animation:fade .2s ease}.modal{width:min(400px,92vw);background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:20px;padding:26px;box-shadow:var(--shadow);animation:pop .22s ease}.modal h2{margin:0 0 4px;font-size:20px}.modal .sub{color:var(--muted);font-size:13px;margin:0 0 18px}.modal .field{margin-bottom:14px}.modal label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.modal .row{display:flex;gap:10px;margin-top:18px}.modal .row button{flex:1}.modal .err{color:var(--err);font-size:13px;margin:6px 0 0}.switcher{display:flex;gap:8px;margin-bottom:18px;background:#ffffff0d;border-radius:12px;padding:4px}.switcher button{flex:1;padding:8px;border-radius:9px;border:none;background:transparent;color:var(--muted);font-weight:600;cursor:pointer}.switcher button.active{background:#ffffff1a;color:var(--text)}.toasts{position:fixed;top:78px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{padding:12px 16px;border-radius:12px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:var(--shadow);font-size:13.5px;animation:slidein .25s ease;max-width:320px}.toast.ok{border-left:3px solid var(--ok)}.toast.warn{border-left:3px solid var(--warn)}.toast.error{border-left:3px solid var(--err)}.toast.info{border-left:3px solid var(--accent)}.userchip{margin-left:auto;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;font-size:15px;border:2px solid var(--line-strong)}.userchip .who{line-height:1.1}.userchip .who .name{font-weight:700;font-size:13px}.userchip .who .lvl{color:var(--muted);font-size:11px}.pill{padding:6px 14px;border-radius:20px;border:1px solid var(--line-strong);background:#ffffff0a;cursor:pointer;font-size:13px;font-weight:600}.pill:hover{background:#ffffff14}.game-stage{position:fixed;inset:0;background:#050508;z-index:40}.game-stage canvas{display:block;width:100%;height:100%}.game-stage .backbtn{position:absolute;top:16px;left:16px;z-index:200}.game-stage .hud-host{position:absolute;inset:0;pointer-events:none;z-index:150}.game-stage .loading{position:absolute;inset:0;display:grid;place-items:center;z-index:300;color:var(--muted);font-weight:600;letter-spacing:.05em}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}@keyframes slidein{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}
