@font-face{font-family:Neuropolitical;src:url("https://ancarvalho.github.io/RoadToToddy/static/fonts/Neuropolitical.woff2") format("woff2");font-weight:700;font-style:normal}@font-face{font-family:"Roboto Mono";src:url("https://ancarvalho.github.io/RoadToToddy/static/fonts/Roboto.woff2") format("woff2");font-weight:700;font-style:normal}:root{--bg-color:#111827;--surface-color:#1f2937;--border-color:#374151;--text-primary:#f9fafb;--text-secondary:#c1c5cd;--accent-color:#38bdf8;--cutoff-color:#f87171;--font-headers:"Neuropolitical",sans-serif;--font-primary:"Roboto Mono",sans-serif;--font-mono:"Roboto Mono",monospace;--placement-1:#ffd700;--placement-2:#e5e7eb;--placement-3:#f59e0b;--placement-4:#4ade80;--placement-mid:#60a5fa;--placement-8:#f87171;--placement-none-bg:#4b5563;--text-dark:#1f2937}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-image:url("https://ancarvalho.github.io/RoadToToddy/static/img/bg.avif");margin:0;padding:130px 0 50px;background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;color:var(--text-primary);font-family:var(--font-primary);line-height:1.6;overflow-x:hidden;position:relative;min-height:100vh}h1,h2,h3,header p,thead{font-family:var(--font-headers);font-size:1rem;font-size-adjust:0.5;line-height:1.6}body.modal-open{overflow:hidden}.container{max-width:1800px;margin:0 auto;padding:1rem 1.5rem 2rem;opacity:1;transition:opacity .2s ease-in-out}.container.fade-out{opacity:0}.top-bar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;flex-wrap:wrap;justify-content:center;padding:.5rem 1.5rem;background-color:rgba(17,24,39,.65);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);border-bottom:1px solid var(--border-color);transition:transform .3s ease-in-out}.top-bar.top-bar--hidden{transform:translateY(-100%)}.top-bar-main{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1300px}.top-bar-main a img{width:80px;height:fit-content}.main-nav{display:flex;gap:1rem}.main-nav a{color:var(--text-secondary);text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:.2s ease-in-out}.main-nav a:hover{color:var(--text-primary);background-color:rgba(31,41,55,.8)}.main-nav a.active{color:var(--accent-color);background-color:rgba(31,41,55,.8);font-weight:600}.day-selector{display:flex;justify-content:center;gap:.5rem;padding:.75rem 0 .25rem;width:100%;max-width:1300px}.day-selector-btn{background-color:rgba(31,41,55,.8);color:var(--text-secondary);border:1px solid var(--border-color);padding:.5rem 1.5rem;border-radius:999px;font-weight:500;cursor:pointer;transition:.2s ease-in-out}.day-selector-btn:hover{color:var(--text-primary);border-color:var(--accent-color)}.day-selector-btn.active{color:var(--bg-color);background-color:var(--accent-color);border-color:var(--accent-color);font-weight:600}.lang-selector{display:flex;justify-content:center;gap:.25rem;padding:12px}.lang-btn{background-color:transparent;color:var(--text-secondary);border:none;padding:.3rem 1rem;border-radius:999px;font-weight:500;cursor:pointer;transition:.2s ease-in-out}.lang-btn.active{background-color:var(--accent-color);color:var(--bg-color)}.page-header{margin:2rem 0;text-align:center;text-shadow:0 0 10px rgba(0,0,0,.5)}.page-header h1{font-size:2.5rem;font-weight:600;color:var(--text-primary)}.page-header p{color:var(--text-secondary);font-size:1.1rem;margin-top:.25rem}.controls{margin-bottom:1.5rem}.search-input{width:100%;padding:.75rem 1rem;background-color:rgba(31,41,55,.65);backdrop-filter:blur(5px);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:.2s ease-in-out}.search-input:focus{outline:0;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(56,189,248,.3)}.finalist-card,.modal-content,.podium-card,.table-container,.table-container-sm{background-color:rgba(31,41,55,.65);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 25px rgba(0,0,0,.3)}table{width:100%;border-collapse:collapse}@media (max-width:769px){table{table-layout:fixed}}td,th{padding:1rem 1.25rem;vertical-align:middle}#leaderboard td:nth-child(2){width:30%}@media (max-width:992px){#leaderboard td:nth-child(2){width:auto}}th{background-color:rgba(0,0,0,.3);font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;user-select:none}td:first-child,th:first-child{text-align:left}td:not(:first-child),th:not(:first-child){text-align:center}th.sortable{cursor:pointer;position:relative}th.sortable .sort-indicator{display:inline-block;width:1em;height:1em;margin-left:.5em;opacity:.4;transition:opacity .2s}th.sortable:hover .sort-indicator{opacity:1}th.active-sort-asc .sort-indicator::after{content:" ▲"}th.active-sort-desc .sort-indicator::after{content:" ▼"}tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s ease-in-out}tbody tr:last-child{border-bottom:none}.clickable-player{cursor:pointer}#leaderboard .clickable-player:hover{background-color:#374151}.player-name{font-weight:500;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-name.player-cutoff{color:var(--cutoff-color)}.lobby-table .player-name:hover{color:var(--accent-color)}.placements-wrapper{display:flex;gap:.4rem;align-items:center;justify-content:center;flex-wrap:wrap}.placement-box{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:.85rem;font-weight:600;font-family:var(--font-mono);color:var(--text-dark)}.placement-1{background-color:var(--placement-1)}.placement-2{background-color:var(--placement-2)}.placement-3{background-color:var(--placement-3)}.placement-4{background-color:var(--placement-4)}.placement-mid{background-color:var(--placement-mid);color:var(--text-primary)}.placement-8{background-color:var(--placement-8);color:var(--text-primary)}.placement-none{background-color:var(--placement-none-bg);color:var(--text-secondary)}.lobbies-container{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;justify-content:center}.round-section{flex:1 1 400px;min-width:320px;max-width:400px}.round-section h2{font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);color:var(--accent-color)}.lobby-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.lobby-card h3{padding:.75rem 1rem;background-color:rgba(0,0,0,.2);font-size:1.1rem;font-weight:600}.lobby-table td,.lobby-table th{padding:.5rem 1rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:flex-start;z-index:1000;backdrop-filter:blur(5px);opacity:0;transition:opacity .3s;padding:2rem .5rem;overflow-y:auto}.modal-content{background-color:var(--surface-color);border-radius:12px;border:1px solid var(--border-color);padding:2rem;max-width:800px;width:100%;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transform:scale(.95);transition:transform .3s;margin-bottom:2rem}@media (max-width:576px){.modal-content{padding:1.5rem 1rem}}.modal-overlay.visible{opacity:1}.modal-overlay.visible .modal-content{transform:scale(1)}.close-button{position:absolute;top:1rem;right:1rem;background:0 0;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;line-height:1;transition:color .2s}.close-button:hover{color:var(--text-primary)}.modal-player-header{margin-bottom:1rem;text-align:center}.modal-player-name{font-size:2rem;font-weight:600;color:var(--accent-color);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-player-rank{font-size:1rem;color:var(--text-secondary)}.modal-day-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1rem;flex-wrap:wrap}.modal-day-tab-btn{padding:.75rem 1.5rem;cursor:pointer;background:0 0;border:none;color:var(--text-secondary);font-size:1rem;font-weight:500;border-bottom:3px solid transparent;margin-bottom:-1px;transition:.2s ease-in-out}.modal-day-tab-btn:hover{color:var(--text-primary)}.modal-day-tab-btn.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.modal-day-content{display:none}.modal-day-content.active{display:block}.modal-sub-nav{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem}.modal-sub-tab-btn{background:0 0;border:1px solid var(--border-color);color:var(--text-secondary);padding:.4rem 1rem;border-radius:6px;cursor:pointer;transition:.2s}.modal-sub-tab-btn.active{background-color:var(--accent-color);color:var(--bg-color);border-color:var(--accent-color)}.modal-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-item{background-color:var(--bg-color);padding:1rem;border-radius:8px;text-align:center}.stat-item-value{font-size:1.75rem;font-weight:600;font-family:var(--font-mono)}.stat-item-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.chart-container{background-color:var(--bg-color);padding:1rem;border-radius:8px;position:relative}.chart-container svg{display:block;width:100%;height:auto}.svg-chart .grid-line{stroke:var(--border-color);stroke-width:1;shape-rendering:crispEdges}.svg-chart .axis-label{fill:var(--text-secondary);font-family:var(--font-mono);font-size:12px}.svg-chart .data-line{stroke:var(--accent-color);stroke-width:2;fill:none}.svg-chart .data-area{fill:var(--accent-color);opacity:.1}.svg-chart .data-point{fill:var(--bg-color);stroke:var(--accent-color);stroke-width:2;transition:r .2s}.svg-chart .data-point:hover{r:6}.svg-chart-tooltip{position:absolute;background-color:var(--surface-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-color);font-size:.9rem;pointer-events:none;opacity:0;transform:translate(-50%,-100%);transition:opacity .2s;white-space:nowrap}.svg-chart-tooltip strong{color:var(--accent-color)}.match-history-container{max-height:400px;overflow-y:auto;padding-right:10px}.match-history-lobby{margin-bottom:1.5rem}.match-history-lobby h4{font-size:1.2rem;color:var(--accent-color);margin-bottom:.5rem}footer{position:absolute;bottom:0;width:100%;height:50px;text-align:center;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;background-color:rgba(31,41,55,.8);display:flex;justify-content:center}.podium-container{display:flex;justify-content:center;align-items:flex-end;gap:1rem;margin:3rem auto;flex-wrap:wrap}.podium-card{border-radius:12px;padding:1.5rem;text-align:center;border:2px solid var(--border-color);min-width:300px;max-width:350px;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:transform .2s ease-in-out;position:relative;overflow:hidden}.podium-card:hover{transform:translateY(-10px);z-index:5;overflow:visible}.podium-card.rank-1{order:2;height:320px;border-color:gold;box-shadow:0 0 25px rgba(255,215,0,.4)}.podium-card.rank-2{order:1;height:300px;border-color:#e5e7eb;box-shadow:0 0 25px rgba(229,231,235,.4)}.podium-card.rank-3{order:3;height:270px;border-color:#f59e0b;box-shadow:0 0 25px rgba(245,158,11,.4)}@media (max-width:768px){.podium-container{flex-direction:column;align-items:stretch}.podium-card{width:100%;height:auto!important;order:unset!important}.podium-card.rank-1{order:1!important}.podium-card.rank-2{order:2!important}.podium-card.rank-3{order:3!important}}.podium-crown{position:absolute;top:-10px;left:-25px;width:80px;height:40px;fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.3;transform:rotate(-25deg);transition:opacity .3s,filter .3s}.podium-card:hover .podium-crown{opacity:1}.podium-card.rank-1 .podium-crown{stroke:#ffd700}.podium-card.rank-2 .podium-crown{stroke:#e5e7eb}.podium-card.rank-3 .podium-crown{stroke:#f59e0b}.podium-card.rank-1:hover .podium-crown{filter:drop-shadow(0 0 8px #ffd700)}.podium-card.rank-2:hover .podium-crown{filter:drop-shadow(0 0 8px #e5e7eb)}.podium-card.rank-3:hover .podium-crown{filter:drop-shadow(0 0 8px #f59e0b)}.podium-rank{font-size:2.5rem;font-weight:700;font-family:var(--font-mono)}.podium-card.rank-1 .podium-rank{color:gold}.podium-card.rank-2 .podium-rank{color:#e5e7eb}.podium-card.rank-3 .podium-rank{color:#f59e0b}.podium-name{font-size:1.25rem;font-weight:600}.podium-points{color:var(--text-secondary)}.podium-prize{font-size:1.1rem;font-weight:600;color:var(--accent-color)}.podium-card .placements-wrapper{margin-top:auto;padding-top:1rem}.finalists-list{display:flex;flex-direction:column;gap:.5rem;justify-content:center}@media (min-width:769px){.finalists-list{flex-direction:row;flex-wrap:wrap}}.finalist-card{border-radius:8px;padding:1rem 1.5rem;display:flex;flex-direction:column;min-width:300px;max-width:350px;gap:1rem;border-left:4px solid var(--border-color)}.finalist-info{display:flex;align-items:center;gap:1rem;flex-grow:1}.finalist-rank{font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.finalist-name-points{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.finalist-name{font-weight:500;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.finalist-points{color:var(--text-secondary)}.finalist-details{display:flex;justify-content:space-between;align-items:center;width:100%}.finalist-prize{font-weight:600;color:var(--accent-color)}.finalists-list .placements-wrapper{justify-content:flex-end}@media (min-width:1025px){.lobbies-container{flex-direction:row}}@media (max-width:1024px){body{padding-top:115px}#leaderboard tbody tr{display:block;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--surface-color);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);padding:0}#leaderboard thead{display:none}#leaderboard tbody td{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}#leaderboard tbody td:first-child{background-color:rgba(0,0,0,.2);border-radius:8px 8px 0 0;border-bottom:1px solid var(--border-color);font-size:1.1rem;font-weight:600;flex-wrap:wrap}#leaderboard tbody td:first-child .player-name{flex-grow:1;min-width:0}#leaderboard tbody td:last-child{border-bottom:none}#leaderboard tbody td::before{content:attr(data-label);font-weight:600;color:var(--text-secondary);margin-right:1rem;flex-shrink:0}#leaderboard td .player-name{color:var(--text-primary);white-space:normal}.placements-wrapper{justify-content:flex-end}#leaderboard td:not(:first-child){justify-content:space-between}}
