vaadin-grid::part(fastest-lap){color:#b339f4;font-weight:700}vaadin-grid::part(best-sector){color:#b339f4;font-weight:700}.tyre-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700;margin-right:4px;border:2px solid #333;color:#000}.tyre-soft{background-color:#f33;color:#fff}.tyre-medium{background-color:#ff3}.tyre-hard{background-color:#fff}.tyre-inter{background-color:#3f3}.tyre-wet{background-color:#33f;color:#fff}.tyre-unknown{background-color:#888;color:#fff}.stint-container{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.stint-info{display:flex;align-items:center;font-size:13px}vaadin-grid::part(status-retired){color:#888;background-color:#f8f8f8}.sc-active{color:#fc0;font-weight:700}.vsc-active{color:#f90;font-weight:700}vaadin-grid::part(warning-danger){color:#f90;font-weight:700}.perf-purple{color:#b339f4;font-weight:700}.perf-green{color:#3f3;font-weight:700}.perf-yellow{color:#ff3;font-weight:700}.perf-red{color:#f33;font-weight:700}.legend-text{font-size:.8em;color:#aaa;margin-top:20px;line-height:1.4;border-top:1px solid #444;padding-top:10px}vaadin-grid::part(highlighted-driver){background-color:#ffc1071f!important}.lineup-poster-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;background:#121316;padding:20px;box-sizing:border-box;border-radius:8px}.lineup-poster{width:1200px;min-height:675px;height:auto;background:linear-gradient(135deg,#090a0f,#15161d);position:relative;padding:30px 30px 45px;box-sizing:border-box;overflow:hidden;color:#fff;font-family:Montserrat,Outfit,sans-serif;border:2px solid #222530;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column}.lineup-ribbon{position:absolute;width:240px;height:32px;background:var(--lineup-accent-color, #eef30d);color:#000;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;z-index:3;box-shadow:0 4px 10px #0000004d}.lineup-ribbon span{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.lineup-ribbon-top-left{top:25px;left:-60px;transform:rotate(-45deg)}.lineup-ribbon-bottom-right{bottom:25px;right:-60px;transform:rotate(-45deg)}.lineup-poster-header{text-align:center;z-index:2;margin-bottom:25px}.lineup-poster-title-mini{font-size:16px;font-weight:800;letter-spacing:6px;color:var(--lineup-accent-color, #eef30d);text-transform:uppercase;margin:0}.lineup-poster-title-main{font-size:46px;font-weight:900;letter-spacing:3px;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.2);margin:5px 0 0;text-transform:uppercase}.lineup-poster-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:20px;flex-grow:1;z-index:2}.lineup-column{display:flex;flex-direction:column;justify-content:space-between;padding:5px 0}.lineup-center-column{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:5px 0}.lineup-team-card{background:#14151ab3;backdrop-filter:blur(10px);border-left:6px solid var(--team-color);padding:12px 16px;border-radius:4px;box-shadow:0 6px 20px #0000004d;display:flex;flex-direction:column;gap:10px;position:relative;border-top:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}.lineup-team-header{display:flex;justify-content:space-between;align-items:center}.lineup-team-name{font-size:15px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.lineup-team-symbol{font-size:18px;font-weight:900;color:var(--team-color);text-shadow:0 0 8px var(--team-color)}.lineup-drivers-row{display:flex;gap:12px}.lineup-driver-slot{flex:1;background:#0d0e11;border:1px solid #1c1d24;transform:skew(-20deg);padding:8px 12px;display:flex;align-items:center;justify-content:center;min-height:22px;box-sizing:border-box}.lineup-driver-slot.assigned{background:linear-gradient(90deg,#14151b 0%,var(--team-color) 150%);border-color:#ffffff1f}.lineup-driver-name{transform:skew(20deg);font-size:14px;font-weight:800;text-transform:uppercase;color:#fff;letter-spacing:.5px;text-align:center}.lineup-driver-slot.vacant .lineup-driver-name{color:#3e404b;font-style:italic;font-weight:600}.lineup-trophy-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1}.lineup-trophy-icon{font-size:64px;filter:drop-shadow(0 0 12px rgba(238,243,13,.4));margin-bottom:10px;animation:pulse 3s infinite ease-in-out}@keyframes pulse{0%{transform:scale(1);filter:drop-shadow(0 0 12px rgba(238,243,13,.3))}50%{transform:scale(1.05);filter:drop-shadow(0 0 20px rgba(238,243,13,.6))}to{transform:scale(1);filter:drop-shadow(0 0 12px rgba(238,243,13,.3))}}.lineup-poster-footer{display:flex;justify-content:center;gap:30px;font-size:13px;color:#6a6d7a;letter-spacing:1.5px;margin-top:20px;z-index:2}.lineup-social-item{display:flex;align-items:center;gap:6px}.lineup-social-icon{color:var(--lineup-accent-color, #eef30d);font-weight:900}.results-poster-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;background:#121316;padding:20px;box-sizing:border-box;border-radius:8px}.results-poster{width:1200px;min-height:675px;height:auto;background:linear-gradient(135deg,#090a0f,#15161d);position:relative;padding:30px 30px 45px;box-sizing:border-box;overflow:hidden;color:#fff;font-family:Montserrat,Outfit,sans-serif;border:2px solid #222530;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column}.results-ribbon{position:absolute;width:240px;height:32px;background:var(--results-accent-color, #eef30d);color:#000;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;z-index:3;box-shadow:0 4px 10px #0000004d}.results-ribbon span{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.results-ribbon-top-left{top:25px;left:-60px;transform:rotate(-45deg)}.results-ribbon-bottom-right{bottom:25px;right:-60px;transform:rotate(-45deg)}.results-poster-header{text-align:center;z-index:2;margin-bottom:20px}.results-poster-title-mini{font-size:16px;font-weight:800;letter-spacing:6px;color:var(--results-accent-color, #eef30d);text-transform:uppercase;margin:0}.results-poster-title-main{font-size:42px;font-weight:900;letter-spacing:3px;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.2);margin:5px 0 0;text-transform:uppercase}.results-poster-body{display:flex;flex-direction:column;flex-grow:1;z-index:2;justify-content:space-between}.results-podium-container{display:flex;align-items:flex-end;justify-content:center;gap:24px;height:250px;margin-bottom:10px;padding-bottom:5px}.podium-step-container{display:flex;flex-direction:column;align-items:center;width:200px}.podium-driver-info{display:flex;flex-direction:column;align-items:center;margin-bottom:10px;text-align:center}.podium-driver-name{font-size:16px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.6);white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis}.podium-team-name{font-size:11px;font-weight:600;color:#8f92a1;text-transform:uppercase;letter-spacing:.5px;margin-top:2px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.podium-time{font-size:13px;font-weight:800;color:var(--team-color, #ffffff);margin-top:4px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.podium-step{width:100%;display:flex;align-items:flex-start;justify-content:center;padding-top:15px;border-radius:6px 6px 0 0;background:#14151ab3;border-left:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05);border-top:5px solid var(--team-color, #444);box-shadow:0 12px 30px #00000080;box-sizing:border-box}.podium-number{font-size:40px;font-weight:900;line-height:1;font-family:Montserrat,sans-serif}.place-1 .podium-step{height:120px;background:linear-gradient(180deg,#ffd70014,#14151acc);border-top:6px solid var(--team-color, #ffd700)}.place-1 .podium-number{color:gold;text-shadow:0 0 12px rgba(255,215,0,.6)}.place-1 .podium-driver-name{font-size:18px}.place-2 .podium-step{height:90px;background:linear-gradient(180deg,#c0c0c00d,#14151acc);border-top:5px solid var(--team-color, #c0c0c0)}.place-2 .podium-number{color:silver;text-shadow:0 0 10px rgba(192,192,192,.5)}.place-3 .podium-step{height:70px;background:linear-gradient(180deg,#cd7f320a,#14151acc);border-top:5px solid var(--team-color, #cd7f32)}.place-3 .podium-number{color:#cd7f32;text-shadow:0 0 10px rgba(205,127,50,.5)}.results-list-container{display:flex;gap:30px;margin-top:10px;padding:0 10px;box-sizing:border-box}.results-list-column{flex:1;display:flex;flex-direction:column;gap:6px}.results-list-row{display:flex;align-items:center;background:#12131899;backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.04);border-radius:4px;padding:4px 12px;height:26px;box-sizing:border-box;position:relative}.results-list-pos{font-size:12px;font-weight:900;color:#8a8d9f;width:20px;text-align:center}.results-list-color-bar{width:4px;height:14px;background-color:var(--team-color, #888);margin:0 12px;border-radius:1px;box-shadow:0 0 4px var(--team-color)}.results-list-name{font-size:13px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.5px;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-list-team{font-size:11px;font-weight:600;color:#6c6f85;text-transform:uppercase;width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-list-time{font-size:12px;font-weight:700;color:var(--team-color, #ffffff);text-align:right;width:80px}.poster-watermark{position:absolute;bottom:10px;right:18px;font-size:11px;font-weight:600;color:#6a6d7a99;letter-spacing:1px;pointer-events:none;z-index:10}.results-poster-footer{display:flex;justify-content:center;gap:30px;font-size:13px;color:#6a6d7a;letter-spacing:1.5px;margin-top:15px;margin-bottom:5px;z-index:2}.results-poster .lineup-social-icon{color:var(--results-accent-color, #eef30d)}.results-list-perf-cols{display:flex;gap:6px;margin-left:auto;margin-right:15px;align-items:center}.poster-perf-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:18px;font-size:10px;font-weight:800;border-radius:3px;color:#fff;text-align:center;box-sizing:border-box;box-shadow:0 1px 3px #0000004d}.poster-perf-purple{background-color:#a020f0}.poster-perf-green{background-color:#2ece2e}.poster-perf-yellow{background-color:#cc0;color:#000}.poster-perf-red{background-color:#e60000}.results-list-rating{font-size:12px;font-weight:800;color:#eef30d;width:50px;text-align:right;margin-left:auto;margin-right:15px}.results-list-diff{font-size:12px;font-weight:700;color:#a0a5b5;width:70px;text-align:right}.results-list-tyre-stint{display:flex;align-items:center;margin-left:auto;margin-right:15px}.pitstops-poster{padding-bottom:50px}.pitstops-rows-container{display:flex;flex-direction:column;gap:8px;margin-top:15px;padding:0 10px}.pitstops-row{display:flex;align-items:center;height:28px;box-sizing:border-box}.pitstops-row-pos{font-size:12px;font-weight:900;color:#8a8d9f;width:25px;text-align:center}.pitstops-row-flag{font-size:14px;margin:0 8px}.pitstops-row-name{font-size:13px;font-weight:800;color:#fff;text-transform:uppercase;width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitstops-timeline-wrapper{flex-grow:1;display:flex;align-items:center;background:#ffffff05;border:1px solid rgba(255,255,255,.04);height:18px;border-radius:4px;overflow:visible;position:relative}.pitstops-timeline{width:100%;height:100%;display:flex;position:relative;overflow:visible}.pitstops-segment{height:100%;position:relative;display:flex;align-items:center;box-sizing:border-box;border-right:1px solid rgba(0,0,0,.2)}.pitstops-segment.tyre-soft{background:linear-gradient(90deg,#ef1a2d,#ff4d4d);box-shadow:inset 0 0 5px #ff000080}.pitstops-segment.tyre-medium{background:linear-gradient(90deg,gold,#ffe066);box-shadow:inset 0 0 5px #ffd70080}.pitstops-segment.tyre-hard{background:linear-gradient(90deg,#fff,#e0e0e0);box-shadow:inset 0 0 5px #ffffff80}.pitstops-segment.tyre-inter{background:linear-gradient(90deg,#30bc30,#5ce65c);box-shadow:inset 0 0 5px #00ff0080}.pitstops-segment.tyre-wet{background:linear-gradient(90deg,#3030ef,#66f);box-shadow:inset 0 0 5px #0000ff80}.pitstops-segment.tyre-unknown{background:linear-gradient(90deg,#555,#777)}.pitstops-segment-spacer{height:100%;background:transparent}.pitstops-lap-label{position:absolute;right:0;top:50%;transform:translate(50%,-50%);background:#18191d;color:#fff;font-size:8px;font-weight:900;padding:1px 3px;border-radius:2px;z-index:5;box-shadow:0 1px 3px #0009;border:1px solid #33353e}
