h1,h2,h3,h4,h5,h6{font-family:Rajdhani,sans-serif}body,p{font-family:Inter,sans-serif}div.app{max-width:1200px;margin:0 auto}aside{z-index:100;background:#1a1a1a;border-bottom:2px solid #e10600;margin-bottom:.5rem;position:sticky;top:0;box-shadow:0 2px 8px #00000026;& nav{max-width:1200px;margin:0 auto;padding:0 1rem;& ul{justify-content:space-between;align-items:center;min-height:60px;margin:0;padding:0;list-style:none;display:flex}& li{text-align:center;flex:1}& a{color:#fff;border-radius:4px;margin:0 .25rem;padding:1rem .5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:block;&:hover{color:#fff;background:#ffffff1a}&.active{color:#fff;background:#e10600;&:hover{background:#c40500}}}@media (width>=768px){&{padding:0 2rem}& ul{justify-content:flex-start;gap:2rem;min-height:70px}& li{text-align:left;flex:none}& a{margin:0;padding:1rem 1.5rem;font-size:1rem}}@media (width>=1024px){& a{font-size:1.1rem}}}}main.login-page,main.profile-page{& form.login-form{box-sizing:border-box;flex-direction:column;gap:1rem;max-width:300px;margin:2rem auto;padding:1.5rem;display:flex;& .form-label{color:#333;flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:500;display:flex}& .form-label input{border:1px solid #ddd;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s}& .form-label input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}& button[type=submit]{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;margin-top:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s}& button[type=submit]:hover{background-color:#0056b3}& button[type=submit]:active{background-color:#004085}@media (width<=480px){&{max-width:none;margin:1rem;padding:1rem}& .form-label input,& button[type=submit]{padding:.875rem;font-size:1.1rem}}}}main.profile-page{box-sizing:border-box;max-width:600px;margin:2rem auto;padding:1.5rem;& h1{color:#333;border-bottom:2px solid #007bff;margin:0 0 1.5rem;padding-bottom:.5rem;font-size:1.5rem}& dl{grid-template-columns:auto 1fr;align-items:center;gap:.75rem 1rem;margin:0;display:grid}& dt{color:#555;text-align:right;margin:0;padding-right:.5rem;font-weight:600}& dd{color:#333;margin:0;font-size:1rem}& .logout-button{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:4px;justify-self:start;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .2s}& .logout-button:hover{background-color:#c82333}& .logout-button:active{background-color:#bd2130}@media (width<=480px){&{max-width:none;margin:1rem;padding:1rem}& h1{font-size:1.3rem}& dl{grid-template-columns:1fr;gap:.25rem 0}& dt{text-align:left;margin-bottom:.25rem;padding-right:0;font-size:.9rem}& dd{margin-bottom:1rem}& .logout-button{padding:.75rem 1.25rem;font-size:1rem}}}main.formula-e-season-page{grid-template-columns:1fr;gap:1rem;display:grid}main.formula-e-season-page>*{grid-column:1}@media (width>=768px){main.formula-e-season-page{grid-template-columns:1fr 1fr;grid-template-areas:"header nav""events leaderboard";& h1{grid-area:header}& .season-nav{grid-area:nav;align-self:center}& .formula-e-events{grid-area:events}& .formula-e-leaderboard{grid-area:leaderboard}}}details.season-nav{background:#f5f5f5;border:1px solid #ddd;& summary{cursor:pointer;color:#333;background:#e8e8e8;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-weight:600;display:flex;&:hover{background:#dedede}&:after{content:"▼";font-size:.8rem;transition:transform .2s}}&[open] summary:after{transform:rotate(180deg)}& nav{padding:.5rem 0;& ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}& li{border-bottom:1px solid #eee;&:last-child{border-bottom:none}}& a{color:#333;padding:.75rem 1rem;text-decoration:none;transition:background .2s;display:block;&:hover{background:#f0f0f0}&.active{color:#fff;background:#e10600;&:hover{background:#c40500}}}}}section.section{background:#fff;box-shadow:0 2px 8px #0000001a;& h2{color:#fff;background:linear-gradient(135deg,#0c4da2 0%,#00d9ff 100%);margin:0;padding:1rem 1.5rem;font-size:1.2rem;font-weight:600}& .section-content{padding:1.5rem}}.leaderboard{border-collapse:collapse;width:100%;margin:0;& thead{background:#f8f9fa;& th{text-align:left;color:#333;border-bottom:2px solid #dee2e6;padding:.3rem .5rem;font-size:.9rem;font-weight:600;&:first-child{width:3rem}}}& tbody{& tr{border-bottom:1px solid #dee2e6;transition:background .2s;&:hover{background:#f8f9fa}&:last-child{border-bottom:none}}& td{color:#333;white-space:nowrap;padding:.3rem .5rem;font-size:.9rem;&:first-child{color:#0c4da2;font-weight:600}}}}.events-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex;& li{box-shadow:0 1px 3px #0000001a}& a{color:#333;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-left:4px solid #00d9ff;padding:1rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:block;position:relative;&:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00000026}&.finished{color:#856404;background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border-left-color:#ffc107;&:after{content:"✓";color:#ffc107;font-weight:700;position:absolute;right:1rem}}&.not-finished{color:#155724;background:linear-gradient(135deg,#e8f5e8 0%,#d4edda 100%);border-left-color:#28a745;&:after{content:"→";color:#28a745;font-weight:700;position:absolute;right:1rem}}&.started.not-finished{font-weight:700}}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width>=768px){.season-nav details summary{font-size:1.1rem}.leaderboard{& thead th,& tbody td{font-size:1rem}}.events-list a{font-size:1.1rem}section.section{& h2{font-size:2.2rem}& .info-item{font-size:1.3rem}& .event-date .time{font-size:1.2rem}}fieldset{& .formula-e-event-entrant-selector,& .formula-e-event-team-selector{& label{min-width:120px;font-size:1rem}& .formula-e-event-entrant-select,& .formula-e-event-team-select{font-size:1rem}}& div:has(input[type=radio])>label:first-child{min-width:120px}}.scores-table{min-width:1000px;& tbody td{font-size:.9rem}}}@media (width>=1024px){.season-nav{grid-column:1/-1}.leaderboard{grid-area:2/2}.events{grid-area:2/1/-1}.scores-table{min-width:1200px;& thead th{font-size:1rem}& tbody td{padding:1rem .75rem;font-size:.95rem}}}@media print{.scores-section .table-wrapper{overflow:visible}.scores-table{width:100%;min-width:auto;font-size:.7rem;& thead th,& tbody td{padding:.5rem .25rem}}}section{& h2{color:#fff;background:linear-gradient(135deg,#0c4da2 0%,#00d9ff 100%);padding:1.25rem 1.5rem;font-size:1.8rem;font-weight:700}& p.info-item{margin:1rem 1.5rem .5rem}}section.formula-e-event-info{padding-bottom:1rem;& p.event-country{color:#666;font-size:1.1rem;font-weight:600}& p.event-circuit{color:#333;font-size:1.2rem;font-weight:500}& p.event-date{font-size:.9rem;& .time{color:#856404;background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border:1px solid #ffeaa7;border-radius:20px;padding:.75rem 1.25rem;font-size:1.1rem;font-weight:600;display:inline-block}}}fieldset{border:3px solid;border-radius:12px;margin:0 0 2rem;padding:2rem;position:relative;& legend{color:#fff;border-radius:8px;padding:.5rem 1rem;font-size:1.3rem;font-weight:700}&.prediction-entry{background:linear-gradient(135deg,#e8f5e8 0%,#f0f8f0 100%);border-color:#28a745;& legend{background:#28a745}}&.result-entry{background:linear-gradient(135deg,#fff3cd 0%,#fff8e1 100%);border-color:#ffc107;& legend{color:#333;background:#ffc107}}& .formula-e-event-entrant-selector,& .formula-e-event-team-selector{flex-direction:column;align-items:start;gap:.5rem;margin-bottom:1.5rem;display:flex;& label{color:#333;min-width:100px;font-size:.95rem;font-weight:600}& .formula-e-event-entrant-select,& .formula-e-event-team-select{background:#fff;border:2px solid #dee2e6;border-radius:6px;flex:1;padding:.75rem;font-size:.9rem;transition:all .2s;&:focus{border-color:#0c4da2;outline:none;box-shadow:0 0 0 3px #0c4da21a}&:hover{border-color:#adb5bd}}}@media (width>=768px){& .formula-e-event-entrant-selector,& .formula-e-event-team-selector{flex-direction:row;align-items:center}}& div:has(input[type=radio]){align-items:center;gap:1rem;margin:1.5rem 0;display:flex;&>label:first-child{color:#333;min-width:100px;font-weight:600}& label{cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;font-weight:500;transition:background .2s;display:flex;&:hover{background:#0000000d}& input[type=radio]{cursor:pointer;margin:0}}}& button{color:#fff;cursor:pointer;background:#0c4da2;border:none;border-radius:8px;margin-top:1rem;padding:.875rem 2.5rem;font-size:1.1rem;font-weight:600;transition:all .2s;&:hover{background:#094080;transform:translateY(-1px);box-shadow:0 4px 8px #0c4da24d}&:active{transform:translateY(0);box-shadow:0 2px 4px #0c4da24d}&:disabled{cursor:not-allowed;box-shadow:none;background:#6c757d;transform:none}}}section.formula-e-event-scores{& .table-wrapper{border-radius:8px;overflow-x:auto;box-shadow:0 2px 8px #0000001a;&::-webkit-scrollbar{height:8px}&::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}&::-webkit-scrollbar-thumb{background:#0c4da2;border-radius:4px}&::-webkit-scrollbar-thumb:hover{background:#094080}}& .scores-table{border-collapse:collapse;background:#fff;min-width:800px;max-width:1000px;margin:1em 0 0;& thead{z-index:100;background:#0c4da2;position:sticky;top:0;& th{text-align:left;color:#fff;white-space:nowrap;border-right:1px solid #fff3;padding:1rem .75rem;font-size:.9rem;font-weight:600;&:last-child{border-right:none}&:first-child{z-index:105;background:#0c4da2;position:sticky;left:0}}}& tbody{& tr{border-bottom:1px solid #dee2e6;transition:background .2s;&:hover{background:#f8f9fa}&:last-child{border-bottom:none}}& td{color:#333;white-space:nowrap;border-right:1px solid #dee2e6;padding:.75rem;font-size:.85rem;&:last-child{border-right:none}&:first-child{color:#0c4da2;z-index:105;background:#fff;font-weight:600;position:sticky;left:0}& div{flex-direction:column;align-items:start;gap:.5rem;display:flex;& .team-name{font-size:.65rem}}& .scored,& .half-scored{box-sizing:border-box;border-radius:4px;width:100%;padding:.25rem .5rem;font-weight:700}& .scored{color:#155724;background:linear-gradient(135deg,#d4edda 0%,#c3e6cb 100%)}& .half-scored{color:#856404;background:linear-gradient(135deg,#fff3cd 0%,#fff8e1 100%)}}& tr:hover{& td:first-child,& td:nth-child(2){background:#f8f9fa}}}}}main.formula-one-season-page{grid-template-columns:1fr;gap:1rem;display:grid;& .formula-one-leaderboards-container{flex-direction:column;gap:1rem;display:flex}}main.formula-one-season-page>*{grid-column:1}@media (width>=768px){.formula-one-season-page{grid-template-columns:1fr 1fr;grid-template-areas:"header nav""events leaderboard""driver-standings constructor-standings";& h1{grid-area:header}& .season-nav{grid-area:nav;align-self:center}& .formula-one-events{grid-area:events}& .formula-one-leaderboards-container{grid-area:leaderboard}& .formula-one-driver-standings{grid-area:driver-standings}& .formula-one-constructor-standings{grid-area:constructor-standings}}}.formula-one-session-page{grid-template-columns:1fr;display:grid}.formula-one-session-page>*{grid-column:1}@media (width>=768px){.formula-one-session-page{grid-template-columns:1fr 1fr;grid-template-areas:"info info""entry leaderboard";gap:1em;& .formula-one-session-info{grid-area:info}& .formula-one-session-results-entry,& .formula-one-session-prediction-entry{grid-area:entry}& .formula-one-session-leaderboard{grid-area:leaderboard}}}.formula-one-event-info,.formula-one-session-info{padding-bottom:1rem}.event-sessions{margin:1rem 0}.event-sessions ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.session-link{color:#333;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:block}.session-link:hover{background-color:#f8f9fa;border-color:#007acc;transform:translateY(-1px);box-shadow:0 2px 4px #007acc1a}.session-link.current-session{color:#fff;background-color:#007acc;border-color:#007acc;font-weight:600}.session-link.current-session:hover{background-color:#0066a3;border-color:#0066a3;transform:none;box-shadow:0 2px 8px #007acc4d}.session-link .time{opacity:.9;font-weight:400}.session-link.current-session .time{opacity:1;font-weight:500}@media (width>=768px){.event-sessions ul{flex-flow:wrap}.session-link{text-align:center;flex:1;min-width:200px}}@media (width>=1200px){.event-sessions{margin:1.5rem 0}.event-sessions ul{gap:1rem}.session-link{padding:1rem 1.5rem}}.formula-one-session-results-entry sortable-list,.formula-one-session-prediction-entry sortable-list{counter-reset:entrant-counter;flex-direction:column;gap:4px;margin-bottom:1rem;display:flex}.formula-one-session-results-entry sortable-list>div.entrant,.formula-one-session-prediction-entry sortable-list>div.entrant{counter-increment:entrant-counter;background-color:#fff;border-radius:8px;flex-direction:row;align-items:center;padding:4px;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 3px #0000001a;& .sortable-handle{cursor:grab}}.formula-one-session-results-entry sortable-list>div:hover,.formula-one-session-prediction-entry sortable-list>div:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.formula-one-session-results-entry sortable-list>div:active,.formula-one-session-prediction-entry sortable-list>div:active{transform:translateY(0);box-shadow:0 4px 12px #0003;& .sortable-handle{cursor:grabbing}}.entrant-position{box-sizing:border-box;min-width:2em;color:var(--text-secondary,#666);text-align:center;align-self:center;font-size:1rem;font-weight:900;&:before{content:counter(entrant-counter)}}.entrant{& .entrant-driver{color:var(--text-primary,#333);margin-left:1em;font-size:1rem;font-weight:600}& .entrant-number{align-self:baseline;font-size:.55em;font-weight:600}& .entrant-team{align-self:last baseline;margin-left:1em;font-size:.55rem}& .sortable-handle{border:1px solid #ccc;margin-left:auto;padding-left:.5rem;padding-right:.5rem}}.formula-one-session-results-entry sortable-list>div:nth-child(n+11),.formula-one-session-prediction-entry sortable-list>div:nth-child(n+11){opacity:.7}.formula-one-session-results-entry sortable-list>div:nth-child(n+11):hover,.formula-one-session-prediction-entry sortable-list>div:nth-child(n+11):hover{opacity:.85}.formula-one-session-results-entry sortable-list{background:linear-gradient(135deg,#fff3cd 0%,#fff8e1 100%)}.formula-one-session-prediction-entry sortable-list{background:linear-gradient(135deg,#e8f5e8 0%,#f0f8f0 100%)}@media (width<=768px){.formula-one-session-results-entry sortable-list>div,.formula-one-session-prediction-entry sortable-list>div{grid-template-columns:35px 1fr auto;padding:2px}.entrant-number{font-size:1rem}.entrant-driver{font-size:.95rem}.entrant-team{font-size:.8rem}}@media (hover:none) and (pointer:coarse){.formula-one-session-results-entry sortable-list>div,.formula-one-session-prediction-entry sortable-list>div{cursor:default;padding:14px 12px}.formula-one-session-results-entry sortable-list>div:active,.formula-one-session-prediction-entry sortable-list>div:active{cursor:default}}.formula-one-session-results-entry button,.formula-one-session-prediction-entry button{background:var(--primary-color,#2196f3);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:1rem;padding:12px;font-size:1rem;font-weight:600;transition:background-color .2s}.formula-one-session-prediction-entry button{background:var(--prediction-color,#28a745);&:hover{background:var(--prediction-color-dark,#218838)}}.formula-one-session-results-entry button{background:var(--result-color,#f57c00);&:hover{background:var(--result-color,#c17120)}}table.formula-one-session-results-table{margin:1rem;& tr:nth-child(2n){background:#f8f9fa}}section.section.formula-one-session-leaderboard,section.section.formula-one-season-leaderboard{max-width:800px;box-shadow:none;& ul{margin:0;padding:0;list-style:none}& li{background:#fff;border:1px solid #ddd;overflow:hidden;box-shadow:0 1px 3px #0000001a;& summary{cursor:pointer;background:#f8f9fa;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1rem;font-weight:500;list-style:none;transition:background-color .2s;display:flex;&:hover{background:#e9ecef}&::-webkit-details-marker{display:none}&:after{content:"▼";color:#666;margin-left:.5rem;font-size:.8rem;transition:transform .2s}}& details[open] summary:after{transform:rotate(180deg)}& details{& td.scored-row-team{font-size:1.1em}& td.scored-row-actual-team,& td.scored-row-actual-points{opacity:.4}}}& .user-name{color:#333;flex:1;font-size:1.1rem}& .total-score{color:#007bff;text-align:center;background:#e7f3ff;border-radius:20px;min-width:3rem;padding:.25rem .75rem;font-size:1.2rem;font-weight:700}& .formula-one-session-leaderboard table{border-collapse:collapse;background:#fff;width:100%;margin:0}& .formula-one-session-leaderboard table tr:nth-child(2n){background:#f8f9fa}& .formula-one-session-leaderboard table td{border-bottom:1px solid #eee;padding:.5rem 1rem;font-size:.9rem}& .scored-row-position{color:#666;text-align:center;width:3rem;font-weight:700}& .scored-row-driver{color:#333;flex:1}& .scored-row-score{text-align:center;color:#333;width:3rem;font-size:.85rem;font-weight:700}& .scored-row-zero{opacity:.5;& .scored-row-score{color:#95a5a6}}& .scored-row-points .scored-row-score{color:#f39c12}& .scored-row-maximum .scored-row-score{color:#27ae60}@media (width<=768px){& .formula-one-session-leaderboard{padding:.5rem}& .formula-one-session-leaderboard summary{padding:.75rem}& .user-name{font-size:1rem}& .total-score{min-width:2.5rem;padding:.2rem .6rem;font-size:1.1rem}& .formula-one-session-leaderboard table td{padding:.4rem .75rem;font-size:.85rem}}}