@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.loading-spinner{position:relative;width:80px;height:80px;margin-bottom:2rem}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#7c3aed;border-radius:50%;animation:spin 1.5s cubic-bezier(.5,0,.5,1) infinite;box-shadow:0 0 20px #7c3aed80}.spinner-ring:nth-child(1){animation-delay:-.45s;border-top-color:#7c3aed}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#ec4899}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#06b6d4}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#06b6d4;font-size:1.2rem;font-weight:700;letter-spacing:.3rem;text-shadow:0 0 10px #06B6D4;animation:pulse 1.5s ease-in-out infinite}.sidebar{width:280px;height:100vh;background:linear-gradient(180deg,#0f172a,#1e293b);border-right:3px solid #7C3AED;display:flex;flex-direction:column;position:fixed;top:0;left:0;overflow-y:auto;overflow-x:hidden;box-shadow:inset -3px 0 10px #7c3aed4d,3px 0 20px #00000080;transition:transform .3s ease;z-index:100}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;z-index:1000;transform:translate(-100%)}.sidebar-open{transform:translate(0)}}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:999;animation:fadeIn .3s ease}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(124,58,237,.02) 2px,rgba(124,58,237,.02) 4px);pointer-events:none}.sidebar-header{padding:2rem 1.5rem 1.5rem;border-bottom:2px solid rgba(124,58,237,.3);background:#0f172a80;position:relative;z-index:1}.sidebar-logo{font-size:1.5rem;font-weight:700;color:#ec4899;margin:0 0 .5rem;text-shadow:0 0 10px #EC4899,2px 2px 0px #7C3AED;letter-spacing:.15rem}.sidebar-subtitle{font-size:.7rem;color:#06b6d4;margin:0;letter-spacing:.2rem;text-shadow:0 0 5px #06B6D4}.sidebar-nav{flex:1;padding:1.5rem 0;overflow-y:auto;position:relative;z-index:1}.nav-item,.nav-dropdown{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#94a3b8;text-decoration:none;transition:all .2s;border:none;background:none;width:100%;cursor:pointer;font-family:inherit;font-size:inherit;position:relative}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:linear-gradient(180deg,#7c3aed,#ec4899);transition:height .2s;box-shadow:0 0 10px #ec4899}.nav-item:hover:before,.nav-item.active:before{height:80%}.nav-item:hover,.nav-dropdown:hover{background:#7c3aed1a;color:#ec4899;transform:translate(5px)}.nav-item.active{background:#7c3aed33;color:#ec4899;font-weight:700}.nav-icon{font-size:1.2rem;filter:drop-shadow(0 0 3px currentColor)}.nav-label{font-size:.85rem;letter-spacing:.1rem;font-weight:600}.nav-section{margin:.5rem 0}.dropdown-arrow{margin-left:auto;font-size:.7rem;transition:transform .2s}.nav-dropdown.active .dropdown-arrow{transform:rotate(0)}.nav-submenu{background:#0f172a80;border-left:2px solid rgba(124,58,237,.3);margin-left:1.5rem;animation:slideDown .2s ease-out}.nav-subitem{display:flex;align-items:center;padding:.75rem 1.5rem .75rem 2.5rem;color:#94a3b8;text-decoration:none;transition:all .2s;position:relative}.nav-subitem:before{content:"▸";position:absolute;left:1.5rem;color:#7c3aed;opacity:0;transition:opacity .2s}.nav-subitem:hover:before,.nav-subitem.active:before{opacity:1}.nav-subitem:hover{background:#7c3aed1a;color:#ec4899}.nav-subitem.active{background:#7c3aed26;color:#ec4899;font-weight:600}.nav-sublabel{font-size:.8rem;letter-spacing:.05rem}.sidebar-footer{padding:1.5rem;border-top:2px solid rgba(124,58,237,.3);background:#0f172a80;position:relative;z-index:1}.user-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:#1e293b80;border:2px solid rgba(124,58,237,.3);margin-bottom:1rem;clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px))}.user-icon{font-size:1.5rem;filter:drop-shadow(0 0 5px #06B6D4)}.user-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.user-name{color:#e2e8f0;font-size:.9rem;font-weight:600;letter-spacing:.05rem}.user-badge{color:#f59e0b;font-size:.65rem;font-weight:700;letter-spacing:.1rem;text-shadow:0 0 5px #F59E0B}.logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;background:linear-gradient(135deg,#dc2626,#ef4444);border:2px solid #EF4444;color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.1rem;cursor:pointer;transition:all .2s;clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px));font-family:inherit}.logout-button:hover{transform:translateY(-2px);box-shadow:0 0 15px #ef444499,0 5px 10px #0000004d}.logout-button:active{transform:translateY(0)}.logout-icon{font-size:1rem}.sidebar-decoration{position:absolute;top:0;right:0;width:2px;height:100%;overflow:hidden;pointer-events:none}.scanline-vertical{width:100%;height:100px;background:linear-gradient(180deg,transparent 0%,#06B6D4 50%,transparent 100%);animation:scan-vertical 4s linear infinite}@keyframes scan-vertical{0%,to{transform:translateY(-100%);opacity:0}50%{opacity:.5}}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#1e293b4d}.sidebar-nav::-webkit-scrollbar-thumb{background:#7c3aed80;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#7c3aedb3}.app-layout{height:100vh;width:100vw;overflow:hidden;background:linear-gradient(135deg,#0f172a,#1e293b,#0f3460);background-attachment:fixed;background-size:100vw 100vh;position:fixed;top:0;left:0}.app-layout:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(124,58,237,.01) 10px,rgba(124,58,237,.01) 20px);pointer-events:none;z-index:0}.main-content{margin-left:280px;height:100vh;overflow-y:auto;overflow-x:hidden;position:relative;z-index:1}.content-wrapper{padding:2rem;width:100%;min-height:100vh}@media (min-width: 769px){.content-wrapper{max-width:none}}@media (max-width: 768px){.main-content{margin-left:0}}.mobile-menu-button{display:none;position:fixed;top:1rem;left:1rem;z-index:900;background:linear-gradient(135deg,#7c3aed,#ec4899);border:3px solid #EC4899;width:50px;height:50px;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 0 15px #ec489980,inset 0 0 10px #ffffff1a}.mobile-menu-button:hover{transform:translateY(-2px);box-shadow:0 0 25px #ec4899cc,0 5px 15px #0000004d}.mobile-menu-button:active{transform:translateY(0)}.menu-icon{font-size:1.5rem;color:#fff;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.mobile-menu-button{display:flex;align-items:center;justify-content:center}.content-wrapper{padding:5rem 1rem 1rem}}@media (max-width: 768px){.content-wrapper{padding:1rem}}.login-container{min-height:100vh;height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;width:200%;height:200%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(124,58,237,.03) 2px,rgba(124,58,237,.03) 4px);animation:scan 8s linear infinite;pointer-events:none}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(50%)}}.login-box{background:#0f172af2;border:3px solid #7C3AED;box-shadow:0 0 20px #7c3aed80,0 0 40px #7c3aed4d,inset 0 0 60px #7c3aed1a;padding:3rem 2.5rem;width:100%;max-width:400px;position:relative;clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px))}.login-title{font-size:2.5rem;font-weight:700;text-align:center;margin:0 0 .5rem;color:#ec4899;text-shadow:0 0 10px #EC4899,0 0 20px #EC4899,2px 2px 0px #7C3AED;letter-spacing:.2rem}.login-subtitle{text-align:center;color:#06b6d4;font-size:.9rem;margin:0 0 2rem;letter-spacing:.3rem;text-shadow:0 0 5px #06B6D4}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-error{background:#ef444433;border:2px solid #EF4444;color:#fca5a5;padding:.75rem;border-radius:4px;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.error-icon{background:#ef4444;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.form-label{color:#f59e0b;font-size:.75rem;font-weight:700;letter-spacing:.1rem;text-shadow:0 0 5px rgba(245,158,11,.5)}.form-input{background:#1e293bcc;border:2px solid #475569;color:#e2e8f0;padding:.75rem;font-size:1rem;font-family:Courier New,monospace;transition:all .2s;clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px))}.form-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 10px #7c3aed80,inset 0 0 20px #7c3aed1a}.form-input:disabled{opacity:.5;cursor:not-allowed}.login-button{background:linear-gradient(135deg,#7c3aed,#ec4899);border:3px solid #EC4899;color:#fff;padding:1rem;font-size:1.1rem;font-weight:700;cursor:pointer;letter-spacing:.2rem;transition:all .2s;margin-top:.5rem;clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));box-shadow:0 0 15px #ec489980,inset 0 0 20px #ffffff1a}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px #ec4899cc,0 5px 15px #0000004d,inset 0 0 30px #fff3}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:2rem;position:relative}.scanline{height:2px;background:linear-gradient(90deg,transparent 0%,#06B6D4 50%,transparent 100%);animation:scan-horizontal 3s linear infinite}@keyframes scan-horizontal{0%,to{opacity:0;transform:scaleX(0)}50%{opacity:1;transform:scaleX(1)}}@media (max-width: 480px){.login-box{padding:2rem 1.5rem;margin:1rem}.login-title{font-size:2rem}}.home-page{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:2rem}.page-title{font-size:2.5rem;font-weight:700;color:#ec4899;margin:0 0 .5rem;text-shadow:0 0 15px #EC4899,2px 2px 0px #7C3AED;letter-spacing:.2rem}.page-subtitle{color:#06b6d4;font-size:1rem;margin:0;letter-spacing:.1rem;text-shadow:0 0 5px #06B6D4}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-card{background:#1e293b99;border:2px solid rgba(124,58,237,.4);padding:1.5rem;transition:all .2s;position:relative;overflow:hidden;clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px))}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#7C3AED 50%,transparent 100%);animation:shimmer 2s linear infinite}@keyframes shimmer{0%,to{opacity:0}50%{opacity:1}}.dashboard-card:hover{border-color:#7c3aed;box-shadow:0 0 20px #7c3aed66,inset 0 0 30px #7c3aed1a;transform:translateY(-2px)}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card-icon{font-size:1.5rem;filter:drop-shadow(0 0 5px currentColor)}.card-title{font-size:.85rem;font-weight:700;color:#f59e0b;margin:0;letter-spacing:.1rem;text-shadow:0 0 5px rgba(245,158,11,.5)}.card-content{text-align:center}.card-value{font-size:2.5rem;font-weight:700;color:#ec4899;margin:0 0 .5rem;text-shadow:0 0 10px #EC4899}.card-label{color:#94a3b8;font-size:.85rem;margin:0;letter-spacing:.05rem}.welcome-message{background:#1e293b99;border:3px solid #7C3AED;padding:2rem;text-align:center;position:relative;overflow:hidden;clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));box-shadow:0 0 30px #7c3aed4d,inset 0 0 60px #7c3aed1a}.welcome-title{font-size:1.8rem;font-weight:700;color:#ec4899;margin:0 0 1rem;text-shadow:0 0 15px #EC4899,2px 2px 0px #7C3AED;letter-spacing:.15rem}.welcome-text{color:#06b6d4;font-size:1.1rem;margin:0 0 1.5rem;letter-spacing:.1rem;text-shadow:0 0 5px #06B6D4}.status-list{display:flex;flex-direction:column;gap:.75rem;max-width:500px;margin:0 auto}.status-item{background:#0f172a80;border:2px solid rgba(124,58,237,.3);padding:.75rem 1rem;color:#e2e8f0;font-size:.9rem;letter-spacing:.05rem;clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px))}@media (max-width: 768px){.page-title{font-size:2rem}.dashboard-grid{grid-template-columns:1fr}.welcome-title{font-size:1.4rem}}.add-game-modal{max-width:800px;max-height:90vh;display:flex;flex-direction:column}.modal-title{font-family:"Press Start 2P",cursive;font-size:1.2rem;color:#7c3aed;margin-bottom:.5rem;text-shadow:2px 2px 0 #000}.modal-subtitle{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#94a3b8;margin-bottom:1.5rem}.search-section{margin-bottom:1.5rem;position:relative}.igdb-search-input{width:100%;padding:1rem;background:#0f172acc;border:2px solid #7C3AED;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;text-transform:uppercase;box-shadow:inset 0 2px 5px #00000080}.igdb-search-input::placeholder{color:#64748b}.igdb-search-input:focus{outline:none;border-color:#a78bfa;box-shadow:inset 0 2px 5px #00000080,0 0 10px #7c3aed80}.searching-indicator{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#a78bfa;margin-top:.5rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.modal-error{padding:1rem;background:#dc262633;border:2px solid #dc2626;color:#fca5a5;font-family:"Press Start 2P",cursive;font-size:.6rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;line-height:1.4}.modal-error .error-icon{font-size:1.2rem;flex-shrink:0}.search-results{flex:1;overflow-y:auto;margin-bottom:1.5rem;max-height:50vh;border:2px solid #475569;background:#0f172a80;padding:1rem}.no-results{text-align:center;padding:2rem;color:#94a3b8;font-family:"Press Start 2P",cursive;font-size:.7rem}.no-results p{margin-bottom:.5rem}.no-results .hint{font-size:.6rem;color:#64748b}.igdb-result{background:linear-gradient(180deg,#1e293b,#0f172a);border:2px solid #7C3AED;padding:1rem;margin-bottom:1rem;display:grid;grid-template-columns:100px 1fr auto;gap:1rem;align-items:start;transition:transform .2s,box-shadow .2s}.igdb-result:last-child{margin-bottom:0}.igdb-result:hover{transform:translate(4px);box-shadow:0 4px 15px #7c3aed4d}.result-cover{width:100px;aspect-ratio:3/4;background:#00000080;border:2px solid #475569;overflow:hidden;display:flex;align-items:center;justify-content:center}.result-cover img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.result-cover .no-cover{font-size:2rem;opacity:.3}.result-info{min-width:0}.result-name{font-family:"Press Start 2P",cursive;font-size:.8rem;color:#fff;margin-bottom:.5rem;line-height:1.4}.result-date,.result-genres,.result-platforms{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#94a3b8;margin-bottom:.25rem;line-height:1.4}.result-genres{color:#a78bfa}.result-platforms{color:#64748b}.result-description{font-family:"Press Start 2P",cursive;font-size:.5rem;color:#cbd5e1;line-height:1.6;margin-top:.75rem}.btn-import{padding:.75rem 1.5rem;background:linear-gradient(180deg,#059669,#047857);border:2px solid #10b981;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #047857;white-space:nowrap;align-self:start}.btn-import:hover:not(:disabled){transform:translateY(2px);box-shadow:0 2px #047857}.btn-import:active:not(:disabled){transform:translateY(4px);box-shadow:none}.btn-import:disabled{opacity:.5;cursor:not-allowed}.btn-modal-close{padding:.75rem 1.5rem;background:linear-gradient(180deg,#64748b,#475569);border:2px solid #94a3b8;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #475569;width:100%}.btn-modal-close:hover{transform:translateY(2px);box-shadow:0 2px #475569}.btn-modal-close:active{transform:translateY(4px);box-shadow:none}@media (max-width: 768px){.igdb-result{grid-template-columns:80px 1fr;gap:.75rem}.result-cover{width:80px}.btn-import{grid-column:1 / -1;width:100%;margin-top:.5rem}.modal-title{font-size:1rem}.result-name{font-size:.7rem}}.game-catalog{padding:2rem;min-height:100vh}.catalog-header{margin-bottom:2rem;text-align:center}.page-title{font-family:"Press Start 2P",cursive;font-size:2rem;color:#7c3aed;text-shadow:2px 2px 0 #000,4px 4px 10px rgba(124,58,237,.5);margin-bottom:.5rem}.page-subtitle{font-family:"Press Start 2P",cursive;font-size:.8rem;color:#94a3b8;text-transform:uppercase}.catalog-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.search-box{display:flex;gap:.5rem;flex:1;max-width:600px}.search-input{flex:1;padding:.75rem 1rem;background:#0f172acc;border:2px solid #7C3AED;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;text-transform:uppercase;box-shadow:inset 0 2px 5px #00000080}.btn-search,.btn-clear{padding:.75rem 1.5rem;background:linear-gradient(180deg,#7c3aed,#5b21b6);border:2px solid #a78bfa;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #5b21b6,0 8px 15px #0000004d}.btn-search:hover,.btn-clear:hover{transform:translateY(2px);box-shadow:0 2px #5b21b6,0 6px 10px #0000004d}.btn-search:active,.btn-clear:active{transform:translateY(4px);box-shadow:0 0 #5b21b6,0 4px 8px #0000004d}.btn-clear{background:linear-gradient(180deg,#64748b,#475569);border-color:#94a3b8;box-shadow:0 4px #475569,0 8px 15px #0000004d}.btn-add-game{padding:.75rem 1.5rem;background:linear-gradient(180deg,#059669,#047857);border:2px solid #10b981;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #047857,0 8px 15px #0000004d;white-space:nowrap}.btn-add-game:hover{transform:translateY(2px);box-shadow:0 2px #047857,0 6px 10px #0000004d}.btn-add-game:active{transform:translateY(4px);box-shadow:0 0 #047857,0 4px 8px #0000004d}.error-message{padding:1rem;background:#dc262633;border:2px solid #dc2626;color:#fca5a5;font-family:"Press Start 2P",cursive;font-size:.7rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem}.error-icon{font-size:1.5rem}.loading-state{text-align:center;padding:4rem 2rem}.loading-spinner{width:50px;height:50px;border:4px solid rgba(124,58,237,.3);border-top-color:#7c3aed;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{font-family:"Press Start 2P",cursive;font-size:.8rem;color:#94a3b8}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-text{font-family:"Press Start 2P",cursive;font-size:.8rem;color:#94a3b8;margin-bottom:2rem}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.game-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #7C3AED;padding:1rem;position:relative;box-shadow:inset -2px -2px 5px #7c3aed4d,0 4px 15px #00000080;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-4px);box-shadow:inset -2px -2px 5px #7c3aed4d,0 8px 20px #7c3aed66}.game-cover{width:100%;aspect-ratio:3/4;background:#00000080;border:2px solid #475569;margin-bottom:1rem;overflow:hidden;display:flex;align-items:center;justify-content:center}.game-info{margin-bottom:1rem}.game-name{font-family:"Press Start 2P",cursive;font-size:.9rem;color:#fff;margin-bottom:.75rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.game-genres,.game-platforms,.game-release{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#94a3b8;margin-bottom:.5rem;line-height:1.4}.game-genres{color:#a78bfa}.label{color:#64748b}.badge-inactive{display:inline-block;padding:.25rem .5rem;background:#ef444433;border:1px solid #ef4444;color:#fca5a5;font-family:"Press Start 2P",cursive;font-size:.5rem;margin-top:.5rem}.game-actions{display:flex;gap:.5rem}.btn-delete{padding:.5rem 1rem;background:linear-gradient(180deg,#dc2626,#991b1b);border:2px solid #ef4444;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #991b1b;width:100%}.btn-delete:hover{transform:translateY(1px);box-shadow:0 1px #991b1b}.btn-delete:active{transform:translateY(2px);box-shadow:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #7C3AED;padding:2rem;max-width:600px;width:100%;box-shadow:inset -3px -3px 10px #7c3aed4d,0 10px 30px #000c}.modal-content h2{font-family:"Press Start 2P",cursive;font-size:1.2rem;color:#7c3aed;margin-bottom:1rem}.modal-content p{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#94a3b8;margin-bottom:1.5rem}.btn-close{padding:.75rem 1.5rem;background:linear-gradient(180deg,#64748b,#475569);border:2px solid #94a3b8;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #475569}.btn-close:hover{transform:translateY(2px);box-shadow:0 2px #475569}.btn-close:active{transform:translateY(4px);box-shadow:none}@media (max-width: 768px){.page-title{font-size:1.5rem}.catalog-controls{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.games-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.create-tourney-modal{max-width:700px;max-height:90vh;overflow-y:auto}.tourney-form{display:flex;flex-direction:column;gap:1.5rem}.form-input,.form-textarea,.form-select{padding:.75rem;background:#0f172acc;border:2px solid #7C3AED;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;box-shadow:inset 0 2px 5px #00000080}.form-input::placeholder,.form-textarea::placeholder{color:#64748b;text-transform:uppercase}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#a78bfa;box-shadow:inset 0 2px 5px #00000080,0 0 10px #7c3aed80}.form-textarea{resize:vertical;min-height:80px;line-height:1.6}.form-select{cursor:pointer}.form-select option{background:#0f172a;color:#fff}.game-slots{display:flex;flex-direction:column;gap:.75rem}.game-slot{display:grid;grid-template-columns:40px minmax(0,1fr) 30px;gap:.5rem;align-items:center;padding:.75rem;background:#0f172a80;border:2px solid #475569}.slot-number{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#a78bfa;text-align:center}.format-select{min-width:150px}.btn-remove-slot{padding:.5rem .55rem;background:linear-gradient(180deg,#dc2626,#991b1b);border:2px solid #ef4444;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #991b1b}.btn-remove-slot:hover{transform:translateY(1px);box-shadow:0 1px #991b1b}.btn-remove-slot:active{transform:translateY(2px);box-shadow:none}.btn-add-slot{padding:.75rem;background:linear-gradient(180deg,#059669,#047857);border:2px solid #10b981;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #047857;width:100%}.btn-add-slot:hover{transform:translateY(1px);box-shadow:0 1px #047857}.btn-add-slot:active{transform:translateY(2px);box-shadow:none}@media (max-width: 768px){.create-tourney-modal{max-width:100%}.game-slot{grid-template-columns:1fr}.slot-number{text-align:left}.format-select{min-width:unset}.form-actions{flex-direction:column}}.active-tourneys{padding:2rem;min-height:100vh}.tourneys-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.btn-create-tourney{padding:.75rem 1.5rem;background:linear-gradient(180deg,#7c3aed,#5b21b6);border:2px solid #a78bfa;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #5b21b6,0 8px 15px #0000004d;white-space:nowrap}.btn-create-tourney:hover{transform:translateY(2px);box-shadow:0 2px #5b21b6,0 6px 10px #0000004d}.btn-create-tourney:active{transform:translateY(4px);box-shadow:0 0 #5b21b6,0 4px 8px #0000004d}.tourneys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.tourney-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #7C3AED;padding:1rem;position:relative;box-shadow:inset -2px -2px 5px #7c3aed4d,0 4px 15px #00000080;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.tourney-card:hover{transform:translateY(-4px);box-shadow:inset -2px -2px 5px #7c3aed4d,0 8px 20px #7c3aed66}.tourney-card-active{position:relative;border:3px solid transparent;background:linear-gradient(180deg,#1e293b,#0f172a) padding-box,linear-gradient(90deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3,red) border-box;animation:rainbow-border 3s linear infinite;background-size:400% 400%}.tourney-card-active:hover{transform:translateY(-4px);box-shadow:inset -2px -2px 5px #fff3,0 8px 30px #f0f9,0 0 40px #0ff6}@keyframes rainbow-border{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.tourney-game-cover{width:100%;height:200px;background:#00000080;border:2px solid #475569;margin-bottom:1rem;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.tourney-game-cover img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.tourney-info{flex:1;margin-bottom:1rem}.tourney-name{font-family:"Press Start 2P",cursive;font-size:1rem;color:#fff;margin-bottom:.75rem;line-height:1.4}.tourney-games{margin-bottom:.75rem}.tourney-game{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#a78bfa;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;line-height:1.4}.tourney-description{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#cbd5e1;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tourney-meta{margin-top:1rem}.tourney-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.badge-full{display:inline-block;padding:.25rem .5rem;background:#ef444433;border:1px solid #ef4444;color:#fca5a5;font-family:"Press Start 2P",cursive;font-size:.5rem}.badge-active-tourney{display:inline-block;padding:.25rem .5rem;background:linear-gradient(90deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3,red);background-size:200% 200%;border:2px solid #fff;color:#fff;font-family:"Press Start 2P",cursive;font-size:.5rem;animation:rainbow-marquee 2s linear infinite;text-shadow:0 0 5px rgba(0,0,0,.8),0 0 10px rgba(255,255,255,.5);box-shadow:0 0 10px #ffffff80,0 0 20px #ff00ff4d}@keyframes rainbow-marquee{0%{background-position:0% 50%}to{background-position:200% 50%}}.tourney-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-register,.btn-registered{flex:1;padding:.75rem 1rem;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;line-height:1.2;cursor:pointer;transition:all .2s;height:48px;display:flex;align-items:center;justify-content:center;white-space:nowrap}.btn-register{background:linear-gradient(180deg,#059669,#047857);border:2px solid #10b981;box-shadow:0 2px #047857}.btn-register:hover:not(:disabled){transform:translateY(1px);box-shadow:0 1px #047857}.btn-register:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn-registered{background:linear-gradient(180deg,#7c3aed,#5b21b6);border:2px solid #a78bfa;box-shadow:0 2px #5b21b6;opacity:1}.btn-registered:hover{transform:translateY(1px);box-shadow:0 1px #5b21b6;background:linear-gradient(180deg,#8b5cf6,#6d28d9)}.btn-registered:active{transform:translateY(2px);box-shadow:none}@media (max-width: 768px){.page-title{font-size:1.2rem}.tourneys-header{flex-direction:column;align-items:stretch}.tourneys-grid{grid-template-columns:1fr}}.tourney-detail{padding:2rem;max-width:1200px;margin:0 auto;min-height:100vh}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.btn-back{padding:.75rem 1.5rem;background:linear-gradient(180deg,#64748b,#475569);border:2px solid #94a3b8;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #475569}.btn-back:hover{transform:translateY(1px);box-shadow:0 1px #475569}.btn-back:active{transform:translateY(2px);box-shadow:none}.tourney-info-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #7C3AED;padding:2rem;margin-bottom:2rem;box-shadow:inset -2px -2px 5px #7c3aed4d,0 4px 15px #00000080}.tourney-title{font-family:"Press Start 2P",cursive;font-size:1.5rem;color:#fff;margin-bottom:1rem;line-height:1.4}.tourney-description{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#cbd5e1;line-height:1.6;margin-bottom:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#64748b;text-transform:uppercase}.info-value{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#a78bfa}.section-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #475569;padding:1.5rem;margin-bottom:2rem;box-shadow:inset -2px -2px 5px #4755694d,0 4px 15px #00000080}.section-title{font-family:"Press Start 2P",cursive;font-size:1rem;color:#fff;margin-bottom:1.5rem;line-height:1.4}.games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.game-item{display:flex;gap:1rem;padding:1rem;background:#0f172a80;border:2px solid #475569;transition:transform .2s,border-color .2s;cursor:pointer;position:relative}.game-item:hover{transform:translateY(-2px);border-color:#7c3aed}.game-item-active{border-color:#fbbf24;box-shadow:0 0 15px #fbbf244d}.game-cover-small{width:80px;height:80px;background:#00000080;border:2px solid #475569;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.game-cover-small img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.no-cover-icon{font-size:2rem;opacity:.3}.game-details{flex:1;display:flex;flex-direction:column;justify-content:center}.game-name{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fff;margin-bottom:.5rem;line-height:1.4}.game-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.game-format{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#a78bfa;margin-bottom:.25rem}.game-completed{font-family:"Press Start 2P",cursive;font-size:.5rem;color:#64748b}.game-status-badge{padding:.25rem .5rem;font-family:"Press Start 2P",cursive;font-size:.5rem;border:1px solid;white-space:nowrap}.game-badge-pending{background:#64748b33;border-color:#64748b;color:#94a3b8}.game-badge-active{background:#fbbf2433;border-color:#fbbf24;color:#fcd34d;animation:pulse-glow-gold 2s ease-in-out infinite}@keyframes pulse-glow-gold{0%,to{box-shadow:0 0 5px #fbbf244d}50%{box-shadow:0 0 15px #fbbf2499}}.game-badge-completed{background:#22c55e33;border-color:#22c55e;color:#86efac}.btn-set-active{padding:.5rem 1rem;background:linear-gradient(180deg,#fbbf24,#f59e0b);border:2px solid #fcd34d;color:#000;font-family:"Press Start 2P",cursive;font-size:.5rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #f59e0b;align-self:center}.btn-set-active:hover{transform:translateY(1px);box-shadow:0 1px #f59e0b}.btn-set-active:active{transform:translateY(2px);box-shadow:none}.participants-list{display:flex;flex-direction:column;gap:.5rem}.participant-item{display:grid;grid-template-columns:60px 1fr auto;gap:1rem;padding:1rem;background:#0f172a80;border:2px solid #475569;align-items:center}.participant-rank{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fbbf24;text-align:center}.participant-score{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#a78bfa}.empty-text{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#64748b;text-align:center;padding:2rem}.status-badge{padding:.5rem 1rem;font-family:"Press Start 2P",cursive;font-size:.7rem;border:2px solid;box-shadow:0 2px 5px #00000080}.badge-draft{background:#22c55e33;border-color:#22c55e;color:#86efac}.badge-active{background:#ef444433;border-color:#ef4444;color:#fca5a5;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 2px 5px #00000080,0 0 10px #ef44444d}50%{box-shadow:0 2px 5px #00000080,0 0 20px #ef444499}}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.btn-register,.btn-unregister,.btn-start,.btn-complete,.btn-delete{padding:1rem 2rem;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;border:2px solid;flex:1;min-width:200px}.btn-register{background:linear-gradient(180deg,#059669,#047857);border-color:#10b981;color:#fff;box-shadow:0 4px #047857}.btn-register:hover:not(:disabled){transform:translateY(2px);box-shadow:0 2px #047857}.btn-register:active:not(:disabled){transform:translateY(4px);box-shadow:none}.btn-register:disabled{opacity:.5;cursor:not-allowed}.btn-unregister{background:linear-gradient(180deg,#f59e0b,#d97706);border-color:#fbbf24;color:#fff;box-shadow:0 4px #d97706}.btn-unregister:hover{transform:translateY(2px);box-shadow:0 2px #d97706}.btn-unregister:active{transform:translateY(4px);box-shadow:none}.btn-start{background:linear-gradient(180deg,#7c3aed,#5b21b6);border-color:#a78bfa;color:#fff;box-shadow:0 4px #5b21b6}.btn-start:hover{transform:translateY(2px);box-shadow:0 2px #5b21b6}.btn-start:active{transform:translateY(4px);box-shadow:none}.btn-complete{background:linear-gradient(180deg,#3b82f6,#2563eb);border-color:#60a5fa;color:#fff;box-shadow:0 4px #2563eb}.btn-complete:hover{transform:translateY(2px);box-shadow:0 2px #2563eb}.btn-complete:active{transform:translateY(4px);box-shadow:none}.btn-delete{background:linear-gradient(180deg,#dc2626,#991b1b);border-color:#ef4444;color:#fff;box-shadow:0 4px #991b1b}.btn-delete:hover{transform:translateY(2px);box-shadow:0 2px #991b1b}.btn-delete:active{transform:translateY(4px);box-shadow:none}@media (max-width: 768px){.tourney-detail{padding:1rem}.tourney-title{font-size:1.2rem}.info-grid,.games-list{grid-template-columns:1fr}.participant-item{grid-template-columns:50px 1fr auto;gap:.5rem}.action-buttons{flex-direction:column}.btn-register,.btn-unregister,.btn-start,.btn-complete,.btn-delete{min-width:unset}}.lock-banner{padding:1rem;margin-bottom:1.5rem;border-radius:4px;font-weight:600;text-align:center;font-family:"Press Start 2P",cursive;font-size:.7rem;line-height:1.5}.lock-banner.locked{background:#ef44441a;border:2px solid #ef4444;color:#ef4444}.lock-banner.unlocked{background:#fbbf241a;border:2px solid #fbbf24;color:#fbbf24}.lock-controls{margin-top:2rem;padding-top:2rem;border-top:2px solid #475569;text-align:center}.btn-lock,.btn-unlock{padding:.75rem 2rem;font-family:"Press Start 2P",cursive;font-size:.7rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-lock{background:linear-gradient(180deg,#ef4444,#dc2626);border:2px solid #f87171;color:#fff;box-shadow:0 2px #dc2626}.btn-lock:hover{transform:translateY(1px);box-shadow:0 1px #dc2626}.btn-lock:active{transform:translateY(2px);box-shadow:none}.btn-unlock{background:linear-gradient(180deg,#10b981,#059669);border:2px solid #34d399;color:#fff;box-shadow:0 2px #059669}.btn-unlock:hover{transform:translateY(1px);box-shadow:0 1px #059669}.btn-unlock:active{transform:translateY(2px);box-shadow:none}.radio-group{display:flex;gap:1rem;margin-top:.5rem;margin-bottom:.5rem}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.75rem 1rem;background:#0f172a80;border:2px solid #475569;transition:border-color .2s}.radio-option:has(input:checked){border-color:#7c3aed;background:#7c3aed33}.radio-option input[type=radio]{width:16px;height:16px;accent-color:#7C3AED;cursor:pointer}.radio-label{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fff;cursor:pointer}.form-hint{font-family:"Press Start 2P",cursive;font-size:.5rem;color:#64748b;margin-top:.5rem;line-height:1.6}.bracket-tree{padding:1.5rem;overflow-x:auto;background:linear-gradient(135deg,#0006,#ff6b000d);border-radius:8px}.bracket-tree-empty{padding:3rem;text-align:center;color:#999;font-size:1.1rem}.bracket-container{display:flex;gap:2rem;min-width:fit-content;align-items:center}.bracket-round{display:flex;flex-direction:column;gap:1rem;min-width:250px}.round-title{font-size:1.2rem;font-weight:700;color:#ff6b00;text-align:center;padding-bottom:.5rem;border-bottom:2px solid rgba(255,107,0,.3);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.round-matches{display:flex;flex-direction:column;gap:2rem;flex:1;justify-content:space-around}.bracket-match{background:#0009;border:2px solid #333;border-radius:8px;padding:.75rem;transition:all .2s ease;position:relative}.bracket-match.clickable{cursor:pointer}.bracket-match.clickable:hover{border-color:#ff6b00;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b004d}.bracket-match.completed{border-color:#0f06;background:#00ff000d}.bracket-match.bye-match{border-color:#ffd70066;background:#ffd7000d}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #333}.match-label{font-size:.9rem;color:#999;font-weight:600}.match-status-badge{font-size:.8rem;padding:.25rem .5rem;border-radius:4px;font-weight:700}.match-status-badge.completed{background:#0f03;color:#0f0}.bye-badge{font-size:.7rem;padding:.2rem .4rem;border-radius:3px;background:#ffd7004d;color:gold;font-weight:700}.match-participants{display:flex;flex-direction:column;gap:.5rem}.bracket-participant{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:#ffffff0d;border:1px solid #333;border-radius:6px;transition:all .2s ease}.bracket-participant.winner{background:#ff6b0033;border-color:#ff6b00;font-weight:700}.bracket-participant.empty{opacity:.5;font-style:italic}.participant-name{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.95rem}.seed-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .4rem;background:#ff6b004d;border:1px solid #ff6b00;border-radius:4px;font-size:.75rem;font-weight:700;color:#ff6b00}.winner-badge{font-size:1.2rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.participant-placeholder{padding:1rem;text-align:center;color:#666;font-style:italic;background:#ffffff08;border-radius:6px}.match-action-hint{margin-top:.5rem;padding:.4rem;text-align:center;font-size:.8rem;color:#ff6b00;background:#ff6b001a;border-radius:4px;opacity:0;transition:opacity .2s ease}.bracket-match.clickable:hover .match-action-hint{opacity:1}.bracket-tree.double-elim{padding:2rem;background:linear-gradient(135deg,#00000080,#ff6b000d)}.double-elim-container{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:3rem}.winners-section{grid-column:1;grid-row:1}.losers-section{grid-column:1;grid-row:2}.grand-finals-section{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:300px}.section-header{font-size:1.5rem;font-weight:700;text-align:center;padding:.75rem;margin-bottom:1.5rem;border:3px solid;border-radius:8px;text-transform:uppercase;letter-spacing:2px;box-shadow:0 4px 12px #0006}.winners-header{color:#ff6b00;border-color:#ff6b00;background:linear-gradient(135deg,#ff6b0033,#ff6b000d)}.losers-header{color:gold;border-color:gold;background:linear-gradient(135deg,#ffd70033,#ffd7000d)}.grand-finals-header{color:#a855f7;border-color:#a855f7;background:linear-gradient(135deg,#a855f733,#a855f70d)}.bracket-match.losers-bracket{border-color:#b8860b;background:#ffd7000d}.bracket-match.losers-bracket.clickable:hover{border-color:gold;box-shadow:0 4px 12px #ffd70066}.bracket-match.losers-bracket.completed{border-color:#ffd70099;background:#ffd7001a}.losers-round-title{color:gold;border-bottom-color:#ffd7004d}.bracket-match.losers-bracket .bracket-participant.winner{background:#ffd70033;border-color:gold}.bracket-match.losers-bracket .seed-badge{background:#ffd7004d;border-color:gold;color:gold}.bracket-match.grand-finals{border-color:#9333ea;background:#a855f71a;min-width:280px}.bracket-match.grand-finals.clickable:hover{border-color:#a855f7;box-shadow:0 4px 12px #a855f766}.bracket-match.grand-finals.completed{border-color:#a855f799;background:#a855f726}.grand-finals-title,.grand-finals-reset-title{color:#a855f7;border-bottom-color:#a855f74d;text-align:center}.bracket-match.grand-finals .bracket-participant.winner{background:#a855f733;border-color:#a855f7}.bracket-match.grand-finals .seed-badge{background:#a855f74d;border-color:#a855f7;color:#a855f7}.grand-finals-container{display:flex;flex-direction:column;gap:2rem;align-items:center}.grand-finals-match-wrapper{width:100%}@media (max-width: 1200px){.double-elim-container{grid-template-columns:1fr;grid-template-rows:auto auto auto}.winners-section{grid-column:1;grid-row:1}.losers-section{grid-column:1;grid-row:2}.grand-finals-section{grid-column:1;grid-row:3}}@media (max-width: 768px){.bracket-tree{padding:1rem}.bracket-container{gap:1rem}.bracket-round{min-width:200px}.round-title{font-size:1rem}.bracket-participant{padding:.5rem;font-size:.85rem}.bracket-tree.double-elim{padding:1rem}.section-header{font-size:1.2rem;padding:.5rem}}.rr-view{display:flex;flex-direction:column;gap:2rem;width:100%}.rr-view-empty{padding:3rem;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;border:2px dashed var(--border-color)}.rr-section{display:flex;flex-direction:column;gap:1rem}.rr-section-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;padding-bottom:.5rem;border-bottom:3px solid var(--primary-color);text-transform:uppercase;letter-spacing:.05em}.rr-standings{overflow-x:auto}.rr-standings-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.rr-standings-table thead{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff}.rr-standings-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.rr-standings-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.rr-standings-table tbody tr:hover{background:var(--bg-hover)}.rr-standings-table tbody tr.first-place{background:linear-gradient(90deg,#ffd7001a,#ffd7000d);font-weight:600}.rr-standings-table td{padding:.875rem 1rem;font-size:.95rem}.rr-th-rank,.rr-td-rank{width:80px;text-align:center;font-weight:600;color:var(--text-secondary)}.rr-th-name,.rr-td-name{min-width:200px;font-weight:500}.rr-th-wins,.rr-td-wins{width:100px;text-align:center;color:#10b981;font-weight:600}.rr-th-losses,.rr-td-losses{width:100px;text-align:center;color:#ef4444;font-weight:600}.rr-th-pct,.rr-td-pct{width:120px;text-align:center;font-weight:600}.leader-badge{font-size:1.1rem;margin-left:.5rem}.rr-matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.rr-match{background:var(--bg-secondary);border:2px solid #ff6b00;border-radius:8px;padding:1rem;transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 2px 4px #ff6b001a}.rr-match.completed{border-color:#10b981;background:linear-gradient(135deg,#10b9810d,#10b98105);box-shadow:0 2px 4px #10b9811a}.rr-match.clickable{cursor:pointer}.rr-match.clickable:hover{border-color:#ff8c33;box-shadow:0 4px 12px #ff6b0040;transform:translateY(-2px)}.rr-match-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rr-match-label{font-weight:700;font-size:.9rem;color:var(--text-primary)}.rr-match-round{font-size:.85rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.rr-status-badge{margin-left:auto;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.rr-status-badge.completed{background:#10b981;color:#fff}.rr-match-participants{display:flex;flex-direction:column;gap:.5rem}.rr-matchup{display:flex;align-items:center;gap:.75rem}.rr-participant{flex:1;padding:.75rem;background:var(--bg-tertiary);border-radius:6px;font-weight:500;font-size:.95rem;transition:all .2s ease}.rr-vs{font-weight:700;font-size:.85rem;color:var(--text-secondary);text-align:center;min-width:40px}.participant-name.winner{color:#10b981;font-weight:700}.winner-icon{font-size:1.1rem}.rr-match-placeholder{padding:1rem;text-align:center;color:var(--text-secondary);font-style:italic;background:var(--bg-tertiary);border-radius:6px}.rr-match-hint{margin-top:.5rem;padding:.5rem;text-align:center;font-size:.85rem;color:var(--primary-color);background:#ff6b001a;border-radius:4px;font-style:italic}@media (max-width: 768px){.rr-section-title{font-size:1.25rem}.rr-standings-table th,.rr-standings-table td{padding:.75rem .5rem;font-size:.85rem}.rr-th-rank,.rr-td-rank{width:60px}.rr-th-name,.rr-td-name{min-width:150px}.rr-th-wins,.rr-td-wins,.rr-th-losses,.rr-td-losses{width:70px}.rr-th-pct,.rr-td-pct{width:90px}.rr-matches-grid{grid-template-columns:1fr}.rr-matchup{flex-direction:column}.rr-vs{transform:rotate(90deg)}}@media (max-width: 480px){.rr-standings-table{font-size:.8rem}.rr-standings-table th,.rr-standings-table td{padding:.5rem .25rem}.rr-match{padding:.75rem}}.game-management{padding:2rem;min-height:100vh}.game-header{margin-bottom:2rem}.game-title-section{display:flex;align-items:center;gap:1rem;margin:1rem 0}.game-title{font-family:"Press Start 2P",cursive;font-size:1.5rem;color:#fff;line-height:1.4}.game-subtitle{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#a78bfa}.game-info-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #7C3AED;padding:1.5rem;margin-bottom:2rem;box-shadow:inset -2px -2px 5px #7c3aed4d,0 4px 15px #00000080;display:flex;gap:1.5rem}.game-cover{width:200px;height:200px;border:3px solid #475569;overflow:hidden;flex-shrink:0}.game-cover img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.game-info-details{flex:1;display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;gap:1rem;font-family:"Press Start 2P",cursive;font-size:.7rem}.info-label{color:#94a3b8;min-width:120px}.info-value{color:#fff}.admin-actions{margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap}.btn-create-match{padding:.75rem 1.5rem;background:linear-gradient(180deg,#7c3aed,#5b21b6);border:2px solid #a78bfa;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #5b21b6}.btn-create-match:hover{transform:translateY(2px);box-shadow:0 2px #5b21b6}.btn-create-match:active{transform:translateY(4px);box-shadow:none}.btn-complete-game{padding:.75rem 1.5rem;background:linear-gradient(180deg,#22c55e,#16a34a);border:2px solid #4ade80;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #16a34a}.btn-complete-game:hover{transform:translateY(2px);box-shadow:0 2px #16a34a}.btn-complete-game:active{transform:translateY(4px);box-shadow:none}.matches-list{display:flex;flex-direction:column;gap:1.5rem}.match-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:2px solid #475569;padding:1.5rem;box-shadow:0 4px 10px #0000004d;transition:transform .2s}.match-card:hover{transform:translateY(-2px);border-color:#7c3aed}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #475569;flex-wrap:wrap;gap:1rem}.match-info,.match-header-actions{display:flex;align-items:center;gap:1rem}.btn-manage-participants{padding:.5rem .75rem;background:linear-gradient(180deg,#fbbf24,#f59e0b);border:2px solid #fcd34d;color:#000;font-family:"Press Start 2P",cursive;font-size:.5rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-manage-participants:hover{transform:translateY(-1px)}.btn-lock-match,.btn-unlock-match{padding:.5rem .75rem;font-family:"Press Start 2P",cursive;font-size:.5rem;cursor:pointer;transition:all .2s;white-space:nowrap;border:2px solid}.btn-lock-match{background:linear-gradient(180deg,#22c55e,#16a34a);border-color:#4ade80;color:#000}.btn-lock-match:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.btn-lock-match:disabled{opacity:.5;cursor:not-allowed}.btn-unlock-match{background:linear-gradient(180deg,#ef4444,#dc2626);border-color:#f87171;color:#fff}.btn-unlock-match:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.match-title{font-family:"Press Start 2P",cursive;font-size:.9rem;color:#fff}.match-type{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#a78bfa;padding:.25rem .5rem;background:#7c3aed33;border:1px solid #7C3AED}.match-status-badge{padding:.25rem .75rem;font-family:"Press Start 2P",cursive;font-size:.6rem;border:2px solid}.match-badge-pending{background:#64748b33;border-color:#64748b;color:#94a3b8}.match-badge-active{background:#fbbf2433;border-color:#fbbf24;color:#fcd34d}.match-badge-completed{background:#22c55e33;border-color:#22c55e;color:#86efac}.match-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#64748b}.stat-value{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fff}.match-participants{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #475569}.participants-title{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fff;margin-bottom:1rem}.participants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.participant-card{background:#0f172a80;border:2px solid #475569;padding:1rem;transition:border-color .2s}.participant-card:hover{border-color:#7c3aed}.participant-info{display:flex;flex-direction:column;gap:.5rem}.participant-name{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fff}.team-members{font-family:"Press Start 2P",cursive;font-size:.5rem;color:#a78bfa;line-height:1.6}.participant-result{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #475569}.result-placement{font-family:"Press Start 2P",cursive;font-size:.8rem;color:#fbbf24;font-weight:700}.result-points{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#94a3b8}.result-confirmed{font-size:1rem;color:#22c55e;margin-left:auto}.no-result{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#64748b;font-style:italic}.participant-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #475569;flex-wrap:wrap}.btn-submit-result,.btn-confirm-result{padding:.5rem .75rem;font-family:"Press Start 2P",cursive;font-size:.5rem;cursor:pointer;transition:all .2s;border:2px solid}.btn-submit-result{background:linear-gradient(180deg,#7c3aed,#5b21b6);border-color:#a78bfa;color:#fff;box-shadow:0 2px #5b21b6;flex:1}.btn-submit-result:hover{transform:translateY(1px);box-shadow:0 1px #5b21b6}.btn-submit-result:active{transform:translateY(2px);box-shadow:none}.btn-confirm-result{background:linear-gradient(180deg,#22c55e,#16a34a);border-color:#4ade80;color:#fff;box-shadow:0 2px #16a34a;flex:1}.btn-confirm-result:hover{transform:translateY(1px);box-shadow:0 1px #16a34a}.btn-confirm-result:active{transform:translateY(2px);box-shadow:none}.empty-state{text-align:center;padding:3rem 1rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-text{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#94a3b8;line-height:1.6}@media (max-width: 768px){.game-title{font-size:1rem}.game-info-card{flex-direction:column}.game-cover{width:100%;height:250px}.participants-grid{grid-template-columns:1fr}}.match-card-split{background:linear-gradient(180deg,#1e293b,#0f172a);border:2px solid #475569;padding:1.5rem;box-shadow:0 4px 10px #0000004d;margin-bottom:1.5rem}.match-split-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #475569}.match-split-content{display:grid;grid-template-columns:1fr 2fr;gap:2rem}.participant-pool{background:#0f172a80;border:2px solid #475569;padding:1rem;min-height:300px}.pool-title,.placement-title{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#a78bfa;margin-bottom:.5rem}.pool-hint,.placement-hint{font-family:"Press Start 2P",cursive;font-size:.5rem;color:#64748b;margin-bottom:1rem;line-height:1.6}.pool-list{display:flex;flex-direction:column;gap:.5rem}.pool-participant{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#7c3aed1a;border:2px solid #7C3AED;cursor:grab;transition:all .2s}.pool-participant:active{cursor:grabbing;opacity:.7}.pool-participant:hover{transform:translateY(-2px);box-shadow:0 4px 8px #7c3aed4d}.pool-participant-name{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fff}.pool-participant-score{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#a78bfa}.pool-empty{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#64748b;text-align:center;padding:2rem;line-height:1.6}.placement-column{background:#0f172a80;border:2px solid #475569;padding:1rem}.placement-list{display:flex;flex-direction:column;gap:.5rem}.placement-slot{display:flex;align-items:center;gap:1rem;padding:.75rem;border:2px dashed #475569;min-height:60px;transition:all .2s}.placement-slot.empty{background:#1e293b4d}.placement-slot.filled{background:#22c55e1a;border-color:#22c55e;border-style:solid}.placement-slot.locked{opacity:.7;cursor:not-allowed}.placement-slot.locked .pool-participant,.placement-slot.locked .placed-participant{cursor:not-allowed}.placement-slot:hover.empty{border-color:#7c3aed;background:#7c3aed1a}.placement-number{font-family:"Press Start 2P",cursive;font-size:1rem;color:#fbbf24;min-width:40px;font-weight:700}.placement-empty-text{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#64748b}.placed-participant{display:flex;align-items:center;justify-content:space-between;flex:1;gap:1rem}.placed-participant[draggable=true]{cursor:grab}.placed-participant[draggable=true]:active{cursor:grabbing}.placed-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.placed-name{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fff}.placed-points{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#86efac}.btn-remove-placed{padding:.25rem .5rem;background:#ef444433;border:1px solid #ef4444;color:#f87171;font-size:.7rem;cursor:pointer;font-family:"Press Start 2P",cursive;transition:all .2s}.btn-remove-placed:hover{background:#ef444466;transform:scale(1.1)}.confirmed-badge{font-size:1.2rem;color:#22c55e;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 968px){.match-split-content{grid-template-columns:1fr}.participant-pool{max-height:300px;overflow-y:auto}}.match-team-content{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1.5rem;margin-top:1.5rem}.team-builder{display:flex;flex-direction:column;gap:1rem}.unassigned-section{padding:1rem;background:#1e293b4d;border:2px solid #475569;border-radius:8px}.unassigned-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.team-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-create-team,.btn-auto-populate{padding:.5rem .75rem;font-family:"Press Start 2P",cursive;font-size:.5rem;cursor:pointer;transition:all .2s;white-space:nowrap;border:2px solid}.btn-create-team{background:linear-gradient(180deg,#3b82f6,#2563eb);border-color:#60a5fa;color:#fff}.btn-create-team:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-auto-populate{background:linear-gradient(180deg,#a855f7,#9333ea);border-color:#c084fc;color:#fff}.btn-auto-populate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #a855f74d}.btn-auto-populate:disabled{opacity:.5;cursor:not-allowed}.teams-section{padding:1rem;background:#1e293b4d;border:2px solid #475569;border-radius:8px}.teams-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto}.team-card{background:#33415580;border:2px solid #64748b;border-radius:8px;padding:1rem}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #475569}.team-name{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fbbf24}.team-member-count{font-family:"Press Start 2P",cursive;font-size:.5rem;color:#94a3b8}.team-members{display:flex;flex-direction:column;gap:.5rem;min-height:60px;padding:.5rem;background:#0f172a80;border:2px dashed #475569;border-radius:4px}.team-member{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#7c3aed1a;border:1px solid #7C3AED;border-radius:4px;font-family:"Press Start 2P",cursive;font-size:.5rem;color:#e0e7ff}.btn-remove-member{padding:.25rem .5rem;background:#ef444433;border:1px solid #ef4444;border-radius:4px;color:#ef4444;font-family:"Press Start 2P",cursive;font-size:.5rem;cursor:pointer;transition:all .2s}.btn-remove-member:hover{background:#ef44444d;transform:scale(1.1)}.team-empty{text-align:center;color:#64748b;font-family:"Press Start 2P",cursive;font-size:.5rem;padding:1rem}.team-pool{display:flex;flex-direction:column;gap:.75rem}.pool-team{display:flex;justify-content:center;align-items:center;padding:1rem;background:#fbbf241a;border:2px solid #fbbf24;border-radius:8px;cursor:grab;transition:all .2s}.pool-team:hover{background:#fbbf2433;transform:translateY(-2px);box-shadow:0 4px 12px #fbbf244d}.pool-team:active{cursor:grabbing}.pool-team-name{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fcd34d;text-align:center}.score-preview-section{margin:2rem auto;max-width:1400px;background:#0000004d;border:1px solid #333;border-radius:8px;overflow:hidden}.score-preview-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#00000080;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.score-preview-header:hover{background:#0009}.score-preview-header h3{margin:0;font-family:"Press Start 2P",cursive;font-size:1rem;color:#fbbf24;text-transform:uppercase;letter-spacing:2px}.collapse-toggle{background:none;border:none;color:#fbbf24;font-size:1.2rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:transform .2s}.collapse-toggle:hover{transform:scale(1.1)}.score-preview-content{padding:1.5rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.score-preview-table{width:100%;border-collapse:collapse;font-family:Courier New,monospace}.score-preview-table thead{background:#fbbf241a;border-bottom:2px solid #fbbf24}.score-preview-table th{padding:1rem;text-align:left;font-family:"Press Start 2P",cursive;font-size:.7rem;color:#fcd34d;text-transform:uppercase;letter-spacing:1px}.score-preview-table tbody tr{border-bottom:1px solid #333;transition:background .2s}.score-preview-table tbody tr:hover{background:#fbbf240d}.score-preview-table td{padding:1rem;color:#e5e7eb;font-size:.95rem}.score-preview-table td:nth-child(2),.score-preview-table td:nth-child(3){text-align:center}.tbd-text{color:#9ca3af;font-style:italic;opacity:.7}.tourney-history{padding:2rem;min-height:100vh}.history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.history-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #64748b;padding:1rem;position:relative;box-shadow:inset -2px -2px 5px #64748b4d,0 4px 15px #00000080;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.history-card:hover{transform:translateY(-4px);box-shadow:inset -2px -2px 5px #64748b4d,0 8px 20px #64748b66}.history-game-cover{width:100%;height:200px;background:#00000080;border:2px solid #475569;margin-bottom:1rem;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.history-game-cover img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.badge-completed{background:#3b82f633;border-color:#3b82f6;color:#93c5fd}.badge-cancelled{background:#64748b33;border-color:#64748b;color:#94a3b8}.history-info{flex:1;margin-bottom:1rem}.history-name{font-family:"Press Start 2P",cursive;font-size:1rem;color:#fff;margin-bottom:.75rem;line-height:1.4}.history-games{margin-bottom:.75rem}.history-game{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#94a3b8;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;line-height:1.4}.history-description{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#cbd5e1;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.history-meta{margin-top:1rem}.history-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-view-details{flex:1;padding:.75rem 1rem;background:linear-gradient(180deg,#64748b,#475569);border:2px solid #94a3b8;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #475569}.btn-view-details:hover{transform:translateY(1px);box-shadow:0 1px #475569}.btn-view-details:active{transform:translateY(2px);box-shadow:none}.btn-archive{padding:.75rem 1.5rem;background:linear-gradient(180deg,#f59e0b,#d97706);border:2px solid #fbbf24;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #d97706;margin-left:.5rem}.btn-archive:hover{transform:translateY(1px);box-shadow:0 1px #d97706}.btn-archive:active{transform:translateY(2px);box-shadow:none}@media (max-width: 768px){.page-title{font-size:1.2rem}.history-header{flex-direction:column;align-items:stretch}.history-grid{grid-template-columns:1fr}}.tourney-archive{padding:2rem;min-height:100vh}.archive-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.archive-card{background:linear-gradient(180deg,#1e1b1b,#0a0909);border:3px solid #64748b;padding:1rem;position:relative;box-shadow:inset -2px -2px 5px #64748b4d,0 4px 15px #00000080;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;opacity:.85}.archive-card:hover{transform:translateY(-4px);box-shadow:inset -2px -2px 5px #64748b4d,0 8px 20px #64748b66;opacity:1}.archive-game-cover{width:100%;height:200px;background:#000000b3;border:2px solid #475569;margin-bottom:1rem;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;filter:grayscale(.5)}.archive-game-cover img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.no-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.no-cover-icon{font-size:4rem;opacity:.3}.status-badge{position:absolute;top:.5rem;right:.5rem;padding:.25rem .75rem;font-family:"Press Start 2P",cursive;font-size:.6rem;border:2px solid;box-shadow:0 2px 5px #00000080}.badge-archived{background:#64748b4d;border-color:#64748b;color:#94a3b8}.archive-info{flex:1;margin-bottom:1rem}.archive-name{font-family:"Press Start 2P",cursive;font-size:1rem;color:#cbd5e1;margin-bottom:.75rem;line-height:1.4}.archive-games{margin-bottom:.75rem}.archive-game{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#94a3b8;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;line-height:1.4}.game-format{font-size:.5rem;color:#64748b}.game-icon{font-size:1rem}.archive-description{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#94a3b8;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.archive-meta{margin-top:1rem}.meta-item{font-family:"Press Start 2P",cursive;font-size:.6rem;color:#94a3b8;margin-bottom:.5rem;line-height:1.4}.meta-item .label{color:#64748b}.winner-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fbbf241a;border:2px solid #fbbf24;margin-bottom:1rem}.trophy-icon{font-size:1.2rem}.winner-label{color:#fbbf24}.winner-name{color:#fff;flex:1}.winner-score{color:#a78bfa}.archive-actions{display:flex;gap:.5rem;flex-direction:column}.btn-view-details{width:100%;padding:.75rem 1rem;background:linear-gradient(180deg,#64748b,#475569);border:2px solid #94a3b8;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #475569}.btn-view-details:hover:not(:disabled){transform:translateY(1px);box-shadow:0 1px #475569}.btn-view-details:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn-unarchive{width:100%;padding:.75rem 1rem;background:linear-gradient(180deg,#3b82f6,#2563eb);border:2px solid #60a5fa;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #2563eb}.btn-unarchive:hover:not(:disabled){transform:translateY(1px);box-shadow:0 1px #2563eb}.btn-unarchive:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn-permanent-delete{width:100%;padding:.75rem 1rem;background:linear-gradient(180deg,#ef4444,#dc2626);border:2px solid #f87171;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #dc2626}.btn-permanent-delete:hover:not(:disabled){transform:translateY(1px);box-shadow:0 1px #dc2626}.btn-permanent-delete:active:not(:disabled){transform:translateY(2px);box-shadow:none}.archive-actions button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.page-title{font-size:1.2rem}.archive-header{flex-direction:column;align-items:stretch}.archive-grid{grid-template-columns:1fr}}.create-user-modal{max-width:600px;max-height:90vh;overflow-y:auto}.user-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#a78bfa;text-transform:uppercase}.form-input{padding:.75rem;background:#0f172acc;border:2px solid #7C3AED;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;box-shadow:inset 0 2px 5px #00000080}.form-input::placeholder{color:#64748b}.form-input:focus{outline:none;border-color:#a78bfa;box-shadow:inset 0 2px 5px #00000080,0 0 10px #7c3aed80}.form-hint{font-family:"Press Start 2P",cursive;font-size:.5rem;color:#64748b;line-height:1.4}.password-input-group{display:flex;gap:.5rem}.password-input-group .form-input{flex:1}.btn-generate-password{padding:.75rem 1rem;background:linear-gradient(180deg,#059669,#047857);border:2px solid #10b981;color:#fff;font-family:"Press Start 2P",cursive;font-size:.6rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #047857;white-space:nowrap}.btn-generate-password:hover{transform:translateY(1px);box-shadow:0 1px #047857}.btn-generate-password:active{transform:translateY(2px);box-shadow:none}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-family:"Press Start 2P",cursive;font-size:.6rem;color:#cbd5e1;line-height:1.4}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.btn-cancel,.btn-submit{flex:1;padding:.75rem 1.5rem;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;border:2px solid}.btn-cancel{background:linear-gradient(180deg,#64748b,#475569);border-color:#94a3b8;color:#fff;box-shadow:0 4px #475569}.btn-cancel:hover{transform:translateY(2px);box-shadow:0 2px #475569}.btn-cancel:active{transform:translateY(4px);box-shadow:none}.btn-submit{background:linear-gradient(180deg,#7c3aed,#5b21b6);border-color:#a78bfa;color:#fff;box-shadow:0 4px #5b21b6}.btn-submit:hover:not(:disabled){transform:translateY(2px);box-shadow:0 2px #5b21b6}.btn-submit:active:not(:disabled){transform:translateY(4px);box-shadow:none}.btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.create-user-modal{max-width:100%}.password-input-group{flex-direction:column}.btn-generate-password{width:100%}.form-actions{flex-direction:column}}.user-management{padding:2rem;min-height:100vh}.management-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.btn-create-user{padding:.75rem 1.5rem;background:linear-gradient(180deg,#7c3aed,#5b21b6);border:2px solid #a78bfa;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #5b21b6,0 8px 15px #0000004d;white-space:nowrap}.btn-create-user:hover{transform:translateY(2px);box-shadow:0 2px #5b21b6,0 6px 10px #0000004d}.btn-create-user:active{transform:translateY(4px);box-shadow:0 0 #5b21b6,0 4px 8px #0000004d}.search-bar{margin-bottom:2rem}.search-input{width:100%;max-width:400px;padding:.75rem;background:#0f172acc;border:2px solid #7C3AED;color:#fff;font-family:"Press Start 2P",cursive;font-size:.7rem;box-shadow:inset 0 2px 5px #00000080}.search-input::placeholder{color:#64748b}.search-input:focus{outline:none;border-color:#a78bfa;box-shadow:inset 0 2px 5px #00000080,0 0 10px #7c3aed80}.users-table-container{background:linear-gradient(180deg,#1e293b,#0f172a);border:3px solid #7C3AED;box-shadow:inset -2px -2px 5px #7c3aed4d,0 4px 15px #00000080;overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#7c3aed33;border-bottom:2px solid #7C3AED}.users-table th{padding:1rem;text-align:left;font-family:"Press Start 2P",cursive;font-size:.6rem;color:#a78bfa;font-weight:400}.users-table tbody tr{border-bottom:1px solid #475569;transition:background .2s}.users-table tbody tr:hover{background:#7c3aed1a}.users-table tbody tr.user-inactive{opacity:.5}.users-table td{padding:1rem;font-family:"Press Start 2P",cursive;font-size:.6rem;color:#cbd5e1}.user-name{color:#fff;font-weight:700}.user-email{color:#94a3b8}.user-date{color:#64748b}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#475569;transition:.2s;border:2px solid #64748b}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:#fff;transition:.2s}input:checked+.toggle-slider{background:#7c3aed;border-color:#a78bfa}input:checked+.toggle-slider:before{transform:translate(26px)}.user-actions{display:flex;gap:.5rem}.btn-delete{padding:.5rem 1rem;background:linear-gradient(180deg,#dc2626,#991b1b);border:2px solid #ef4444;color:#fff;font-family:"Press Start 2P",cursive;font-size:.5rem;cursor:pointer;transition:all .2s;box-shadow:0 2px #991b1b}.btn-delete:hover:not(:disabled){transform:translateY(1px);box-shadow:0 1px #991b1b}.btn-delete:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.empty-state{padding:3rem;text-align:center}.empty-text{font-family:"Press Start 2P",cursive;font-size:.7rem;color:#64748b}@media (max-width: 768px){.management-header{flex-direction:column;align-items:stretch}.users-table{font-size:.5rem}.users-table th,.users-table td{padding:.5rem}}.debug-panel{position:fixed;bottom:20px;right:20px;width:400px;max-height:80vh;overflow-y:auto;background:#0f172afa;border:3px solid #F59E0B;padding:1.5rem;z-index:10000;box-shadow:0 0 30px #f59e0b80,inset 0 0 20px #f59e0b1a;font-family:Courier New,monospace;font-size:.85rem}.debug-panel h3{color:#f59e0b;margin:0 0 1rem;font-size:1rem;text-shadow:0 0 10px #F59E0B}.debug-panel h4{color:#06b6d4;margin:0 0 .75rem;font-size:.85rem;text-shadow:0 0 5px #06B6D4}.debug-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(124,58,237,.3)}.debug-section:last-child{border-bottom:none}.debug-item{margin-bottom:.5rem;color:#94a3b8;line-height:1.6}.debug-item strong{color:#ec4899;display:inline-block;min-width:120px}.debug-buttons{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.debug-buttons button{flex:1;min-width:120px;padding:.5rem .75rem;background:linear-gradient(135deg,#7c3aed,#ec4899);border:2px solid #EC4899;color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:"Press Start 2P",monospace}.debug-buttons button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 15px #ec489999}.debug-buttons button:disabled{opacity:.5;cursor:not-allowed}.debug-result{background:#00000080;border:2px solid rgba(124,58,237,.5);padding:1rem;color:#e2e8f0;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;font-size:.75rem;line-height:1.5;max-height:300px;overflow-y:auto}.debug-panel ul{margin:0;padding-left:1.5rem;color:#94a3b8}.debug-panel li{margin-bottom:.5rem;line-height:1.5}.debug-panel::-webkit-scrollbar,.debug-result::-webkit-scrollbar{width:6px}.debug-panel::-webkit-scrollbar-track,.debug-result::-webkit-scrollbar-track{background:#1e293b80}.debug-panel::-webkit-scrollbar-thumb,.debug-result::-webkit-scrollbar-thumb{background:#f59e0b80;border-radius:3px}@media (max-width: 768px){.debug-panel{width:calc(100% - 40px);left:20px;right:20px;bottom:10px}}:root{--color-primary: #7C3AED;--color-secondary: #EC4899;--color-accent: #06B6D4;--color-warning: #F59E0B;--color-success: #10B981;--color-danger: #EF4444;--bg-dark: #0f172a;--bg-medium: #1e293b;--bg-light: #334155;--text-primary: #E2E8F0;--text-secondary: #94A3B8;--text-muted: #64748B;--font-pixel: "Press Start 2P", "Courier New", monospace;--font-mono: "Courier New", monospace}body{margin:0;font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-dark);color:var(--text-primary);overflow-x:hidden}h1,h2,h3,h4,h5,h6,button,.nav-label,.form-label{font-family:var(--font-pixel)}h1{font-size:1.5rem;line-height:1.8}h2{font-size:1.2rem;line-height:1.6}h3{font-size:1rem;line-height:1.6}h4{font-size:.9rem;line-height:1.5}html{scroll-behavior:smooth}::selection{background:var(--color-primary);color:#fff}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:3rem 2rem}.placeholder-page h1{color:var(--color-secondary);margin-bottom:1rem;text-shadow:0 0 15px var(--color-secondary),2px 2px 0px var(--color-primary)}.placeholder-page p{color:var(--color-accent);font-size:1rem;letter-spacing:.1rem;text-shadow:0 0 5px var(--color-accent)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.text-warning{color:var(--color-warning)}.bg-glow{box-shadow:0 0 20px currentColor}.border-glow{border:2px solid currentColor;box-shadow:0 0 10px currentColor,inset 0 0 10px currentColor}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0f172a80}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-primary),var(--color-secondary));border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-secondary),var(--color-primary))}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-secondary)}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{font-family:inherit;font-size:inherit;cursor:pointer}:disabled{opacity:.5;cursor:not-allowed}body:after{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px);pointer-events:none;z-index:9999;background-attachment:fixed}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}.glitch:hover{animation:glitch .3s ease-in-out}@media (max-width: 768px){h1{font-size:1.2rem}h2{font-size:1rem}h3{font-size:.9rem}h4{font-size:.8rem}}@media print{body:after{display:none}}:root{font-family:"Press Start 2P",monospace,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;display:flex;align-items:center;justify-content:center}
