@import url(https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap);:root{--val-red:#ff4655;--val-dark:#0f1923;--val-darker:#0a1118;--val-card:#1a252f;--val-border:#1e3040;--val-text:#c8d3da;--val-text-muted:#7b9ab2;--val-text-bright:#fff;--val-accent:#53c0e8;--val-gold:gold;--val-green:#57c89e;--val-win:#57c89e;--val-loss:#ff4655;--val-draw:#a8b2bb;--radius:4px;--transition:0.2s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--val-dark);color:var(--val-text);font-family:Inter,sans-serif;font-size:14px;line-height:1.5;min-height:100vh}h1,h2,h3,h4,h5{color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase}a{color:var(--val-accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--val-text-bright)}.navbar{background:var(--val-darker);border-bottom:1px solid var(--val-border);gap:2rem;height:56px;padding:0 2rem;position:sticky;top:0;z-index:100}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-size:1.4rem;font-weight:700;gap:8px;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.navbar-brand span{color:var(--val-red)}.navbar-nav{flex:1;gap:.25rem;list-style:none}.navbar-nav,.navbar-nav a{align-items:center;display:flex}.navbar-nav a{border-radius:var(--radius);color:var(--val-text-muted);font-size:.85rem;font-weight:500;gap:6px;letter-spacing:.06em;padding:6px 14px;text-transform:uppercase;transition:all var(--transition)}.navbar-nav a.active,.navbar-nav a:hover{background:rgba(255,70,85,.1);color:var(--val-text-bright)}.navbar-nav a.active{color:var(--val-red)}.navbar-collapse{flex:1;gap:2rem}.navbar-collapse,.navbar-right{align-items:center;display:flex}.navbar-right{gap:1rem}.user-info{align-items:center;color:var(--val-text-muted);display:flex;font-size:.85rem;gap:8px}.user-info img{border:2px solid var(--val-border);border-radius:50%;height:28px;width:28px}.user-points{background:rgba(255,70,85,.15);border:1px solid rgba(255,70,85,.3);border-radius:2px;color:var(--val-red);font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:2px 10px}.btn,.user-points{font-family:Rajdhani,sans-serif}.btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;letter-spacing:.06em;padding:8px 20px;text-decoration:none;text-transform:uppercase;transition:all var(--transition)}.btn-primary{background:var(--val-red);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));color:#fff}.btn-primary:hover{background:#e03344;color:#fff}.btn-twitch{background:#9146ff;color:#fff}.btn-twitch:hover{background:#7d35e0;color:#fff}.btn-outline{background:transparent;border:1px solid var(--val-border);color:var(--val-text-muted)}.btn-outline:hover{border-color:var(--val-red);color:var(--val-text-bright)}.btn-danger{background:rgba(255,70,85,.15);border:1px solid rgba(255,70,85,.4);color:var(--val-red)}.btn-danger:hover{background:rgba(255,70,85,.25)}.btn-sm{font-size:.78rem;padding:5px 12px}.btn-success{background:rgba(87,200,158,.15);border:1px solid rgba(87,200,158,.4);color:var(--val-green)}.container{margin:0 auto;max-width:1280px;padding:0 1.5rem}.page-header{padding:2.5rem 0 2rem}.page-title{align-items:center;display:flex;font-size:2rem;gap:12px}.page-title:before{background:var(--val-red);content:"";display:block;height:2rem;width:4px}.section-title{align-items:center;color:var(--val-text-muted);display:flex;font-size:1.1rem;gap:8px;letter-spacing:.08em;margin-bottom:1rem;text-transform:uppercase}.section-title:after{background:var(--val-border);content:"";flex:1;height:1px}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-2{margin-top:1rem}.card{background:var(--val-card);border:1px solid var(--val-border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition)}.card:hover{border-color:rgba(255,70,85,.3)}.card-header{align-items:center;border-bottom:1px solid var(--val-border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.card-header h3{font-size:1rem}.card-body{padding:1.25rem}.rank-card{align-items:center;background:linear-gradient(135deg,var(--val-card) 0,rgba(255,70,85,.05) 100%);border:1px solid rgba(255,70,85,.2);border-radius:var(--radius);display:flex;gap:1.5rem;padding:1.5rem}.rank-icon{filter:drop-shadow(0 0 12px rgba(255,70,85,.3));height:80px;object-fit:contain;width:80px}.rank-info h2{font-size:1.8rem}.rank-rr{color:var(--val-red);font-family:Rajdhani,sans-serif;font-size:1.1rem;font-weight:700}.rank-peak{color:var(--val-text-muted);font-size:.8rem;margin-top:4px}.rank-winrate{display:flex;gap:1rem;margin-top:.5rem}.rank-stat{display:flex;flex-direction:column;gap:2px}.rank-stat-value{font-family:Rajdhani,sans-serif;font-size:1.1rem;font-weight:700}.rank-stat-label{color:var(--val-text-muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.match-row{align-items:center;border-bottom:1px solid var(--val-border);display:grid;gap:.75rem;grid-template-columns:70px 1fr 80px 80px 70px 60px;padding:.75rem 1rem;transition:background var(--transition)}.match-row:last-child{border-bottom:none}.match-row:hover{background:hsla(0,0%,100%,.02)}.match-result{font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.05em}.match-result.win{color:var(--val-win)}.match-result.loss{color:var(--val-loss)}.match-result.draw{color:var(--val-draw)}.match-agent{align-items:center;display:flex;gap:10px}.match-agent img{border-radius:2px;height:36px;object-fit:cover;width:36px}.match-agent-name{color:var(--val-text-bright);font-size:.9rem;font-weight:500}.match-map{color:var(--val-text-muted);font-size:.78rem}.match-score-main{font-size:1rem;font-weight:700}.match-kda,.match-score-main{font-family:Rajdhani,sans-serif;text-align:center}.match-kda{font-size:.95rem;font-weight:600}.match-hs{color:var(--val-text-muted);font-size:.85rem;text-align:center}.match-header{border-bottom:1px solid var(--val-border);display:grid;gap:.75rem;grid-template-columns:70px 1fr 80px 80px 70px 60px;padding:.5rem 1rem}.match-header span{color:var(--val-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.match-header span:nth-child(n+3){text-align:center}.leaderboard-row{align-items:center;border-bottom:1px solid var(--val-border);display:flex;gap:1rem;padding:.6rem 0}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.lb-me{background:rgba(255,70,85,.06);border-radius:var(--radius);margin:0 -.75rem;padding-left:.75rem;padding-right:.75rem}.lb-rank{color:var(--val-text-muted);flex-shrink:0;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:700;text-align:center;width:28px}.lb-rank.top-1{color:gold}.lb-rank.top-2{color:silver}.lb-rank.top-3{color:#cd7f32}.lb-avatar{border-radius:50%;flex-shrink:0;height:28px;width:28px}.lb-name{flex:1;font-size:.9rem;font-weight:500}.lb-points{color:var(--val-red);font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:700}.lb-you-badge{background:var(--val-red);border-radius:3px;color:#fff;display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.05em;margin-left:.4rem;padding:1px 5px;text-transform:uppercase;vertical-align:middle}.lb-me-banner{border-color:var(--val-red)!important;margin-bottom:1.5rem}.lb-podium{align-items:flex-end;display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.lb-podium-entry{align-items:center;display:flex;flex:1;flex-direction:column;max-width:160px}.lb-podium-avatar{margin-bottom:.5rem;position:relative}.lb-podium-avatar img,.lb-podium-avatar-placeholder{border-radius:50%;display:block;height:56px;width:56px}.lb-podium-avatar-placeholder{background:var(--val-border)}.lb-podium-1 .lb-podium-avatar img{border:2px solid gold;height:68px;width:68px}.lb-podium-medal{align-items:center;border-radius:50%;bottom:-4px;display:flex;font-family:Rajdhani,sans-serif;font-size:.7rem;font-weight:700;height:20px;justify-content:center;position:absolute;right:-4px;width:20px}.lb-podium-medal-1{background:gold;color:#000;font-size:.8rem;height:24px;width:24px}.lb-podium-medal-2{background:silver;color:#000}.lb-podium-medal-3{background:#cd7f32;color:#fff}.lb-podium-name{font-size:.85rem;font-weight:600;margin-bottom:.25rem;max-width:120px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.lb-podium-1 .lb-podium-name{font-size:.95rem}.lb-podium-pts{color:var(--val-red);font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:700;margin-bottom:.5rem}.lb-podium-block{border-radius:var(--radius) var(--radius) 0 0;width:100%}.lb-podium-block-1{background:linear-gradient(180deg,rgba(255,215,0,.25),rgba(255,215,0,.08));border:1px solid rgba(255,215,0,.3);border-bottom:none;height:64px}.lb-podium-block-2{background:linear-gradient(180deg,hsla(0,0%,75.3%,.2),hsla(0,0%,75.3%,.06));border:1px solid hsla(0,0%,75.3%,.25);border-bottom:none;height:48px}.lb-podium-block-3{background:linear-gradient(180deg,rgba(205,127,50,.2),rgba(205,127,50,.06));border:1px solid rgba(205,127,50,.25);border-bottom:none;height:36px}.lb-podium-me .lb-podium-avatar img,.lb-podium-me .lb-podium-avatar-placeholder{box-shadow:0 0 0 2px var(--val-red)}.hero{background:linear-gradient(180deg,rgba(255,70,85,.04),transparent);overflow:hidden;padding:5rem 0 4rem;position:relative}.hero:before{background:linear-gradient(90deg,transparent,var(--val-red),transparent);content:"";height:1px;left:0;position:absolute;right:0;top:0}.hero-content{max-width:700px}.hero-tag{align-items:center;border:1px solid rgba(255,70,85,.3);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%);color:var(--val-red);display:inline-flex;font-size:.72rem;font-weight:600;gap:6px;letter-spacing:.1em;margin-bottom:1rem;padding:3px 10px;text-transform:uppercase}.hero h1{font-size:3.5rem;line-height:1;margin-bottom:1rem}.hero h1 span{color:var(--val-red)}.hero-desc{color:var(--val-text-muted);font-size:1rem;line-height:1.7;margin-bottom:2rem;max-width:480px}.hero-actions{align-items:center;display:flex;gap:1rem}.flash-container{margin:1rem auto 0;max-width:1280px;padding:0 1.5rem}.flash{align-items:center;border-radius:var(--radius);display:flex;font-size:.875rem;gap:8px;margin-bottom:.5rem;padding:12px 16px}.flash-success{background:rgba(87,200,158,.1);border:1px solid rgba(87,200,158,.3);color:var(--val-green)}.flash-error{background:rgba(255,70,85,.1);border:1px solid rgba(255,70,85,.3);color:var(--val-red)}.memory-game-wrapper{align-items:center;display:flex;flex-direction:column;gap:1.5rem;padding:2rem 0}.memory-hud{background:var(--val-card);border:1px solid var(--val-border);border-radius:var(--radius);gap:2rem;padding:.75rem 2rem}.memory-hud,.memory-hud-stat{align-items:center;display:flex}.memory-hud-stat{flex-direction:column;gap:2px}.memory-hud-value{color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-size:1.5rem;font-weight:700}.memory-hud-label{color:var(--val-text-muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.memory-grid{display:grid;gap:.75rem;justify-content:center}.memory-card{cursor:pointer;height:130px;perspective:1000px;width:100px}.memory-card-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%}.memory-card.flipped .memory-card-inner,.memory-card.matched .memory-card-inner{transform:rotateY(180deg)}.memory-card.matched .memory-card-front{border-color:var(--val-green)!important;box-shadow:0 0 12px rgba(87,200,158,.3)}.memory-card-back,.memory-card-front{backface-visibility:hidden;border:1px solid var(--val-border);border-radius:var(--radius);height:100%;overflow:hidden;position:absolute;width:100%}.memory-card-back{align-items:center;background:var(--val-card);display:flex;justify-content:center;transition:border-color var(--transition)}.memory-card-back:hover{border-color:var(--val-red)}.memory-card-front{align-items:center;background:#0d1f2a;border-color:rgba(255,70,85,.3);display:flex;flex-direction:column;gap:6px;justify-content:center;padding:8px;transform:rotateY(180deg)}.memory-card-front img{height:64px;object-fit:contain;width:64px}.memory-card-front .card-label{color:var(--val-text-muted);font-size:.65rem;font-weight:600;letter-spacing:.05em;line-height:1.2;text-align:center;text-transform:uppercase}.memory-difficulty-select{display:flex;gap:.75rem}.difficulty-btn{background:var(--val-card);border:1px solid var(--val-border);border-radius:var(--radius);color:var(--val-text-muted);cursor:pointer;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.06em;padding:8px 24px;text-transform:uppercase;transition:all var(--transition)}.difficulty-btn.active,.difficulty-btn:hover{background:rgba(255,70,85,.08);border-color:var(--val-red);color:var(--val-text-bright)}.memory-win-overlay{align-items:center;animation:fadeIn .4s ease;background:rgba(10,17,24,.95);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.memory-win-card{background:var(--val-card);border:1px solid rgba(255,70,85,.3);border-radius:var(--radius);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));max-width:420px;padding:3rem;text-align:center;width:90%}.memory-win-card h2{font-size:2.5rem;margin-bottom:.5rem}.memory-win-points{color:var(--val-red);font-family:Rajdhani,sans-serif;font-size:3rem;font-weight:700}.memory-win-sub{color:var(--val-text-muted);margin-bottom:2rem}.memory-win-actions{display:flex;gap:1rem;justify-content:center}.admin-sidebar{background:var(--val-darker);border-right:1px solid var(--val-border);flex-shrink:0;min-height:calc(100vh - 56px);padding:1rem 0;width:220px}.admin-layout{display:flex}.admin-main{flex:1;overflow:hidden;padding:2rem}.admin-nav{list-style:none}.admin-nav a{align-items:center;border-left:2px solid transparent;color:var(--val-text-muted);display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:10px 1.25rem;transition:all var(--transition)}.admin-nav a.active,.admin-nav a:hover{background:rgba(255,70,85,.06);border-left-color:var(--val-red);color:var(--val-text-bright)}.stat-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.stat-card{background:var(--val-card);border:1px solid var(--val-border);border-radius:var(--radius);padding:1.25rem}.stat-value{font-family:Rajdhani,sans-serif;font-size:2rem;font-weight:700}.stat-label{color:var(--val-text-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.status-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.status-dot.online{background:var(--val-green);box-shadow:0 0 6px var(--val-green)}.status-dot.offline{background:var(--val-red)}.table{border-collapse:collapse;font-size:.875rem;width:100%}.table th{border-bottom:1px solid var(--val-border);color:var(--val-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;padding:10px 12px;text-align:left;text-transform:uppercase}.table td{border-bottom:1px solid rgba(30,48,64,.5);padding:10px 12px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:hsla(0,0%,100%,.02)}.badge{align-items:center;border-radius:2px;display:inline-flex;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.badge-red{background:rgba(255,70,85,.15);color:var(--val-red)}.badge-green{background:rgba(87,200,158,.15);color:var(--val-green)}.badge-blue{background:rgba(83,192,232,.15);color:var(--val-accent)}.badge-gray{background:rgba(123,154,178,.15);color:var(--val-text-muted)}.form-group{margin-bottom:1rem}.form-label{color:var(--val-text-muted);display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;margin-bottom:.4rem;text-transform:uppercase}.form-control{background:var(--val-darker);border:1px solid var(--val-border);border-radius:var(--radius);color:var(--val-text-bright);font-family:inherit;font-size:.875rem;padding:8px 12px;transition:border-color var(--transition);width:100%}.form-control:focus{border-color:var(--val-red);outline:none}textarea.form-control{min-height:80px;resize:vertical}select.form-control option{background:var(--val-darker)}.log-viewer{background:var(--val-darker);font-family:Courier New,monospace;font-size:.78rem;line-height:1.6;max-height:300px;overflow-y:auto;padding:1rem}.game-card,.log-viewer{border:1px solid var(--val-border);border-radius:var(--radius)}.game-card{background:var(--val-card);overflow:hidden;transition:all var(--transition)}.game-card:hover{border-color:rgba(255,70,85,.4);box-shadow:0 8px 24px rgba(0,0,0,.3);transform:translateY(-2px)}.game-card-img{align-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,#0d1f2a,#1a2a35);display:flex;font-size:4rem;justify-content:center;width:100%}.game-card-body{padding:1.25rem}.game-card-title{font-size:1.2rem;margin-bottom:.4rem}.game-card-desc{font-size:.83rem;line-height:1.5}.game-card-desc,.game-card-meta{color:var(--val-text-muted);margin-bottom:1rem}.game-card-meta{display:flex;font-size:.78rem;gap:1rem}.divider{background:var(--val-border);height:1px;margin:1.5rem 0}.text-muted{color:var(--val-text-muted)}.text-red{color:var(--val-red)}.text-green{color:var(--val-green)}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:var(--val-darker)}::-webkit-scrollbar-thumb{background:var(--val-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--val-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-slide-up{animation:slideUp .4s ease}.navbar-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;flex-shrink:0;gap:5px;height:36px;justify-content:center;margin-left:auto;padding:4px;width:36px}.navbar-toggle span{background:var(--val-text);border-radius:2px;display:block;height:2px;transition:all .25s ease}.navbar-toggle.open span:first-child{transform:translateY(7px) rotate(45deg)}.navbar-toggle.open span:nth-child(2){opacity:0}.navbar-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:1024px){.grid-4,.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.navbar{flex-wrap:wrap;gap:0;height:auto;padding:.5rem 1rem;position:relative}.navbar-brand{padding:.4rem 0}.navbar-toggle{display:flex}.navbar-collapse{display:none;flex-direction:column;gap:.25rem;padding:.5rem 0 1rem;width:100%}.navbar-collapse.open{display:flex}.navbar-nav{flex-direction:column;gap:0;width:100%}.navbar-nav a{font-size:.9rem;padding:10px 8px}.navbar-right{border-top:1px solid var(--val-border);flex-wrap:wrap;gap:.5rem;padding:.75rem 0 0;width:100%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hero{padding:3rem 0 2.5rem}.hero h1{font-size:2.2rem}.hero-actions{flex-wrap:wrap;gap:.75rem}.hero-actions .btn{flex:1 1 auto;justify-content:center;text-align:center}.rank-card{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.25rem}.rank-icon{height:64px;width:64px}.match-header{grid-template-columns:60px 1fr 70px}.match-header span:nth-child(n+4){display:none}.match-row{grid-template-columns:60px 1fr 70px}.match-row>:nth-child(n+4){display:none}.memory-card{height:105px;width:80px}.memory-card-front img{height:50px;width:50px}.memory-hud{gap:1.25rem;justify-content:center;padding:.75rem 1.25rem}.memory-difficulty-select,.memory-hud{flex-wrap:wrap}.gw-play-header{flex-wrap:wrap;gap:.5rem}.gw-header-center{font-size:1rem}.gw-play-actions{flex-wrap:wrap;gap:1rem}.gw-confirm-bar{padding:10px 1rem}.gw-my-agent-section{flex-wrap:wrap}.lb-podium{gap:.5rem}.lb-podium-entry{max-width:110px}.page-title{font-size:1.5rem}.admin-sidebar{display:none}}.gw-code-input{background:var(--val-card);border:1px solid var(--val-border);border-radius:var(--radius);color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-size:1.2rem;letter-spacing:.25em;outline:none;padding:8px 12px;text-transform:uppercase;width:130px}.gw-code-input:focus{border-color:var(--val-red)}.gw-rules{color:var(--val-text-muted);font-size:.875rem;line-height:2.2;padding-left:1.5rem}.gw-rules li strong{color:var(--val-text-bright)}.gw-waiting-bar{background:rgba(255,70,85,.08);border:1px solid rgba(255,70,85,.25);border-radius:var(--radius);color:var(--val-text-muted);flex-wrap:wrap;font-size:.85rem;gap:1rem;margin-top:.75rem;padding:10px 14px}.gw-share-code,.gw-waiting-bar{align-items:center;display:flex}.gw-share-code{gap:8px}.gw-share-code strong{color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-size:1.2rem;letter-spacing:.2em}.gw-setup-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-bottom:5rem}.gw-setup-card{aspect-ratio:3/4;background:var(--val-card);border:2px solid var(--val-border);border-radius:var(--radius);cursor:pointer;overflow:hidden;position:relative;transition:all .15s ease}.gw-setup-card img{display:block;height:100%;object-fit:cover;object-position:top;width:100%}.gw-setup-card:hover{border-color:rgba(255,70,85,.6);transform:scale(1.04);z-index:1}.gw-setup-card.selected{border-color:var(--val-red);box-shadow:0 0 0 2px rgba(255,70,85,.4),0 4px 20px rgba(255,70,85,.3)}.gw-confirm-bar{align-items:center;background:var(--val-darker);border-top:2px solid var(--val-red);bottom:0;display:flex;gap:1rem;justify-content:space-between;left:0;padding:14px 2rem;position:fixed;right:0;z-index:50}.gw-confirm-preview{align-items:center;display:flex;gap:12px}.gw-confirm-role-text{color:var(--val-text-muted);font-size:.78rem;letter-spacing:.05em;margin-top:2px;text-transform:uppercase}.gw-role-badge{align-items:center;border-radius:2px;display:flex;font-family:Rajdhani,sans-serif;font-size:.65rem;font-weight:700;height:18px;justify-content:center;position:absolute;right:5px;top:5px;width:18px}.gw-role-duelist{background:rgba(255,70,85,.85);color:#fff}.gw-role-controller{background:rgba(155,89,182,.85);color:#fff}.gw-role-sentinel{background:rgba(241,196,18,.85);color:#000}.gw-role-initiator{background:rgba(87,200,158,.85);color:#000}.gw-play-container{padding-bottom:3rem}.gw-play-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:1.5rem 0 1.25rem;padding:0}.gw-header-center{color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-size:1.3rem;font-weight:700;letter-spacing:.14em}.gw-game-badge{background:rgba(255,70,85,.15);border:1px solid rgba(255,70,85,.3);color:var(--val-red);font-size:1rem;letter-spacing:.2em;padding:3px 12px}.gw-game-badge,.gw-status-badge{border-radius:2px;font-family:Rajdhani,sans-serif}.gw-status-badge{font-size:.72rem;letter-spacing:.08em;margin-left:8px;padding:2px 8px;text-transform:uppercase}.gw-status-choosing,.gw-status-waiting{background:rgba(255,215,0,.15);border:1px solid rgba(255,215,0,.3);color:var(--val-gold)}.gw-status-playing{background:rgba(87,200,158,.15);border:1px solid rgba(87,200,158,.3);color:var(--val-green)}.gw-status-finished{background:rgba(200,211,218,.1);border:1px solid var(--val-border);color:var(--val-text-muted)}.gw-opponent-ready{color:var(--val-green);font-size:.8rem}.gw-opponent-waiting{color:var(--val-text-muted);font-size:.8rem}.gw-my-agent-section{align-items:center;background:rgba(87,200,158,.07);border:1px solid rgba(87,200,158,.25);border-radius:var(--radius);display:flex;gap:1.25rem;margin-bottom:1.5rem;padding:14px 18px;position:relative}.gw-my-agent-label-top{background:var(--val-dark);color:var(--val-green);font-size:.68rem;left:16px;letter-spacing:.1em;padding:0 6px;position:absolute;text-transform:uppercase;top:-9px}.gw-my-agent-hero{align-items:center;display:flex;gap:14px}.gw-my-agent-portrait{border:2px solid rgba(87,200,158,.4);border-radius:var(--radius);display:block;height:94px;object-fit:cover;object-position:top;width:70px}.gw-my-agent-hero-name{color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-size:1.8rem;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase}.gw-my-agent-hero-role{color:var(--val-green);font-size:.75rem;letter-spacing:.08em;margin-top:4px;text-transform:uppercase}.gw-my-agent-section .gw-role-badge{font-size:.75rem;height:22px;margin-top:8px;position:static;width:22px}.gw-board{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));margin-bottom:1.5rem}.gw-agent-card{aspect-ratio:3/4;background:var(--val-card);border:2px solid var(--val-border);border-radius:var(--radius);cursor:pointer;overflow:hidden;position:relative;transition:all .15s ease;user-select:none}.gw-agent-card img{display:block;height:100%;object-fit:cover;object-position:top;transition:filter .2s ease;width:100%}.gw-agent-name{background:linear-gradient(transparent,rgba(0,0,0,.88));bottom:0;color:#fff;font-family:Rajdhani,sans-serif;font-size:.72rem;font-weight:700;left:0;letter-spacing:.05em;padding:18px 4px 5px;position:absolute;right:0;text-align:center;text-transform:uppercase}.gw-elim-overlay{align-items:center;background:rgba(10,17,24,.72);color:var(--val-red);display:flex;font-size:2.5rem;font-weight:900;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .15s ease}.gw-agent-card:hover:not(.eliminated){border-color:rgba(255,70,85,.55);transform:scale(1.04);z-index:1}.gw-agent-card.is-mine{border-color:rgba(87,200,158,.5);box-shadow:0 0 8px rgba(87,200,158,.15)}.gw-agent-card.eliminated img{filter:grayscale(1) brightness(.3)}.gw-agent-card.eliminated .gw-elim-overlay{opacity:1}.gw-agent-card.eliminated{border-color:rgba(255,70,85,.2)}.gw-play-actions{align-items:center;border-top:1px solid var(--val-border);display:flex;gap:1.5rem;padding:1rem 0}.gw-guess-btn{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));font-size:1rem;padding:11px 32px}.gw-elim-counter{align-items:baseline;display:flex;gap:5px}#elim-count{color:var(--val-red);font-family:Rajdhani,sans-serif;font-size:2rem;font-weight:700;line-height:1}.gw-elim-label{color:var(--val-text-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.gw-modal{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.75);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.gw-modal-inner{background:var(--val-card);border:1px solid var(--val-border);border-radius:var(--radius);max-height:80vh;max-width:640px;overflow-y:auto;padding:1.5rem;text-align:center;width:90%}.gw-modal-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.gw-guess-option{aspect-ratio:3/4;background:var(--val-card);border:2px solid var(--val-border);border-radius:var(--radius);cursor:pointer;overflow:hidden;position:relative;transition:all .15s}.gw-guess-option img{display:block;height:80%;object-fit:cover;object-position:top;width:100%}.gw-guess-option div{color:var(--val-text-bright);font-family:Rajdhani,sans-serif;font-size:.65rem;font-weight:700;padding:3px;text-align:center}.gw-guess-option:hover{border-color:var(--val-red);transform:scale(1.05);z-index:1}.gw-guess-option.elim-hint{opacity:.35}.gw-result-overlay{align-items:center;backdrop-filter:blur(8px);background:rgba(0,0,0,.88);display:flex;inset:0;justify-content:center;position:fixed;z-index:300}.gw-result-box{animation:slideUp .5s ease;padding:3rem 2rem;text-align:center}.gw-result-title{font-family:Rajdhani,sans-serif;font-size:3.5rem;font-weight:700;letter-spacing:.1em;line-height:1;margin-bottom:.5rem}.gw-result-subtitle{color:var(--val-text-muted);font-size:.95rem;margin-bottom:2rem}.gw-result-agents{align-items:center;display:flex;gap:2rem;justify-content:center}.gw-result-agent{align-items:center;display:flex;flex-direction:column;gap:8px}.gw-result-agent img{border:2px solid var(--val-border);border-radius:var(--radius);height:133px;object-fit:cover;object-position:top;width:100px}.gw-result-agent div{font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:700;text-transform:uppercase}.gw-result-agent-label{color:var(--val-text-muted);font-size:.7rem;letter-spacing:.06em}.gw-result-vs{color:var(--val-text-muted);font-family:Rajdhani,sans-serif;font-size:1.5rem;font-weight:700}