#root{width:100%;margin:0;padding:0}.App{min-height:100vh;background:#f5f5f5}.app-nav{padding:8px;background-color:#b8b8b8}.nav-logo{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none;transition:opacity .3s;display:flex;align-items:center}.nav-logo:hover{opacity:.9}.logo-image{height:48px;object-fit:contain}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.tournament-view{max-width:100%;margin:0;padding:0;min-height:100vh;background:#f5f5f5;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.tournament-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px 20px;box-shadow:0 2px 8px #0000001a}.tournament-header h1{margin:0 0 12px;font-size:1.75rem;font-weight:700}.tournament-info{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.tournament-type,.tournament-status{background:#ffffff40;padding:4px 12px;border-radius:16px;font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.tournament-details{display:flex;gap:16px;font-size:.875rem;opacity:.95;flex-wrap:wrap}.leaderboard-section{background:#f5f5f5;margin:0 0 16px;padding:20px}.leaderboard-section h2{font-size:1.25rem;margin:0 0 16px;color:#333;font-weight:700}.tournament-info-card{border-radius:16px;margin-bottom:24px;display:flex;flex-direction:column;gap:4px}.tournament-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.tournament-tag{background:#fff;color:#5eaaa8;padding:6px 16px;border-radius:16px;font-size:.8125rem;font-weight:600;text-transform:capitalize;border:1px solid #5EAAA8}.host-info{display:flex;align-items:center;gap:12px;margin-top:12px}.host-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#5eaaa8,#4a9c9a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0;text-transform:uppercase;overflow:hidden}.host-avatar img{width:40px;height:40px;object-fit:cover}.host-details{display:flex;align-items:center;gap:6px;font-size:.875rem;color:#666;flex-wrap:wrap}.host-label{color:#666}.host-name{color:#1a1a1a;font-weight:600}.host-separator{color:#d1d5db}.host-date{color:#666}.champion-card{background:#fff;border-radius:16px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 8px #0000001a}.champion-trophy{width:120px;height:120px;object-fit:contain;margin-bottom:16px}.champion-name{font-size:1.5rem;font-weight:700;color:#1a1a1a;text-align:center;margin-bottom:8px}.champion-username{font-size:1rem;font-weight:600;color:#f59e0b;text-align:center;margin-bottom:24px}.champion-subtitle{font-size:.875rem;color:#666;text-align:center}.champion-tournament-name{font-size:1.125rem;font-weight:700;color:#5eaaa8;text-align:center;margin-bottom:2px}.champion-tournament-label{font-size:.875rem;color:#666;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:12px;margin-top:40px}.leaderboard-header{display:flex;align-items:center;padding:0 16px 8px;font-size:.75rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.header-rank{width:50px;flex-shrink:0}.header-name{flex:1}.header-stats{display:flex;gap:24px;align-items:center;min-width:140px;justify-content:flex-end}.header-stats span{min-width:32px;text-align:center}.leaderboard-card{background:#fdfdfd;border-radius:20px;padding:0;display:flex;align-items:stretch;gap:0;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s;overflow:hidden}.rank-number{width:auto;min-width:32px;flex-shrink:0;font-size:14px;font-weight:700;color:#333;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:20px;padding:0 4px;margin-right:0;box-shadow:0 2px 3.84px #0000001a}.rank-number.rank-top-3:after{content:"";width:80%;height:4px;background-color:var(--rank-color);border-radius:2px;margin-top:4px}.leaderboard-content{flex:1;display:flex;align-items:center;gap:8px;padding:16px}.players-section{flex:1;display:flex;flex-direction:column;gap:12px;min-width:120px}.player-row{display:flex;align-items:center;gap:12px}.player-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#5eaaa8,#4a9c9a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0;text-transform:uppercase;overflow:hidden}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-info{display:flex;flex-direction:column;gap:2px;min-width:0}.player-name-text{font-size:12px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-username{font-size:12px;color:#f59e0b;font-weight:700}.stats-section{display:flex;gap:24px;align-items:center;min-width:140px;justify-content:flex-end}.stat-item{min-width:32px;text-align:center}.stat-value{font-size:14px;font-weight:500;color:#333}.stat-points{font-size:1.125rem;font-weight:700;color:#333}.matches-section{background:#f5f5f5;padding:20px}.matches-section h2{font-size:1.25rem;margin:0 0 20px;color:#333;font-weight:700}.round{margin-bottom:32px}.round-header{display:flex;align-items:center;justify-content:center;margin-bottom:24px}.round-header h3{font-size:1.125rem;margin:8px 0 16px;color:#1a1a1a;font-weight:700;background:#5eaaa8;padding:8px 32px;border-radius:20px}.completed-badge{background:#10b981;color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;gap:4px}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:54px}.match-card{background:#fff;border-radius:16px;padding:30px 20px;box-shadow:0 2px 8px #00000014;position:relative;transition:transform .2s,box-shadow .2s}.match-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.match-card.completed{border:1px solid #E0E0E0}.match-card.pending{opacity:.7;border:1px solid #E0E0E0}.match-scores-absolute{position:absolute;top:-20px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:2}.score-box-absolute{min-width:60px;height:48px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;border-radius:12px;background:#9ca3af;color:#fff;box-shadow:0 4px 8px #0000001f}.score-box-absolute.winning{background:#f59e0b}.court-icon-absolute{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#fff;padding:6px 14px;border-radius:20px;box-shadow:0 2px 6px #0000001f;z-index:3}.court-icon-img{width:16px;height:16px;object-fit:contain}.court-label{font-size:12px;font-weight:600;color:#1f2937;white-space:nowrap}.match-scores{display:flex;justify-content:center;gap:12px;padding:16px 16px 12px}.score-box{min-width:60px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border-radius:8px;background:#e0e0e0;color:#fff}.score-box.winning{background:#f59e0b;color:#fff}.score-box.losing{background:#9ca3af;color:#fff}.match-teams{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;width:100%}.team-side{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.team-left{align-items:flex-start}.team-right{align-items:flex-end}.match-player-row{display:flex;align-items:center;gap:10px}.match-player-row-reverse{flex-direction:row-reverse;justify-content:flex-end}.match-player-row-right{display:flex;align-items:center;gap:10px}.match-player-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#5eaaa8,#4a9c9a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;text-transform:uppercase;box-shadow:0 2px 4px #0000001a;overflow:hidden}.match-player-avatar img{width:100%;height:100%;object-fit:cover}.match-player-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.match-player-info-right{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;align-items:flex-end;text-align:right}.text-right{align-items:flex-end}.match-player-name{font-size:15px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-player-username{font-size:13px;color:#f59e0b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-vs{font-size:14px;font-weight:600;color:#9ca3af;padding:0 8px;flex-shrink:0}.empty-state{text-align:center;color:#999;padding:32px 20px;background:#fafafa;border-radius:8px;font-style:italic;font-size:.875rem}.loading,.error{text-align:center;padding:60px 20px;font-size:1.125rem}.loading{color:#667eea}.error{color:#ef4444}@media(max-width:380px){.player-avatar,.match-player-avatar{display:none}.players-section{min-width:60px}}@font-face{font-family:Poppins;src:url(/assets/fonts/poppins.light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/poppins.regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/poppins.semibold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/poppins.bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{font-family:Poppins,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
