/* Live Race Centre (loaded only on the Live page template) */
.pw-live [hidden]{display:none!important}
.pw-live__status.is-live{animation:pwLivePulse 1.6s ease-in-out infinite}
@keyframes pwLivePulse{0%,100%{box-shadow:0 0 0 0 rgba(225,6,0,.45)}50%{box-shadow:0 0 0 7px rgba(225,6,0,0)}}
.pw-live__sessionbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:#1d1d21;border:1px solid #26262b;border-top:3px solid #E10600;border-radius:6px;padding:14px 18px;margin:14px 0 4px}
.pw-live__meeting{margin:0;color:#FFD100;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.pw-live__session-name{margin:2px 0 0;font-size:1.5rem;font-weight:800;text-transform:uppercase;font-style:italic}
.pw-live__circuit{color:#9a9aa2;font-style:normal}
.pw-live__session-nums{display:flex;gap:12px}
.pw-live__num{background:#121214;border:1px solid #26262b;border-top:3px solid #FFD100;border-radius:4px;padding:8px 14px;text-align:center;min-width:96px}
.pw-live__num b{display:block;font-size:1.25rem;font-variant-numeric:tabular-nums}
.pw-live__num i{display:block;font-style:normal;color:#9a9aa2;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;margin-top:2px}
.pw-live__trackbanner{margin-top:12px;padding:11px 16px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#2a2a30;color:#fff;border-left:5px solid #888}
.pw-live__trackbanner.is-status-2,.pw-live__trackbanner.is-status-4,.pw-live__trackbanner.is-status-6{background:#3d3405;border-left-color:#FFD100;color:#FFD100}
.pw-live__trackbanner.is-status-3{background:#33270a;border-left-color:#FF9500;color:#FFB35C}
.pw-live__trackbanner.is-status-5{background:#3d0505;border-left-color:#E10600;color:#FF6B61}
.pw-live__trackbanner.is-status-1{border-left-color:#0E9F6E}
.pw-live__offline{background:#1d1d21;border:1px solid #26262b;border-radius:6px;padding:18px 20px;margin-top:14px}
.pw-live__nextrace{margin-top:10px}
.pw-live__nextrace-name{font-size:1.15rem;font-weight:800;text-transform:uppercase;font-style:italic;margin:0 0 10px}
.pw-live__nextrace-name span{color:#9a9aa2}
.pw-live__nextrace .pw-countband__boxes{display:flex;gap:10px}
.pw-live__nextrace-meta{color:#9a9aa2;margin:10px 0 0}
.pw-live__nextrace .pw-countband__box{background:#121214}
.pw-live__towerwrap{overflow-x:auto}
.pw-live__table{width:100%;border-collapse:collapse;min-width:640px}
.pw-live__table th,.pw-live__table td{padding:8px 10px;border-bottom:1px solid #26262b;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}
.pw-live__table thead th{color:#9a9aa2;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.pw-live__table tbody tr.is-out{opacity:.45}
.pw-live__pos{font-weight:800;font-style:italic}
.pw-live__driver b{font-size:1rem;margin-right:8px}
.pw-live__driver small{color:#9a9aa2;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.pw-live__bar{display:inline-block;width:5px;height:18px;border-radius:2px;margin-right:9px;vertical-align:-3px}
.pw-live__pit{display:inline-block;margin-left:9px;background:#E10600;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.1em;padding:2px 7px;border-radius:3px;vertical-align:2px}
.pw-live__pit--out{background:#FFD100;color:#121214}
.pw-live__pit--ret{background:#55555e}
.pw-live__table .is-purple{color:#C77DFF;font-weight:700}
.pw-live__table .is-green{color:#3DDC84;font-weight:700}
.pw-live__sectors .pw-sec{display:inline-block;width:11px;height:11px;border-radius:2px;background:#3a3a41;margin-right:4px}
.pw-live__sectors .pw-sec.is-yellow{background:#FFD100}
.pw-live__sectors .pw-sec.is-green{background:#0E9F6E}
.pw-live__sectors .pw-sec.is-purple{background:#A55EEA}
.pw-tyre{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:800;font-size:.78rem;border:2px solid #55555e;color:#fff}
.pw-tyre--soft{border-color:#E10600;color:#FF6B61}
.pw-tyre--medium{border-color:#FFD100;color:#FFD100}
.pw-tyre--hard{border-color:#E8E8EA;color:#E8E8EA}
.pw-tyre--inter{border-color:#0E9F6E;color:#3DDC84}
.pw-tyre--wet{border-color:#205DC8;color:#6FA8FF}
.pw-live__tyreage{color:#9a9aa2;font-size:.72rem;margin-left:7px;white-space:nowrap}
.pw-live__pitstop b{font-size:.95rem;margin-right:8px}
.pw-live__pitbits{color:#c9c9cf;font-variant-numeric:tabular-nums}
.pw-live__pit-fast{display:inline-block;background:#2e2e35;border:1px solid #A55EEA;border-radius:3px;padding:1px 6px;font-size:.68rem;font-weight:700;letter-spacing:.08em;margin-left:8px;text-transform:uppercase;color:#C77DFF}
.pw-live__champ{margin-top:22px}
.pw-live__champ-note{color:#9a9aa2;margin:4px 0 12px}
.pw-live__champ-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:start}
.pw-live__champ-sub{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;color:#FFD100}
.pw-live__champtable{min-width:0}
.pw-live__champ-gain{color:#3DDC84}
.pw-live__champ-proj{font-weight:800}
.pw-live__champ-up{color:#3DDC84;font-weight:700;font-size:.8rem}
.pw-live__champ-down{color:#FF6B61;font-weight:700;font-size:.8rem}
.pw-live__champ-flat{color:#55555e;font-size:.8rem}
@media (max-width:860px){.pw-live__champ-grid{grid-template-columns:1fr}}
.pw-live__radiohead{display:flex;align-items:center;gap:2px}
.pw-live__radiohead b{font-size:.95rem}
.pw-live__radioteam{color:#9a9aa2;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;margin-left:8px}
.pw-live__audio{display:block;width:100%;height:34px;margin-top:7px}
.pw-live__battle{margin-top:22px;background:#1d1d21;border:1px solid #26262b;border-radius:6px;padding:16px 18px}
.pw-live__battle-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 12px}
.pw-live__battle-controls label{color:#9a9aa2;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.pw-live__battle-controls select{background:#121214;color:#fff;border:1px solid #3a3a41;border-radius:4px;padding:7px 9px;font-size:.95rem;margin-left:6px}
.pw-live__battle-auto{background:#E10600;color:#fff;border:0;border-radius:4px;padding:8px 14px;font-weight:700;cursor:pointer}
.pw-live__battle-note{color:#e8e8ea}
.pw-live__battle-canvas{display:block;width:100%}
.pw-live__fl-time{font-size:1.7rem;font-weight:800;color:#C77DFF;font-variant-numeric:tabular-nums;line-height:1.1}
.pw-live__fl-who{margin-top:5px}
.pw-live__fl-who b{font-size:1.05rem;margin-right:8px}
.pw-live__fl-who small{color:#9a9aa2;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.pw-live__fl-meta{color:#9a9aa2;margin:5px 0 0}
.pw-live__flitem-time{color:#C77DFF;font-variant-numeric:tabular-nums;margin-right:9px}
.pw-live__flitem b{margin-right:8px}
.pw-live__flitem-bits{color:#9a9aa2;font-size:.85rem}
.pw-live__sectorboard{margin-top:22px;background:#1d1d21;border:1px solid #26262b;border-radius:6px;padding:16px 18px}
.pw-live__stable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.pw-live__stable th{text-align:left;color:#9a9aa2;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;padding:7px 8px;border-bottom:1px solid #2c2c31}
.pw-live__stable td{padding:7px 8px;border-bottom:1px solid #232327}
.pw-live__purple{color:#C77DFF;font-weight:700}
.pw-live__yellow{color:#FFD100;font-weight:700}
.pw-live__otpos{color:#FFD100;font-weight:700;margin-left:5px}
.pw-live__tvbtn{background:#26262b;color:#fff;border:1px solid #3a3a41;border-radius:4px;padding:7px 13px;font-weight:700;cursor:pointer;margin-left:10px;text-decoration:none;display:inline-block}
.pw-live__tvbtn:hover{background:#E10600;border-color:#E10600}
/* TV mode (?tv=1): clean broadcast layout for a television or an
   OBS Browser Source at 1920x1080. Site chrome and the long read
   sections go away; the session bar, map, tower and side panels
   stay, with bigger type and tighter rows so a full grid fits. */
body.pw-tv .pw-ticker,body.pw-tv .pw-header,body.pw-tv .pw-footer,body.pw-tv .pw-ad{display:none}
body.pw-tv .pw-main{padding:0}
body.pw-tv .pw-live{max-width:none;padding:14px 20px;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);grid-template-areas:"head head" "session session" "banner banner" "main side" "map side";column-gap:20px;align-items:start}
body.pw-tv .pw-live>h1,body.pw-tv .pw-live>p{display:none}
body.pw-tv .pw-live__head{grid-area:head}
body.pw-tv .pw-live__head .pw-page__title{display:none}
body.pw-tv .pw-live__sessionbar{grid-area:session}
body.pw-tv .pw-live__trackbanner{grid-area:banner}
body.pw-tv [data-pw-live-offline]{grid-column:1/-1}
body.pw-tv .pw-live__grid{display:contents}
body.pw-tv .pw-live__tower{grid-area:main}
body.pw-tv .pw-live__side{grid-area:side}
body.pw-tv .pw-live__mappanel{grid-area:map}
body.pw-tv .pw-live__champ,body.pw-tv .pw-live__battle,body.pw-tv .pw-live__sectorboard,body.pw-tv .pw-note{display:none}
body.pw-tv .pw-live__sectors .pw-sec{width:14px;height:14px}
body.pw-tv .pw-live__meeting{font-size:1.5rem}
body.pw-tv .pw-live__session-name{font-size:1.15rem}
body.pw-tv .pw-live__num b{font-size:1.9rem}
body.pw-tv .pw-live__mapgrid{grid-template-columns:1fr}
body.pw-tv .pw-live__mapside{display:none}
@media (max-width:760px){
  body.pw-tv .pw-live{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "session" "banner" "main" "side" "map";padding:14px 12px}
}
body.pw-tv .pw-live__mapfig img,body.pw-tv .pw-live__mapcanvas{max-height:280px;margin:0 auto}
body.pw-tv .pw-live__table td{padding:5px 10px;font-size:1.04rem}
body.pw-tv .pw-live__table th{padding:5px 10px}
body.pw-tv .pw-live__panel{padding:12px 14px}
body.pw-tv .pw-live__panel:has([data-pw-live-weather]),body.pw-tv .pw-live__panel:has([data-pw-live-circuit-note]){display:none}
body.pw-tv audio{display:none}
body.pw-tv [data-pw-live-radio] li:nth-child(n+4){display:none}
body.pw-tv .pw-live__feed li:nth-child(n+6){display:none}
.pw-live__rc-time{color:#9a9aa2;font-variant-numeric:tabular-nums;margin-right:9px;font-size:.82rem}
.pw-live__rc-flag{display:inline-block;background:#2e2e35;border:1px solid #3a3a41;border-radius:3px;padding:1px 6px;font-size:.68rem;font-weight:700;letter-spacing:.08em;margin-right:8px;text-transform:uppercase}
.pw-live__wxgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pw-live__wx{background:#121214;border:1px solid #26262b;border-radius:5px;padding:9px 11px}
.pw-live__wx b{display:block;font-size:1.02rem;font-variant-numeric:tabular-nums}
.pw-live__wx i{display:block;font-style:normal;color:#9a9aa2;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;margin-top:2px}
.pw-live__note-sm{color:#9a9aa2;font-size:.85rem}
.pw-live__mappanel{background:#1d1d21;border:1px solid #26262b;border-radius:6px;padding:16px 18px;margin-top:14px}
.pw-live__mappanel.is-status-2,.pw-live__mappanel.is-status-4,.pw-live__mappanel.is-status-6{border-color:#FFD100}
.pw-live__mappanel.is-status-3{border-color:#FF9500}
.pw-live__mappanel.is-status-5{border-color:#E10600}
.pw-live__mappanel.is-status-1{border-color:#0E9F6E}
.pw-live__maphead{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.pw-live__maphead .pw-section__title{margin:0}
.pw-live__mapstatus{color:#FFD100;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.pw-live__mapgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-top:12px;align-items:start}
.pw-live__mapfig{margin:0;background:#121214;border:1px solid #26262b;border-radius:6px;padding:16px}
.pw-live__mapfig img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;filter:brightness(1.7) drop-shadow(0 0 2px rgba(255,255,255,.6))}
.pw-live__mapcanvas{display:block;width:100%}
.pw-live__mapfig figcaption{margin-top:10px;font-size:.72rem;color:#9a9aa2}
.pw-live__mapfig figcaption a{color:#9a9aa2}
.pw-live__mapfacts{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pw-live__mapfacts li{background:#121214;border:1px solid #26262b;border-radius:5px;padding:9px 11px}
.pw-live__mapfacts b{display:block;font-size:1.05rem}
.pw-live__mapfacts i{display:block;font-style:normal;color:#9a9aa2;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;margin-top:2px}
.pw-live__mapnote{color:#e8e8ea;margin:0 0 10px}
@media (max-width:860px){.pw-live__mapgrid{grid-template-columns:1fr}}
@media (max-width:640px){
  .pw-live__hide-s{display:none}
  .pw-live__table{min-width:0}
  .pw-live__wxgrid{grid-template-columns:repeat(2,1fr)}
  .pw-live__num{min-width:82px;padding:7px 10px}
}
@media (prefers-reduced-motion:reduce){
  .pw-live__status.is-live{animation:none}
}
/* How live timing works popup: offline state only. The card is
   Carbon Black with a Speed Red top rule and Curbside Yellow
   labels, matching the rest of the Race Centre. */
.pw-live__popup{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.pw-live__popup[hidden]{display:none}
.pw-live__popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.pw-live__popup-card{position:relative;width:min(560px,calc(100vw - 32px));max-height:85vh;overflow:auto;background:#121214;color:#fff;border:1px solid #2c2c31;border-top:3px solid #E10600;border-radius:10px;padding:26px 28px;box-shadow:0 18px 48px rgba(0,0,0,.55)}
.pw-live__popup-card h2{margin:0 0 12px;font-size:1.5rem}
.pw-live__popup-card p{margin:0 0 12px;line-height:1.6;color:#e8e8ea}
.pw-live__popup-card ul{margin:0 0 12px;padding-left:20px;line-height:1.6;color:#e8e8ea}
.pw-live__popup-card li{margin-bottom:8px}
.pw-live__popup-card li b{color:#FFD100}
.pw-live__popup-x{position:absolute;top:10px;right:14px;background:none;border:0;color:#9a9aa2;font-size:1.6rem;line-height:1;cursor:pointer;padding:4px}
.pw-live__popup-x:hover{color:#fff}
.pw-live__popup-btn{margin-top:4px}
@media (max-width:640px){.pw-live__popup-card{padding:22px 20px}}
