.notification{padding:1rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;box-shadow:0 4px 12px #0000004d;pointer-events:auto;max-width:400px;word-wrap:break-word;border:1px solid}.notification__content{display:flex;align-items:center;gap:.75rem}.notification__icon{font-size:1.2rem;flex-shrink:0}.notification__message{flex:1}.notification--success{background:#10b98126;border-color:#10b981;color:#10b981}.notification--error{background:#ef444426;border-color:#ef4444;color:#ef4444}.notification--info{background:#8b5cf626;border-color:var(--purple, #8b5cf6);color:var(--purple, #8b5cf6)}.notification--warning{background:#f59e0b26;border-color:#f59e0b;color:#f59e0b}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.notification--enter{animation:slideIn .3s ease-out}.notification--exit{animation:slideOut .3s ease-out}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg-primary, #0a0a0a)}.error-boundary-container{text-align:center;max-width:700px}.error-boundary-icon{font-size:6rem;color:#ef4444;margin-bottom:1.5rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-boundary-container h1{font-family:TheRumIsGone,serif;font-size:2.5rem;color:#fff;margin-bottom:1rem}.error-boundary-message{font-size:1.125rem;color:#ffffffb3;margin-bottom:2rem;line-height:1.6}.error-details{text-align:left;margin:2rem 0;background:#14141ecc;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem}.error-details summary{cursor:pointer;color:#ef4444;font-weight:600;margin-bottom:.5rem}.error-details summary:hover{color:#dc2626}.error-stack{font-family:Courier New,monospace;font-size:.875rem;color:#fffc;overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin-top:1rem;padding:1rem;background:#0000004d;border-radius:4px}.error-boundary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary-actions button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem}@media(max-width:768px){.error-boundary-icon{font-size:4rem}.error-boundary-container h1{font-size:2rem}.error-boundary-actions{flex-direction:column;width:100%}.error-boundary-actions button{width:100%}}.profile-dropdown-container{position:relative}.profile-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#8b5cf61a;border:1px solid var(--purple, #8b5cf6);border-radius:6px;color:var(--text, #fff);cursor:pointer;transition:all .2s;font-size:.95rem}.profile-btn:hover{background:#8b5cf633;box-shadow:0 0 12px #8b5cf666}.profile-btn i:first-child{font-size:1rem}.profile-username{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-btn i:last-child{font-size:.75rem;margin-left:4px}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#14141efa;border:1px solid var(--purple, rgba(139, 92, 246, .3));border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;overflow:hidden}.profile-dropdown-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:var(--text, #fff);text-align:left;cursor:pointer;transition:background .15s;font-size:.95rem}.profile-dropdown-item:hover{background:#8b5cf626}.profile-dropdown-item i{width:1.25rem;text-align:center;font-size:1rem}.profile-dropdown-divider{height:1px;background:#8b5cf633;margin:.25rem 0}.profile-dropdown-item--logout:hover{background:#ef444426}.search-box-container{position:relative;width:100%;max-width:700px;margin:0 auto}.search-mode-toggle{display:flex;gap:0;margin-bottom:.75rem;background:#ffffff0d;border-radius:6px;padding:4px;width:fit-content}.search-mode-btn{padding:.5rem 1.5rem;background:transparent;border:none;color:var(--text-dim, rgba(255, 255, 255, .6));font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.search-mode-btn:hover{color:var(--text, #fff)}.search-mode-btn.active{background:var(--purple, rgba(139, 92, 246, 1));color:#fff}.search-input-wrapper{position:relative;width:100%}.search-input-wrapper.with-icon-buttons{display:flex;align-items:center;gap:.5rem}.search-input{width:100%;padding:1rem 3rem 1rem 1.25rem;background:#ffffff0d;border:2px solid rgba(139,92,246,.3);border-radius:8px;color:var(--text, #fff);font-size:1rem;transition:all .2s}.search-input:focus{outline:none;border-color:var(--purple, rgba(139, 92, 246, 1));box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.search-input::placeholder{color:var(--text-dim, rgba(255, 255, 255, .4))}.search-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;background:#ffffff1a;border:none;border-radius:50%;color:var(--text-dim, rgba(255, 255, 255, .6));font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.search-clear-btn:hover{background:#fff3;color:var(--text, #fff)}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#14141efa;border:1px solid rgba(139,92,246,.3);border-radius:8px;max-height:400px;overflow-y:auto;z-index:10001!important;box-shadow:0 8px 24px #0006;display:block!important}.search-suggestion-item{padding:.75rem 1rem;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.05)}.search-suggestion-item:last-child{border-bottom:none}.search-suggestion-item:hover,.search-suggestion-item.selected{background:#8b5cf626}.suggestion-username{color:var(--text, #fff);font-weight:500;margin-bottom:.25rem}.suggestion-steam-id{color:var(--text-dim, rgba(255, 255, 255, .5));font-size:.85rem;font-family:monospace}.search-suggestions::-webkit-scrollbar{width:8px}.search-suggestions::-webkit-scrollbar-track{background:#0003;border-radius:0 8px 8px 0}.search-suggestions::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:4px}.search-suggestions::-webkit-scrollbar-thumb:hover{background:#8b5cf680}.search-icon-buttons{display:flex;gap:.5rem;flex-shrink:0}.search-icon-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:2px solid rgba(139,92,246,.3);border-radius:8px;color:var(--text-dim, rgba(255, 255, 255, .6));font-size:1.2rem;cursor:pointer;transition:all .2s}.search-icon-btn:hover{background:#8b5cf61a;border-color:var(--purple, rgba(139, 92, 246, 1));color:var(--text, #fff)}.search-icon-btn.active{background:var(--purple, rgba(139, 92, 246, 1));border-color:var(--purple, rgba(139, 92, 246, 1));color:#fff;box-shadow:0 0 12px #8b5cf680}.search-input-wrapper.with-icon-buttons .search-input{flex:1}.topbar{position:fixed;top:0;left:0;right:0;height:64px;background:#0a0a0af2;border-bottom:1px solid rgba(139,92,246,.2);display:flex;align-items:center;padding:0 1rem;gap:1rem;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(0);transition:transform .3s ease}.brand{display:flex;align-items:center;gap:.75rem;cursor:pointer;text-decoration:none;color:inherit}.brand-logo{width:40px;height:40px;border-radius:8px}.brand-name{font-size:1.5rem;font-weight:700;color:#fff}.accent{color:var(--purple, #8b5cf6)}.icon-button{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.burger-lines{display:block;width:24px;height:2px;background:#fff;position:relative}.burger-lines:before,.burger-lines:after{content:"";display:block;width:24px;height:2px;background:#fff;position:absolute;left:0}.burger-lines:before{top:-8px}.burger-lines:after{top:8px}.top-search{flex:1;max-width:700px;margin:0 auto;display:flex;align-items:center;gap:.5rem;justify-content:center}.search-mode-buttons{display:flex;gap:.5rem}.search-mode-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(139,92,246,.3);border-radius:6px;color:#fff9;font-size:1rem;cursor:pointer;transition:all .2s}.search-mode-button:hover{border-color:var(--purple, #8b5cf6);color:#fff;box-shadow:0 0 12px #8b5cf666}.search-mode-button.active{border-color:var(--purple, #8b5cf6);color:var(--purple, #8b5cf6);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.top-search .search-box-container{max-width:100%}.top-search .search-input{padding:.65rem 3rem .65rem 1rem;font-size:.95rem}.top-search .search-suggestions{z-index:10001}#authArea{display:flex;gap:.5rem}button.primary,button.secondary{padding:.5rem 1rem;border-radius:6px;border:none;font-weight:600;cursor:pointer;transition:all .2s}button.primary{background:var(--purple, #8b5cf6);color:#fff}button.primary:hover{background:#7c3aed}button.secondary{background:#8b5cf61a;color:var(--purple, #8b5cf6);border:1px solid var(--purple, #8b5cf6)}button.secondary:hover{background:#8b5cf633}.signin-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;border-radius:8px;background:var(--purple, #8b5cf6)!important;color:#fff!important;border:1px solid var(--purple, #8b5cf6)!important;transition:all .3s ease;cursor:pointer;box-shadow:0 0 12px #8b5cf666}.signin-btn:hover{background:#7c3aed!important;box-shadow:0 0 20px #8b5cf6cc;transform:translateY(-1px)}.signin-btn:active{transform:translateY(0);box-shadow:0 0 12px #8b5cf666}.side-menu{position:fixed;top:0;left:0;bottom:0;width:280px;background:#0f0f0ffa;border-right:1px solid rgba(139,92,246,.2);transform:translate(-100%);transition:transform .3s ease;z-index:9000;overflow-y:auto;padding:1rem 0}.side-menu--open{transform:translate(0)}.side-menu-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid rgba(139,92,246,.2);margin-bottom:1rem}.side-menu-header img{width:32px;height:32px;border-radius:6px}.side-menu-header span{font-size:1.25rem;font-weight:600;color:#fff}.side-menu ul{list-style:none;padding:0;margin:0}.side-menu a,.side-menu-toggle{display:block;padding:.75rem 1rem;color:#fffc;text-decoration:none;transition:all .2s;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-size:1rem}.side-menu a:hover{background:#8b5cf61a;color:#fff}.side-menu a.active{background:#8b5cf633;color:var(--purple, #8b5cf6);border-left:3px solid var(--purple, #8b5cf6)}.side-menu-toggle{display:flex;align-items:center;justify-content:space-between}.side-menu-toggle-label{font-weight:600}.side-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;list-style:none;margin:0;padding:0 0 0 1rem;display:none}.side-submenu--open{display:block!important;max-height:500px!important;overflow:visible!important}.side-menu-tool{padding-left:2rem!important;font-size:.9rem}.side-menu-social i{margin-right:.5rem}.side-menu-tool--statlocker{color:#5af28e;border:1px solid rgba(90,242,142,.3)}.side-menu-tool--dataexplorer{color:#fff;border:1px solid rgba(255,255,255,.3)}.side-menu-tool--dataexplorer:hover{border-color:#ffffffb3;background:#1e1e1efa!important;box-shadow:0 0 22px #ffffffd9!important;transform:translateY(-1px)}.side-menu-tool--livelock{color:#d6fd7a;border:1px solid rgba(214,253,122,.3)}.side-menu-tool--livelock:hover{border-color:#d6fd7ab3;background:#1a2e0afa!important;box-shadow:0 0 22px #d6fd7af2!important;transform:translateY(-1px)}.side-menu-tool--deadlockwiki{color:#e0d4b7;border:1px solid rgba(224,212,183,.3)}.side-menu-tool--deadlockwiki:hover{border-color:#e0d4b7b3;background:#1e1914fa!important;box-shadow:0 0 20px #e0d4b7cc!important;transform:translateY(-1px)}.side-menu-social--discord{color:#5865f2;border:1px solid rgba(88,101,242,.3)}.side-menu-social--twitch{color:#8956fb;border:1px solid rgba(137,86,251,.3)}.side-menu-social--youtube{color:red;border:1px solid rgba(255,0,0,.3)}.site-footer{background:#0a0a0af2;border-top:1px solid rgba(139,92,246,.2);padding:3rem 1rem 1rem;margin-top:4rem}.footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem}.footer-brand{max-width:500px}.footer-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem}.footer-title .accent{color:var(--purple, #8b5cf6)}.footer-underline{width:60px;height:3px;background:var(--purple, #8b5cf6);margin-bottom:1rem}.footer-description{color:#ffffffb3;line-height:1.6;margin-bottom:1rem}.footer-description a{color:var(--purple, #8b5cf6);text-decoration:none;transition:color .2s}.footer-description a:hover{text-decoration:underline}.footer-copyright{color:#ffffff80;font-size:.9rem}.footer-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-heading{color:var(--purple, #8b5cf6)!important;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin-bottom:.5rem}.footer-column a{color:#ffffffb3;text-decoration:none;transition:color .2s}.footer-column a i{margin-right:.5rem}.footer-column a[href^="/"]:hover{color:var(--purple, #8b5cf6)}.footer-column a[href*="discord.gg"]:hover,.footer-column a[href*="discord.com"]:hover{color:#5865f2!important;text-shadow:0 0 12px rgba(88,101,242,.7)}.footer-column a[href*="twitch.tv"]:hover{color:#8956fb!important;text-shadow:0 0 12px rgba(137,86,251,.7)}.footer-column a[href*="youtube.com"]:hover{color:red!important;text-shadow:0 0 12px rgba(255,0,0,.7)}.footer-column a[href*="statlocker.gg"]:hover{color:#5af28e;text-shadow:0 0 12px rgba(90,242,142,.7)}.footer-bottom{max-width:1400px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(139,92,246,.1);text-align:center;color:#ffffff80;font-size:.9rem}.privacy-link{color:#fff9;text-decoration:none;transition:color .2s;font-size:.9rem}.privacy-link:hover{color:var(--purple, #8b5cf6);text-decoration:underline}@media(max-width:768px){.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-columns{grid-template-columns:1fr;gap:1.5rem}}.steam-verification-prompt{position:sticky;top:64px;z-index:100;background:linear-gradient(135deg,#9d4edd26,#c77dff26);border-bottom:2px solid rgba(139,92,246,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .4s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.verification-prompt-container{max-width:1400px;margin:0 auto;padding:1.25rem 2rem;display:flex;align-items:center;gap:1.5rem}.verification-prompt-icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1b2838,#2a475e);border:2px solid rgba(139,92,246,.5);border-radius:50%;font-size:1.75rem;color:#fff}.verification-prompt-content{flex:1}.verification-prompt-content h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#fff}.verification-prompt-content p{margin:0;font-size:.9375rem;color:#fffc;line-height:1.5}.verification-prompt-actions{flex-shrink:0;display:flex;align-items:center;gap:1rem}.btn-verify-now{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#9d4edd,#c77dff);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #8b5cf64d}.btn-verify-now:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680}.btn-verify-now:active{transform:translateY(0)}.btn-dismiss{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;color:#ffffffb3;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-dismiss:hover{background:#ffffff26;color:#ffffffe6;border-color:#ffffff4d}@media(max-width:768px){.verification-prompt-container{flex-direction:column;padding:1rem;gap:1rem;text-align:center}.verification-prompt-icon{width:48px;height:48px;font-size:1.5rem}.verification-prompt-content h3{font-size:1rem}.verification-prompt-content p{font-size:.875rem}.verification-prompt-actions{width:100%;flex-direction:column;gap:.75rem}.btn-verify-now{width:100%;justify-content:center}.btn-dismiss{width:100%}}#app{min-height:100vh;display:flex;flex-direction:column}.view{flex:1;padding:1rem;max-width:1400px;width:100%;margin:64px auto 0}.scrim{position:fixed;inset:0;background:#00000080;z-index:999;cursor:pointer}@media(max-width:768px){.view{padding:.5rem}}.loading-container{display:flex;justify-content:center;align-items:center;padding:2rem}.loading-container--fullpage{position:fixed;inset:0;background:#00000080;z-index:9999}.loading-spinner{color:var(--purple, #8b5cf6)}.loading-spinner i{animation:spin 1s linear infinite}.loading--small{font-size:1rem}.loading--medium{font-size:2rem}.loading--large{font-size:3rem}.skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;display:inline-block}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.leaderboard-row-skeleton{display:flex;align-items:center;gap:1rem;padding:1rem;background:#14141e66;border:1px solid rgba(139,92,246,.1);border-radius:8px;margin-bottom:.5rem}.leaderboard-row-skeleton .skeleton-content{flex:1}.player-profile-skeleton{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:#14141e99;border:1px solid rgba(139,92,246,.3);border-radius:12px}.skeleton-info{flex:1}.match-card-skeleton{background:#14141e99;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:1.5rem;margin-bottom:1rem}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.skeleton-teams{display:flex;align-items:center;justify-content:space-between}.skeleton-team{display:flex;align-items:center}.tournament-card-skeleton{background:#14141e99;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:1.5rem}.skeleton-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat-card-skeleton{background:#14141e99;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:1.5rem}.skeleton-stats-grid,.skeleton-grid{display:grid;gap:1rem}@media(max-width:768px){.player-profile-skeleton{flex-direction:column;align-items:flex-start}.skeleton-teams{flex-direction:column;gap:1rem}}.custom-dropdown{position:relative;width:100%;z-index:10001}.custom-dropdown-button{width:100%;padding:.75rem 1rem;background:var(--bg-secondary, #1a1a2e);border:3px solid var(--bg-tertiary, #2a2a3e);border-radius:8px;color:var(--text-primary, #e2e8f0);font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left}.custom-dropdown-button:hover:not(:disabled){border-color:var(--purple, #9d4edd);background:var(--bg-primary, #0f0f1e);box-shadow:0 0 0 2px #9d4edd26}.custom-dropdown-button:focus{outline:none;border-color:var(--purple, #9d4edd);box-shadow:0 0 0 4px #9d4edd4d;background:var(--bg-primary, #0f0f1e)}.custom-dropdown-button:disabled{opacity:.5;cursor:not-allowed}.custom-dropdown-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dropdown-icon{transition:transform .3s ease;color:var(--purple, #9d4edd);flex-shrink:0}.custom-dropdown-icon.open{transform:rotate(180deg)}.custom-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#1a1a2efa;border:2px solid var(--purple, #9d4edd);border-radius:8px;overflow:hidden;z-index:10002;box-shadow:0 8px 24px #00000080,0 0 20px #9d4edd4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:400px;overflow-y:auto}.custom-dropdown-option{padding:.875rem 1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid rgba(157,78,221,.1)}.custom-dropdown-option:last-child{border-bottom:none}.custom-dropdown-option:hover:not(.disabled){background:#9d4edd26;padding-left:1.25rem}.custom-dropdown-option.active{background:#9d4edd33;border-left:3px solid var(--purple, #9d4edd)}.custom-dropdown-option.active:hover{background:#9d4edd40}.custom-dropdown-option.disabled{opacity:.5;cursor:not-allowed}.custom-dropdown-option span{color:var(--text-primary, #e2e8f0);font-size:.95rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dropdown .selected-icon{color:var(--purple, #9d4edd);font-size:.875rem;flex-shrink:0}.custom-dropdown-menu::-webkit-scrollbar{width:8px}.custom-dropdown-menu::-webkit-scrollbar-track{background:#0003;border-radius:4px}.custom-dropdown-menu::-webkit-scrollbar-thumb{background:#9d4edd80;border-radius:4px}.custom-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#9d4eddb3}.create-tournament-modal{background:#14141efa;border:1px solid rgba(139,92,246,.3);border-radius:16px;width:90%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.create-tournament-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(139,92,246,.2)}.create-tournament-modal .modal-header h2{margin:0;font-size:1.5rem;color:#e2e8f0}.create-tournament-modal .modal-close{background:none;border:none;color:#fff9;font-size:1.25rem;cursor:pointer;padding:.5rem;transition:color .2s ease}.create-tournament-modal .modal-close:hover{color:#e2e8f0}.create-tournament-modal .modal-body{padding:1.5rem 2rem;overflow-y:auto;flex:1}.create-tournament-modal .form-section{margin-bottom:2rem}.create-tournament-modal .form-section:last-child{margin-bottom:0}.create-tournament-modal .form-section h3{font-size:1rem;color:#8b5cf6;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(139,92,246,.2)}.create-tournament-modal .form-group{margin-bottom:1.25rem}.create-tournament-modal .form-group label{display:block;font-size:.9rem;color:#fffc;margin-bottom:.5rem}.create-tournament-modal .form-group input[type=text],.create-tournament-modal .form-group input[type=number],.create-tournament-modal .form-group input[type=datetime-local],.create-tournament-modal .form-group textarea{width:100%;padding:.75rem 1rem;background:#1e1e28cc;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:#e2e8f0;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.create-tournament-modal .form-group input:focus,.create-tournament-modal .form-group textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.create-tournament-modal .form-group input.error,.create-tournament-modal .form-group textarea.error{border-color:#ef4444}.create-tournament-modal .form-group textarea{resize:vertical;min-height:80px}.create-tournament-modal .form-group .error-text{display:block;color:#ef4444;font-size:.8rem;margin-top:.25rem}.create-tournament-modal .form-group .help-text{display:block;color:#ffffff80;font-size:.8rem;margin-top:.25rem}.create-tournament-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.create-tournament-modal .checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.create-tournament-modal .checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#8b5cf6}.create-tournament-modal .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid rgba(139,92,246,.2);background:#0f0f1980}.create-tournament-modal .btn-secondary{padding:.75rem 1.5rem;background:#6464784d;border:1px solid rgba(100,100,120,.5);border-radius:8px;color:#fffc;font-size:.95rem;cursor:pointer;transition:all .2s ease}.create-tournament-modal .btn-secondary:hover{background:#64647880;color:#e2e8f0}.create-tournament-modal .btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.create-tournament-modal .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#9d6ff8,#7c3aed);transform:translateY(-1px)}.create-tournament-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.create-tournament-modal .custom-dropdown{width:100%}.create-tournament-modal .custom-dropdown .dropdown-toggle{width:100%;padding:.75rem 1rem;background:#1e1e28cc;border:1px solid rgba(139,92,246,.3);border-radius:8px}@media(max-width:640px){.create-tournament-modal{width:95%;max-height:95vh}.create-tournament-modal .modal-header,.create-tournament-modal .modal-body,.create-tournament-modal .modal-footer{padding:1rem}.create-tournament-modal .form-row{grid-template-columns:1fr}}.color-presets{margin-top:1rem}.color-presets>label{display:block;font-size:.85rem;color:#ffffffb3;margin-bottom:.5rem}.preset-grid{display:flex;flex-wrap:wrap;gap:.5rem}.preset-swatch{width:48px;height:48px;border-radius:8px;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.preset-swatch:hover{transform:scale(1.1);border-color:#ffffff4d}.preset-swatch.selected{border-color:#fff;box-shadow:0 0 12px #fff6}.preset-swatch i{color:#fff;font-size:1rem;text-shadow:0 1px 3px rgba(0,0,0,.5)}.color-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.color-picker-group{display:flex;flex-direction:column;gap:.5rem}.color-picker-group>label{font-size:.8rem;color:#fff9}.color-input-wrapper{display:flex;gap:.5rem;align-items:center}.color-input-wrapper input[type=color]{width:40px;height:40px;padding:0;border:none;border-radius:6px;cursor:pointer;background:none}.color-input-wrapper input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-input-wrapper input[type=color]::-webkit-color-swatch{border:2px solid rgba(255,255,255,.2);border-radius:6px}.color-input-wrapper input[type=text]{flex:1;min-width:0;padding:.5rem!important;font-family:monospace;font-size:.85rem!important;text-transform:uppercase}.color-preview{margin-top:1.5rem}.color-preview>label{display:block;font-size:.85rem;color:#ffffffb3;margin-bottom:.75rem}.preview-box{background:#14141ee6;border:2px solid var(--preview-primary);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 0 20px color-mix(in srgb,var(--preview-primary) 30%,transparent)}.preview-header{font-size:1.25rem;font-weight:600;color:var(--preview-primary);text-shadow:0 0 10px color-mix(in srgb,var(--preview-primary) 50%,transparent)}.preview-button{padding:.5rem 1.5rem;background:linear-gradient(135deg,var(--preview-primary),var(--preview-secondary));border-radius:6px;color:#fff;font-weight:500;font-size:.9rem}.preview-badge{padding:.25rem .75rem;background:color-mix(in srgb,var(--preview-accent) 20%,transparent);border:1px solid var(--preview-accent);border-radius:999px;color:var(--preview-accent);font-size:.75rem;font-weight:600;text-transform:uppercase}@media(max-width:640px){.color-pickers{grid-template-columns:1fr}.preset-grid{justify-content:center}}.page-tournaments{--tournament-primary: #9d4edd;--tournament-secondary: #9d4edd;padding:2rem;min-height:calc(100vh - 64px)}.tournaments-container{max-width:1400px;margin:0 auto}.tournaments-header{text-align:center;margin-bottom:2rem}.tournaments-container h1{font-size:2.5rem;font-family:TheRumIsGone,serif;color:#fff;margin:0;text-transform:uppercase;letter-spacing:3px}.btn-create-tournament{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-create-tournament:hover{background:linear-gradient(135deg,#9d6ff8,#7c3aed);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.btn-create-tournament i{font-size:.9rem}.tournament-tabs{display:flex;justify-content:center;gap:0;margin-bottom:2rem;border-top:2px solid #9d4edd}.tournament-tabs .tab-button{padding:.75rem 1.5rem;background:#9d4edd1a;border:1px solid #9d4edd;border-top:none;color:#fff9;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;border-radius:0;position:relative}.tournament-tabs .tab-button:hover{background:#9d4edd33;color:#ffffffe6;box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59;z-index:1}.tournament-tabs .tab-button.active{background:#9d4edd4d;color:var(--tournament-primary);z-index:2}.tournament-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:flex-end}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;color:#ffffffb3;font-size:.9rem;margin-bottom:.5rem;font-weight:600}.filter-group select{width:100%;padding:.75rem 1rem;background:#14141ecc;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;transition:all .2s}.filter-group select:focus{outline:none;border-color:var(--tournament-primary);box-shadow:0 0 12px color-mix(in srgb,var(--tournament-primary) 40%,transparent)}.tournaments-loading,.tournaments-error,.tournaments-empty{text-align:center;padding:3rem;color:#fff9}.tournaments-loading i,.tournaments-error i,.tournaments-empty i{font-size:3rem;margin-bottom:1rem;display:block}.tournaments-loading i{color:var(--tournament-primary)}.tournaments-error i{color:#ef4444}.tournaments-empty i{opacity:.3}.tournaments-error p:first-of-type,.tournaments-empty p:first-of-type{font-size:1.1rem;margin-bottom:.5rem;color:#fffc}.error-message,.empty-subtitle{font-size:.9rem;color:#ffffff80}.tournaments-grid{display:grid;gap:1.5rem}.tournament-card{display:block;text-decoration:none;color:inherit;background:#14141e99;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s}.tournament-card:hover{border-color:var(--tournament-primary);box-shadow:0 0 12px color-mix(in srgb,var(--tournament-primary) 40%,transparent);transform:translateY(-2px)}.tournament-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.page-tournaments .tournament-info h3{font-size:1.5rem;color:var(--tournament-primary);margin-bottom:.5rem;font-weight:700}.page-tournaments .tournament-server{color:#fff9;font-size:.9rem}.page-tournaments .tournament-badges{display:flex;gap:.5rem;align-items:center}.page-tournaments .status-badge,.page-tournaments .full-badge{padding:.25rem .75rem;border-radius:4px;font-size:.85rem;text-transform:uppercase;font-weight:600;border:1px solid}.page-tournaments .full-badge{background:#ef44441a;color:#ef4444;border-color:#ef4444}.page-tournaments .tournament-description{color:#fff;margin-bottom:1rem;line-height:1.6;white-space:pre-line}.page-tournaments .tournament-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.page-tournaments .stat-item{display:flex;flex-direction:column;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff08}.page-tournaments .stat-label{color:#fff9;font-size:.85rem!important;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.page-tournaments .stat-value{color:#fff;font-size:1rem!important;font-weight:600}.tournament-card-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.view-details-btn,.view-details-text{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1rem;color:var(--tournament-primary);font-weight:600;transition:all .2s}.tournament-card:hover .view-details-text{color:var(--tournament-secondary)}.admin-actions{display:flex;gap:.5rem}.duplicate-tournament-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#007bff;border:none;border-radius:5px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.duplicate-tournament-btn:hover{background:#0056b3;transform:translateY(-1px)}.duplicate-tournament-btn:active{transform:translateY(0)}.delete-tournament-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#dc3545;border:none;border-radius:5px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.delete-tournament-btn:hover{background:#a71d2a;transform:translateY(-1px)}.delete-tournament-btn:active{transform:translateY(0)}@media(max-width:768px){.page-tournaments{padding:1rem}.tournaments-header{flex-direction:column;text-align:center}.tournaments-container h1{font-size:1.75rem}.btn-create-tournament{width:100%;justify-content:center}.tournament-tabs{gap:0}.tournament-tabs .tab-button{flex:1;padding:.5rem .75rem;font-size:.9rem}.tournament-filters,.tournament-card-header{flex-direction:column}.tournament-badges{width:100%}.tournament-stats{grid-template-columns:1fr}}.team-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#14141efa;border:2px solid rgba(139,92,246,.6);border-radius:8px;padding:1rem;min-width:250px;max-width:300px;z-index:99999;box-shadow:0 8px 24px #000c,0 0 20px #8b5cf64d;pointer-events:none;animation:tooltip-fade-in .2s ease-out}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.team-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#8b5cf699}.team-tooltip-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(139,92,246,.3)}.team-tooltip-name{font-size:1rem;font-weight:700;color:#8b5cf6;text-align:center}.team-tooltip-members{display:flex;flex-direction:column;gap:.5rem}.team-tooltip-member{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .5rem;background:#ffffff08;border-radius:4px}.captain-icon{color:#ffbf00;font-size:.85rem;flex-shrink:0}.member-name{color:#ffffffe6;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-rank{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.rank-icon{width:20px;height:20px;object-fit:contain}.rank-name{font-size:.75rem;color:#ffffffb3;white-space:nowrap}.captain-signup-modal{background:#14141efa;border:1px solid rgba(139,92,246,.3);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.captain-signup-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(139,92,246,.2)}.captain-signup-modal .modal-header h2{margin:0;font-size:1.5rem;color:#e2e8f0}.captain-signup-modal .modal-close{background:none;border:none;color:#fff9;font-size:1.25rem;cursor:pointer;padding:.5rem;transition:color .2s ease}.captain-signup-modal .modal-close:hover{color:#e2e8f0}.captain-signup-modal .modal-body{padding:1.5rem 2rem;overflow-y:auto;flex:1}.captain-signup-modal .use-previous-team-section{margin-bottom:1.5rem;display:flex;justify-content:center}.captain-signup-modal .use-previous-team-btn{padding:.75rem 1.5rem;background:#3b82f626;border:1px solid rgba(59,130,246,.4);border-radius:8px;color:#60a5fa;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.captain-signup-modal .use-previous-team-btn:hover:not(:disabled){background:#3b82f640;border-color:#3b82f699;color:#93c5fd;transform:translateY(-1px)}.captain-signup-modal .use-previous-team-btn:disabled{opacity:.5;cursor:not-allowed}.captain-signup-modal .use-previous-team-btn i{font-size:1rem}.captain-signup-modal .form-section{margin-bottom:2rem}.captain-signup-modal .form-section:last-child{margin-bottom:0}.captain-signup-modal .form-section h3{font-size:1rem;color:#8b5cf6;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(139,92,246,.2)}.captain-signup-modal .player-form{background:#1e1e2d80;border-radius:8px;padding:1rem}.captain-signup-modal .teammate-card{background:#1e1e2d80;border:1px solid rgba(139,92,246,.15);border-radius:8px;margin-bottom:1rem;overflow:hidden}.captain-signup-modal .teammate-card:last-child{margin-bottom:0}.captain-signup-modal .teammate-header{background:#8b5cf61a;padding:.5rem 1rem;border-bottom:1px solid rgba(139,92,246,.15)}.captain-signup-modal .teammate-number{font-size:.9rem;font-weight:600;color:#8b5cf6}.captain-signup-modal .teammate-card .player-form{background:transparent;border-radius:0}.captain-signup-modal .form-group{margin-bottom:1rem}.captain-signup-modal .form-group:last-child{margin-bottom:0}.captain-signup-modal .form-group label{display:block;font-size:.85rem;color:#ffffffb3;margin-bottom:.4rem}.captain-signup-modal .form-group input,.captain-signup-modal .form-group select{width:100%;padding:.6rem .8rem;background:#14141ecc;border:1px solid rgba(139,92,246,.3);border-radius:6px;color:#e2e8f0;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.captain-signup-modal .form-group input:focus,.captain-signup-modal .form-group select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a}.captain-signup-modal .form-group input.error{border-color:#ef4444}.captain-signup-modal .form-group .error-text{display:block;color:#ef4444;font-size:.75rem;margin-top:.25rem}.captain-signup-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.captain-signup-modal .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid rgba(139,92,246,.2);background:#0f0f1980}.captain-signup-modal .btn-secondary{padding:.75rem 1.5rem;background:#6464784d;border:1px solid rgba(100,100,120,.5);border-radius:8px;color:#fffc;font-size:.95rem;cursor:pointer;transition:all .2s ease}.captain-signup-modal .btn-secondary:hover{background:#64647880;color:#e2e8f0}.captain-signup-modal .btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.captain-signup-modal .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#9d6ff8,#7c3aed);transform:translateY(-1px)}.captain-signup-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.captain-signup-modal{width:95%;max-height:95vh}.captain-signup-modal .modal-header,.captain-signup-modal .modal-body,.captain-signup-modal .modal-footer{padding:1rem}.captain-signup-modal .form-row{grid-template-columns:1fr}}.bracket-manager{padding:1rem 0}.bracket-manager .loading{text-align:center;padding:2rem;color:#fff9}.bracket-manager .loading i{margin-right:.5rem;color:#8b5cf6}.bracket-admin-controls{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.bracket-admin-controls h3{margin:0 0 1rem;color:#8b5cf6;font-size:1rem}.control-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.control-buttons button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-generate{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.btn-generate:hover{background:linear-gradient(135deg,#34d399,#10b981)}.btn-add{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;color:#fff}.btn-add:hover{background:linear-gradient(135deg,#9d6ff8,#7c3aed)}.btn-assign{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.btn-assign:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.btn-reset{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff}.btn-reset:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.bracket-display{display:flex;flex-direction:column;gap:2rem}.bracket-section h4{color:#e2e8f0;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(139,92,246,.2)}.matches-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.match-card{background:#1e1e2d99;border:1px solid rgba(139,92,246,.2);border-radius:8px;overflow:hidden}.match-card.status-ready{border-color:#10b98166}.match-card.status-in_progress{border-color:#f59e0b66}.match-card.status-completed{border-color:#64647866}.match-card.grand-finals{border-color:#f59e0b80;background:linear-gradient(135deg,#f59e0b1a,#1e1e2d99)}.match-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#8b5cf61a;border-bottom:1px solid rgba(139,92,246,.1)}.match-info{font-size:.8rem;color:#ffffffb3}.match-best-of{font-size:.75rem;color:#8b5cf6;font-weight:600}.match-teams{padding:.5rem .75rem}.match-teams .team{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0}.match-teams .team:first-child{border-bottom:1px solid rgba(255,255,255,.1)}.match-teams .team-name{color:#fffc;font-size:.9rem}.match-teams .team.winner .team-name{color:#10b981;font-weight:600}.match-teams .team-score{color:#e2e8f0;font-weight:600;min-width:20px;text-align:right}.match-actions{padding:.5rem .75rem;border-top:1px solid rgba(139,92,246,.1);display:flex;justify-content:flex-end}.btn-delete-match{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.3rem .6rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-delete-match:hover{background:#ef44444d}.no-bracket{text-align:center;padding:3rem;color:#ffffff80}.no-bracket i{font-size:3rem;margin-bottom:1rem;opacity:.3}.no-bracket p{margin:.5rem 0}.no-bracket .hint{font-size:.9rem;color:#fff6}.add-match-modal,.assign-teams-modal{background:#14141efa;border:1px solid rgba(139,92,246,.3);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.add-match-modal .modal-header,.assign-teams-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(139,92,246,.2)}.add-match-modal .modal-header h3,.assign-teams-modal .modal-header h3{margin:0;color:#e2e8f0;font-size:1.2rem}.add-match-modal .modal-close,.assign-teams-modal .modal-close{background:none;border:none;color:#fff9;cursor:pointer;font-size:1.1rem}.add-match-modal .modal-body,.assign-teams-modal .modal-body{padding:1.5rem;overflow-y:auto}.add-match-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.add-match-modal .form-group{margin-bottom:0}.add-match-modal .form-group label{display:block;font-size:.85rem;color:#ffffffb3;margin-bottom:.4rem}.add-match-modal .form-group input,.add-match-modal .form-group select{width:100%;padding:.6rem .8rem;background:#1e1e28cc;border:1px solid rgba(139,92,246,.3);border-radius:6px;color:#e2e8f0;font-size:.9rem}.add-match-modal h4{color:#8b5cf6;font-size:.9rem;margin:1rem 0 .75rem}.add-match-modal .modal-footer,.assign-teams-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(139,92,246,.2);margin-top:1rem}.add-match-modal .btn-secondary,.assign-teams-modal .btn-secondary{padding:.6rem 1.2rem;background:#6464784d;border:1px solid rgba(100,100,120,.5);border-radius:6px;color:#fffc;cursor:pointer}.add-match-modal .btn-primary,.assign-teams-modal .btn-primary{padding:.6rem 1.2rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:6px;color:#fff;cursor:pointer}.assignment-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;background:#1e1e2d80;border-radius:6px}.assignment-row .match-label{color:#8b5cf6;font-weight:600;min-width:70px}.assignment-row select{flex:1;padding:.5rem .75rem;background:#14141ecc;border:1px solid rgba(139,92,246,.3);border-radius:6px;color:#e2e8f0;font-size:.9rem}.assignment-row .vs{color:#ffffff80;font-size:.85rem}.assignment-row select:disabled{background:#3c3c5080;color:#fff6;cursor:not-allowed;border-color:#8b5cf61a}.round-assignments{margin-bottom:1.5rem}.round-title{color:#8b5cf6;font-size:1rem;font-weight:600;margin:0 0 .75rem;padding:.5rem;background:#8b5cf626;border-left:3px solid #8b5cf6;border-radius:4px}@media(max-width:640px){.control-buttons{flex-direction:column}.control-buttons button{width:100%;justify-content:center}.matches-list,.add-match-modal .form-row{grid-template-columns:1fr}.assignment-row{flex-direction:column;align-items:stretch}.assignment-row .vs{text-align:center;padding:.25rem 0}}.bracket-connectors-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;overflow:visible}.bracket-connector{transition:stroke-opacity .2s ease}.bracket-connector-straight,.bracket-connector-connector{stroke-opacity:.8}.bracket-connector-merge{stroke-opacity:.9;stroke-width:2px}.bracket-match:hover~.bracket-connectors-overlay .bracket-connector,.bracket-match:hover+.bracket-connectors-overlay .bracket-connector{stroke-opacity:.8}.custom-single-elim-bracket-wrapper{position:relative;width:100%;min-height:500px;overflow-x:auto;overflow-y:hidden}.custom-single-elim-bracket{display:flex;gap:60px;padding:1.5rem;min-height:500px;align-items:center;position:relative;z-index:1;min-width:min-content}.bracket-round{display:flex;flex-direction:column;min-width:180px;flex-shrink:0}.round-header{text-align:center;font-size:.85rem;font-weight:600;color:var(--primary-color, #8b5cf6);background:color-mix(in srgb,var(--primary-color, #8b5cf6) 15%,transparent);padding:.5rem .75rem;border-radius:4px 4px 0 0;margin-bottom:.75rem;border:2px solid var(--primary-color, #8b5cf6);border-bottom:none;white-space:nowrap}.round-matches{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:2rem;padding-bottom:1rem}.bracket-round:after{content:"";position:absolute;right:-60px;top:50%;width:60px;height:2px;background:var(--secondary-color, #c77dff);opacity:.4;transform:translateY(-50%);z-index:0}.bracket-round:last-child:after{display:none}.bracket-round{position:relative}.bracket-empty{text-align:center;padding:3rem;color:#888;font-size:1.1rem}@media(max-width:1200px){.custom-single-elim-bracket{gap:50px}}@media(max-width:768px){.custom-single-elim-bracket{gap:40px;padding:1rem}.round-matches{gap:1.5rem}.bracket-match{min-width:160px;max-width:160px}}.tournament-bracket-container{width:100vw;min-height:600px;background:transparent;padding:2rem 0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);overflow-x:auto;overflow-y:hidden;position:relative;display:flex;justify-content:center;align-items:center}.tournament-bracket-container>div{display:flex;gap:3rem;align-items:center;justify-content:center;min-width:fit-content;width:max-content;padding-left:4rem;padding-right:4rem}.tournament-bracket-container>.single-elim-bracket-wrapper{display:block!important;align-items:unset!important;justify-content:unset!important;width:100%!important;padding:2rem 4rem!important;gap:unset!important}.custom-bracket-match{font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.tournament-bracket-container svg{background:transparent!important}.tournament-bracket-container [class*=RoundHeader]{font-family:TheRumIsGone,serif;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px currentColor}.tournament-bracket-container path{stroke-width:2;transition:stroke .3s ease}.tournament-bracket-container path:hover{stroke-width:3}.custom-bracket-match:hover{transform:translateY(-2px)}.tournament-bracket-container::-webkit-scrollbar{height:12px}.tournament-bracket-container::-webkit-scrollbar-track{background:#1a1a1a80;border-radius:6px}.tournament-bracket-container::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:6px;transition:background .3s ease}.tournament-bracket-container::-webkit-scrollbar-thumb:hover{background:#8b5cf6cc}@media(max-width:1200px){.tournament-bracket-container{padding:1rem .5rem}.custom-bracket-match{min-width:180px}}@media(max-width:768px){.tournament-bracket-container{padding:.5rem .25rem}.custom-bracket-match{min-width:150px;font-size:.85rem}}.custom-bracket-match[data-grand-finals=true]{border-color:#ffbf00!important;box-shadow:0 0 20px #ffbf0066!important}.custom-bracket-match span[style*="color: rgb(136, 136, 136)"]{font-style:italic;opacity:.7}.custom-bracket-match [style*="background: #10b981"]{box-shadow:0 2px 4px #10b9814d}.custom-bracket-match[data-state=DONE]{opacity:.9}.custom-bracket-match[data-state=SCHEDULED]{border-style:solid}.custom-bracket-match[data-state=NO_SHOW]{border-style:dashed;opacity:.6}.tournament-bracket-container [class*=Round]{margin:0 1.5rem}.tournament-bracket-container [class*=Round]:first-child{margin-left:0}.tournament-bracket-container [class*=Round]:last-child{margin-right:3rem}.tournament-bracket-container button,.tournament-bracket-container [class*=control],.tournament-bracket-container [class*=navigation],.tournament-bracket-container [role=button],.tournament-bracket-container img,.tournament-bracket-container svg[class*=icon],.tournament-bracket-container [class*=minimap],.tournament-bracket-container [class*=overview],.tournament-bracket-container>div>div:last-child:not([class*=Round]),.tournament-bracket-container canvas,.tournament-bracket-container [style*="position: fixed"],.tournament-bracket-container [style*="position: absolute"][style*=bottom],.tournament-bracket-container>*>*:last-child:has(img){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.bracket-match-name-badge,.bracket-match-bo-badge{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.page-tournament-detail{--tournament-primary: #9d4edd;--tournament-secondary: #c77dff;--tournament-accent: #e0aaff;padding:2rem;min-height:calc(100vh - 64px)}.tournament-detail-container{max-width:1200px;margin:0 auto}.tournament-brackets-view{max-width:100vw!important;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:max(2rem,calc((100vw - 1400px)/2));padding-right:max(2rem,calc((100vw - 1400px)/2))}.back-button-section{margin-bottom:1.5rem}.tournament-tabs{display:flex;justify-content:center;gap:0;margin-bottom:2rem;border-top:2px solid var(--tournament-secondary)}.tournament-tabs .tab-button{padding:.75rem 1.5rem;background:color-mix(in srgb,var(--tournament-secondary) 10%,transparent);border:1px solid var(--tournament-secondary);border-top:none;color:#fff9;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;border-radius:0;position:relative}.tournament-tabs .tab-button+.tab-button{margin-left:-1px}.tournament-tabs .tab-button:first-child{border-radius:0 0 0 6px}.tournament-tabs .tab-button:last-child{border-radius:0 0 6px}.tournament-tabs .tab-button:hover{background:color-mix(in srgb,var(--tournament-secondary) 20%,transparent);border:1px solid var(--tournament-secondary);border-top:none;color:#ffffffe6;box-shadow:0 0 18px color-mix(in srgb,var(--tournament-secondary) 60%,transparent),inset 0 0 6px color-mix(in srgb,var(--tournament-secondary) 35%,transparent);z-index:1}.tournament-tabs .tab-button.active{background:color-mix(in srgb,var(--tournament-secondary) 30%,transparent);border:1px solid var(--tournament-secondary);border-top:none;color:var(--tournament-secondary);box-shadow:0 0 18px color-mix(in srgb,var(--tournament-secondary) 60%,transparent),inset 0 0 6px color-mix(in srgb,var(--tournament-secondary) 35%,transparent);z-index:2}.tournament-tabs .tab-button.active:after{display:none}.coming-soon-message{text-align:center;padding:4rem 2rem;color:#fff9;background:#14141e99;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:12px}.coming-soon-message i{font-size:4rem;margin-bottom:1.5rem;opacity:.3;display:block}.coming-soon-message h2{color:var(--tournament-primary);font-size:2rem;margin-bottom:1rem}.coming-soon-message p{font-size:1.1rem;line-height:1.6}.back-button{background:color-mix(in srgb,var(--tournament-primary) 10%,transparent);border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);color:var(--tournament-primary);cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;display:inline-flex;align-items:center;gap:.75rem;border-radius:8px;transition:all .3s ease;text-decoration:none;font-weight:500}.back-button:hover{background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);border-color:var(--tournament-primary);transform:translate(-4px)}.tournament-loading,.tournament-error{text-align:center;padding:3rem;color:#fff9}.tournament-loading i,.tournament-error i{font-size:3rem;margin-bottom:1rem;display:block}.tournament-loading i{color:var(--tournament-primary)}.tournament-error i{color:#ef4444}.tournament-error p:first-of-type{font-size:1.1rem;margin-bottom:.5rem;color:#fffc}.error-message{font-size:.9rem;color:#ffffff80;margin-bottom:1rem}.tournament-detail-card{background:#14141e99;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:12px;padding:2rem;margin-bottom:2rem}.tournament-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.tournament-detail-header h1{font-size:2rem;color:var(--tournament-primary);margin-bottom:.5rem}.server-name{color:#fff9;font-size:1rem}.tournament-detail-badges{display:flex;gap:.5rem;align-items:center}.status-badge,.full-badge{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;text-transform:uppercase;font-weight:600;border:1px solid}.full-badge{background:#ef44441a;color:#ef4444;border-color:#ef4444}.tournament-detail-description{color:#fff;margin-bottom:2rem;line-height:1.6;font-size:1.05rem;white-space:pre-line}.tournament-detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.detail-stat-item{background:#14141e99;padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);transition:all .3s ease}.detail-stat-item:hover{border-color:color-mix(in srgb,var(--tournament-primary) 40%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.detail-stat-label{color:#fff9;font-size:.75rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.detail-stat-value{color:#fff;font-size:.9rem;font-weight:600}.tournament-actions{display:flex;gap:1rem;align-items:center;justify-content:flex-start;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent)}.signup-button,.leave-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:8px;border:2px solid;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.signup-button{background:linear-gradient(135deg,#10b98133,#10b9811a);border-color:#10b981;color:#10b981;box-shadow:0 4px 12px #10b9814d}.signup-button:hover{background:linear-gradient(135deg,#10b9814d,#10b98133);border-color:#10b981;box-shadow:0 6px 20px #10b98180;transform:translateY(-2px)}.signup-button:active{transform:translateY(0);box-shadow:0 2px 8px #10b98166}.leave-button{background:linear-gradient(135deg,#ef444433,#ef44441a);border-color:#ef4444;color:#ef4444;box-shadow:0 4px 12px #ef44444d}.leave-button:hover{background:linear-gradient(135deg,#ef44444d,#ef444433);border-color:#ef4444;box-shadow:0 6px 20px #ef444480;transform:translateY(-2px)}.leave-button:active{transform:translateY(0);box-shadow:0 2px 8px #ef444466}.signed-up-badge{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,#10b98133,#10b9811a);border:2px solid #10b981;border-radius:8px;color:#10b981;font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #10b9814d}.obs-link-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:8px;border:2px solid;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);border-color:var(--tournament-primary);color:var(--tournament-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.obs-link-button:hover{background:color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-color:var(--tournament-primary);box-shadow:0 6px 20px color-mix(in srgb,var(--tournament-secondary) 50%,transparent);transform:translateY(-2px)}.obs-link-button:active{transform:translateY(0);box-shadow:0 2px 8px color-mix(in srgb,var(--tournament-secondary) 40%,transparent)}.signup-status{text-align:center;padding:1.5rem;border-radius:8px;border:1px solid}.signup-status.signed-up{background:#10b9811a;border-color:#10b981}.signup-status.signed-up p{color:#10b981;margin-bottom:1rem;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.signup-status.not-signed-up{background:color-mix(in srgb,var(--tournament-primary) 10%,transparent);border-color:var(--tournament-primary)}.signup-btn,.leave-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1.1rem}.leave-btn{background:#ef44441a;border:1px solid #ef4444;color:#ef4444}.leave-btn:hover{background:#ef444433}.participants-section{background:#14141e99;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:12px;padding:2rem;transition:all .3s ease;overflow:visible}.participants-section:hover{border-color:color-mix(in srgb,var(--tournament-primary) 50%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--tournament-secondary) 20%,transparent)}.participants-section h2{font-size:1.5rem;color:var(--tournament-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.participants-list{display:flex;flex-direction:column;gap:1.5rem;overflow:visible;width:100%}.participant-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#14141e99;border:1px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent);border-radius:8px;transition:all .3s ease;overflow:visible}.participant-card:hover{border-color:var(--tournament-primary);box-shadow:0 0 15px color-mix(in srgb,var(--tournament-secondary) 40%,transparent);transform:translateY(-2px)}.participant-number{font-size:1.2rem;color:#fff9;min-width:2rem;text-align:center}.participant-avatar{width:48px;height:48px;border-radius:50%;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);transition:all .3s ease}.participant-card:hover .participant-avatar{border-color:var(--tournament-primary);box-shadow:0 0 10px color-mix(in srgb,var(--tournament-secondary) 50%,transparent)}.participant-info{flex:1}.participant-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.participant-name{color:#fff;font-size:1.1rem;font-weight:500;text-decoration:none;transition:color .2s}.participant-name-link{cursor:pointer}.participant-name:hover{color:var(--tournament-primary)}.participant-status-badge{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;font-weight:600;border:1px solid}.participant-stats{color:#fff9;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.participant-rank-icon{width:20px;height:20px;object-fit:contain;vertical-align:middle}.participant-date{color:#fff9;font-size:.85rem;text-align:right}.participants-empty{text-align:center;padding:3rem;color:#fff9}.participants-empty i{font-size:3rem;opacity:.3;margin-bottom:1rem;display:block}.participants-empty p:first-of-type{font-size:1.1rem;margin-bottom:.5rem;color:#fffc}.empty-subtitle{font-size:.9rem;color:#ffffff80}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#14141efa;border:2px solid color-mix(in srgb,var(--tournament-primary) 40%,transparent);border-radius:16px;max-width:500px;width:100%;padding:2.5rem;box-shadow:0 10px 50px #00000080,0 0 30px color-mix(in srgb,var(--tournament-secondary) 30%,transparent);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{color:var(--tournament-primary);font-size:1.75rem;margin-bottom:1rem;text-align:center}.modal-content p{color:#fffc;font-size:1.05rem;margin-bottom:2rem;text-align:center;line-height:1.6}.modal-actions{display:flex;gap:1rem;justify-content:center}.confirm-button,.cancel-button{flex:1;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border-radius:8px;border:2px solid;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;max-width:180px}.confirm-button{background:linear-gradient(135deg,color-mix(in srgb,var(--tournament-primary) 20%,transparent),color-mix(in srgb,var(--tournament-primary) 10%,transparent));border-color:var(--tournament-primary);color:var(--tournament-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.confirm-button:hover:not(:disabled){background:linear-gradient(135deg,color-mix(in srgb,var(--tournament-primary) 30%,transparent),color-mix(in srgb,var(--tournament-primary) 20%,transparent));box-shadow:0 6px 20px color-mix(in srgb,var(--tournament-secondary) 50%,transparent);transform:translateY(-2px)}.confirm-button.danger{background:linear-gradient(135deg,#ef444433,#ef44441a);border-color:#ef4444;color:#ef4444;box-shadow:0 4px 12px #ef44444d}.confirm-button.danger:hover:not(:disabled){background:linear-gradient(135deg,#ef44444d,#ef444433);box-shadow:0 6px 20px #ef444480;transform:translateY(-2px)}.confirm-button:disabled{opacity:.5;cursor:not-allowed}.cancel-button{background:#ffffff0d;border-color:#fff3;color:#fffc}.cancel-button:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.signup-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.signup-modal{background:#14141ef2;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 0 40px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.signup-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent)}.signup-modal-header h2{color:var(--tournament-primary);font-size:1.5rem;margin:0}.close-modal-btn{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;transition:color .2s;padding:.5rem}.close-modal-btn:hover{color:#fff}.signup-modal-body{padding:2rem}.signup-form-section{margin-bottom:2rem}.signup-form-section:last-child{margin-bottom:0}.signup-label{display:block;color:#fff;font-weight:600;margin-bottom:.5rem;font-size:1.05rem}.signup-label .required{color:#ef4444}.signup-label .optional{color:#ffffff80;font-weight:400;font-size:.9rem}.signup-hint{color:#fff9;font-size:.9rem;margin-bottom:1rem;line-height:1.4}.role-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.role-btn{background:#14141ecc;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);color:#fffc;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s}.role-btn:hover{border-color:var(--tournament-primary);background:color-mix(in srgb,var(--tournament-primary) 10%,transparent)}.role-btn.selected{background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);border-color:var(--tournament-primary);color:var(--tournament-primary)}.player-select{width:100%;background:#14141ecc;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);color:#fff;padding:.75rem;border-radius:8px;font-size:.95rem;cursor:pointer;transition:border-color .2s}.player-select:hover,.player-select:focus{border-color:var(--tournament-primary);outline:none}.player-select option{background:#14141e;color:#fff}.loading-players{color:#fff9;padding:1rem;text-align:center}.signup-modal-footer{display:flex;gap:1rem;padding:1.5rem 2rem;border-top:1px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent)}.cancel-btn{flex:1;padding:.75rem 1.5rem;font-size:1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cancel-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-signup-btn{flex:1;padding:.75rem 1.5rem;font-size:1rem;background:linear-gradient(135deg,#10b98133,#10b9811a);border:2px solid #10b981;border-radius:8px;color:#10b981;cursor:pointer;transition:all .3s ease;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #10b9814d;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.confirm-signup-btn:hover:not(:disabled){background:linear-gradient(135deg,#10b9814d,#10b98133);box-shadow:0 6px 20px #10b98180;transform:translateY(-2px)}.confirm-signup-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.page-tournament-detail{padding:1rem}.tournament-detail-card,.participants-section{padding:1.5rem}.tournament-detail-header{flex-direction:column}.tournament-detail-header h1{font-size:1.5rem}.tournament-detail-stats{grid-template-columns:1fr}.tournament-actions{flex-direction:column;gap:.75rem}.signup-button,.leave-button,.signed-up-badge,.obs-link-button{width:100%;justify-content:center;padding:1rem 1.5rem;font-size:1rem}.modal-content{padding:2rem 1.5rem}.modal-content h2{font-size:1.5rem}.modal-actions{flex-direction:column}.confirm-button,.cancel-button{max-width:100%;width:100%}.participant-card{flex-wrap:wrap}.participant-date{width:100%;text-align:left;margin-top:.5rem}.signup-modal{max-width:100%;max-height:100vh;border-radius:0}.role-selection{grid-template-columns:repeat(2,1fr)}.signup-modal-footer{flex-direction:column}}.brackets-container{width:100%;padding:3rem 1rem 1rem;background:#14141e66;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:12px;overflow:visible}.bracket-single-elimination{display:flex;gap:6rem;justify-content:center;align-items:stretch;overflow-x:auto;overflow-y:visible;padding:1.5rem 1rem 1rem;position:relative}.bracket-round{display:flex;flex-direction:column;min-width:200px;max-width:200px;position:relative;flex:1;overflow:visible}.bracket-round-label{font-size:1rem;font-weight:700;text-align:center;color:var(--tournament-primary);text-transform:uppercase;letter-spacing:1px;padding:.75rem;background:color-mix(in srgb,var(--tournament-primary) 15%,transparent);border:2px solid var(--tournament-primary);border-radius:6px;margin-bottom:2rem;flex-shrink:0}.bracket-matches{display:grid;grid-auto-flow:row;grid-auto-rows:minmax(120px,auto);gap:3rem;align-content:center;justify-items:stretch;min-height:100%;padding:2rem 0;overflow:visible}.bracket-match{position:relative;background:#1a1a1ae6;border:2px solid #333;border-radius:6px;overflow:visible;box-shadow:0 2px 8px #00000080;transition:all .3s ease}.match-number-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%) translateY(-100%);background:color-mix(in srgb,var(--tournament-primary) 90%,transparent);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border:2px solid var(--tournament-primary);box-shadow:0 2px 8px color-mix(in srgb,var(--tournament-secondary) 40%,transparent);z-index:10;white-space:nowrap}.bracket-team{position:relative;display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;background:#282828cc;border-bottom:1px solid #333;transition:all .3s ease;cursor:pointer;overflow:visible}.bracket-team.winner{background:#10b98133;border-left:4px solid #10b981}.bracket-team.live{background:#ef444433;animation:pulse-live 2s ease-in-out infinite}.bracket-team.eliminated{opacity:.5;background:#8080801a}.bracket-team.eliminated .team-name{text-decoration:line-through;color:#fff6}@keyframes pulse-live{0%,to{background:#ef444433}50%{background:#ef444459}}.team-info-wrapper{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.bracket-team .team-name{font-size:.8rem;font-weight:600;color:#fff;flex:1;white-space:normal;word-wrap:break-word;line-height:1.3;overflow:visible}.team-record{font-size:.7rem;font-weight:600;color:color-mix(in srgb,var(--tournament-primary) 90%,transparent);background:color-mix(in srgb,var(--tournament-primary) 15%,transparent);padding:.15rem .3rem;border-radius:3px;white-space:nowrap;flex-shrink:0;min-width:30px;text-align:center}.bracket-team .team-record{font-size:.7rem!important;padding:.15rem .3rem!important;min-width:30px!important}.match-live-indicator{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:4px;background:#ef4444e6;color:#fff;padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px}.bracket-double-elimination{display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:3rem 4rem;align-items:start;overflow-x:auto;min-height:600px;padding:1rem}.bracket-winners-row{grid-column:1;grid-row:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,auto);gap:6rem;align-items:start;justify-content:start}.bracket-losers-row{grid-column:1;grid-row:2;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,auto);gap:6rem;align-items:start;justify-content:start;padding-left:calc(220px + 6rem)}.bracket-section{width:100%;max-width:fit-content}.bracket-rounds-container{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,auto);gap:6rem;align-items:start;justify-content:start;overflow-x:visible;min-height:600px}.bracket-round{min-width:220px;display:grid;grid-template-rows:auto 1fr;gap:0;min-height:100%}.bracket-winners-row .bracket-round[data-round="1"] .bracket-matches{gap:2rem;align-content:start}.bracket-winners-row .bracket-round[data-round="2"] .bracket-matches{gap:6rem;align-content:center}.bracket-winners-row .bracket-round[data-round="3"] .bracket-matches,.bracket-winners-row .bracket-round[data-round="4"] .bracket-matches{gap:0;align-content:center}.bracket-losers-row .bracket-round[data-round="1"] .bracket-matches{gap:3rem;align-content:center}.bracket-losers-row .bracket-round[data-round="2"] .bracket-matches{gap:6rem;align-content:center}.bracket-losers-row .bracket-round[data-round="3"] .bracket-matches,.bracket-losers-row .bracket-round[data-round="4"] .bracket-matches{gap:0;align-content:center}.grand-finals-section{grid-column:2;grid-row:1 / 3;display:grid;grid-template-rows:auto 1fr;align-content:center;justify-self:start;min-width:400px;max-width:450px}.grand-finals-section .bracket-matches{display:grid;align-content:center;justify-items:center}.grand-finals-section .bracket-section-title{background:linear-gradient(135deg,#ffbf0033,color-mix(in srgb,var(--tournament-primary) 20%,transparent));border:2px solid #ffbf00;color:#ffbf00;font-size:1.75rem}.grand-finals-match .bracket-team .team-name{font-size:1.1rem}.bracket-section-title{font-family:TheRumIsGone,serif;font-size:1.8rem;text-align:center;margin-bottom:1rem;color:var(--tournament-primary);text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px color-mix(in srgb,var(--tournament-primary) 30%,transparent)}.round-robin-round{min-width:220px;max-width:240px;flex-shrink:0}.round-robin-round-label{font-size:.75rem;font-weight:700;text-align:center;color:var(--tournament-primary);text-transform:uppercase;letter-spacing:.5px;padding:.4rem .5rem;background:color-mix(in srgb,var(--tournament-primary) 15%,transparent);border:2px solid var(--tournament-primary);border-radius:6px;margin-bottom:.6rem}.round-robin-match .bracket-team{padding:.6rem .8rem;min-height:50px}.round-robin-match .team-name{font-size:.85rem;white-space:normal!important;word-wrap:break-word!important;line-height:1.3!important;overflow:visible!important}.teams-management-section{margin-bottom:20px;padding:15px;background:#ffffff05;border-radius:8px;border:1px solid rgba(255,255,255,.1);width:100%;max-width:1400px}.teams-management-section h3{margin:0 0 1rem;color:var(--tournament-primary);font-size:1rem}.teams-management-section .control-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.teams-management-section .control-buttons button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none;color:#fff}.teams-management-section .btn-obs-teams{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.teams-management-section .btn-obs-teams:hover{background:linear-gradient(135deg,#9d6ff8,#7c3aed)}.teams-management-section .btn-refresh-stats{background:linear-gradient(135deg,#3b82f6,#2563eb)}.teams-management-section .btn-refresh-stats:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.teams-management-section .btn-refresh-stats:disabled{opacity:.6;cursor:not-allowed}.tournament-teams-view{width:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;overflow:visible}.teams-admin-controls{margin-bottom:1.5rem;display:flex;justify-content:flex-end;gap:1rem}.btn-refresh-stats:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-primary) 40%,transparent)}.btn-refresh-stats:active:not(:disabled){transform:translateY(0)}.fa-spin{animation:fa-spin 1s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tournament-teams-view .teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;padding:1rem;width:100%;max-width:1400px;overflow:visible}.tournament-teams-view .team-card{background:#14141e99;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:8px;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column;gap:1.5rem;overflow:visible}.tournament-teams-view .team-card:hover{border-color:var(--tournament-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-secondary) 30%,transparent);transform:translateY(-2px)}.tournament-teams-view .team-header{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:2px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent)}.tournament-teams-view .team-name-display{font-size:1.3rem;font-weight:700;color:var(--tournament-primary);line-height:1.3;word-break:break-word;text-align:center}.participants-section .team-card{background:#14141e99;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:8px;padding:1.5rem 1.5rem 2rem;margin-bottom:1rem;transition:all .3s ease;display:grid;grid-template-columns:400px 800px;grid-template-rows:auto minmax(100px,auto);grid-template-areas:"info members" "meta meta";gap:2rem;overflow:visible!important;width:100%;max-width:1280px}.participants-section .team-card:hover{border-color:var(--tournament-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-secondary) 30%,transparent);transform:translateY(-2px)}.participants-section .team-header{display:contents}.participants-section .team-header .team-info{grid-area:info;padding-right:1.5rem;border-right:2px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent);max-width:100%;overflow:hidden}.participants-section .team-members{grid-area:members;max-width:100%}.participants-section .team-header .team-meta{grid-area:meta;width:100%;max-width:1150px;min-height:80px;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--tournament-primary) 15%,transparent);display:flex!important;visibility:visible!important;flex-direction:row;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:1;overflow:hidden}.participants-section .team-date{margin-bottom:0;flex-shrink:0}.participants-section .team-meta>div{display:flex!important;flex-direction:row;align-items:center;gap:12px;position:relative;z-index:2;flex-shrink:0}.participants-section .admin-modify-team-btn,.participants-section .admin-remove-team-btn{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;gap:6px;width:auto;min-width:150px;max-width:200px;min-height:36px;padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;position:relative;z-index:3;pointer-events:auto!important;white-space:nowrap}.participants-section .admin-modify-team-btn{background-color:#ff9500;color:#fff}.participants-section .admin-modify-team-btn:hover{background-color:#ff8000;box-shadow:0 2px 8px #ff95004d}.participants-section .admin-remove-team-btn{background-color:#dc3545;color:#fff}.participants-section .admin-remove-team-btn:hover{background-color:#c82333;box-shadow:0 2px 8px #dc35454d}.team-info{display:flex;flex-direction:column;gap:.5rem}.team-number{font-size:1.1rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.team-name{font-size:1rem;font-weight:600;color:var(--tournament-primary);line-height:1.3;word-break:break-word}.team-meta{display:flex;flex-direction:column;gap:.75rem}.team-date{color:#fff9;font-size:.85rem}.participants-section .team-members{display:grid;grid-template-columns:repeat(3,minmax(0,200px));gap:.6rem;grid-auto-rows:45px;overflow:hidden;max-width:660px;justify-content:start}.team-members{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;grid-auto-rows:45px;overflow:visible}.tournament-teams-view .team-members{grid-template-columns:1fr}.team-member{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:0 .5rem;background:#ffffff0d;border-radius:6px;border:1px solid color-mix(in srgb,var(--tournament-primary) 10%,transparent);transition:all .2s ease;min-height:45px;cursor:pointer;position:relative}.team-member:hover{background:#ffffff14;border-color:color-mix(in srgb,var(--tournament-primary) 30%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--tournament-secondary) 20%,transparent)}.member-info-left{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.team-member .member-icon{color:var(--tournament-primary);width:18px;flex-shrink:0}.team-member .crown-icon{color:#ffbf00}.team-member .captain-icon-small{color:#ffbf00;font-size:.85rem;flex-shrink:0}.member-flag{font-size:1rem;line-height:1;flex-shrink:0}.member-rank-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.member-nickname{flex:1;color:#ffffffe6;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.member-pp{color:var(--tournament-secondary);font-size:.75rem;font-weight:600;flex-shrink:0;white-space:nowrap}.guest-badge{background:#ffa50033;color:orange;font-size:.7rem;padding:.15rem .4rem;border-radius:4px;font-weight:600;text-transform:uppercase;flex-shrink:0;border:1px solid rgba(255,165,0,.3)}.member-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.member-nickname{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.country-code{color:#fff9;font-size:.85em;font-weight:400}.captain-icon-small{color:#ffbf00;font-size:.85rem;flex-shrink:0}.team-member.rank-tooltip{position:relative}.team-member.rank-tooltip[data-tooltip]:before{white-space:pre-line;border-color:var(--tournament-secondary);box-shadow:0 0 18px color-mix(in srgb,var(--tournament-secondary) 60%,transparent),inset 0 0 6px color-mix(in srgb,var(--tournament-secondary) 35%,transparent),0 4px 12px #00000080;text-align:left}.captain-badge{background:#ffbf0033;color:#ffbf00;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(255,191,0,.3)}.tournament-matches-view{width:100%;min-height:400px;display:flex;justify-content:center}.matches-list{display:flex;flex-direction:column;gap:1rem;padding:.5rem;width:100%;max-width:800px;margin:0 auto}.match-detail-card{background:#14141e99;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:8px;padding:.75rem .5rem;transition:all .3s ease;width:100%;max-width:750px;margin:0 auto}.match-detail-card:hover{border-color:var(--tournament-primary);box-shadow:0 4px 16px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.match-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent)}.match-detail-info{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.match-detail-badge{background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);color:var(--tournament-primary);padding:.4rem .8rem;border-radius:6px;font-size:.9rem;font-weight:700;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent)}.match-detail-round{color:#ffffffb3;font-size:.9rem;font-weight:600}.match-bracket-badge{padding:.3rem .7rem;border-radius:6px;font-size:.8rem;font-weight:600;text-transform:uppercase}.match-bracket-badge.winners{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.match-bracket-badge.losers{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.match-bracket-badge.grand_finals{background:#ffbf0033;color:#ffbf00;border:1px solid rgba(255,191,0,.3)}.match-winner-badge{padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;text-transform:uppercase;background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.match-format-badge{padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;background:color-mix(in srgb,var(--tournament-secondary) 25%,transparent);color:var(--tournament-secondary);border:1px solid color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.match-score-badge{padding:.4rem .9rem;border-radius:6px;font-size:.9rem;font-weight:700;background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.3);letter-spacing:.05em}.match-status-badge{padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;text-transform:uppercase}.match-status-badge.pending{background:#6b728033;color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.match-status-badge.in_progress{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3);animation:pulse-badge 2s ease-in-out infinite}.match-status-badge.completed{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.match-detail-teams{display:grid;grid-template-columns:auto auto auto;gap:0;align-items:start;justify-content:center;max-width:fit-content;margin:0 auto}.match-vs-divider{font-size:2rem;font-weight:900;color:var(--tournament-primary);padding:.75rem .25rem;align-self:center;text-shadow:0 0 10px color-mix(in srgb,var(--tournament-primary) 50%,transparent)}.match-detail-team{background:#ffffff05;border:2px solid rgba(255,255,255,.1);border-radius:6px;padding:.6rem;transition:all .3s ease;width:250px;min-width:250px;max-width:250px}.match-detail-team.winner{border-color:#10b981;background:#10b9810d;box-shadow:0 0 20px #10b98133}.match-team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.match-team-name{font-size:1rem;font-weight:700;color:#fffffff2}.winner-badge{background:#10b98133;color:#10b981;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;border:1px solid rgba(16,185,129,.4)}.match-team-roster{display:flex;flex-direction:column;gap:.35rem}.match-player{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#ffffff08;border-radius:6px;transition:background .2s ease}.match-player:hover{background:#ffffff0f}.match-player-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.captain-icon-small{color:#ffbf00;font-size:.75rem;flex-shrink:0}.match-player-name{color:#ffffffe6;font-size:.9rem;font-weight:500;white-space:normal;word-wrap:break-word;line-height:1.3}.match-player-rank{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.match-rank-icon{width:20px;height:20px;object-fit:contain}.match-rank-name{font-size:.8rem;color:#ffffffb3;white-space:nowrap}.match-game-time{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#ffffffb3;font-size:.9rem;font-weight:600}@media(max-width:968px){.match-detail-teams{grid-template-columns:1fr;gap:1rem}.match-vs-divider{text-align:center;padding:.5rem}}.match-obs-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent);display:flex;justify-content:center}.match-obs-button{background:color-mix(in srgb,var(--tournament-primary) 10%,transparent);border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);color:var(--tournament-primary);padding:.75rem 1.5rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;cursor:pointer}.match-obs-button:hover{background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);border-color:var(--tournament-primary);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.match-obs-button .obs-icon{font-size:1.1rem}.match-ingest-button{margin-left:.75rem;background:color-mix(in srgb,var(--tournament-secondary) 10%,transparent);border-color:color-mix(in srgb,var(--tournament-secondary) 30%,transparent);color:var(--tournament-secondary)}.match-ingest-button:hover{background:color-mix(in srgb,var(--tournament-secondary) 20%,transparent);border-color:var(--tournament-secondary);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.match-forfeit-button{margin-left:.75rem;background:#ef44441a;border-color:#ef44444d;color:#ef4444}.match-forfeit-button:hover{background:#ef444433;border-color:#ef4444;box-shadow:0 4px 12px #ef44444d}.match-popout-toggle{margin-top:1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--tournament-primary) 20%,transparent);display:flex;justify-content:center}.match-popout-toggle-btn{background:#ffffff08;border:2px solid rgba(255,255,255,.1);color:#ffffffb3;padding:.6rem 1.2rem;border-radius:6px;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;transition:all .3s ease;cursor:pointer}.match-popout-toggle-btn:hover{background:#ffffff0f;border-color:var(--tournament-primary);color:var(--tournament-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--tournament-primary) 20%,transparent)}.match-detail-popout{margin-top:1rem;padding:1.5rem;background:#0006;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:8px;animation:slideDown .3s ease-out}body:has(.tournament-bracket-obs){background:transparent!important}#root:has(.tournament-bracket-obs){background:transparent!important}.tournament-bracket-obs{--tournament-primary: #8b5cf6;--tournament-secondary: #c77dff;width:100vw;height:100vh;background:transparent;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;padding:0;overflow:hidden;box-sizing:border-box}.tournament-bracket-obs.loading,.tournament-bracket-obs.error{display:flex;align-items:center;justify-content:center}.obs-tournament-header{text-align:center;margin-bottom:40px;padding-bottom:20px;border-bottom:3px solid var(--tournament-primary)}.obs-tournament-title{font-family:TheRumIsGone,serif;font-size:48px;font-weight:800;margin:0 0 15px;text-transform:uppercase;letter-spacing:2px;color:#fff;text-shadow:0 0 20px color-mix(in srgb,var(--tournament-secondary) 50%,transparent)}.obs-tournament-info{display:flex;justify-content:center;gap:30px;font-size:20px;font-weight:600}.tournament-format{color:var(--tournament-primary);text-transform:uppercase;letter-spacing:1px}.tournament-team-size{color:#10b981;padding:4px 12px;background:#10b9814d;border-radius:4px;border:2px solid #10b981}.obs-bracket-container{width:100%;height:100%;overflow-x:auto;overflow-y:hidden;padding:0;display:flex;flex-direction:column}.obs-bracket-container .tournament-bracket-container{width:100%;margin-left:0!important;margin-right:0!important;padding:1rem;max-width:none;display:flex;justify-content:center;align-items:center}.obs-bracket-container .tournament-bracket-container>div{padding-left:2rem!important;padding-right:2rem!important;justify-content:center!important;margin:0 auto}.bracket-single-elimination{display:flex;gap:6rem;justify-content:center;align-items:stretch;position:relative}.bracket-round{display:flex;flex-direction:column;min-width:200px;max-width:200px;position:relative;flex:1}.bracket-round-label{font-size:1rem;font-weight:700;text-align:center;color:var(--tournament-primary);text-transform:uppercase;letter-spacing:1px;padding:.75rem;background:color-mix(in srgb,var(--tournament-secondary) 25%,transparent);border:2px solid var(--tournament-primary);border-radius:6px;margin-bottom:1rem;flex-shrink:0}.bracket-matches{display:flex;flex-direction:column;gap:4rem;justify-content:center;flex:1;overflow:visible}.bracket-match{position:relative;background:#1a1a1a;border:2px solid #444;border-radius:6px;overflow:visible;box-shadow:0 4px 12px #000c;transition:all .3s ease}.bracket-match:hover{border-color:var(--tournament-primary);box-shadow:0 0 15px color-mix(in srgb,var(--tournament-secondary) 40%,transparent)}.match-number-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%) translateY(-100%);background:var(--tournament-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border:2px solid var(--tournament-primary);box-shadow:0 2px 8px color-mix(in srgb,var(--tournament-secondary) 60%,transparent);z-index:10;white-space:nowrap}.bracket-team{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;background:#2a2a2a;border-bottom:1px solid #444;transition:all .3s ease}.bracket-team:last-child{border-bottom:none}.bracket-team.winner{background:#10b9814d;border-left:4px solid #10b981}.bracket-team.loser{background:#ef444433;border-left:4px solid #ef4444;opacity:.7}.bracket-team.live{background:#ef44444d;animation:pulse-live 2s ease-in-out infinite}@keyframes pulse-live{0%,to{background:#ef44444d}50%{background:#ef444480}}.team-name{font-size:.8rem;font-weight:600;color:#fff;flex:1;white-space:normal;word-wrap:break-word;line-height:1.3;overflow:visible}.bracket-team.winner .team-name{color:#10b981;font-weight:700}.bracket-team.loser .team-name{color:#ef4444;font-weight:600}.team-score{font-size:.7rem;font-weight:600;color:var(--tournament-primary);min-width:30px;text-align:right;padding:.15rem .3rem;background:color-mix(in srgb,var(--tournament-secondary) 15%,transparent);border-radius:3px}.bracket-team.winner .team-score{color:#10b981}.match-live-indicator{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:4px;background:#ef4444;color:#fff;padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px}.live-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.bracket-double-elimination{display:flex;flex-direction:column;gap:3rem}.bracket-section{width:100%}.bracket-section-title{font-size:1.5rem;font-weight:800;text-align:center;color:var(--tournament-primary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.5rem;padding:1rem;background:color-mix(in srgb,var(--tournament-secondary) 25%,transparent);border:2px solid var(--tournament-primary);border-radius:8px}.bracket-rounds-container{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.bracket-rounds-container .bracket-round{min-width:220px}.grand-finals-section{margin-top:2rem}.grand-finals-section .bracket-section-title{background:linear-gradient(135deg,#ffbf004d,color-mix(in srgb,var(--tournament-secondary) 30%,transparent));border:2px solid #ffbf00;color:#ffbf00;font-size:1.75rem}.grand-finals-match{max-width:400px;margin:0 auto;border:2px solid #ffbf00;box-shadow:0 0 20px #ffbf0066}.grand-finals-match .bracket-team{padding:1.25rem 1.5rem}.grand-finals-match .team-name{font-size:1.1rem}.grand-finals-match .team-score{font-size:1.75rem}.bracket-round-robin{width:100%;max-height:calc(100vh - 300px);overflow-y:auto}.bracket-section-title{font-family:TheRumIsGone,serif;font-size:1.8rem;text-align:center;margin-bottom:1rem;color:var(--tournament-primary);text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px color-mix(in srgb,var(--tournament-secondary) 30%,transparent)}.round-robin-rounds{display:flex;gap:.75rem;overflow-x:visible;padding:.5rem;justify-content:flex-start;flex-wrap:nowrap}.round-robin-round{min-width:180px;max-width:200px;flex-shrink:0}.round-robin-round-label{font-size:.75rem;font-weight:700;text-align:center;color:var(--tournament-primary);text-transform:uppercase;letter-spacing:.5px;padding:.4rem .5rem;background:color-mix(in srgb,var(--tournament-secondary) 25%,transparent);border:2px solid var(--tournament-primary);border-radius:6px;margin-bottom:.6rem}.round-robin-round-matches{display:flex;flex-direction:column;gap:.6rem}.round-robin-match{min-height:auto;font-size:.85rem}.round-robin-match .bracket-team{padding:.4rem .6rem}.round-robin-match .team-name{font-size:.85rem}.round-robin-match .match-number-badge{font-size:.65rem;padding:.2rem .5rem;top:-10px;transform:translate(-50%) translateY(-100%)}.bracket-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;background:#1a1a1af2;border:2px solid #444;border-radius:12px;padding:60px}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.6;line-height:1;color:var(--tournament-primary)}.bracket-empty p{font-size:24px;font-weight:600;opacity:1;color:#fffc}.obs-bracket-container::-webkit-scrollbar{width:8px}.obs-bracket-container::-webkit-scrollbar-track{background:#28282880;border-radius:4px}.obs-bracket-container::-webkit-scrollbar-thumb{background:var(--tournament-primary);border-radius:4px}.obs-bracket-container::-webkit-scrollbar-thumb:hover{background:var(--tournament-primary)}@media(max-width:1280px){.tournament-bracket-obs{width:1280px;height:720px;padding:30px}.obs-tournament-title{font-size:36px}.obs-tournament-info,.bracket-round-label,.team-name{font-size:16px}.team-score{font-size:20px}}body:has(.tournament-teams-obs){background:transparent!important}#root:has(.tournament-teams-obs){background:transparent!important}.tournament-teams-obs{width:1920px;height:1080px;background:transparent;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;padding:40px;overflow:hidden;box-sizing:border-box;--tournament-primary: #8b5cf6;--tournament-secondary: #c77dff}.tournament-teams-obs.loading,.tournament-teams-obs.error{display:flex;align-items:center;justify-content:center}.loading-spinner{font-size:48px;color:var(--tournament-primary);display:flex;align-items:center;justify-content:center}.spinner-icon{animation:spin 1s linear infinite}.error-message{text-align:center;color:#ffffffe6;background:#1a1a1af2;border:2px solid #ef4444;border-radius:12px;padding:60px}.error-icon{font-size:64px;margin-bottom:20px;line-height:1;color:#ef4444}.error-message p{font-size:24px;font-weight:600;margin:10px 0;color:#fff}.error-subtitle{font-size:16px!important;color:#fff9!important;font-weight:400!important}.obs-teams-container{width:100%;height:100%;overflow:visible;display:flex;justify-content:center;align-items:center}.teams-grid{display:grid;gap:20px;padding:10px;width:100%;max-width:1900px;justify-items:center}.team-card{background:#1a1a1ae6;border:2px solid #333;border-radius:8px;padding:.75rem;transition:all .3s ease;position:relative;overflow:hidden;width:100%;max-width:400px}.team-card.eliminated{opacity:.6;border-color:#666}.team-card.forfeited{opacity:.5;border-color:#8b0000}.team-card.active:hover{border-color:var(--tournament-primary);box-shadow:0 0 20px color-mix(in srgb,var(--tournament-primary) 40%,transparent);transform:translateY(-2px)}.team-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent);min-height:60px}.team-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.team-number{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:1px}.team-name{font-size:.95rem;font-weight:700;color:var(--tournament-primary);line-height:1.2;min-height:2rem}.team-record{font-size:1.25rem;font-weight:800;color:#fff;background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);padding:.4rem .8rem;border-radius:8px;border:2px solid color-mix(in srgb,var(--tournament-primary) 50%,transparent)}.team-status-badge{position:absolute;top:1rem;right:1rem;background:#f003;color:#f44;font-size:.75rem;font-weight:700;text-transform:uppercase;padding:.25rem .75rem;border-radius:4px;border:1px solid #ff4444;letter-spacing:1px}.team-card.eliminated .team-status-badge{background:#80808033;color:#888;border-color:#888}.team-members-list{display:flex;flex-direction:column;gap:.25rem}.team-member-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;background:#ffffff08;border-radius:4px;border-left:2px solid transparent;transition:all .2s ease}.team-member-item:hover{background:#ffffff0f;border-left-color:var(--tournament-secondary)}.captain-icon{color:#ffbf00;font-size:.875rem;flex-shrink:0}.member-name{color:#ffffffe6;font-size:.95rem;font-weight:500}.teams-empty{text-align:center;padding:100px 40px;color:#fff9;background:#1a1a1acc;border-radius:12px}.empty-icon{font-size:64px;margin-bottom:20px;color:color-mix(in srgb,var(--tournament-primary) 30%,transparent)}.teams-empty p{font-size:24px;margin:0;font-weight:600}body:has(.tournament-match-obs-single){background:transparent!important}#root:has(.tournament-match-obs-single){background:transparent!important}.tournament-match-obs-single{width:100vw;height:100vh;background:transparent;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;overflow:hidden;box-sizing:border-box;display:flex;align-items:center;justify-content:center;--tournament-primary: #8b5cf6;--tournament-secondary: #c77dff}.single-match-container{width:100%;max-width:1200px;padding:2rem;display:flex;justify-content:center;align-items:center}.match-card-single{background:#14141ef2;border:3px solid var(--tournament-primary);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #000c,0 0 40px color-mix(in srgb,var(--tournament-primary) 40%,transparent);transition:all .3s ease;width:100%}.match-card-single.in-progress{border-color:#ef4444;box-shadow:0 8px 32px #000c,0 0 40px #ef444499;animation:pulse-border 2s ease-in-out infinite}@keyframes pulse-border{0%,to{box-shadow:0 8px 32px #000c,0 0 40px #ef444499}50%{box-shadow:0 8px 32px #000c,0 0 60px #ef4444e6}}.match-header-single{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid color-mix(in srgb,var(--tournament-primary) 40%,transparent)}.match-info-badges{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.match-number-badge-obs{background:var(--tournament-primary);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border:2px solid var(--tournament-primary);box-shadow:0 0 15px color-mix(in srgb,var(--tournament-primary) 50%,transparent)}.match-format-badge-obs{background:color-mix(in srgb,var(--tournament-secondary) 20%,transparent);color:var(--tournament-secondary);padding:.5rem 1rem;border-radius:8px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:2px solid var(--tournament-secondary)}.match-score-badge-obs{background:#ffffff1a;color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:1.25rem;font-weight:900;letter-spacing:1px;border:2px solid rgba(255,255,255,.3)}.match-teams-single{display:flex;align-items:stretch;justify-content:space-between;gap:2rem}.team-side-single{flex:1;background:#ffffff0d;padding:1.5rem;border-radius:12px;border:2px solid rgba(255,255,255,.1);transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.team-side-single.winner{border-color:#10b981;background:#10b98126;box-shadow:0 0 30px #10b9814d}.team-header-single{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1);gap:1rem}.team-side-single.winner .team-header-single{border-bottom-color:#10b9814d}.team-name-single{font-size:1.75rem;font-weight:800;color:#fff;line-height:1.2;word-break:break-word;flex:1}.team-side-single.winner .team-name-single{color:#10b981;text-shadow:0 0 15px rgba(16,185,129,.5)}.winner-badge-obs{background:#10b981;color:#fff;padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;box-shadow:0 0 15px #10b98180}.team-roster-single{display:flex;flex-direction:column;gap:.5rem}.team-player-single{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffffff0d;border-radius:8px;border-left:3px solid transparent;transition:all .2s ease}.team-side-single.winner .team-player-single{border-left-color:#10b98180;background:#10b98114}.player-info-single{display:flex;align-items:center;gap:.5rem;flex:1}.captain-icon-obs{color:#ffbf00;font-size:.9rem;flex-shrink:0}.player-name-single{color:#fff;font-size:1rem;font-weight:600}.team-side-single.winner .player-name-single{color:#10b981}.player-rank-single{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#0000004d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.rank-icon-obs{width:24px;height:24px;flex-shrink:0;object-fit:contain}.rank-name-obs{color:#ffffffe6;font-size:.85rem;font-weight:600;white-space:nowrap}.vs-divider-single{font-size:2.5rem;font-weight:900;color:var(--tournament-primary);text-shadow:0 0 20px color-mix(in srgb,var(--tournament-primary) 50%,transparent);flex-shrink:0;display:flex;align-items:center}.tournament-matches-obs{width:1920px;height:1080px;background:transparent;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;padding:40px;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column;--tournament-primary: #8b5cf6;--tournament-secondary: #c77dff}.obs-matches-header{margin-bottom:30px;text-align:center;background:#14141ecc;padding:20px;border-radius:12px;border:2px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent)}.obs-matches-title{font-family:TheRumIsGone,serif;font-size:48px;font-weight:800;margin:0 0 15px;text-transform:uppercase;letter-spacing:2px;color:#fff;text-shadow:0 0 20px color-mix(in srgb,var(--tournament-secondary) 50%,transparent)}.obs-tournament-info{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.tournament-format{background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);color:var(--tournament-primary);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent)}.obs-matches-container{width:100%;height:calc(100% - 120px);overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;align-items:flex-start}.matches-list{display:flex;flex-direction:column;gap:15px;padding:10px;width:100%;max-width:1600px}.match-card{background:#1a1a1af2;border:2px solid #333;border-radius:8px;padding:1rem;transition:all .3s ease}.match-card.in-progress{border-color:#ef4444;box-shadow:0 0 20px #ef44444d}.match-card.completed{opacity:.7;border-color:#666}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid color-mix(in srgb,var(--tournament-primary) 30%,transparent)}.match-info-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.match-round{font-size:1rem;font-weight:700;color:#fffc}.bracket-badge{padding:.35rem .65rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.bracket-badge.winners{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.bracket-badge.losers{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.bracket-badge.grand_finals{background:#ffbf0033;color:#ffbf00;border:1px solid rgba(255,191,0,.3)}.status-badge{padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.pending{background:#6b728033;color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.status-badge.in-progress{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3);animation:pulse 2s ease-in-out infinite}.status-badge.completed{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-badge.forfeited{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.match-teams{display:flex;align-items:center;gap:1.5rem}.team-side{flex:1;background:#ffffff08;padding:1rem;border-radius:6px;border:2px solid transparent;transition:all .2s ease}.team-side.winner{border-color:#10b981;background:#10b9811a}.team-name-wrapper{display:flex;justify-content:space-between;align-items:center;gap:1rem}.team-name{font-size:1.25rem;font-weight:700;color:#fff;flex:1}.team-side.winner .team-name{color:#10b981}.team-score{font-size:1.5rem;font-weight:800;color:var(--tournament-primary);background:color-mix(in srgb,var(--tournament-primary) 20%,transparent);padding:.35rem .75rem;border-radius:6px;border:2px solid color-mix(in srgb,var(--tournament-primary) 50%,transparent)}.vs-divider{font-size:1.5rem;font-weight:800;color:var(--tournament-primary);flex-shrink:0}.matches-empty{text-align:center;padding:4rem 2rem;color:#fff9}.empty-icon{font-size:4rem;color:color-mix(in srgb,var(--tournament-primary) 30%,transparent);margin-bottom:1rem}.matches-empty p{font-size:1.5rem;font-weight:600}.tournament-matches-obs.loading,.tournament-matches-obs.error{display:flex;justify-content:center;align-items:center}.loading-spinner,.error-message{text-align:center}.spinner-icon{font-size:4rem;color:var(--tournament-primary);animation:spin 1s linear infinite}.error-icon{font-size:4rem;color:#ef4444;margin-bottom:1rem}.error-message p{font-size:1.5rem;font-weight:600;color:#ffffffe6;margin:.5rem 0}.error-subtitle{font-size:1rem!important;color:#fff9!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.obs-matches-container::-webkit-scrollbar{width:8px}.obs-matches-container::-webkit-scrollbar-track{background:#0003;border-radius:4px}.obs-matches-container::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--tournament-primary) 30%,transparent);border-radius:4px}.obs-matches-container::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--tournament-primary) 50%,transparent)}.draft-landing{max-width:1200px;margin:0 auto;padding:2rem}.draft-landing-header{text-align:center;margin-bottom:3rem}.draft-landing-header h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary, #ffffff)}.rum-title{font-family:TheRumIsGone,Courier New,monospace;font-size:2.5rem;letter-spacing:.05em;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:1.5rem}.draft-tabs{display:flex;gap:0;justify-content:center;margin-bottom:2rem;border-top:2px solid #9d4edd}.btn-tab{padding:.75rem 1.5rem;background:#9d4edd1a;border:1px solid #9d4edd;border-top:none;color:#fff9;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;border-radius:0;position:relative}.btn-tab+.btn-tab{margin-left:-1px}.btn-tab:first-child{border-radius:0 0 0 6px}.btn-tab:last-child{border-radius:0 0 6px}.btn-tab:hover{background:#9d4edd33;color:#ffffffe6;box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59;z-index:1}.btn-tab.active{background:#9d4edd4d;color:#9d4edd;z-index:2}.draft-landing-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.draft-section{background:var(--card-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:12px;padding:2rem;text-align:center;transition:transform .2s,box-shadow .2s}.draft-section:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.draft-section-icon{font-size:3rem;margin-bottom:1rem}.draft-create-section .draft-section-icon{color:#4ade80}.draft-join-section .draft-section-icon{color:#9d4edd}.draft-section h2{font-size:1.5rem;margin-bottom:.75rem;color:var(--text-primary, #ffffff)}.draft-section p{color:var(--text-secondary, rgba(255, 255, 255, .7));margin-bottom:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#9d4edd,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #9d4edd66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--card-bg, #2a2a2a);border:1px solid var(--border-color, #444);color:var(--text-primary, #ffffff)}.btn-secondary:hover{background:var(--hover-bg, #333)}.draft-join-form{display:flex;flex-direction:column;gap:1rem}.draft-code-input{padding:.75rem;border:2px solid var(--border-color, #333);border-radius:8px;background:var(--input-bg, #0a0a0a);color:var(--text-primary, #ffffff);font-size:1.25rem;text-align:center;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.draft-code-input:focus{outline:none;border-color:#9d4edd}.draft-history-section{background:var(--card-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:12px;padding:2rem}.draft-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.draft-history-header h2{font-size:1.5rem;color:var(--text-primary, #ffffff);display:flex;align-items:center;gap:.5rem}.draft-history-loading,.draft-history-empty{text-align:center;padding:3rem;color:var(--text-secondary, rgba(255, 255, 255, .7))}.draft-history-empty i{font-size:3rem;margin-bottom:1rem;display:block;opacity:.5}.draft-history-list{display:grid;gap:1rem}.draft-history-item{background:var(--item-bg, #0a0a0a);border:1px solid var(--border-color, #333);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.draft-history-item:hover{border-color:#9d4edd;transform:translate(4px)}.draft-history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.draft-code{font-size:1.25rem;font-weight:700;letter-spacing:.1em;color:var(--text-primary, #ffffff)}.draft-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-completed{background:#4ade8033;color:#4ade80}.status-in-progress{background:#fbbf2433;color:#fbbf24}.status-waiting{background:#9d4edd33;color:#9d4edd}.draft-history-item-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-bottom:.75rem}.draft-info-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .7))}.draft-info-row i{opacity:.6}.draft-history-item-footer{text-align:right}.view-draft-link{color:#9d4edd;font-weight:600;font-size:.9rem}.draft-login-prompt{text-align:center;padding:2rem;background:var(--card-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:12px;color:var(--text-secondary, rgba(255, 255, 255, .7))}.draft-login-prompt i{font-size:2rem;margin-bottom:1rem;display:block;opacity:.6}@media(max-width:768px){.draft-landing-content,.draft-history-item-info{grid-template-columns:1fr}}.draft-history-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.btn-pagination{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--card-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:6px;color:var(--text-primary, #ffffff);cursor:pointer;transition:all .2s}.btn-pagination:hover:not(:disabled){background:var(--border-color, #333);transform:translateY(-2px)}.btn-pagination:disabled{opacity:.3;cursor:not-allowed}.pagination-info{color:var(--text-secondary, rgba(255, 255, 255, .7));font-size:.9rem}.draft-header-right{display:flex;align-items:center;gap:.5rem}.btn-close-draft{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:4px;color:#ff3b30;cursor:pointer;transition:all .2s}.btn-close-draft:hover{background:#ff3b3033;border-color:#ff3b3080;transform:scale(1.1)}.spinning{animation:spin 1s linear infinite}.draft-info-row,.btn-secondary{display:flex;align-items:center;gap:.5rem}.status-abandoned{background:#80808033;border-color:#80808080;color:#888}.player-hover-card{position:absolute;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:2px solid var(--border-color, #444);border-radius:8px;padding:1rem;min-width:250px;box-shadow:0 8px 24px #0009;z-index:1000;pointer-events:none;opacity:1;transition:opacity .15s ease-in-out}.player-hover-card.hidden{opacity:0;pointer-events:none}.player-hover-card.top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:10px}.player-hover-card.bottom{top:100%;left:50%;transform:translate(-50%);margin-top:10px}.player-hover-card.left{right:100%;top:50%;transform:translateY(-50%);margin-right:10px}.player-hover-card.right{left:100%;top:50%;transform:translateY(-50%);margin-left:10px}.hover-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #333)}.player-rank{display:flex;align-items:center;gap:.5rem}.player-rank i{color:#fbbf24;font-size:1rem}.rank-name{font-weight:700;color:var(--text-primary, #ffffff);font-size:.95rem}.player-pp{display:flex;align-items:baseline;gap:.25rem}.pp-value{font-weight:700;font-size:1.1rem;color:#667eea}.pp-label{font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .6));font-weight:600}.hover-card-heroes{margin-top:.75rem}.heroes-title{font-size:.8rem;font-weight:600;color:var(--text-secondary, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.heroes-list{display:flex;flex-direction:column;gap:.5rem}.hero-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--item-bg, rgba(0, 0, 0, .3));border-radius:6px;border:1px solid var(--border-color, #333)}.hero-name{font-weight:600;color:var(--text-primary, #ffffff);font-size:.9rem}.hero-stats{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.hero-games{color:var(--text-secondary, rgba(255, 255, 255, .7));font-weight:500}.hero-record{color:var(--text-secondary, rgba(255, 255, 255, .8));font-weight:500}.hero-wr{font-weight:700;padding:.125rem .375rem;border-radius:4px}.hero-wr.positive{color:#4ade80;background:#4ade801a}.hero-wr.negative{color:#f87171;background:#f871711a}.hover-card-loading{display:flex;justify-content:center;align-items:center;padding:1rem;color:var(--text-secondary, rgba(255, 255, 255, .6))}.hover-card-loading i{font-size:1.5rem}.hover-card-error{display:flex;align-items:center;gap:.5rem;padding:.75rem;color:#ef4444;font-size:.9rem}.hover-card-error i{font-size:1rem}.no-heroes{text-align:center;padding:1rem;color:var(--text-secondary, rgba(255, 255, 255, .5));font-size:.85rem;font-style:italic}.draft-settings-modal{background:linear-gradient(180deg,#1a1625,#0f0d15);border:2px solid #9b59b6;border-radius:12px;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #9b59b64d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(155,89,182,.3)}.modal-header h2{color:#9b59b6;font-size:1.5rem;margin:0;display:flex;align-items:center;gap:10px}.close-btn{background:transparent;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:5px 10px;transition:color .2s}.close-btn:hover{color:#fff}.modal-content{padding:24px}.settings-section{margin-bottom:30px}.settings-section h3{color:#fff;font-size:1.1rem;margin-bottom:15px;display:flex;align-items:center;gap:10px}.settings-section h3 i{color:#9b59b6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#ccc;font-size:.9rem;font-weight:500}.form-group input[type=text],.form-group input[type=url]{background:#ffffff0d;border:1px solid rgba(155,89,182,.3);border-radius:6px;padding:10px 12px;color:#fff;font-size:.95rem;transition:all .2s}.form-group input[type=text]:focus,.form-group input[type=url]:focus{outline:none;border-color:#9b59b6;background:#ffffff14}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:#fff;font-size:1rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#9b59b6}.lobby-size-selector,.bans-selector{display:flex;gap:10px;flex-wrap:wrap}.size-btn,.ban-count-btn{background:#ffffff0d;border:2px solid rgba(155,89,182,.3);border-radius:6px;padding:10px 20px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:60px}.size-btn:hover,.ban-count-btn:hover{background:#9b59b633;border-color:#9b59b6}.size-btn.active,.ban-count-btn.active{background:#9b59b6;border-color:#9b59b6;box-shadow:0 0 15px #9b59b680}.settings-info{background:#9b59b61a;border:1px solid rgba(155,89,182,.3);border-radius:6px;padding:12px 16px;display:flex;align-items:flex-start;gap:10px;color:#ccc;font-size:.9rem;margin-top:20px}.settings-info i{color:#9b59b6;font-size:1.1rem;flex-shrink:0;margin-top:2px}.modal-footer{padding:20px 24px;border-top:1px solid rgba(155,89,182,.3);display:flex;justify-content:flex-end;gap:12px}.btn-cancel,.btn-save{padding:10px 24px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:#ffffff0d;color:#fff;border:1px solid rgba(155,89,182,.3)}.btn-cancel:hover{background:#ffffff1a}.btn-save{background:#9b59b6;color:#fff}.btn-save:hover:not(:disabled){background:#8e44ad;box-shadow:0 0 15px #9b59b680}.btn-save:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:6px;padding:12px 16px;margin:16px 24px;color:#e74c3c;display:flex;align-items:center;gap:10px}.success-message{background:#2ecc711a;border:1px solid rgba(46,204,113,.3);border-radius:6px;padding:12px 16px;margin:16px 24px;color:#2ecc71;display:flex;align-items:center;gap:10px}.loading-spinner{padding:40px;text-align:center;color:#9b59b6;font-size:1.1rem}@media(max-width:768px){.draft-settings-modal{width:95%;max-height:95vh}.form-row{grid-template-columns:1fr}.modal-header h2{font-size:1.3rem}.lobby-size-selector,.bans-selector{justify-content:space-between}.size-btn,.ban-count-btn{flex:1;min-width:50px}}.file-upload-container{margin:10px 0}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.icon-preview{margin:15px 0;padding:15px;background:#9b59b61a;border:2px solid rgba(155,89,182,.3);border-radius:8px;display:flex;justify-content:center;align-items:center}.icon-preview img{max-width:150px;max-height:150px;object-fit:contain;border-radius:4px}.url-label{display:block;margin-top:15px;margin-bottom:5px;font-size:.85rem;color:#888}.slot-hidden{display:none!important}.draft-lobby{max-width:1400px;margin:0 auto;padding:2rem;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.draft-lobby-loading,.draft-lobby-error{text-align:center;padding:4rem 2rem}.draft-lobby-loading i,.draft-lobby-error i{font-size:3rem;margin-bottom:1rem;display:block}.draft-lobby-loading{color:var(--text-secondary, rgba(255, 255, 255, .7))}.draft-lobby-error{color:#ef4444}.draft-lobby-header{text-align:center;margin-bottom:2rem}.draft-lobby-header h1{font-size:2rem;margin-bottom:1rem;color:var(--text-primary, #ffffff)}.rum-title{font-family:TheRumIsGone,Courier New,monospace;font-size:3rem;letter-spacing:.05em;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.invite-code-display{display:inline-flex;align-items:center;gap:1rem;background:var(--card-bg, #1a1a1a);border:2px solid var(--border-color, #333);border-radius:12px;padding:1rem 1.5rem}.invite-label{color:var(--text-secondary, rgba(255, 255, 255, .7));font-weight:600;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.invite-code{font-size:1rem;font-weight:600;letter-spacing:.02em;color:#667eea;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;word-break:break-all}.purple-code{color:#a855f7!important;text-shadow:0 0 10px rgba(168,85,247,.5)}.btn-copy{background:var(--card-bg, #2a2a2a);border:1px solid var(--border-color, #444);color:var(--text-primary, #ffffff);padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s}.btn-copy:hover{background:var(--hover-bg, #333);transform:scale(1.1)}.draft-lobby-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;margin-bottom:2rem;align-items:start}.team-section{background:var(--card-bg, #1a1a1a);border:2px solid var(--border-color, #333);border-radius:12px;padding:1.5rem}.amber-team{border-color:#ffbf004d}.sapphire-team{border-color:#0f52ba4d}.team-header{margin-bottom:1.5rem}.team-header h2{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:2rem;color:var(--text-primary, #ffffff);font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.team-icon{font-size:1.25rem}.team-icon-img{width:60px;height:60px;object-fit:contain}.sapphire-team .team-icon-img{transform:scaleX(-1)}.amber-icon{color:#ffbf00}.sapphire-icon{color:#0f52ba}.vs-section{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.5rem;padding-top:4rem}.vs-text{font-size:4rem;margin:0;color:#a855f7;text-shadow:0 0 20px rgba(168,85,247,.5)}.btn-captain-ready{padding:.75rem 2rem;border:2px solid #22c55e;background:var(--card-bg, #2a2a2a);color:#22c55e;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 0 20px #22c55e99;position:relative;z-index:100;pointer-events:auto}.btn-captain-ready:hover{background:#22c55e1a;transform:scale(1.05);box-shadow:0 0 30px #22c55ecc}.btn-configure{padding:.75rem 2rem;border:2px solid #a855f7;background:var(--card-bg, #2a2a2a);color:#a855f7;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;white-space:nowrap;box-shadow:0 0 15px #a855f766}.btn-configure:hover{background:#a855f71a;transform:scale(1.05);box-shadow:0 0 20px #a855f799}.team-slots{display:grid;gap:.75rem}.team-slot{background:#0a0a0acc;border:2px solid var(--border-color, #333);border-radius:8px;padding:.4rem .75rem;transition:all .2s;min-height:fit-content}.team-slot.empty{cursor:pointer;border-style:dashed;color:var(--text-secondary, rgba(255, 255, 255, .5))}.slot-content{display:flex;flex-direction:column;width:100%;height:100%}.empty-slot-content{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0;min-height:40px}.team-slot.empty:hover{border-color:#a855f7;background:#a855f71a;color:#a855f7}.team-slot.filled{background:#1a1a1ae6;border:2px solid rgba(184,134,11,.6);position:relative}.amber-team .team-slot.filled{border-color:#fbbf2499;box-shadow:0 0 8px #fbbf2433}.sapphire-team .team-slot.filled{border-color:#3b82f699;box-shadow:0 0 8px #3b82f633}.btn-leave-slot{margin-left:auto;background:#ef4444f2;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s;flex-shrink:0;box-shadow:0 2px 6px #0000004d;z-index:10;position:relative;pointer-events:auto}.btn-leave-slot:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 2px 10px #ef4444b3}.btn-captain-remove{margin-left:.5rem;background:#dc2626e6;border:2px solid rgba(220,38,38,.5);color:#fff;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;font-size:.9rem;z-index:10;position:relative;pointer-events:auto}.btn-captain-remove:hover{background:#991b1b;border-color:#dc2626;transform:scale(1.15);box-shadow:0 2px 12px #dc2626cc}.btn-captain-remove:active{transform:scale(1.05)}.team-slot.ready{border-color:#4ade80;background:#4ade800d}.player-info{display:flex;flex-direction:column;gap:0;width:100%}.player-info-row{display:flex;align-items:center;gap:.75rem;width:100%;flex-wrap:nowrap}.player-avatar{width:40px;height:40px;border-radius:6px;flex-shrink:0;border:2px solid rgba(255,255,255,.1)}.player-name{font-weight:600;font-size:.95rem;color:var(--text-primary, #ffffff);flex:0 1 auto;text-align:left;overflow:visible;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.captain-badge{background:transparent;color:#fbbf24;padding:0 0 0 48px;border-radius:0;font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:.25rem;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1}.captain-amber{color:#fbbf24}.captain-sapphire{color:#3b82f6}.ready-indicator{margin-top:.5rem;color:#4ade80;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.spectators-section{background:var(--card-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.spectators-section h3{color:var(--text-primary, #ffffff);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.spectators-list{display:flex;flex-wrap:wrap;gap:.75rem}.spectator-item{display:flex;align-items:center;gap:.5rem;background:var(--item-bg, #0a0a0a);border:1px solid var(--border-color, #333);padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.spectator-item img{width:24px;height:24px;border-radius:50%}.draft-lobby-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-ready{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;background:var(--card-bg, #2a2a2a);border:2px solid #4ade80;color:#4ade80}.btn-ready:hover{background:#4ade801a;transform:scale(1.05)}.btn-ready.ready{background:#4ade80;color:#0a0a0a}.btn-ready.ready:hover{background:#22c55e}.btn-start-draft{padding:1rem 3rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.btn-start-draft:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px #667eea99}.btn-start-draft:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media(max-width:1024px){.draft-lobby-teams{grid-template-columns:1fr}}@media(max-width:768px){.draft-lobby{padding:1rem}.invite-code-display{flex-direction:column;gap:.5rem}.invite-code{font-size:1.25rem}}.draft-interface{max-width:1600px;margin:0 auto;padding:1rem}.phase-steps-bar{display:flex;gap:.25rem;margin-bottom:0;padding:.5rem;background:var(--card-bg, #1a1a1a);border:2px solid var(--border-color, #333);border-radius:8px 8px 0 0;border-bottom:none;overflow-x:auto}.phase-step{flex:1;min-width:60px;padding:.5rem;text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;border:2px solid transparent;background:var(--item-bg, #0a0a0a);color:var(--text-secondary, rgba(255, 255, 255, .5));transition:all .2s}.phase-step.ban{border-color:#ef44444d}.phase-step.pick{border-color:#22c55e4d}.phase-step.amber{border-color:#ffbf0066}.phase-step.sapphire{border-color:#3b82f666}.phase-step.active{background:#9d4edd33;color:var(--text-primary, #ffffff);box-shadow:0 0 12px #9d4edd66;transform:scale(1.05)}.phase-step.active.amber{border-color:#ffbf00;background:#ffbf0033;box-shadow:0 0 12px #ffbf0066}.phase-step.active.sapphire{border-color:#3b82f6;background:#3b82f633;box-shadow:0 0 12px #3b82f666}.phase-step.completed{opacity:.5;background:var(--item-bg, #0a0a0a)}.team-heroes-header{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.team-heroes-header.amber{align-items:flex-start}.team-heroes-header.sapphire{align-items:flex-end}.picks-row,.bans-row{display:flex;gap:.4rem}.team-heroes-header.sapphire .picks-row,.team-heroes-header.sapphire .bans-row{flex-direction:row-reverse}.hero-icon-small{width:60px;height:85px;border-radius:8px;overflow:visible;border:none;position:relative;flex-shrink:0;background:var(--card-bg, #1a1a1a);outline:1px solid}.hero-icon-small.empty{outline-color:#fff3;background:#ffffff0d}.team-heroes-header.amber .hero-icon-small.ban-slot.empty{outline-color:#ffbf0099;background:#ffbf001a}.team-heroes-header.amber .hero-icon-small.banned{outline-color:#ef4444;filter:grayscale(30%);box-shadow:0 0 15px #ef444480}.team-heroes-header.amber .hero-icon-small.picked{outline-color:#ffbf0099}.team-heroes-header.sapphire .hero-icon-small.ban-slot.empty{outline-color:#0f52ba99;background:#0f52ba1a}.team-heroes-header.sapphire .hero-icon-small.banned{outline-color:#ef4444;filter:grayscale(30%);box-shadow:0 0 15px #ef444480}.team-heroes-header.sapphire .hero-icon-small.picked{outline-color:#0f52ba99}.hero-icon-small.preview{opacity:.7;outline-color:#9d4edd;background:#9d4edd1a;box-shadow:0 0 10px #9d4edd4d}.hero-icon-small img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(1.15)}.draft-interface-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:var(--text-secondary, rgba(255, 255, 255, .9))}.draft-interface-loading .loading-content{text-align:center;padding:3rem;background:#1a1a1acc;border:2px solid rgba(255,255,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.draft-interface-loading i{font-size:3.5rem;margin-bottom:1.5rem;display:block;color:var(--primary-color, #4CAF50)}.draft-interface-loading p{font-size:1.25rem;font-weight:500;margin:0}.draft-interface-loading .loading-hint{margin-top:1rem;font-size:.9rem;color:#fff9;font-style:italic}.draft-header{background:var(--card-bg, #1a1a1a);border:2px solid var(--border-color, #333);border-radius:0 0 12px 12px;border-top:none;padding:.75rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.timer-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.timer-boxes{display:flex;gap:1rem;align-items:center}.timer-box{width:110px;padding:.75rem;border-radius:8px;border:2px solid;text-align:center;display:flex;flex-direction:column;gap:.35rem;transition:all .3s;opacity:.6}.timer-box.active{opacity:1;box-shadow:0 0 15px #0000004d}.timer-box.amber{background:#8b743a33;border-color:#ffbf0080}.timer-box.amber.active{background:#8b743a66;border-color:#ffbf00;box-shadow:0 0 15px #ffbf004d}.timer-box.sapphire{background:#0f52ba33;border-color:#0f52ba80}.timer-box.sapphire.active{background:#0f52ba66;border-color:#0f52ba;box-shadow:0 0 15px #0f52ba4d}.timer-box.using-reserve{animation:pulse-reserve 1s ease-in-out infinite}.timer-box.amber.using-reserve,.timer-box.sapphire.using-reserve{border-color:#fbbf24;box-shadow:0 0 20px #fbbf2480}.timer-box.using-reserve .timer-box-label{color:#fbbf24;font-weight:700}.timer-box.using-reserve .timer-box-value{color:#fbbf24}.timer-box-label{font-size:.7rem;font-weight:600;color:var(--text-secondary, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.05em}.timer-box-value{font-size:1.5rem;font-weight:700;color:var(--text-primary, #ffffff);line-height:1}.timer-box-reserve-label{font-size:.65rem;font-weight:600;color:var(--text-secondary, rgba(255, 255, 255, .6));text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.timer-box-reserve-value{font-size:.85rem;font-weight:700;color:var(--text-primary, #ffffff)}.turn-indicator{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary, #ffffff);text-align:center;padding:.5rem 1rem;border-radius:8px;border:2px solid;transition:all .3s}.turn-indicator.amber{background:#ffbf004d;border-color:#ffbf00;box-shadow:0 0 15px #ffbf004d}.turn-indicator.sapphire{background:#3b82f64d;border-color:#3b82f6;box-shadow:0 0 15px #3b82f64d}.confirm-action-btn{background:#0009;color:#fff;border:2px solid #9d4edd;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 0 20px #9d4edd80;white-space:nowrap;outline:none}.confirm-action-btn:focus{outline:none;box-shadow:0 0 25px #9d4edd99}.confirm-action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #9d4eddb3,0 0 15px #9d4edd66;border-color:#c77dff}.confirm-action-btn:active:not(:disabled){transform:translateY(0);outline:none}.confirm-action-btn.disabled,.confirm-action-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:0 0 10px #9d4edd33;border-color:#9d4edd66}.draft-phase-info{text-align:left}.phase-indicator{font-size:1.25rem;font-weight:700;color:var(--text-primary, #ffffff);margin-bottom:.5rem}.current-action{font-size:1rem;color:var(--text-secondary, rgba(255, 255, 255, .7));font-weight:600}.draft-timer{text-align:center;padding:1rem 2rem;background:var(--item-bg, #0a0a0a);border:3px solid #9d4edd;border-radius:12px}.draft-timer.timer-critical{border-color:#ef4444;animation:pulse-critical 1s ease-in-out infinite}.draft-timer.timer-reserve{border-color:#fbbf24;animation:pulse-reserve 1s ease-in-out infinite}@keyframes pulse-critical{0%,to{border-color:#ef4444;box-shadow:0 0 #ef444466}50%{border-color:#dc2626;box-shadow:0 0 0 8px #ef444400}}@keyframes pulse-reserve{0%,to{border-color:#fbbf24;box-shadow:0 0 #fbbf2466}50%{border-color:#f59e0b;box-shadow:0 0 0 8px #fbbf2400}}.timer-label{font-size:.875rem;color:var(--text-secondary, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.timer-value{font-size:2.5rem;font-weight:700;color:var(--text-primary, #ffffff)}.reserve-time{display:flex;flex-direction:column;align-items:center;gap:.25rem}.reserve-label{font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .7));font-weight:600}.reserve-value{font-size:1.25rem;font-weight:700;color:var(--text-primary, #ffffff)}.reserve-time.amber .reserve-value{color:#ffbf00}.reserve-time.sapphire .reserve-value{color:#0f52ba}.draft-content{display:grid;grid-template-columns:300px 1fr 300px;gap:1.5rem}.team-display{background:var(--card-bg, #1a1a1a);border:2px solid var(--border-color, #333);border-radius:12px;padding:1rem}.team-display.amber{border-color:#ffbf004d}.team-display.sapphire{border-color:#0f52ba4d}.team-display h3{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary, #ffffff)}.team-display h3 .team-icon-img{width:50px;height:50px;object-fit:contain}.team-display.sapphire h3 .team-icon-img{transform:scaleX(-1)}.team-display.amber h3{color:#ffbf00}.team-display.sapphire h3{color:#0f52ba}.team-heroes-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color, #333)}.hero-icon{width:50px;height:50px;border-radius:6px;overflow:hidden;border:2px solid;position:relative}.hero-icon.banned{border-color:#ef444499;opacity:.7}.hero-icon.picked{border-color:#22c55e99}.hero-icon img{width:100%;height:100%;object-fit:cover}.team-roster{display:flex;flex-direction:column;gap:.5rem}.roster-slot{background:var(--item-bg, #0a0a0a);border:1px solid var(--border-color, #333);border-radius:6px;padding:.75rem;display:flex;justify-content:space-between;align-items:center}.team-display.amber .roster-slot.captain{border-color:#ffbf0080}.team-display.sapphire .roster-slot.captain{border-color:#3b82f680}.team-display.sapphire .captain-badge{color:#3b82f6;background:#3b82f61a}.player-name{font-size:.95rem;color:var(--text-primary, #ffffff);font-weight:500;overflow-wrap:break-word;word-break:break-word;flex:1;min-width:0}.captain-badge{font-size:.75rem;color:#ffbf00;background:#ffbf001a;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.team-bans,.team-picks{margin-bottom:1rem}.team-bans h4,.team-picks h4{font-size:.875rem;color:var(--text-secondary, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.ban-list,.pick-list{display:flex;flex-direction:column;gap:.5rem}.ban-item,.pick-item{background:var(--item-bg, #0a0a0a);border:1px solid var(--border-color, #333);border-radius:6px;padding:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.ban-item img,.pick-item img{width:32px;height:32px;border-radius:4px}.timeout-badge{margin-left:auto;font-size:.7rem;color:#fbbf24;background:#fbbf241a;padding:.125rem .5rem;border-radius:8px}.hero-grid{background:var(--card-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:12px;padding:1rem;display:flex;flex-wrap:wrap;gap:.5rem;max-height:calc(100vh - 280px);overflow-y:auto;overflow-x:visible}.hero-card{position:relative;width:calc((100% - 3.5rem)/8);aspect-ratio:2/3;flex-shrink:0;overflow:visible;border:none;transition:all .2s;background:transparent;z-index:1}.hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(1.15);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));z-index:10;pointer-events:auto}.hero-name{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);padding:.5rem .25rem .25rem;font-size:.85rem;font-weight:600;text-align:center;color:#fff;z-index:20;pointer-events:none}.hero-card.available.clickable{cursor:pointer}.hero-card.available.clickable:hover,.hero-card.selected{transform:scale(1.05);z-index:100}.hero-card.selected img{filter:drop-shadow(0 0 8px rgba(255,215,0,.8)) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.hero-card.banned{filter:grayscale(30%)}.hero-card.banned img{filter:grayscale(30%) drop-shadow(0 0 8px rgba(239,68,68,.8)) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.hero-card.picked-amber img{filter:drop-shadow(0 0 6px rgba(255,191,0,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.hero-card.picked-sapphire img{filter:drop-shadow(0 0 6px rgba(15,82,186,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.hero-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;letter-spacing:.05em;z-index:30;pointer-events:none}.banned-overlay{background:#ef4444cc;color:#fff}.picked-overlay{background:#4ade80cc;color:#fff}.selected-hero-preview{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--card-bg, #1a1a1a);border:3px solid #9d4edd;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 8px 24px #00000080;z-index:100}.selected-hero-preview img{width:120px;height:160px;object-fit:cover;border-radius:8px}.preview-info h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary, #ffffff)}.preview-info button{margin-right:.75rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm-action{background:linear-gradient(135deg,#9d4edd,#764ba2);color:#fff}.btn-confirm-action:hover{transform:scale(1.05);box-shadow:0 4px 12px #9d4edd66}.btn-cancel{background:var(--card-bg, #2a2a2a);border:1px solid var(--border-color, #444);color:var(--text-primary, #ffffff)}.btn-cancel:hover{background:var(--hover-bg, #333)}@media(max-width:1200px){.draft-header{grid-template-columns:1fr;text-align:center}.draft-phase-info,.reserve-times{text-align:center}.reserve-time{justify-content:center}.draft-content{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.team-display.amber{grid-row:1}.hero-grid{grid-row:3}.team-display.sapphire{grid-row:2}}@media(max-width:768px){.hero-card{width:calc((100% - 1.5rem)/4)}.selected-hero-preview{flex-direction:column;bottom:1rem;left:1rem;right:1rem;transform:none}.timer-value{font-size:2rem}}.draft-page{min-height:calc(100vh - 80px);padding:1rem}.draft-page-loading,.draft-page-error{text-align:center;padding:4rem 2rem}.draft-page-loading i{font-size:4rem;margin-bottom:1.5rem}.draft-page-error i{font-size:4rem;margin-bottom:1.5rem;display:block}.draft-page-loading{color:var(--text-secondary, rgba(255, 255, 255, .7));position:fixed;inset:0;background:#000;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center}.draft-page-error{color:#ef4444}.draft-page-error .btn-primary{margin-top:1.5rem}.draft-completed{max-width:1800px;margin:0 auto;padding:3rem}.completion-unified-box{background:var(--card-bg, #1a1a1a);border:2px solid #9d4edd;border-radius:12px;padding:2rem;box-shadow:0 0 20px #9d4edd4d;margin-bottom:2rem}.completion-heroes-section{display:flex;gap:4rem;width:100%;max-width:1800px;margin:0 auto;justify-content:center}.completion-team-column{flex:1;background:#0000004d;border:2px solid rgba(157,78,221,.5);border-radius:8px;display:flex;flex-direction:column;max-width:45%}.completion-team-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:#0006;border-bottom:2px solid rgba(157,78,221,.3);gap:.5rem}.completion-team-identity{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.completion-team-icon{width:50px;height:50px;background-size:cover;background-position:center;flex-shrink:0}.completion-team-name{font-size:1.5rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;flex-shrink:0}.completion-team-name.amber{color:#ffbf00;text-shadow:0 0 10px rgba(255,191,0,.5)}.completion-team-name.sapphire{color:#3b82f6;text-shadow:0 0 10px rgba(59,130,246,.5)}.completion-header-bans{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.completion-team-header.amber-header .completion-header-bans{margin-left:auto}.completion-team-header.sapphire-header .completion-header-bans{flex-direction:row-reverse;margin-right:auto}.completion-bans-label{font-size:.9rem;font-weight:700;color:#ef4444e6;text-transform:uppercase;letter-spacing:1px}.completion-bans-minimap-container{display:flex;gap:.5rem;align-items:center}.completion-team-header.sapphire-header .completion-bans-minimap-container{flex-direction:row-reverse}.completion-minimap-ban{width:45px;height:45px;border-radius:50%;overflow:hidden;background:#00000080;border:2px solid rgba(239,68,68,.6);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.completion-minimap-ban img{width:100%;height:100%;object-fit:cover}.completion-minimap-ban.empty{border-color:#fff3;background:#0000004d}.completion-team-content{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0;flex:1}.completion-picks-container{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:center}.completion-hero-slot{position:relative;flex-shrink:0;border-radius:8px;overflow:hidden;transition:all .3s ease}.completion-hero-slot.pick{width:80px;height:120px;background:transparent;border:none;border-radius:4px;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}.completion-hero-slot img{width:100%;height:100%;object-fit:contain;display:block;transform:scale(1.18)}.completion-hero-slot.empty{width:80px;height:120px;background:#0000004d;border:2px solid rgba(255,255,255,.15);border-radius:4px;display:flex;align-items:center;justify-content:center}.pick-number,.ban-number{display:none}.draft-code-display{text-align:center;font-size:1.25rem;color:#9d4edd;margin:2rem 0;padding:1rem}.draft-code-display .code-value{font-weight:700;color:#9d4edd;font-family:monospace;font-size:1.5rem;letter-spacing:2px;text-shadow:0 0 10px rgba(157,78,221,.3)}.completion-actions{text-align:center;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem}.completion-actions .btn-primary,.completion-actions .btn-secondary{padding:1rem 2rem;font-size:1.1rem;background:#000;border:2px solid #9d4edd;color:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 0 10px #9d4edd80;text-decoration:none;display:inline-block}.completion-actions .btn-primary:hover,.completion-actions .btn-secondary:hover{background:#000;box-shadow:0 0 20px #9d4eddcc;border-color:#9d4edd;transform:translateY(-2px)}@media(max-width:768px){.completion-unified-box{padding:1rem}.completion-heroes-section{flex-direction:column;gap:2rem}.completion-team-column{max-width:100%}.completion-team-name{font-size:1.2rem}.completion-team-icon{width:40px;height:40px}.completion-minimap-ban{width:35px;height:35px}.completion-hero-slot.pick,.completion-hero-slot.empty{width:75px;height:130px}}.draft-obs{width:1920px;height:1080px;background:transparent!important;font-family:Geist,Segoe UI,sans-serif;color:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 0 60px;box-sizing:border-box}.obs-heroes-section{display:flex;gap:12rem;width:100%;max-width:1800px}.obs-team-column{flex:1;background:transparent;border-radius:12px;padding:0;overflow:visible;border:none;display:flex;flex-direction:column}.obs-team-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:transparent;border-bottom:none}.obs-team-header.amber-header,.obs-team-header.sapphire-header{justify-content:flex-start}.obs-team-header.sapphire-header .obs-team-identity{margin-left:auto}.obs-team-identity{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.obs-team-icon{width:65px;height:65px;flex-shrink:0;background-size:cover;background-position:center;background-repeat:no-repeat}.obs-team-name{font-size:2.5rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;flex-shrink:0}.obs-team-name.amber{color:#f59e0b}.obs-team-name.sapphire{color:#3b82f6}.obs-header-bans{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.obs-team-header.amber-header .obs-header-bans{margin-left:auto}.obs-team-header.sapphire-header .obs-header-bans{flex-direction:row-reverse;margin-right:auto}.obs-bans-label{font-size:1rem;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:1px}.obs-bans-minimap-container{display:flex;gap:.35rem}.obs-team-header.sapphire-header .obs-bans-minimap-container{flex-direction:row-reverse}.obs-minimap-ban{width:60px;height:60px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.2);background:#00000080;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.obs-minimap-ban:not(.empty){border-color:#ef4444;box-shadow:0 0 12px #ef444499}.obs-minimap-ban img{width:100%;height:100%;object-fit:cover;display:block}.obs-minimap-ban:not(.empty) img{filter:grayscale(30%) brightness(.8)}.obs-minimap-ban.empty{border-color:#ffffff26;background:#0000004d}.obs-team-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 0;flex:1;overflow:visible}.obs-picks-container{display:flex;gap:.5rem;flex-wrap:wrap;overflow:visible}.obs-team-column:nth-child(1) .obs-picks-container{justify-content:flex-end}.obs-team-column:nth-child(2) .obs-picks-container{flex-direction:row-reverse;justify-content:flex-end}.obs-hero-slot{position:relative;flex-shrink:0;border-radius:8px;overflow:visible;transition:all .3s ease}.obs-hero-slot.pick{width:120px;height:240px;background:transparent;border:none;border-radius:4px;position:relative;display:flex;align-items:center;justify-content:center}.obs-hero-slot img{width:100%;height:100%;object-fit:cover;display:block}.obs-hero-slot.empty{width:120px;height:240px;background:transparent;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center}.draft-obs-error{width:1920px;height:1080px;display:flex;align-items:center;justify-content:center;background:#000000e6;color:#fff}.draft-obs-error h1{font-size:48px;font-weight:700}@keyframes slideIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.obs-hero-slot:not(.empty){animation:slideIn .3s ease}.obs-minimap-ban:not(.empty){animation:slideIn .3s ease}body.obs-background-view{margin:0;padding:0;overflow:hidden;background:#0a0a0a}.draft-obs-background{width:1920px;height:1080px;background:#0a0a0a;position:relative;overflow:hidden}#obs-particles-js{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;pointer-events:none}body.obs-topbar-view{background:transparent!important;margin:0;padding:0;overflow:hidden}body.obs-topbar-view #particles-js{display:none!important}body.obs-topbar-view #root{background:transparent!important}.match-obs-topbar{width:1920px;height:1080px;background:transparent!important;font-family:Geist,Segoe UI,sans-serif;color:#fff;position:relative;overflow:hidden}.grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .2s;background-image:repeating-linear-gradient(0deg,rgba(168,85,247,.1) 0px,rgba(168,85,247,.1) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,rgba(168,85,247,.1) 0px,rgba(168,85,247,.1) 1px,transparent 1px,transparent 10px);z-index:1}.match-obs-topbar.dragging .grid-overlay{opacity:1}.team-name-bar{background:transparent;border:none;padding:0;text-align:center;position:absolute;transition:all .3s ease;cursor:move;z-index:10}.team-name-bar.dragging{opacity:.7;z-index:1000}.team-name{font-size:32px;font-weight:900;text-transform:uppercase;letter-spacing:3px;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.9);color:#fff;pointer-events:none;white-space:nowrap!important;overflow:visible!important}.player-slot{background:transparent;border:none;padding:0;text-align:center;position:absolute;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;transition:all .3s ease;cursor:move;z-index:10;width:auto!important;max-width:none!important;overflow:visible!important}.player-slot.dragging{opacity:.7;z-index:1000}.player-name{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,.9),0 0 15px rgba(0,0,0,.9);color:#fff;white-space:nowrap!important;pointer-events:none;overflow:visible!important;text-overflow:clip!important;max-width:none!important;width:auto!important;display:inline-block!important}.reset-positions-btn,.instructions-overlay{display:none}.match-obs-topbar.loading,.match-obs-topbar.error{width:1920px;height:1080px;display:flex;align-items:center;justify-content:center;background:#000000e6}.loading-text,.error-text{font-size:48px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8)}.error-text{color:#ef4444}.error-details{margin-top:20px;font-size:18px;color:#aaa;text-align:center}.error-details p{margin:8px 0}html.obs-view,body.obs-view{background:transparent!important;margin:0;padding:0;overflow:hidden}body.obs-view #particles-js{display:none!important}body:has(.obs-stats-container){background:transparent!important}#root:has(.obs-stats-container){background:transparent!important}.obs-stats-container{width:100vw;min-height:100vh;background:transparent;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:12px;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#fff}.obs-loading,.obs-error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:24px;color:#fff}.obs-scoreboard-header{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;width:100%;max-width:1600px;margin-bottom:16px;padding:12px;background:transparent;border-radius:0}.obs-header-left,.obs-header-right{display:flex;flex-direction:column;gap:.75rem}.obs-header-left{align-items:flex-start}.obs-header-right{align-items:flex-end}.obs-result-and-stats{display:flex;align-items:center;gap:2rem}.obs-team-name-with-icon{display:flex;align-items:center;gap:.75rem}.obs-team-icon{width:70px;height:70px;object-fit:contain}.obs-team-icon.sapphire-icon{transform:scaleX(-1)}.obs-team-name-title{font-size:2.5rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.amber-bg .obs-team-name-title{color:#f59e0b}.sapphire-bg .obs-team-name-title{color:#3b82f6}.obs-victory-text{font-size:2rem;font-weight:700;color:#10b981;text-transform:uppercase}.obs-defeat-text{font-size:2rem;font-weight:700;color:#ef4444;text-transform:uppercase}.obs-header-stats{display:flex;gap:3.5rem}.obs-stat-col{display:flex;flex-direction:column;align-items:center;gap:.25rem}.obs-stat-value{font-size:1.5rem;font-weight:700;color:#fff}.obs-stat-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.obs-header-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-width:150px}.obs-game-time-label{font-size:.75rem;color:#fff9;text-transform:uppercase}.obs-game-time-value{font-size:2rem;font-weight:700;color:#9d4edd}.obs-match-id-label{font-size:.85rem;color:#fff9;text-transform:uppercase;letter-spacing:1px}.obs-stats-layout{display:flex;flex-direction:row;gap:10px;transform:scale(1);transform-origin:top center;align-items:flex-start}.obs-labels-col{display:flex;flex-direction:column;gap:0;padding-top:0;padding-left:16px;padding-right:16px}.obs-label-space{height:110px;margin-bottom:8px;display:flex;align-items:center;justify-content:center}.obs-center-logo{max-width:180px;max-height:110px;width:auto;height:auto;object-fit:contain}.obs-player-name-spacer{height:36px;margin-bottom:8px}.obs-labels-col .obs-stat-label{height:32px;display:flex;align-items:center;justify-content:center;padding:0 12px;background:transparent;border:none;border-radius:0;font-size:13px;font-weight:700;letter-spacing:.5px;color:#fffc;white-space:nowrap;margin-bottom:0}.obs-section-label{height:100px;display:flex;align-items:center;justify-content:center;padding:0 12px;background:transparent;border:none;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.5px;color:#fffc;text-align:center;white-space:normal;word-break:break-word;margin-top:8px}.obs-section-label:last-child{height:110px}.obs-team-section{display:flex;flex-direction:row;gap:16px;flex-wrap:nowrap}.obs-player-col{display:flex;flex-direction:column;align-items:center;width:90px;min-width:90px;flex-shrink:0;gap:0}.obs-hero-portrait{width:85px;height:110px;border-radius:0;overflow:hidden;background:transparent;display:flex;align-items:center;justify-content:center;border:none;margin-bottom:6px}.obs-hero-portrait img.obs-hero-img{width:95%;height:95%;object-fit:contain}.obs-hero-placeholder{font-size:14px;font-weight:700;color:#fff6;text-align:center}.obs-player-name{width:100%;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#fff;text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px}.obs-stats-list{width:100%;display:flex;flex-direction:column;gap:0}.obs-stat-box{height:32px;display:flex;align-items:center;justify-content:center;background:#141414cc;border-radius:4px;font-size:14px;font-weight:600;color:#fff;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-bottom:0}.obs-stat-box:nth-child(2n){background:#1e1e1ecc}.obs-souls-section{width:100%;height:100px;display:flex;flex-direction:column;gap:3px;margin-top:8px}.obs-soul-bar{height:17px;width:100%;position:relative;border-radius:2px;overflow:hidden;background:#0000004d}.obs-soul-fill-bg{position:absolute;top:0;left:0;height:100%;border-radius:2px;min-width:25%;z-index:0}.obs-soul-content{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 4px;z-index:1}.obs-soul-bar[data-source*=enemy] .obs-soul-fill-bg,.obs-soul-bar[data-source*=player] .obs-soul-fill-bg{background:linear-gradient(90deg,#e05252e6,#e0525266)}.obs-soul-bar[data-source*=trooper] .obs-soul-fill-bg,.obs-soul-bar[data-source*=creep] .obs-soul-fill-bg{background:linear-gradient(90deg,#67dad3e6,#67dad366)}.obs-soul-bar[data-source*=neutral] .obs-soul-fill-bg,.obs-soul-bar[data-source*=boss] .obs-soul-fill-bg{background:linear-gradient(90deg,#2464e0e6,#2464e066)}.obs-soul-bar[data-source*=objective] .obs-soul-fill-bg{background:linear-gradient(90deg,#c8942ce6,#c8942c66)}.obs-soul-bar[data-source*=urn] .obs-soul-fill-bg,.obs-soul-bar[data-source*=treasure] .obs-soul-fill-bg{background:linear-gradient(90deg,#99d364e6,#99d36466)}.obs-soul-bar[data-source*=assist] .obs-soul-fill-bg{background:linear-gradient(90deg,#8d2bb3e6,#8d2bb366)}.obs-soul-bar[data-source*=deni] .obs-soul-fill-bg{background:linear-gradient(90deg,#9e9e9ee6,#9e9e9e66)}.obs-soul-bar[data-source*=team] .obs-soul-fill-bg,.obs-soul-bar[data-source*=bonus] .obs-soul-fill-bg{background:linear-gradient(90deg,#5c7ae6e6,#5c7ae666)}.obs-soul-bar[data-source*=assassinate] .obs-soul-fill-bg,.obs-soul-bar[data-source*=ability] .obs-soul-fill-bg{background:linear-gradient(90deg,#c09b54e6,#c09b5466)}.obs-soul-bar[data-source*=trophy] .obs-soul-fill-bg,.obs-soul-bar[data-source*=collector] .obs-soul-fill-bg{background:linear-gradient(90deg,#b47febe6,#b47feb66)}.obs-soul-bar[data-source*=cultist] .obs-soul-fill-bg,.obs-soul-bar[data-source*=sacrifice] .obs-soul-fill-bg{background:linear-gradient(90deg,#f17b02e6,#f17b0266)}.obs-soul-bar[data-source*=box] .obs-soul-fill-bg{background:linear-gradient(90deg,#955138e6,#95513866)}.obs-soul-name,.obs-soul-val{font-size:9px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9);z-index:2;position:relative}.obs-soul-name{white-space:nowrap;flex:1}.obs-soul-val{text-align:right;min-width:24px;white-space:nowrap}.obs-items-grid{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px;min-height:70px}.obs-item-slot{width:27px;height:27px;background:#0009;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15)}.obs-item-slot img{width:100%;height:100%;object-fit:cover}.obs-stat-box.best-souls{background:linear-gradient(90deg,#8debc540,#8debc50d)!important;border:1px solid rgba(141,235,197,.5);box-shadow:0 0 8px #8debc54d;color:#8debc5!important}.obs-stat-box.best-kills{background:linear-gradient(90deg,#e0525240,#e052520d)!important;border:1px solid rgba(224,82,82,.5);box-shadow:0 0 8px #e052524d;color:#e05252!important}.obs-stat-box.best-deaths{background:linear-gradient(90deg,#ffffff40,#ffffff0d)!important;border:1px solid rgba(255,255,255,.5);box-shadow:0 0 8px #ffffff4d;color:#fff!important}.obs-stat-box.best-assists{background:linear-gradient(90deg,#8d2bb340,#8d2bb30d)!important;border:1px solid rgba(141,43,179,.5);box-shadow:0 0 8px #8d2bb34d;color:#8d2bb3!important}.obs-stat-box.best-damage{background:linear-gradient(90deg,#2464e040,#2464e00d)!important;border:1px solid rgba(36,100,224,.5);box-shadow:0 0 8px #2464e04d;color:#2464e0!important}.obs-stat-box.best-damage-taken{background:linear-gradient(90deg,#0093a340,#0093a30d)!important;border:1px solid rgba(0,147,163,.5);box-shadow:0 0 8px #0093a34d;color:#0093a3!important}.obs-stat-box.best-objective{background:linear-gradient(90deg,#c8942c40,#c8942c0d)!important;border:1px solid rgba(200,148,44,.5);box-shadow:0 0 8px #c8942c4d;color:#c8942c!important}.obs-stat-box.best-healing{background:linear-gradient(90deg,#10b98140,#10b9810d)!important;border:1px solid rgba(16,185,129,.5);box-shadow:0 0 8px #10b9814d;color:#10b981!important}@media(max-width:1600px){.obs-stats-layout{transform:scale(.9)}}@media(max-width:1200px){.obs-stats-layout{transform:scale(.8)}}@font-face{font-family:TheRumIsGone;src:url(/assets/TheRumIsGone-Wy1nG-CuASqwkH.ttf) format("truetype");font-weight:400;font-style:normal}:root{--bg-dark: #0a0a0a;--bg-card: #1a1a1a;--bg-hover: #252525;--purple: #9d4edd;--purple-light: #c77dff;--amber: #c09b54;--sapphire: #5c7ae6;--text: #ffffff;--text-dim: #a0a0a0;--border: #333;--topbar-height: 64px;--player-col-w: 60px;--player-gap: .125rem;--header-stats-w: 230px;--header-center-w: 140px;--center-logo-h: 56px;--player-header-h: 220px;--stat-row-h: 26px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-dark);color:var(--text);overflow-x:hidden}#particles-js{position:fixed;inset:0;z-index:-1;pointer-events:none}.hidden{display:none!important}#app{display:flex;flex-direction:column;min-height:100vh}.view{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:.75rem 1.5rem;gap:1rem;position:sticky;top:0;z-index:100;min-height:var(--topbar-height);transition:transform .2s ease,box-shadow .2s ease}.topbar--hidden{transform:translateY(-100%)}.icon-button{background:transparent;border:none;color:var(--text);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:background .2s;border-radius:4px}.icon-button:hover{background:var(--bg-hover)}.burger-lines{width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.burger-lines:before,.burger-lines:after{content:"";display:block;height:2px;background:var(--text);border-radius:2px}.burger-lines:before{box-shadow:0 8px 0 var(--text)}.brand{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.brand-logo{height:40px;width:auto}.brand-name{font-family:TheRumIsGone,serif;font-size:1.75rem;color:var(--text)}.brand-name .accent,.footer-title .accent{color:var(--purple)}.spacer{flex:1}.top-search{flex:1;display:flex;justify-content:center}.top-search .search-box{display:flex;gap:8px;align-items:center;width:100%;max-width:650px}.top-search .search-box input{padding:.6rem .9rem;height:42px}.top-search .segmented .segment{padding:.5rem .75rem}.top-search button.primary{height:42px}button.primary{background:var(--purple);color:var(--text);border:none;padding:.65rem 1.5rem;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s}button.primary:hover{background:var(--purple-light);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}button.secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);padding:.65rem 1.5rem;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}button.secondary:hover{background:var(--bg-card);border-color:var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}#authArea{margin-left:auto;display:flex;align-items:center;gap:.5rem}#profileBtn.glow{background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border:1px solid var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.side-menu{position:fixed;top:var(--topbar-height);left:0;bottom:0;width:280px;background:var(--bg-card);border-right:1px solid var(--border);border-top:1px solid var(--border);transform:translate(-100%);transition:transform .3s ease;z-index:200;overflow-y:auto}.side-menu[aria-hidden=false]{transform:translate(0)}.side-menu-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--border);font-family:TheRumIsGone,serif;font-size:1.5rem}.side-menu-header img{width:36px;height:auto}.side-menu-header span{border-left:1px solid var(--border);padding-left:1rem;margin-left:.5rem}.side-menu ul{list-style:none;padding:1rem 0}.side-menu>ul>li{margin:.25rem 0}.side-menu-group{margin-top:.5rem}.side-menu-section-label{padding:.75rem 1.5rem .25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim);opacity:.9}.side-submenu{padding:.35rem 0 .5rem;display:none}.side-menu li a{display:block;padding:1rem 1.5rem;color:var(--text);text-decoration:none;transition:all .2s;font-size:1.1rem;border-radius:8px;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.side-menu li a.active:not(.side-menu-tool):not(.side-menu-social){background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border:1px solid var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.side-menu li a:hover:not(.side-menu-tool):not(.side-menu-social){background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border:1px solid var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.side-menu-toggle{width:100%;text-align:left;padding:.9rem 1.5rem;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-size:1rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:space-between}.side-menu-toggle-icon{font-size:.8rem;opacity:.9}.side-menu-toggle:hover,.side-menu-toggle.open{background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border-color:var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.side-menu-tool{margin:.35rem 0;display:flex;align-items:center;justify-content:center;padding:.65rem 1.5rem;width:100%;box-sizing:border-box;border-radius:10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;border:1px solid transparent;box-shadow:none}.side-menu-tool--statlocker{color:#5af28e}.side-menu-tool--statlocker:hover{border-color:#5af28eb3;background:#124b24fa!important;box-shadow:0 0 20px #5af28ecc!important;transform:translateY(-1px)}.side-menu-tool--dataexplorer{color:#fff}.side-menu-tool--dataexplorer:hover{border-color:#ffffffb3;background:#141414fa!important;box-shadow:0 0 22px #ffffffd9!important;transform:translateY(-1px)}.side-menu-tool--livelock{color:#d6fd7a}.side-menu-tool--livelock:hover{border-color:#d6fd7ad9;background:#1a2e0afc!important;box-shadow:0 0 22px #d6fd7af2!important;transform:translateY(-1px)}.side-menu-tool--deadlockwiki{color:#e0d4b7}.side-menu-tool--deadlockwiki:hover{border-color:#e0d4b7b3;background:#302c26fa!important;box-shadow:0 0 20px #e0d4b7cc!important;transform:translateY(-1px)}.side-menu-social--discord{color:#5865f2}.side-menu-social--discord:hover{border-color:#5865f2;background:#4d59f2!important;box-shadow:0 0 22px #5865f2f2!important}.side-menu-social--twitch{color:#8956fb}.side-menu-social--twitch:hover{border-color:#8956fb;background:#8956fb!important;box-shadow:0 0 22px #8956fbf2!important}.side-menu-social--youtube{color:red}.side-menu-social--youtube:hover{border-color:red;background:red!important;box-shadow:0 0 22px #ff0000f2!important}.scrim{position:fixed;inset:0;background:transparent;z-index:150;opacity:0;transition:opacity .3s}.scrim:not([hidden]){opacity:1}.welcome{text-align:center;padding:0 2rem 6rem;max-width:1200px;margin:0 auto}.welcome-title{font-family:TheRumIsGone,serif;font-size:4rem;margin-bottom:1rem;letter-spacing:.05em;text-transform:uppercase;line-height:1.2}.welcome-title .welcome-prefix{display:block;font-size:1.6rem;letter-spacing:.18em;margin-bottom:.35rem}.welcome-title .purple-text{color:var(--purple);display:inline-block}.welcome-subtitle{color:var(--text-dim);font-size:1.2rem;margin-bottom:3rem;font-weight:300}.search-container{max-width:650px;margin:0 auto}.statlocker-promo{margin-top:3.5rem;border-radius:12px;border:1px solid rgba(90,242,142,.35);background:radial-gradient(circle at top left,rgba(90,242,142,.18),transparent 55%),radial-gradient(circle at bottom right,rgba(90,242,142,.12),transparent 60%),linear-gradient(135deg,#050607,#111217);box-shadow:0 0 24px #5af28e59}.statlocker-inner{display:flex;align-items:center;gap:1.75rem;padding:1.75rem 2.25rem}.livelock-promo{margin-top:2rem;border-radius:12px;border:1px solid rgba(214,253,122,.45);background:radial-gradient(circle at top left,rgba(214,253,122,.2),transparent 55%),radial-gradient(circle at bottom right,rgba(214,253,122,.12),transparent 60%),linear-gradient(135deg,#050607,#111217);box-shadow:0 0 26px #d6fd7a8c}.livelock-inner{display:flex;align-items:center;gap:1.75rem;padding:1.75rem 2.25rem}.livelock-logo-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center}.livelock-logo{width:80px;height:80px;border-radius:10px;object-fit:cover;box-shadow:0 0 18px #d6fd7ad9}.livelock-copy{text-align:left}.livelock-eyebrow{font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:#d6fd7ad9;margin-bottom:.35rem}.livelock-title{font-family:TheRumIsGone,serif;font-size:2rem;letter-spacing:.1em;text-transform:uppercase;margin:0}.livelock-body{margin-top:.6rem;font-size:.95rem;color:var(--text-dim)}.livelock-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;padding:.55rem 1.6rem;border-radius:999px;border:1px solid rgba(214,253,122,.85);color:#d6fd7a;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;background:#0c1604eb;box-shadow:0 0 18px #d6fd7abf;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.livelock-cta:hover{background:#1a2e0afa;box-shadow:0 0 24px #d6fd7af2;transform:translateY(-1px)}.dataexplorer-promo{margin-top:2rem;border-radius:12px;border:1px solid rgba(255,255,255,.35);background:radial-gradient(circle at top left,rgba(255,255,255,.12),transparent 55%),radial-gradient(circle at bottom right,rgba(255,255,255,.08),transparent 60%),linear-gradient(135deg,#050607,#141518);box-shadow:0 0 26px #ffffff73}.dataexplorer-inner{padding:1.75rem 2.25rem;text-align:left;display:flex;align-items:center;gap:1.5rem}.dataexplorer-logo-wrap{flex-shrink:0}.dataexplorer-logo{width:80px;height:80px;border-radius:10px;object-fit:cover;box-shadow:0 0 18px #ffffffb3}.dataexplorer-eyebrow{font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3;margin-bottom:.4rem}.dataexplorer-title{font-family:TheRumIsGone,serif;font-size:2rem;letter-spacing:.08em;text-transform:uppercase;margin:0}.dataexplorer-body{margin-top:.6rem;font-size:.95rem;color:var(--text-dim)}.dataexplorer-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;padding:.55rem 1.6rem;border-radius:999px;border:1px solid rgba(255,255,255,.8);color:#fff;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;background:#0a0a0ae6;box-shadow:0 0 14px #ffffffa6;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.dataexplorer-cta:hover{background:#141414f2;box-shadow:0 0 22px #fffc;transform:translateY(-1px)}.deadlockwiki-promo{margin-top:2rem;border-radius:12px;border:1px solid rgba(224,212,183,.35);background:radial-gradient(circle at top left,rgba(224,212,183,.12),transparent 55%),radial-gradient(circle at bottom right,rgba(224,212,183,.08),transparent 60%),linear-gradient(135deg,#050607,#141518);box-shadow:0 0 26px #e0d4b773}.deadlockwiki-inner{padding:1.75rem 2.25rem;text-align:left;display:flex;align-items:center;gap:1.5rem}.deadlockwiki-logo-wrap{flex-shrink:0}.deadlockwiki-logo{width:80px;height:80px;border-radius:10px;object-fit:cover;box-shadow:0 0 18px #e0d4b7b3}.deadlockwiki-eyebrow{font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3;margin-bottom:.4rem}.deadlockwiki-title{font-family:TheRumIsGone,serif;font-size:2rem;letter-spacing:.08em;text-transform:uppercase;margin:0}.deadlockwiki-body{margin-top:.6rem;font-size:.95rem;color:var(--text-dim)}.deadlockwiki-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;padding:.55rem 1.6rem;border-radius:999px;border:1px solid rgba(224,212,183,.8);color:#e0d4b7;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;background:#0a0a0ae6;box-shadow:0 0 14px #e0d4b7a6;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.deadlockwiki-cta:hover{background:#141414f2;box-shadow:0 0 22px #e0d4b7cc;transform:translateY(-1px)}@media(max-width:720px){.statlocker-inner{flex-direction:column;align-items:flex-start}.statlocker-logo{height:60px}.statlocker-name{font-size:1.8rem}.livelock-inner{padding:1.5rem;flex-direction:column;align-items:flex-start}.livelock-logo{width:72px;height:72px}.dataexplorer-inner{padding:1.5rem;flex-direction:column;align-items:flex-start}.dataexplorer-logo{width:72px;height:72px}.deadlockwiki-inner{padding:1.5rem;flex-direction:column;align-items:flex-start}.deadlockwiki-logo{width:72px;height:72px}}.statlocker-logo-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center}.statlocker-logo{height:72px;width:auto}.statlocker-copy{text-align:left}.statlocker-eyebrow{font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3;margin-bottom:.4rem}.statlocker-title{display:flex;align-items:baseline;gap:.4rem;margin:0 0 .6rem}.statlocker-name{font-family:TheRumIsGone,serif;font-size:2rem;letter-spacing:.12em;text-transform:uppercase;color:#5af28e}.statlocker-domain{font-family:TheRumIsGone,serif;font-size:1.1rem;letter-spacing:.18em;text-transform:uppercase;color:#fffc}.statlocker-body{margin:0;font-size:.95rem;color:var(--text-dim)}.statlocker-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;padding:.55rem 1.4rem;border-radius:999px;border:1px solid rgba(90,242,142,.7);color:#5af28e;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;background:#072312d9;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.statlocker-cta:hover{background:#124b24f2;box-shadow:0 0 16px #5af28e99;transform:translateY(-1px)}@media(max-width:720px){.statlocker-inner{flex-direction:column;align-items:flex-start}.statlocker-logo{height:60px}.statlocker-name{font-size:1.8rem}}.search-box{position:relative;width:100%}.segmented{display:inline-flex;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.search-suggestions{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border);box-shadow:0 14px 30px #000000b3;z-index:120;max-height:260px;overflow-y:auto;display:none}.search-suggestion-item{padding:.55rem .9rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.9rem;border-radius:6px;border:1px solid transparent}.search-suggestion-item:hover{background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border-color:var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.search-suggestion-name{font-weight:500}.search-suggestion-id{font-size:.8rem;color:var(--text-dim)}.segmented .segment{background:transparent;border:1px solid transparent;color:var(--text-dim);padding:.75rem 1rem;font-weight:600;cursor:pointer;transition:box-shadow .15s ease,background .15s ease,border-color .15s ease}.segment:hover{background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border:1px solid var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59;color:var(--text)}.segmented .segment.active{color:var(--text);background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border:1px solid var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.search-box input{flex:1;min-width:0;padding:1rem 1.5rem;font-size:1.1rem;background:var(--bg-card);border:2px solid var(--border);border-radius:8px;color:var(--text);outline:none;transition:border-color .2s}.search-box input:focus{border-color:var(--purple)}.search-box input::placeholder{color:var(--text-dim)}.site-footer{margin-top:3rem;padding:2.5rem 2rem 1.5rem;background:#050506;border-top:1px solid rgba(255,255,255,.05);color:#fffc}.footer-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;gap:3rem}.footer-brand{flex:2}.footer-title{font-family:TheRumIsGone,serif;font-size:1.8rem;letter-spacing:.18em;text-transform:uppercase}.footer-underline{margin-top:.5rem;width:90px;height:2px;background:var(--purple)}.footer-tagline{margin-top:1rem;font-size:.95rem;color:var(--text-dim)}.footer-tagline a{color:var(--purple);text-decoration:none;transition:color .2s ease}.footer-tagline a:hover{color:var(--purple-bright)}.footer-credit{margin-top:.5rem;font-size:.85rem;color:var(--text-dim)}.footer-credit a{color:var(--purple);text-decoration:none;transition:color .2s ease}.footer-credit a:hover{color:var(--purple-bright)}.footer-columns{flex:3;display:flex;justify-content:flex-end;gap:4rem}.footer-column{min-width:140px}.footer-heading{font-size:.9rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.75rem;color:#ffffffe6}.footer-column ul{list-style:none}.footer-column li+li{margin-top:.45rem}.footer-column a{color:#ffffffbf;text-decoration:none;font-size:.9rem}.footer-column a:hover{color:#fff}.footer-bottom{max-width:1400px;margin:1.75rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05);font-size:.8rem;color:#ffffff80;display:flex;justify-content:center}@media(max-width:768px){.site-footer{padding:2rem 1.5rem 1.25rem}.footer-inner{flex-direction:column;gap:2rem}.footer-columns{justify-content:flex-start}}.profile-header{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.profile-title-row{display:flex;align-items:center;gap:.75rem}.profile-title-row h1{margin:0}.statlocker-profile-link{display:inline-flex;align-items:center;padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(90,242,142,.8);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#fff;background:#072312f2;box-shadow:0 0 12px #5af28eb3;white-space:nowrap;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.statlocker-profile-link:hover{background:#124b24fa;box-shadow:0 0 18px #5af28ee6;transform:translateY(-1px)}.profile-settings-wrapper{position:relative}.profile-settings-cog{background:transparent;border:1px solid var(--border);color:var(--text);width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;overflow:visible}.profile-settings-cog svg,.profile-settings-cog img{transition:transform .3s ease}.profile-settings-cog:hover{border-color:var(--purple);background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.profile-settings-cog:hover svg,.profile-settings-cog:hover img{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-settings-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:200px;z-index:1000;overflow:hidden}.profile-menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;font-size:.9rem;cursor:pointer;transition:all .2s;width:100%;text-align:left}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);box-shadow:inset 0 0 6px #9d4edd59}.profile-menu-item svg,.profile-menu-item img{flex-shrink:0;width:16px;height:16px;object-fit:contain}.profile-avatar{width:100px;height:100px;border-radius:50%;border:3px solid var(--purple)}.profile-info h1{font-size:2rem;margin-bottom:.5rem}.profile-top-heroes{margin-left:auto;display:flex;flex-direction:column;gap:.5rem;min-width:220px}.profile-top-hero{display:flex;align-items:center;gap:8px;background:var(--bg-dark);border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem}.profile-top-hero img{width:36px;height:36px;object-fit:contain;border-radius:6px;cursor:help}.profile-top-hero .meta{display:flex;flex-direction:column;line-height:1.1}.profile-top-hero .meta .name{color:var(--text);font-weight:600;font-size:.95rem}.profile-top-hero .meta .stats{color:var(--text-dim);font-size:.85rem}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-item-rank{justify-content:center}.stat-label{color:var(--text-dim);font-size:.9rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--purple)}.rank-badge{width:60px;height:auto}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:2rem;overflow:visible;padding:0 20px 0 0}.tab-button{background:transparent;border:1px solid transparent;color:var(--text-dim);padding:1rem 1.5rem;font-size:1.1rem;cursor:pointer;position:relative;transition:all .2s;border-radius:0;overflow:visible}.tab-button:first-child{border-radius:8px 8px 0 0}.tab-button:last-child{border-radius:8px 8px 0 0}.tab-button:hover,.tab-button.active{color:var(--text);background:linear-gradient(145deg,#9d4edd2e,#9d4edd14);border:1px solid var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--purple)}.match-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1rem;cursor:pointer;transition:all .2s}.match-card:hover{border-color:var(--purple);transform:translateY(-2px)}.match-card.victory{border-left:4px solid #4ade80}.match-card.defeat{border-left:4px solid #ef4444}.match-card-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.match-kda{color:var(--purple);font-weight:700;font-size:.9rem}.match-items-row{display:grid;grid-template-columns:repeat(6,28px);grid-auto-rows:28px;column-gap:4px;row-gap:4px}.match-item-slot{width:28px;height:28px;border-radius:4px;border:1px solid var(--border);background:#ffffff0a;overflow:hidden}.match-item-slot.empty{opacity:.25}.match-item-slot img{width:100%;height:100%;object-fit:cover}.hero-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:.5rem}.hero-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:all .2s}.hero-card:hover{border-color:var(--purple)}.hero-card-header{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;transition:background .2s}.hero-card-header:hover{background:var(--bg-hover)}.hero-card-image{width:40px;height:40px;object-fit:contain;border-radius:4px;border:1px solid var(--border);background:#0000004d;flex-shrink:0;cursor:help}.hero-card-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.hero-card-name{font-size:.9rem;font-weight:600;color:var(--text)}.hero-card-quick-stats{display:flex;gap:.35rem;flex-wrap:wrap}.hero-stat-badge{padding:.1rem .4rem;background:#9d4edd1a;border:1px solid rgba(157,78,221,.3);border-radius:3px;font-size:.7rem;color:var(--text-dim)}.hero-card-expand-icon{font-size:.9rem;color:var(--text-dim);transition:transform .2s;flex-shrink:0;width:16px;text-align:center}.hero-card-details{padding:0 .5rem .5rem;border-top:1px solid var(--border);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hero-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;margin-top:.5rem}.hero-stat-section{background:#0003;border:1px solid var(--border);border-radius:4px;padding:.35rem}.hero-stat-section h4{color:var(--purple);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.hero-stat-row{display:flex;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.7rem}.hero-stat-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05)}.hero-stat-row span:first-child{color:var(--text-dim)}.hero-stat-value{color:var(--text);font-weight:600}.leaderboard-table{background:var(--bg-card);border:1px solid var(--border);border-radius:0;overflow:visible}.filters-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 1rem;position:relative;z-index:10}.filter-group{display:flex;align-items:center;gap:8px}.filter-label{color:var(--text-dim);font-size:.9rem}.chips{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-dim);cursor:pointer;font-size:.85rem}.filter-chip:hover{border-color:var(--purple);color:var(--text)}.filter-chip.active{background:var(--purple);border-color:var(--purple);color:#fff}.filter-clear{margin-left:0}.pager{display:flex;align-items:center;gap:8px;margin-left:auto;position:relative;z-index:10}.page-indicator{color:var(--text-dim);font-size:.9rem}.leaderboard-row{display:grid;grid-template-columns:80px 1fr 100px 90px 90px 120px 360px;gap:1.25rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);align-items:center;transition:all .2s}.leaderboard-row:hover{background:#9d4edd1a;border-left:3px solid var(--purple);padding-left:calc(1.5rem - 3px)}.leaderboard-row.header{font-weight:700;color:var(--text-dim);background:var(--bg-dark)}.leaderboard-row.header:hover{background:var(--bg-dark);border-left:none;padding-left:1.5rem}.leaderboard-row.current-user{background:#9d4edd26;border-left:3px solid var(--purple);padding-left:calc(1.5rem - 3px);box-shadow:0 0 20px #9d4edd4d}.leaderboard-row.current-user:hover{background:#9d4edd40;box-shadow:0 0 25px #9d4edd80}.rank{font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center}.medal{width:36px;height:36px;object-fit:contain;display:block}.player-cell{display:flex;align-items:center;gap:.5rem;cursor:pointer}.player-avatar{width:36px!important;height:36px!important;border-radius:50%;object-fit:cover;border:2px solid var(--purple)}.winrate{color:var(--purple);font-weight:600}.points-value{font-weight:600}.points-value:has-text("+"){color:#4ade80}.rank-icon-leaderboard{width:28px;height:28px;object-fit:contain;vertical-align:middle;display:inline-block;cursor:help}.rank-icon-profile{width:100px;height:100px;object-fit:contain;vertical-align:middle;display:inline-block;cursor:help}.top-heroes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-hero{display:inline-flex;align-items:center;gap:6px}.top-hero img{width:36px;height:36px;object-fit:contain;border-radius:50%;cursor:help}.streak-cell{display:flex;align-items:center;gap:8px}.streak-cell img{width:20px;height:20px;object-fit:contain}.match-scoreboard{background:var(--bg-dark);color:var(--text);width:100%;max-width:100vw;margin:0 auto;overflow-x:hidden}.scoreboard-header{display:grid;grid-template-columns:1fr var(--header-stats-w) var(--header-center-w) var(--header-stats-w) 1fr;align-items:stretch;background:var(--bg-card);margin-bottom:1px}.header-left,.header-right{padding:.75rem 1rem;display:flex;flex-direction:column;justify-content:center}.amber-bg{background:linear-gradient(90deg,#ff950038,#ff950014 60%,#0000)}.sapphire-bg{background:linear-gradient(270deg,#3a86ff38,#3a86ff14 60%,#0000)}.team-name-title{font-family:TheRumIsGone,serif;font-size:1.35rem;font-weight:700;letter-spacing:.08em;color:var(--text);text-transform:uppercase}.defeat-text{color:#f44;font-size:1.5rem;font-weight:700;margin-top:.15rem}.victory-text{color:#4ade80;font-size:1.5rem;font-weight:700;margin-top:.15rem}.header-stats{display:flex;gap:1rem;padding:.75rem 1rem;align-items:center;justify-content:center}.stat-col{text-align:center}.stat-value{font-size:1.4rem;font-weight:700;color:var(--text)}.stat-label{font-size:.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}.header-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem 1rem;background:#0000004d;border-left:1px solid var(--border);border-right:1px solid var(--border)}.game-time-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.game-time-value{font-size:1.5rem;font-weight:700;color:var(--purple);margin:.25rem 0}.match-id-label{font-size:.8rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.scoreboard-body{display:flex;flex-direction:column;background:var(--bg-card);padding:1rem 0}.scoreboard-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;min-height:40px}.stat-row{margin-bottom:.5rem}.souls-row{margin-top:1rem;min-height:120px}.items-row{margin-top:1rem;min-height:100px}.player-headers-row{margin-bottom:1.5rem;min-height:168px}.amber-side,.sapphire-side{display:flex;gap:var(--player-gap);justify-content:center}.amber-side{justify-content:flex-end}.sapphire-side{justify-content:flex-start}.player-column{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:var(--player-col-w)!important;cursor:pointer;transition:opacity .2s}.player-column:hover{opacity:.8}.rank-badge{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:transparent;padding:0;border-radius:0;width:100%}.rank-icon{width:50px;height:50px;background:transparent;border:none;border-radius:0;display:flex;align-items:center;justify-content:center}.rank-icon-img{width:42px;height:42px;object-fit:contain;display:block}.pp-score{font-size:.75rem;color:var(--purple);font-weight:700}.hero-portrait{width:calc(var(--player-col-w) - 10px);height:calc(var(--player-col-w) - 10px);background:transparent;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:.25rem}.hero-portrait img{width:100%!important;height:100%!important;object-fit:cover;display:block}.hero-placeholder{font-size:.7rem;color:var(--text-dim);text-align:center}.player-name{font-size:.9rem;font-weight:600;color:var(--text);text-align:center;width:var(--player-col-w);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:.5rem}.stat-cell{width:var(--player-col-w);height:26px;background:#ffffff0d;border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:var(--text);position:relative}.stat-best{background:linear-gradient(180deg,#ff950059,#0003)!important;border-color:var(--amber)!important;color:var(--amber)!important;box-shadow:0 0 10px #ff950059,inset 0 0 6px #ff95002e}.stat-best-souls{background:linear-gradient(180deg,#8debc580,#0003)!important;color:#8debc5!important;border-color:#8debc5e6!important;box-shadow:0 0 12px #8debc573 inset}.stat-best-kills{background:linear-gradient(180deg,#e0525280,#0003)!important;color:#e05252!important;border-color:#e05252e6!important;box-shadow:0 0 12px #e0525273 inset}.stat-best-deaths{background:linear-gradient(180deg,#fffc,#0003)!important;color:#fff!important;border-color:#ffffffe6!important;box-shadow:0 0 12px #fff9 inset}.stat-best-assists{background:linear-gradient(180deg,#8d2bb380,#0003)!important;color:#8d2bb3!important;border-color:#8d2bb3e6!important;box-shadow:0 0 12px #8d2bb373 inset}.stat-best-damage{background:linear-gradient(180deg,#2464e080,#0003)!important;color:#2464e0!important;border-color:#2464e0e6!important;box-shadow:0 0 12px #2464e073 inset}.stat-best-damage_taken{background:linear-gradient(180deg,#0093a380,#0003)!important;color:#0093a3!important;border-color:#0093a3e6!important;box-shadow:0 0 12px #0093a373 inset}.stat-best-objective{background:linear-gradient(180deg,#c8942c80,#0003)!important;color:#c8942c!important;border-color:#c8942ce6!important;box-shadow:0 0 12px #c8942c73 inset}.stat-best-healing{background:linear-gradient(180deg,#99d36480,#0003)!important;color:#99d364!important;border-color:#99d364e6!important;box-shadow:0 0 12px #99d36473 inset}.stat-label{font-size:.78rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;text-align:center;font-weight:600;min-width:100px}.player-header-section{min-height:var(--player-header-h)}.center-column{display:flex;align-items:center;justify-content:center}.center-logo{width:var(--center-logo-h);height:var(--center-logo-h);opacity:.98;display:flex;align-items:center;justify-content:center}.center-logo img{width:100%;height:100%;object-fit:contain}.souls-breakdown-column{width:var(--player-col-w);display:flex;flex-direction:column;gap:.25rem}.soul-bar{border:1px solid var(--border);border-radius:4px;padding:.25rem .5rem;display:flex;justify-content:space-between;align-items:center;font-size:.7rem}.soul-bar .label{color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.6)}.soul-bar .value{color:var(--text);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.6)}.soul-bar.source-enemy-kills{background:linear-gradient(90deg,#e05252d9,#e0525259)}.soul-bar.source-troopers{background:linear-gradient(90deg,#67dad3d9,#67dad359)}.soul-bar.source-neutrals{background:linear-gradient(90deg,#2464e0d9,#2464e059)}.soul-bar.source-objective{background:linear-gradient(90deg,#c8942cd9,#c8942c59)}.soul-bar.source-urn{background:linear-gradient(90deg,#99d364d9,#99d36459)}.soul-bar.source-assists{background:linear-gradient(90deg,#8d2bb3d9,#8d2bb359)}.soul-bar.source-denies{background:linear-gradient(90deg,#9e9e9ed9,#9e9e9e59)}.soul-bar.source-team-bonus{background:linear-gradient(90deg,#5c7ae6d9,#5c7ae659)}.soul-bar.source-ability-assassinate{background:linear-gradient(90deg,#c09b54d9,#c09b5459)}.soul-bar.source-trophy-collector{background:linear-gradient(90deg,#b47febd9,#b47feb59)}.soul-bar.source-cultist-sacrifice{background:linear-gradient(90deg,#f17b02d9,#f17b0259)}.soul-bar.source-boxes{background:linear-gradient(90deg,#955138d9,#95513859)}.items-grid{width:var(--player-col-w);display:grid;grid-template-columns:repeat(3,1fr);gap:.2rem}.match-scoreboard .teams-container{gap:.125rem!important;padding:.25rem!important}.match-scoreboard .center-divider{padding:0 .15rem!important;justify-content:flex-start!important}.item-slot{width:30px;height:30px;background:#ffffff0d;border:1px solid var(--border);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.5rem;color:var(--text-dim)}.is-first-page .leaderboard-row:nth-of-type(2){box-shadow:0 0 25px 5px #ffd70099;background:linear-gradient(145deg,#ffdf6433,#ffd7001a);border:1px solid gold;animation:glow-gold 2s infinite alternate}.is-first-page .leaderboard-row:nth-of-type(3){box-shadow:0 0 25px 5px #c0c0c099;background:linear-gradient(145deg,#dcdcdc33,#c0c0c01a);border:1px solid silver;animation:glow-silver 2s infinite alternate}.is-first-page .leaderboard-row:nth-of-type(4){box-shadow:0 0 25px 5px #cd7f3299;background:linear-gradient(145deg,#cd7f3233,#a0522d1a);border:1px solid #cd7f32;animation:glow-bronze 2s infinite alternate}@keyframes glow-gold{0%{box-shadow:0 0 10px 2px #ffd7001a}to{box-shadow:0 0 25px 8px #ffd70033}}@keyframes glow-silver{0%{box-shadow:0 0 10px 2px #c0c0c01a}to{box-shadow:0 0 25px 8px #c0c0c033}}@keyframes glow-bronze{0%{box-shadow:0 0 10px 2px #cd7f321a}to{box-shadow:0 0 25px 8px #cd7f3233}}.filter-drawer-scrim{position:fixed;inset:0;background:#0009;z-index:999}.filter-drawer{position:fixed;top:0;left:0;height:100vh;width:340px;background:var(--bg-card);border-right:1px solid var(--border);box-shadow:8px 0 24px #00000080;transform:translate(0);z-index:1000;display:flex;flex-direction:column}.fd-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border);font-weight:700}.fd-close{background:transparent;border:none;color:var(--text);font-size:1.25rem;cursor:pointer}.fd-section{padding:1rem;border-bottom:1px solid var(--border)}.fd-title{color:var(--text-dim);font-size:.9rem;margin-bottom:.5rem}.fd-list{display:flex;flex-direction:column;gap:.4rem;max-height:160px;overflow:auto}.chk{display:flex;align-items:center;gap:8px;font-size:.95rem}.fd-actions{margin-top:auto;padding:.75rem;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--border)}.page-pill{padding:4px 10px;border:1px solid var(--purple);border-radius:999px;color:var(--text);box-shadow:0 0 12px #9d4edd99,inset 0 0 6px #9d4edd59;background:#9d4edd26;font-weight:600}.match-modal-scrim{position:fixed;inset:0;background:#000000bf;z-index:900}.match-modal{position:fixed;inset:4vh 4vw;z-index:901;display:flex;align-items:center;justify-content:center;pointer-events:none}.match-modal-inner{background:transparent;max-width:1400px;width:100%;max-height:90vh;overflow:auto;pointer-events:auto}.match-modal-inner .match-scoreboard{margin:0 auto}.match-modal-close{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;z-index:902}.center-stats-labels{display:flex;flex-direction:column;gap:.4rem;align-items:center;margin-top:calc(var(--player-header-h) - var(--center-logo-h))}.center-stat-label{height:var(--stat-row-h);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.player-stats-section{display:flex;flex-direction:column;gap:.4rem}.player-stats-section .stat-row{justify-content:center;height:var(--stat-row-h)}.player-stats-section .stat-row-label{display:none}.rank-tooltip{position:relative;cursor:help;--tooltip-color: var(--text);display:inline-block}.rank-tooltip[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--purple);border-radius:6px;color:var(--tooltip-color);font-size:.85rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10000;box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59,0 4px 12px #00000080}.rank-tooltip[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-2px);border:6px solid transparent;border-top-color:var(--purple);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:9999}.rank-tooltip:hover:before,.rank-tooltip:hover:after{opacity:1;transform:translate(-50%) translateY(-4px)}.rank-tooltip:hover:after{transform:translate(-50%) translateY(2px)}@media(max-width:768px){.view{padding:1rem}.profile-header{flex-direction:column;text-align:center}.leaderboard-row{grid-template-columns:60px 1fr 100px;font-size:.9rem}.leaderboard-row>:nth-child(n+4){display:none}.scoreboard-header{grid-template-columns:1fr;gap:.5rem}.scoreboard-row{grid-template-columns:1fr;gap:1rem}.amber-side,.sapphire-side{overflow-x:auto}.player-column,.stat-cell,.items-grid,.souls-breakdown-column{width:100px}}img[loading=lazy]{opacity:0;transition:opacity .3s ease-in}img[loading=lazy].loaded{opacity:1}.player-avatar,.profile-avatar,.hero-card-image,img[alt=hero]{background:linear-gradient(135deg,#ffffff08,#ffffff14)}#matches-sentinel{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.profile-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#141414fa;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000080;min-width:200px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-item{width:100%;padding:12px 16px;background:transparent;border:none;color:var(--text);font-size:.95rem;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s ease;position:relative}.profile-dropdown-item:hover{background:#8b5cf61a!important;color:var(--purple)!important;box-shadow:0 0 12px #8b5cf64d!important}.profile-dropdown-item--logout{color:#ef4444}.profile-dropdown-item--logout:hover{background:#ef44441a;color:#ef4444;box-shadow:0 0 12px #ef44444d}.profile-dropdown-divider{height:1px;background:var(--border);margin:4px 0}.favorite-star{background:transparent;border:none;padding:0;margin-left:12px;cursor:pointer;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.favorite-star:hover{transform:scale(1.2)}.favorite-star .star-icon{font-size:1.8rem;color:#888;transition:color .2s ease}.favorite-star:hover .star-icon{color:#fbbf24}.favorite-star.is-favorite .star-icon{color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.5)}.favorite-star:active{transform:scale(1.1)}.game-count-filter{transition:all .2s ease;padding:8px 32px 8px 12px;background:#ffffff0d;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.game-count-filter:hover{border-color:var(--purple)!important;box-shadow:0 0 8px #8b5cf64d!important;background-color:#8b5cf60d!important;outline:none!important}.game-count-filter:focus{outline:none!important;border-color:var(--purple)!important;box-shadow:0 0 12px #8b5cf680!important;background-color:#8b5cf60d!important}.game-count-filter option{background:var(--bg-card);color:var(--text);padding:8px}.game-count-filter option:hover{background:#8b5cf633;color:var(--purple)}.tournament-filter-select{width:100%;padding:.75rem;padding-right:32px;background:#ffffff0d;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.tournament-filter-select:hover{border-color:var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59;background-color:#8b5cf60d}.tournament-filter-select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 18px #9d4edd99,inset 0 0 6px #9d4edd59;background-color:#8b5cf60d}.tournament-filter-select option{background:var(--bg-card);color:var(--text);padding:8px}.tournament-filter-select option:hover{background:#8b5cf633;color:var(--purple)}.hero-card{transition:all .2s ease;cursor:pointer}.hero-card:hover{border-color:var(--purple)!important;box-shadow:0 0 12px #8b5cf666;transform:translateY(-2px)}.dashboard-stat-card{transition:all .2s ease}.dashboard-stat-card:hover{border-color:var(--purple)!important;box-shadow:0 0 12px #8b5cf64d}.favourites-panel{position:fixed;top:var(--topbar-height);right:0;width:320px;height:calc(100vh - var(--topbar-height));background:#141414fa;border-left:1px solid var(--border);z-index:999;display:flex;flex-direction:column;animation:slideInRight .2s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.favourites-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.favourites-panel-header h2{font-size:1.2rem;color:var(--purple);margin:0}.favourites-panel-close{background:transparent;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s ease}.favourites-panel-close:hover{color:var(--purple)}.favourites-panel-content{flex:1;overflow-y:auto;padding:1rem}.favourite-item{display:block;padding:1rem;background:#ffffff08;border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;color:var(--text);text-decoration:none;transition:all .2s ease}.favourite-item:hover{background:#ffffff0d;border-color:var(--purple);box-shadow:0 0 8px #8b5cf64d}.unfavourite-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem;color:#fbbf24;transition:transform .2s ease}.unfavourite-btn:hover{transform:scale(1.2)}@keyframes pulse{0%,to{box-shadow:0 0 20px #8b5cf666;transform:scale(1)}50%{box-shadow:0 0 30px #8b5cf6b3;transform:scale(1.05)}}
