:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto;padding:2rem}.app-container{max-width:1200px;margin:0 auto}.header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #333;gap:2rem}.header-left h1{margin:0;font-size:2.2rem;font-weight:900;letter-spacing:2px;background:linear-gradient(90deg,#ff4d4d,#b30000);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-actions{display:flex;align-items:center;gap:1.5rem}.btn-toggle{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#222;border:1px solid #444;color:#888;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-toggle.active{background:#ff4d4d1a;border-color:#ff4d4d;color:#ff4d4d}.btn-toggle:hover{border-color:#666}.league-search{display:flex;gap:.5rem}.header h1{font-size:2.5rem;background:linear-gradient(90deg,#ff4d4d,#b30000);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-top:0}.search-section{display:flex;gap:1rem;margin-bottom:2rem}.input-field{flex:1;padding:.8rem 1.2rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:1rem}.server-select{padding:.8rem 1.2rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:1rem;outline:none;cursor:pointer}.btn-search{padding:.8rem 2rem;border-radius:8px;border:none;background:#ff4d4d;color:#fff;font-weight:700;cursor:pointer;transition:background .2s}.btn-search:hover{background:#e60000}.filter-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.tab{padding:.6rem 1.5rem;border:1px solid #333;background:#111;color:#888;border-radius:20px;cursor:pointer;font-weight:600;transition:all .2s}.tab:hover{border-color:#666;color:#ddd}.tab.active{background:#ff4d4d;color:#fff;border-color:#ff4d4d}.tab.watchlist-tab{margin-left:2rem;border-color:#d4af37;color:#d4af37;background:#d4af371a}.tab.watchlist-tab.active{background:#d4af37;color:#111}.watchlist-input{max-width:200px;border-color:#542}.watchlist-input:focus{border-color:#d4af37;outline:none}.standings-panel{background:#151515;border:1px solid #333;border-radius:12px;margin:0 1rem 2rem;padding:1.5rem;animation:slideDown .3s ease-out;box-shadow:0 8px 30px #00000080}.empty-standings{text-align:center;color:#888;padding:3rem;font-style:italic}.standings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #2a2a2a}.standings-header h3{margin:0;color:#e0e0e0;display:flex;align-items:center;gap:.5rem;font-size:1.2rem}.standings-note{font-size:.8rem;color:#666}.standings-alert{background:#f1c40f1a;border-left:4px solid #f1c40f;padding:10px 15px;color:#ccc;font-size:.9rem;margin-bottom:1.5rem;border-radius:0 4px 4px 0}.standings-groups-container{display:flex;flex-direction:column;gap:2rem}@media (min-width: 1100px){.standings-groups-container{flex-direction:row;align-items:flex-start}.standings-group.multi-group{flex:1;min-width:0}}.group-title{color:#d4af37;margin:0 0 1rem;font-size:1.1rem;border-bottom:1px dashed #444;padding-bottom:.5rem}.standings-table-wrapper{overflow-x:auto}.standings-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:600px}.standings-table th{text-align:left;padding:12px 16px;color:#888;font-weight:600;border-bottom:2px solid #333;background:#1a1a1a;text-transform:uppercase;font-size:.8rem}.standings-table td{padding:12px 16px;border-bottom:1px solid #222;color:#ccc;vertical-align:middle}.standings-table tbody tr{transition:background .2s}.standings-table tbody tr:hover{background:#222}.standings-table tbody tr:nth-child(2n){background:#ffffff05}.rank-col{width:60px;text-align:center!important}.rank-badge{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#333;color:#888;font-weight:700;font-size:.8rem}.rank-badge.rank-1{background:gold;color:#000}.rank-badge.rank-2{background:silver;color:#000}.rank-badge.rank-3{background:#cd7f32;color:#fff}.team-name-cell{font-weight:700;color:#eee;font-size:1.05rem}.team-cell-content{display:flex;align-items:center;gap:12px}.team-logo{width:32px;height:32px;object-fit:contain;border-radius:4px;background:#222}.center-col{text-align:center!important}.series-wdl,.game-wl{font-family:monospace;font-size:1.1rem;letter-spacing:1px}.series-wdl .w,.game-wl .w{color:#4dff4d}.series-wdl .d{color:#aaa}.series-wdl .l,.game-wl .l{color:#ff4d4d}.pts-col{text-align:center!important;color:#f1c40f;font-weight:700;font-size:1.1rem}.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2rem;padding:0 1rem 3rem}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#181818;border-radius:12px;border:1px dashed #444;color:#888}.empty-state h3{color:#ccc;margin-top:1rem;margin-bottom:.5rem}.series-card{background:#181818;border:1px solid #2a2a2a;border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.series-card.favorite-series{border:1px solid rgba(212,175,55,.5);box-shadow:0 0 15px #d4af371a}.series-card.favorite-series .series-header:after{content:"★";color:#d4af37;font-size:1.2rem;margin-left:auto}.league-list-container{grid-column:1 / -1;padding:1rem}.league-list-title{color:#ff4d4d;font-size:1.2rem;margin-bottom:1.5rem;font-weight:800;text-transform:uppercase;border-left:4px solid #ff4d4d;padding-left:1rem}.league-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.league-card{background:#222;border:1px solid #333;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:1rem}.league-card:hover{border-color:#ff4d4d;background:#282828;transform:translateY(-4px)}.league-card-header{display:flex;justify-content:space-between;align-items:center;color:#888}.league-tier{font-size:.7rem;background:#b300001a;color:#ff4d4d;padding:2px 8px;border-radius:4px;font-weight:700}.league-card-body .league-name{margin:0;font-size:1.1rem;color:#eee;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.league-card-footer{margin-top:auto;font-size:.8rem;color:#666;font-weight:600;border-top:1px solid #333;padding-top:1rem}.view-actions{grid-column:1 / -1}.series-card.expanded{grid-column:1 / -1;border-color:#ff4d4d;box-shadow:0 10px 40px #0009}.series-main{padding:1.5rem;position:relative}.series-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;font-size:.85rem;color:#666}.series-badge{background:#b3000033;color:#ff4d4d;border:1px solid rgba(179,0,0,.3);padding:2px 10px;border-radius:4px;font-weight:800;font-size:.7rem;text-transform:uppercase}.series-teams{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.series-team{flex:1;text-align:center}.team-name-large{font-size:1.3rem;font-weight:900;color:#eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.series-vs-score{font-weight:900;color:#333;font-size:.9rem;padding:0 1rem}.series-score{font-size:1.4rem;letter-spacing:2px;background:#111;padding:4px 12px;border-radius:8px;border:1px solid #333}.score-win{color:#4dff4d}.score-loss{color:#ff4d4d}.winner-team .team-name-large{color:#f1c40f}.winner-crown{margin-right:8px;font-size:1.2rem;display:inline-block;animation:floatCrown 2s ease-in-out infinite}@keyframes floatCrown{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}.series-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #222;padding-top:1.2rem;font-size:.8rem;color:#888}.game-count-info{display:flex;align-items:center;gap:.5rem;color:#ff4d4d;font-weight:700}.expand-icon{font-size:.7rem;transition:transform .3s}.expand-icon.rotated{transform:rotate(180deg)}.series-games-list{background:#111;padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem;border-top:1px solid #222;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.game-detail-box{background:#1c1c1c;border:1px solid #2a2a2a;border-radius:8px;padding:1.2rem;transition:border-color .2s}.game-detail-box:hover{border-color:#444}.placeholder-game{background:#151515;border:1px dashed #333;opacity:.7}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 0;color:#666;gap:1rem;font-weight:600;font-size:.9rem}.game-header{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.75rem}.game-label{font-weight:900;color:#666;text-transform:uppercase}.match-id-small{color:#444;cursor:pointer;transition:color .2s}.match-id-small:hover{color:#888}.game-teams{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;font-size:1rem;font-weight:700}.mini-team{color:#888}.mini-team.radiant.winner,.mini-team.dire.winner{color:#4dff4d}.mini-lineup{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.lineup-row{display:flex;gap:6px}.hero-icon{width:32px;height:18px;border-radius:2px;border:1px solid #333;object-fit:cover;transition:transform .2s}.hero-icon:hover{transform:scale(1.6);z-index:10;border-color:#ff4d4d}.game-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#555;border-top:1px dashed #222;padding-top:.8rem}.game-video-links{display:flex;align-items:center;gap:.6rem}.game-video-links a{color:#888;text-decoration:none;font-weight:700;padding:3px 10px;background:#252525;border-radius:4px;transition:all .2s;font-size:.75rem}.game-video-links a:hover{background:#444;color:#fff}.game-video-links a.link-detail:hover{background:#4d94ff}.game-video-links a.link-wiki:hover{background:#f0ad4e}.divider-v{width:1px;height:14px;background:#333;margin:0 .2rem}.loading{text-align:center;font-size:1.2rem;margin-top:4rem;color:#444}.detailed-stats-container{margin-top:1rem;padding:1.2rem;background:#111;border-radius:8px;border:1px solid #222;overflow-x:auto;animation:slideDownDet .3s ease-out}@keyframes slideDownDet{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.team-stats-box{margin-bottom:2rem}.team-stats-box:last-child{margin-bottom:0}.team-title{margin-bottom:.8rem;font-size:.95rem;padding:4px 12px;border-radius:4px;display:inline-block}.team-title.radiant{background:#00ff000d;color:#3d9e47;border-left:4px solid #3d9e47}.team-title.dire{background:#ff00000d;color:#ff4d4d;border-left:4px solid #ff4d4d}.winner-label{background:#f1c40f;color:#000;font-size:.7rem;padding:1px 6px;border-radius:2px;margin-left:10px;font-weight:700;vertical-align:middle}.stats-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:800px}.stats-table th{text-align:left;padding:10px;color:#666;border-bottom:1px solid #222;font-weight:500}.stats-table td{padding:10px;border-bottom:1px solid #1a1a1a;vertical-align:middle}.player-hero-cell{width:200px}.player-info{display:flex;align-items:center;gap:10px}.player-names{display:flex;flex-direction:column}.player-name{color:#ddd;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-name-small{font-size:.7rem;color:#666}.stat-cell{color:#bbb;text-align:center}.stat-cell.level-cell{color:#888}.stat-cell.nw-cell{color:#f1c40f;font-weight:700}.stat-cell.nw-cell.protected{color:#444;font-weight:400}.kda-cell .k{color:#3d9e47}.kda-cell .d{color:#ff4d4d}.kda-cell .a{color:#aaa}.lh-dn-cell,.gpm-xpm-cell,.damage-cell{color:#888}.player-items{display:flex;align-items:center;gap:12px}.main-items{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.item-icon,.item-placeholder{width:42px;height:31px;background:#000;border-radius:2px;border:1px solid #222;object-fit:cover}.item-placeholder{background:#0a0a0a}.neutral-item .item-icon,.neutral-item .item-placeholder{width:31px;height:31px;border-radius:50%;border:1px solid #444}.btn-stats-toggle{background:transparent;border:1px solid #444;color:#aaa;padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s;font-weight:700}.btn-stats-toggle:hover{border-color:#666;color:#fff;background:#222}.btn-stats-toggle.active{background:#ff4d4d1a;border-color:#ff4d4d;color:#ff4d4d}.loading-stats{padding:2rem;text-align:center;color:#666;font-style:italic}.spinner{animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;margin-right:4px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){:root{--base-vw: 3.75}body{overflow-x:hidden;width:100vw}#root{padding:0;margin:0;width:100vw;overflow-x:hidden}.app-container{width:100vw;max-width:100vw;padding:4vw 3vw;box-sizing:border-box;overflow-x:hidden}.header{flex-direction:column;align-items:stretch;padding:2vw 0;gap:3vw;border-bottom:1px solid #333}.header h1{font-size:8vw;text-align:center;margin-bottom:1vw}.header-left p{font-size:3.5vw;text-align:center;margin:0}.header-actions{display:flex;flex-direction:column;gap:3vw;margin-top:2vw;width:100%}.header-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:2vw;width:100%}.header-buttons .btn-toggle:nth-child(3){grid-column:1 / -1}.btn-toggle{padding:3vw;font-size:3.8vw;width:100%;justify-content:center;box-sizing:border-box}.league-search{display:flex;flex-direction:column;gap:2.5vw;width:100%;padding:2vw;background:#ffffff08;border-radius:2vw;border:1px solid #333;box-sizing:border-box}.league-search .watchlist-input{width:100%!important;max-width:none}.league-search .server-select{width:100%;padding:3vw;font-size:4vw;box-sizing:border-box}.search-id-group{display:flex;gap:2vw;width:100%}.search-id-group input.input-field{flex:1;padding:3vw;font-size:4vw;box-sizing:border-box;min-width:0}.league-search .btn-search{width:15vw;min-width:60px;padding:0;display:flex;justify-content:center;align-items:center;flex-shrink:0;font-size:5vw}.filter-tabs{display:flex;flex-wrap:wrap;gap:2.5vw;margin:5vw 0;justify-content:center}.tab{padding:2vw 4vw;font-size:3.5vw;border-radius:5vw;white-space:nowrap}.tab.watchlist-tab{margin-left:0;flex-grow:1;text-align:center}.series-grid,.league-grid{grid-template-columns:1fr;padding:0;gap:4vw;width:100%}.league-list-container{padding:2vw}.league-list-title{font-size:4.5vw;margin-bottom:4vw}.league-card{padding:4vw;border-radius:3vw}.league-name{font-size:4vw!important}.series-card{width:100%;margin:0 auto;border-radius:3vw}.series-teams{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1vw;margin-bottom:4vw}.team-name-large{font-size:4vw;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-vs-score{padding:0 1vw}.series-score{font-size:4.5vw;padding:1vw 2vw}.mini-lineup{flex-direction:column;gap:2vw;align-items:stretch;margin-bottom:3vw}.lineup-row{display:flex;gap:1.5vw;width:100%}.lineup-row:first-child{justify-content:flex-start}.lineup-row:last-child{justify-content:flex-end}.hero-icon{width:9vw;height:5vw;border-radius:1vw}.game-detail-box{padding:3vw}.game-footer{flex-direction:column;align-items:stretch;gap:3vw}.game-video-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5vw;width:100%}.game-video-links a,.game-video-links button{font-size:3vw;padding:1.5vw;text-align:center;justify-content:center;display:flex}.detailed-stats-container,.standings-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:2vw}.stats-table,.standings-table{font-size:3vw;min-width:180vw}}
