:root{color-scheme:dark;--gold:#ffd66d;--cream:#fff4d5;--muted:#b8ccc3;--line:#ffffff20;--green:#80d063}*{box-sizing:border-box}body{margin:0;background:#10272b;color:var(--cream);font:15px/1.5 system-ui,sans-serif;min-height:100vh;background-image:radial-gradient(ellipse at 80% 0,#29605266,transparent 70%)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{cursor:pointer}a{color:inherit}button{border:1px solid var(--line);background:#24413e;color:var(--cream);border-radius:9px;padding:10px 15px;font-weight:750}button:hover,a:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}input,select{background:#091d21;border:1px solid #ffffff40;border-radius:9px;color:var(--cream);padding:12px;max-width:100%;min-width:0}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:2px}[hidden]{display:none!important}.portal{max-width:1220px;margin:auto;padding:26px 32px 36px}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--line)}.logo{text-decoration:none;font:bold 39px/.95 Impact,'Arial Narrow',sans-serif;color:var(--gold);text-shadow:0 3px #041318}.logo span{color:var(--green)}.logo small{display:block;font:800 10px/1.5 system-ui,sans-serif;letter-spacing:.22em;margin-top:8px;color:var(--cream)}.nav-link{border:1px solid var(--line);border-radius:9px;padding:10px 15px;text-decoration:none;font-weight:700;font-size:13px}.page-heading{padding:34px 0 24px}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:850;color:var(--gold);margin:0 0 10px}h1{font:64px/1 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.025em;margin:0}h1 em{font-style:normal;color:var(--gold)}.page-heading>p:last-child{color:var(--muted);max-width:680px}.podium-card{background:linear-gradient(125deg,#305b3b,#172f2d);border:1px solid #cce19f55;border-radius:18px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 22px}.podium-card h2{font-size:27px;margin:8px 0}.podium-card p{color:var(--muted);margin:4px 0}.trophy{font-size:50px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}.section-heading h2,.board h2{font-size:22px;margin:0}.board{background:#112e30;border:1px solid var(--line);padding:22px;border-radius:16px;margin-bottom:20px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:12px 10px;border-bottom:1px solid #fff4;white-space:nowrap}td{padding:16px 10px;border-bottom:1px solid #ffffff13;vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:first-child.ftf{background:#eed27d12}.rank{font-size:23px;color:var(--gold);font-weight:850}.pilot-name{display:block;font-weight:850;font-size:16px}.pilot-details{display:block;color:var(--muted);font-size:12px;margin-top:3px}.time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.badge{display:inline-block;border-radius:20px;padding:2px 8px;background:#edca6225;border:1px solid #ffd66d66;color:var(--gold);font-size:10px;font-weight:850}.circuit-list{padding-left:20px;margin:8px 0;color:var(--muted)}details{margin-top:7px}summary{cursor:pointer;font-size:12px;color:var(--gold)}.footnote{font-size:12px;line-height:1.6;color:var(--muted)}.status{color:var(--gold);font-size:14px;min-height:22px}.empty{padding:30px;text-align:center;color:var(--muted)}footer{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.login-card{max-width:460px;background:#163439;border:1px solid var(--line);border-radius:18px;padding:24px}.login-card label{display:block;font-weight:750;margin-bottom:10px}.login-card input{width:100%;margin-bottom:16px}.login-card p{font-size:12px;color:var(--muted)}.action{background:var(--gold);color:#142a27;border:0;font-weight:850}.login-card .action{width:100%}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-card{background:#18383a;border:1px solid var(--line);border-radius:14px;padding:20px}.stat-card span{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font-size:34px;color:var(--gold);font-variant-numeric:tabular-nums}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row button{font-size:11px}.search-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.search-label input{padding:8px;width:180px}#statsSince{font-size:12px;color:var(--muted)}.league-filter{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.league-filter select{padding:8px}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:700px){.portal{padding:18px 14px}.logo{font-size:30px}.nav-link{font-size:11px;padding:9px}.page-heading{padding:26px 0 15px}h1{font-size:44px}.podium-card{padding:18px;gap:12px}.podium-card h2{font-size:23px}.trophy{font-size:36px}.board{padding:14px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:15px}.stat-card strong{font-size:29px}td{padding:12px 8px}th{padding:10px 8px}.section-heading{gap:12px}footer{flex-wrap:wrap}.page-heading p{font-size:13px}.podium-card p{font-size:12px}.search-label{width:100%}.search-label input{flex:1}.league-filter{flex-wrap:wrap}}
@media(max-width:600px){.ranking-table thead{display:none}.ranking-table,.ranking-table tbody{display:block;width:100%}.ranking-table tbody tr{display:grid;grid-template-columns:30px 1fr 1fr;border-bottom:1px solid #ffffff25;padding:12px 0;gap:4px 8px}.ranking-table td{border:0;padding:5px;min-width:0}.ranking-table td:nth-child(1){grid-column:1;grid-row:1 / span 3;padding-left:0}.ranking-table td:nth-child(2){grid-column:2 / span 2}.ranking-table td:nth-child(n+3)::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);font-weight:500}.ranking-table td:nth-child(3){grid-column:2}.ranking-table td:nth-child(4){grid-column:3}.ranking-table td:nth-child(5){grid-column:2}.ranking-table td:nth-child(6){grid-column:3}.ranking-table .empty{grid-column:1 / span 3!important}.ranking-table .pilot-name{overflow-wrap:anywhere}.ranking-table .circuit-list{font-size:11px;padding-left:16px}}
