/* Pit Wall styles: the LIGHTS OUT design system. Inline in index.html until v3.40. */
  :root{
    --bg:#05070A; --panel:#0C1117; --panel2:#111821; --panel-hover:#151D27; --line:#26303B; --line2:#1B232D;
    --ink:#F6F7F8; --dim:#8A96A6; --faint:#566170; --ghost:#39434e;
    --amber:#FFAE42; --green:#39C96B; --red:#F70722; --red-hot:#FF2638; --red-deep:#8A0715; --yellow:#FFD229; --purple:#C68BFF; --blue:#2D71FF; --cyan:#17D8D1;
    --radius-panel:14px; --radius-control:9px;
    --gh-tint:rgba(198,139,255,.10); --gh-glow:rgba(198,139,255,.45);   /* GHOST RING */
    --glow-red:0 0 12px rgba(247,7,34,.38),0 0 32px rgba(247,7,34,.12);
    --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    --font-display:"Barlow Condensed","Arial Narrow",sans-serif;
    --font-ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-temp:"Chakra Petch","Barlow Condensed","Arial Narrow",sans-serif;
  }

  /* ---- DIAG: live feed diagnostics panel (?debug or press D) ---- */
  #dbg{position:fixed;right:12px;bottom:12px;z-index:60;width:352px;max-height:min(72vh,640px);display:none;flex-direction:column;font:11px/1.45 var(--mono);color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 40%),rgba(12,17,23,.94);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 18px 44px rgba(0,0,0,.6),0 0 0 1px rgba(247,7,34,.18),var(--glow-red);backdrop-filter:blur(10px);overflow:hidden}
  #dbg.on{display:flex}
  #dbg .dbg-h{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line2);background:linear-gradient(90deg,rgba(247,7,34,.16),transparent 60%);font-family:var(--font-display);font-size:14px;letter-spacing:.06em}
  #dbg .dbg-h b{color:var(--red-hot)}
  #dbg .dbg-h span{margin-left:auto;color:var(--dim);font:10px var(--mono)}
  #dbg .dbg-h button{padding:2px 7px;font-size:10px;border-radius:6px;margin-left:4px}
  #dbg .dbg-h button:hover{border-color:var(--red);box-shadow:0 0 10px rgba(247,7,34,.25)}
  #dbg .dbg-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line2)}
  #dbg .dbg-c{background:var(--panel);padding:6px 10px;transition:background .15s}
  #dbg .dbg-c:hover{background:var(--panel-hover)}
  #dbg .dbg-c i{display:block;font-style:normal;color:var(--faint);font-size:9.5px;letter-spacing:.04em}
  #dbg .dbg-c em{display:block;font-style:normal;font-size:15px;font-weight:600;color:var(--ink);font-family:var(--font-display);letter-spacing:.02em}
  #dbg .dbg-c em.warn{color:var(--amber);text-shadow:0 0 12px rgba(255,174,66,.4)}
  #dbg .dbg-c em.bad{color:var(--red-hot);text-shadow:0 0 12px rgba(247,7,34,.5)}
  #dbg .dbg-c em.ok{color:var(--green)}
  #dbg .dbg-c small{color:var(--dim);font-size:10px}
  #dbg .dbg-l{overflow:auto;padding:4px 0 6px;border-top:1px solid var(--line2);flex:1 1 auto;min-height:90px}
  #dbg .dbg-l div{display:grid;grid-template-columns:52px 1fr 34px 46px 42px;gap:6px;padding:1px 10px;color:var(--dim);white-space:nowrap}
  #dbg .dbg-l div.err{color:var(--red-hot);background:rgba(247,7,34,.08)}
  #dbg .dbg-l div.slow{color:var(--amber)}
  #dbg .dbg-l div:hover{background:rgba(255,255,255,.04);color:var(--ink)}
  @media(max-width:700px){#dbg{width:calc(100vw - 24px);right:12px;max-height:56vh}}
  *{box-sizing:border-box}
  html,body{height:100%;height:100dvh;max-height:100dvh;overflow:hidden}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);padding:4px 12px 6px;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(200px,.42fr) auto;align-content:stretch;position:relative;min-height:0}
  .hdr{grid-row:1}
  .grid{grid-row:2}
  .botpanel{grid-row:3}
  .foot{grid-row:4}
  @media(min-width:2000px){body{zoom:1.25;height:calc(100dvh / 1.25);max-height:calc(100dvh / 1.25)}}
  @media(min-width:3200px){body{zoom:1.6;height:calc(100dvh / 1.6);max-height:calc(100dvh / 1.6)}}
  select,button{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0) 58%),var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);padding:6px 10px;font-size:12px;font-family:var(--font-ui);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
  button:hover{border-color:#39434e}
  .hdr{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:0 6px 2px;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(247,7,34,.55),0 8px 22px rgba(247,7,34,.06);margin-bottom:4px}
  .hdr-brand{flex:0 0 auto;min-width:0}
  .hdr-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1 1 240px;min-width:0}
  .hdr-controls select{max-width:min(240px,100%);min-width:0}
  #selMeeting{max-width:min(460px,46vw);min-width:min(340px,46vw);width:max-content}
  .hdr-meta{display:flex;align-items:center;gap:8px;flex:0 1 auto;margin-left:auto;min-width:0}
  .logo{font-family:"Saira","Barlow Condensed","Arial Narrow",sans-serif;font-weight:900;font-style:italic;font-size:31px;letter-spacing:.005em;text-transform:uppercase;line-height:.9;display:inline-flex;gap:.14em}
  .logo span{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
  .logo .l1{background-image:linear-gradient(180deg,#ffffff 0%,#e6ecf3 37%,#8b97a7 53%,#f4f8fb 61%,#a9b3c0 100%);filter:drop-shadow(0 1.5px 0 rgba(0,0,0,.55)) drop-shadow(0 1px 1px rgba(0,0,0,.5))}
  .logo .l2{background-image:linear-gradient(180deg,#ff9aa2 0%,#F70722 44%,#8A0715 60%,#ff5b68 72%,#c60011 100%);filter:drop-shadow(0 1.5px 0 rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(247,7,34,.55))}
  .sub{font-family:var(--font-ui);font-size:9px;letter-spacing:.18em;color:var(--dim);text-transform:uppercase;margin-top:3px}
  .pw-logo{height:56px;width:auto;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(247,7,34,.18));transition:filter .22s ease,transform .22s ease;transform-origin:left center}
  .pw-logo:hover{filter:drop-shadow(0 3px 7px rgba(0,0,0,.6)) drop-shadow(0 0 16px rgba(247,7,34,.4));transform:scale(1.02)}
  .chip{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.12em;border-radius:6px;padding:4px 10px;border:1px solid;text-transform:uppercase}
  .grid{display:grid;grid-template-columns:196px minmax(0,1.25fr) minmax(0,1fr) 54px;gap:6px;margin-bottom:4px;min-height:0;align-items:stretch;overflow:hidden}
  .toppanel{height:auto;min-height:0;align-self:stretch}
  .botpanel{height:auto;min-height:0;max-height:none;position:relative;z-index:2;overflow:hidden}
  .scroll{overflow:auto;height:100%;-webkit-overflow-scrolling:touch}
  table{min-width:470px}
  .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;position:relative;z-index:3;flex:1 1 auto;min-width:0;width:auto;margin:0;border-bottom:0;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .botpanel > .ptitle{padding:0 10px 0 4px;gap:10px}
  .botpanel > .ptitle #tabTitle{display:none}
  @media(max-width:700px){.botpanel > .ptitle{flex-wrap:wrap;row-gap:0} .botpanel > .ptitle #tabMeta:not(:empty){flex:1 1 100%;padding:0 0 7px 8px;color:var(--dim)}}   /* v3.44: phones put the caption on its own line under the tabs */
  .botpanel > .ptitle #tabMeta{flex:0 1000 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-weight:400;font-size:10.5px}   /* v3.44: the caption gives way (ellipsis) before any tab is pushed out of view */
  .tabs .tab{flex:none}
  .panel{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0) 14%),var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);overflow:hidden;display:flex;flex-direction:column;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 16px 42px rgba(0,0,0,.42)}
  .ptitle{padding:8px 13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--dim);text-transform:uppercase}
  .pbody{flex:1;min-height:0;position:relative;overflow:hidden}
  .pbody.mapbody{display:flex;flex-direction:column}
  #sliderRow{flex:0 0 auto;min-height:36px}
  table{width:100%;border-collapse:collapse;font-size:11.5px;font-family:var(--mono)}
  th{color:var(--faint);font-size:9px;letter-spacing:.6px;text-align:left;padding:4px 5px;position:sticky;top:0;background:var(--panel)}
  td{padding:4px 5px;border-bottom:1px solid var(--line2);white-space:nowrap}
  td.sec,th.sec{padding-left:4px;padding-right:4px;font-size:10.5px;letter-spacing:-.2px;color:var(--dim)}
  td.sec.pb{color:var(--green)} td.sec.sb{color:var(--purple);font-weight:700;text-shadow:0 0 8px rgba(198,139,255,.35)}
  .grid > .panel:nth-child(3){grid-column:3/5}
  @media(max-width:1280px){ .grid > .panel:nth-child(3){grid-column:auto} }
  tr.sel{background:rgba(255,174,66,.09);box-shadow:inset 3px 0 0 var(--amber)}
  tr:hover{background:var(--panel-hover);cursor:pointer}
  /* qualifying knockout tinting */
  tr.qdrop{background:linear-gradient(90deg,rgba(247,7,34,.17),rgba(247,7,34,.05) 60%,transparent);box-shadow:inset 3px 0 0 rgba(247,7,34,.8)}
  tr.qdrop:hover{background:linear-gradient(90deg,rgba(247,7,34,.24),rgba(247,7,34,.08) 60%,transparent)}
  tr.qout1{background:linear-gradient(90deg,rgba(247,7,34,.13),rgba(247,7,34,.04) 60%,transparent);box-shadow:inset 3px 0 0 rgba(247,7,34,.55)}
  tr.qout1:hover{background:linear-gradient(90deg,rgba(247,7,34,.2),rgba(247,7,34,.07) 60%,transparent)}
  tr.qout2{background:linear-gradient(90deg,rgba(255,174,66,.13),rgba(255,174,66,.04) 60%,transparent);box-shadow:inset 3px 0 0 rgba(255,174,66,.6)}
  tr.qout2:hover{background:linear-gradient(90deg,rgba(255,174,66,.2),rgba(255,174,66,.07) 60%,transparent)}
  tr.qtop{background:linear-gradient(90deg,rgba(58,214,118,.11),rgba(58,214,118,.03) 60%,transparent);box-shadow:inset 3px 0 0 rgba(58,214,118,.55)}
  tr.qtop:hover{background:linear-gradient(90deg,rgba(58,214,118,.17),rgba(58,214,118,.06) 60%,transparent)}
  tr.qout1 td,tr.qout2 td{color:var(--dim)} tr.qout1 td b,tr.qout2 td b{color:var(--dim)!important}
  tr.qhdr td{padding:2px 8px 1px;font-family:var(--mono);font-size:8px;font-weight:800;letter-spacing:1.6px;border-bottom:0;background:rgba(5,7,10,.55);cursor:default}
  tr.qhdr.q1 td{color:var(--red-hot);box-shadow:inset 3px 0 0 rgba(247,7,34,.55)} tr.qhdr.q2 td{color:var(--amber);box-shadow:inset 3px 0 0 rgba(255,174,66,.6)} tr.qhdr.q3 td{color:#3AD676;box-shadow:inset 3px 0 0 rgba(58,214,118,.55)}
  tr.qhdr td span{color:var(--faint);font-weight:600;margin-left:6px}
  tr.qhdr:hover{background:none}
  tr.qcut td{border-bottom:1px solid rgba(247,7,34,.6);box-shadow:0 1px 0 rgba(247,7,34,.18)}
  .qtag{font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:1px;color:var(--faint);border:1px solid var(--line);border-radius:3px;padding:1px 3px;margin-left:5px;vertical-align:middle}
  .teambar{display:inline-block;width:3px;height:13px;margin-right:6px;vertical-align:middle;border-radius:1px}
  .dlogo{display:inline-block;width:24px;height:15px;object-fit:contain;object-position:center;vertical-align:middle;margin:0 5px 0 0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}
  .drv{position:relative;padding-right:36px;white-space:nowrap}
  .badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:8px;font-weight:800;letter-spacing:.05em;padding:1px 4px;border-radius:3px;line-height:1.35}
  .badge.pit{background:linear-gradient(180deg,#FFC873,#FFAE42);color:#241300;box-shadow:0 1px 4px rgba(255,174,66,.45)}
  .badge.ret{background:linear-gradient(180deg,#3a2126,#2a171b);color:#ff6d7a;border:1px solid #6a2c34}
  @keyframes badgeIn{from{opacity:0;transform:translateY(-50%) scale(.85)}to{opacity:1;transform:translateY(-50%) scale(1)}}
  @keyframes badgeOut{from{opacity:1}to{opacity:0}}
  .badge-in{animation:badgeIn .3s ease-out both}
  .badge-out{animation:badgeOut .4s ease-in forwards;pointer-events:none}
  .dnum{color:var(--faint);font-size:9px;margin-left:4px}
  .tabs{display:flex;gap:2px;margin-bottom:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--line)}
  .tab{position:relative;background:transparent;border:0;color:var(--dim);padding:8px 13px;font-family:var(--font-display);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%)}
  .tab:hover{color:var(--ink)}
  .tab.on{color:var(--ink);background:linear-gradient(180deg,rgba(247,7,34,.10),transparent)}
  .tab.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);box-shadow:var(--glow-red)}
  .tyre{display:inline-block;width:13px;height:13px;border-radius:50%;border:3px solid;vertical-align:middle}
  .scroll{overflow:auto;height:100%;-webkit-overflow-scrolling:touch}
  .note{display:none}
  .adslot{display:none;flex:1;min-width:180px;min-height:90px;margin:0;padding:0;background:transparent;border:0}
  .adslot.on{display:block}
  .adslot .adlabel{font-family:var(--font-display);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
  .promo.ads-on .fstrip{display:none}
  .promo.ads-on > img{display:none}
  .promo.ads-on #promoLinks{display:none}
  .promo.ads-on .adslot{flex:1;min-width:200px;min-height:50px;max-height:90px;overflow:hidden}
  .foot{display:flex;flex-direction:column;min-height:0;align-self:end}
  .footmeta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;flex:0 0 auto;margin-left:6px}
  .legalbar{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:nowrap;padding:0;font-size:11px;color:var(--faint);flex:0 0 auto;margin-left:0}
  .legalbar button{background:transparent;border:0;box-shadow:none;color:var(--dim);padding:2px 7px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-display);font-weight:700}
  .legalbar button:hover{color:var(--amber);border-color:transparent}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .legalbar .ldot{color:var(--ghost);font-size:9px}
  .modal-back{display:none;position:fixed;inset:0;z-index:40;background:rgba(5,7,10,.72);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:18px}
  .modal-back.on{display:flex}
  .modal{width:min(640px,100%);max-height:min(82vh,760px);overflow:auto;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0) 14%),var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(247,7,34,.18);color:var(--ink)}
  .modal-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}
  .modal-h h2{margin:0;font-family:var(--font-display);font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
  .modal-x{width:32px;height:32px;padding:0;font-size:18px;line-height:1;color:var(--dim)}
  .modal-x:hover{color:var(--ink)}
  .modal-b{padding:16px 18px 20px;font-size:13.5px;line-height:1.65;color:#c5ced8}
  .modal-b h3{margin:18px 0 6px;font-family:var(--font-display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
  .modal-b h3:first-child{margin-top:0}
  .modal-b p,.modal-b ul{margin:0 0 10px}
  .modal-b ul{padding-left:18px}
  .modal-b a{color:var(--amber)}
  .modal-b .muted{color:var(--dim);font-size:12px}
  /* v3.44: #netBanner is a full-width row at the foot of the header (after the GHOST RING ribbon). It was a body grid item on row 1,
     which the header already fills, so the grid opened an extra ~577 px column and squeezed every layout but iPad landscape */
  .banner{flex:1 1 100%;order:10;display:none;margin:2px 0 4px;padding:8px 14px 8px 16px;border-radius:11px;border:1px solid rgba(247,7,34,.45);color:var(--ink);font-size:12px;line-height:1.4;font-family:var(--font-ui);
    background:linear-gradient(90deg,rgba(247,7,34,.20),rgba(247,7,34,.05) 45%,transparent),linear-gradient(180deg,rgba(17,24,33,.96),rgba(7,10,14,.96));
    box-shadow:inset 3px 0 0 var(--red),inset 0 1px 0 rgba(255,255,255,.05),0 0 18px rgba(247,7,34,.16),0 6px 18px rgba(0,0,0,.45);animation:bannerIn .35s cubic-bezier(.34,1.56,.64,1)}
  @keyframes bannerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  @media (prefers-reduced-motion: reduce){.banner{animation:none}}
  .spin{color:var(--faint);font-size:12px;padding:20px;font-family:var(--mono)}
  input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--line2);outline:none}
  .statrow{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--line2);font-size:12px}
  .statrow b{font-family:var(--mono)}
  .jdvb{font-weight:900;letter-spacing:1.5px;font-size:13px;color:#05070A;background:var(--amber);border-radius:6px;padding:7px 9px;line-height:1}
  .clockwrap{display:flex;align-items:center;gap:9px}
  .promo{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-top:2px solid var(--red);border-radius:12px;padding:5px 10px;margin-top:0;box-shadow:0 -6px 24px rgba(247,7,34,.06)}
  .promo a{color:var(--amber);text-decoration:none;font-weight:600;font-family:var(--font-ui);font-size:12.5px;border:1px solid rgba(255,174,66,.4);border-radius:9px;padding:7px 13px;background:rgba(255,174,66,.06)}
  .promo a:hover{border-color:var(--amber)}
  .promo a.igbtn{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:none}
  .promo a.igbtn svg{width:16px;height:16px;display:block}
  .promo a.fstrip{flex:1;min-width:120px;display:flex;gap:6px;align-items:center;overflow-x:auto;overflow-y:hidden;padding:2px 0;border:0;background:transparent}
  .promo a.fstrip:hover{border:0}
  .promo .legalbar a{color:var(--dim);border:0;border-radius:0;background:transparent;padding:2px 7px;font:700 11px/1.2 var(--font-display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:color .15s,text-shadow .15s}   /* v3.39: .promo a made the Guide link a button */
  .promo .legalbar a:hover{color:var(--amber);border:0;text-shadow:0 0 10px rgba(255,174,66,.45)}
  .fstrip img{height:28px;width:auto;border-radius:4px;border:1px solid #2c3742;flex:none;display:block}
  .fstrip img:hover{border-color:var(--amber)}
  .fstrip::-webkit-scrollbar{height:5px}
  .fstrip::-webkit-scrollbar-thumb{background:#2c3742;border-radius:3px}
  .promo .ptxt{font-size:12.5px;color:#aeb8c4}
  .verstamp{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:var(--faint);white-space:nowrap;align-self:center}
  .verstamp b{color:var(--dim);font-weight:600}
  #flagRail{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:12;display:flex;gap:6px;align-items:center;justify-content:center;max-width:70%;flex-wrap:wrap;pointer-events:none}
  .fb{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:5px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;line-height:16px;
    border:1px solid;animation:fbIn .25s ease both;transition:background .4s,color .4s,border-color .4s,box-shadow .4s,opacity .6s,transform .4s}
  @keyframes fbIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  .fb i{display:inline-block;width:8px;height:12px;border-radius:2px;background:currentColor;box-shadow:0 0 6px currentColor}
  .fb.y2 i{background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 5px);width:10px;box-shadow:none}
  .fb.y,.fb.y2{color:#0b0a05;background:linear-gradient(180deg,#FFE27A,var(--yellow));border-color:#FFEB99;box-shadow:0 0 12px rgba(255,210,41,.45),inset 0 1px 0 rgba(255,255,255,.5)}
  .fb.y i,.fb.y2 i{color:#0b0a05;box-shadow:none}
  .fb.y2{animation:fbIn .25s ease both,fbPulse 1.1s ease-in-out infinite}
  @keyframes fbPulse{50%{box-shadow:0 0 18px rgba(255,210,41,.8)}}
  .fb.clr{color:var(--faint);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border-color:rgba(255,255,255,.14);box-shadow:none}
  .fb.clr i{background:rgba(255,255,255,.25);box-shadow:none}
  .fb.out{opacity:0;transform:translateY(-4px)}
  .prelap{margin:6px 8px 8px;padding:9px 12px;border-radius:9px;background:linear-gradient(180deg,rgba(57,201,107,.13),rgba(57,201,107,.05));border:1px solid rgba(57,201,107,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
  .prelap b{display:block;font-family:var(--font-display);font-size:11.5px;letter-spacing:.1em;color:#5EE39A;margin-bottom:3px}
  .prelap span{font-size:10.5px;line-height:1.4;color:var(--dim)}
  #flagPins .fp{pointer-events:none;transition:opacity .6s;transform-box:fill-box}
  #flagPins .fp.fp2{animation:fpPulse 1.1s ease-in-out infinite}
  #flagPins .fp.out{opacity:.35}
  @keyframes fpPulse{0%,100%{opacity:1}50%{opacity:.55}}
  .fb.red{color:#fff;background:linear-gradient(180deg,var(--red-hot),var(--red-deep));border-color:rgba(255,120,130,.6);box-shadow:var(--glow-red)}
  .fb.sc{color:#0b0a05;background:linear-gradient(180deg,#FFC46B,var(--amber));border-color:#FFD79A;box-shadow:0 0 12px rgba(255,174,66,.45)}
  .fb.vsc{color:#0b0a05;background:linear-gradient(180deg,#FFC46B,var(--amber));border-color:#FFD79A;box-shadow:0 0 12px rgba(255,174,66,.45)}
  .fb.grn{color:#05070A;background:linear-gradient(180deg,#7BE39A,var(--green));border-color:#9CF0B5;box-shadow:0 0 12px rgba(57,201,107,.45)}
  #idleBanner{position:absolute;top:10px;left:10px;z-index:6;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;border-radius:9px;
    background:linear-gradient(180deg,rgba(14,20,27,.92),rgba(5,7,10,.9));border:1px solid rgba(255,174,66,.35);backdrop-filter:blur(6px);
    box-shadow:0 6px 22px rgba(0,0,0,.55),0 0 18px rgba(255,174,66,.12),inset 0 1px 0 rgba(255,255,255,.06);font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.3px;
    animation:ibIn .5s ease both}
  @keyframes ibIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  #idleBanner .ib-tag{font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.16em;color:#05070A;background:linear-gradient(180deg,#FFC46B,var(--amber));padding:3px 7px;border-radius:5px;box-shadow:0 0 10px rgba(255,174,66,.4)}
  #idleBanner .ib-sess{color:var(--ink);font-weight:600;text-transform:uppercase}
  #idleBanner .ib-sep{width:1px;height:14px;background:rgba(255,255,255,.14)}
  #idleBanner .ib-next{color:var(--faint);text-transform:uppercase}
  #idleBanner .ib-next b{color:var(--amber);font-weight:700;margin-left:2px}
  #upSign{display:none;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--panel);z-index:5;text-align:center;padding:8px 12px;overflow:hidden}
  .chq{width:72%;max-width:420px;height:10px;background:repeating-conic-gradient(#e8edf2 0% 25%,#05070A 0% 50%) 0 0/14px 14px;border-radius:2px;opacity:.9}
  .lights{display:flex;gap:10px;background:#05070a;border:1px solid #242d37;border-radius:10px;padding:9px 16px}
  .lt{width:15px;height:15px;border-radius:50%;background:#38090d;box-shadow:inset 0 0 4px #000;transition:background .2s}
  .lt.on{background:var(--red);box-shadow:0 0 10px rgba(247,7,34,.8),0 0 22px rgba(247,7,34,.35)}
  .upgp{font-size:clamp(17px,3vw,26px);font-weight:900;letter-spacing:3px;color:var(--amber)}
  .upvenue{font-size:11px;letter-spacing:2px;color:var(--dim)}
  .upcd{display:flex;gap:9px;align-items:baseline;font-family:var(--mono)}
  .upcd b{font-size:clamp(22px,3vw,32px);color:var(--ink)}
  .upcd i{display:block;font-style:normal;font-size:8px;letter-spacing:2px;color:var(--faint)}
  .cdsep{font-size:22px;color:var(--ghost)}
  .upwhen{font-size:12px;color:#aeb8c4;letter-spacing:1px}
  .upnote{font-size:10px;color:var(--faint)}
  /* v3.31 track preview: with a map pack for the next venue the board becomes a slim strip above the circuit (the map shrinks to fit, nothing covered) */
  .mapbody{container-type:inline-size}
  #upSign.over{position:relative;inset:auto;flex:0 0 auto;display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tag cd" "gp cd" "ven cd" "cta cta";
    align-items:center;justify-items:start;text-align:left;column-gap:18px;row-gap:1px;padding:9px 14px 10px;overflow:visible;border-bottom:1px solid var(--line);
    background:radial-gradient(90% 160% at 0% 0%,rgba(255,174,66,.12),transparent 60%),linear-gradient(180deg,rgba(17,24,33,.98),rgba(8,11,15,.98));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.35);animation:upIn .5s cubic-bezier(.2,1.2,.3,1)}
  #upSign.over .chq,#upSign.over .upnote,#upSign.over .lights{display:none}
  #upSign.over .uptag{grid-area:tag} #upSign.over .upgp{grid-area:gp;font-size:clamp(15px,1.5vw,19px);letter-spacing:2px;text-shadow:0 0 18px rgba(255,174,66,.35)}
  #upSign.over .upvenue{grid-area:ven;font-size:10px} #upSign.over .upwhen{display:none}
  #upSign.over .uptag,#upSign.over .upgp,#upSign.over .upvenue,#upSign.over .upwhen{justify-self:stretch;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #upSign.over .upcd{grid-area:cd} #upSign.over .upcd b{font-size:clamp(20px,2vw,25px)} #upSign.over .cdsep{font-size:17px}
  #upSign.over .upcta{grid-area:cta;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 12px;width:100%;margin-top:7px;padding:8px 0 0;border-top:1px solid rgba(255,255,255,.07)}
  #upSign.over .upcta-b{justify-content:flex-start}
  #upSign.over .upbtn{font-size:10.5px;padding:6px 10px} #upSign.over .upbtn.pri{font-size:12px;padding:7px 14px}
  .uptag{display:none;font:700 9px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);text-shadow:0 0 10px rgba(23,216,209,.45);margin-bottom:3px}
  #upSign.over .uptag{display:block}
  @keyframes upIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
  @container (max-width:720px){ #upSign.over{column-gap:12px} #upSign.over .upgp{font-size:15px;letter-spacing:1.5px} #upSign.over .upcd{gap:6px} #upSign.over .upcd b{font-size:20px} #upSign.over .cdsep{font-size:14px} }
  @container (max-width:440px){ #upSign.over{grid-template-columns:1fr;grid-template-areas:"tag" "gp" "ven" "cd" "cta"} #upSign.over .upcta-l{flex-basis:100%} }
  @media(max-width:920px){ .mapbody:has(#upSign.over) #mapStage{flex:0 0 auto;height:62vw;min-height:220px} }   /* phones: the strip sits above a map of its own height, not squeezed out of a 240 px panel */
  .upcta{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:8px;padding-top:9px;border-top:1px solid rgba(255,255,255,.07);width:min(100%,460px)}
  .upcta[hidden]{display:none}
  .upcta-l{font:600 9px/1 var(--mono);letter-spacing:.18em;color:var(--faint)}
  .upcta-b{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
  .upbtn{font:700 11px/1 var(--font-display);letter-spacing:.12em;padding:7px 11px;border-radius:8px;transition:transform .15s cubic-bezier(.3,1.6,.5,1),box-shadow .2s,border-color .2s}
  .upbtn:hover,.upbtn:focus-visible{transform:translateY(-1px);border-color:var(--amber);box-shadow:0 0 12px rgba(255,174,66,.28);outline:none}
  .upbtn.pri{font-size:13px;padding:9px 16px;color:#fff;border-color:rgba(255,80,96,.75);background:linear-gradient(180deg,var(--red-hot),#B5051A);
    box-shadow:0 6px 18px rgba(247,7,34,.35),inset 0 1px 0 rgba(255,255,255,.25)}
  .upbtn.pri:hover,.upbtn.pri:focus-visible{border-color:#fff;box-shadow:var(--glow-red),0 8px 22px rgba(247,7,34,.45);transform:translateY(-1px) scale(1.03)}
  .upbtn.pri i{font-style:normal;margin-right:7px;font-size:10px}
  .upbtn[disabled]{opacity:.55;cursor:progress;transform:none}
  @media(max-width:700px){ .upbtn.pri{font-size:12px;padding:8px 12px} }
  .rplay{width:27px;height:27px;border-radius:50%;border:1px solid #3a4550;background:#1a222c;color:var(--amber);cursor:pointer;font-size:10px;display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0}
  .rplay.live{background:var(--amber);color:#05070A;border-color:var(--amber)}
  .eq{display:inline-flex;gap:2px;align-items:flex-end;height:12px;width:20px}
  .eq i{width:3px;background:currentColor;animation:eqb .7s ease-in-out infinite;border-radius:1px}
  .eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}.eq i:nth-child(4){animation-delay:.45s}
  @keyframes eqb{0%,100%{height:3px}50%{height:12px}}
  .onair{color:var(--red);animation:blink 1s steps(2) infinite;font-weight:800;letter-spacing:1px}
  @keyframes blink{50%{opacity:.2}}
  .mapstage{position:relative;flex:1;height:auto;min-height:0;overflow:hidden;perspective:1000px;background:radial-gradient(ellipse at 50% 28%,#0e141b 0%,#05070A 72%)}
  .mapstage svg{transition:transform .45s ease;cursor:grab}
  .mapstage svg:active{cursor:grabbing}
  .mapstage.tilt svg{transform:rotateX(34deg) scale(1.08);transform-origin:50% 72%;filter:drop-shadow(0 14px 18px rgba(0,0,0,.55))}
  .mapbtns{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;flex-wrap:wrap-reverse;align-content:flex-start;gap:5px;z-index:4;max-height:calc(100% - 16px)}   /* v3.02: wraps into a second column on short panels */
  .mapbtns button{width:30px;height:30px;padding:0;font-size:14px;font-weight:700;border-radius:6px;line-height:1}
  .mapbtns button.cam{display:none;font-size:9px;letter-spacing:.04em}
  .mapbtns.is3d button.cam{display:block}
  .mapbtns button.on{background:var(--amber);color:#05070A}
  .mapbtns .sep{height:4px}
  .mapbtns button#btnPhoto{font-size:8.5px;letter-spacing:.06em;color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 70%,transparent);background:linear-gradient(160deg,rgba(255,174,66,.16),rgba(5,7,10,.85));box-shadow:0 0 0 1px rgba(0,0,0,.4),0 4px 12px rgba(255,174,66,.18);transition:transform .15s ease,box-shadow .15s ease}
  .mapbtns button#btnPhoto:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.4),0 6px 16px rgba(255,174,66,.35)}
  .mapbtns button#btnPhoto.on{color:#05070A;background:linear-gradient(160deg,#FFC46B,var(--amber));border-color:var(--amber)}
  #photoMap{will-change:transform}
  #photoImg{will-change:transform;transform:translateZ(0)}
  #photoCars{will-change:transform;transform:translateZ(0);isolation:isolate}
  #photoCars .glow-a{animation:pwGlowA 5s ease-in-out infinite} #photoCars .glow-b{animation:pwGlowB 7s ease-in-out infinite}
  @keyframes pwGlowA{0%,100%{opacity:.5}50%{opacity:.12}} @keyframes pwGlowB{0%,100%{opacity:.12}50%{opacity:.55}}
  #photoCars .sec-line{stroke:#FFAE42;stroke-opacity:.85}
  #photoCars .pcd{transform-box:fill-box;transform-origin:center;transition:transform .18s ease,filter .18s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
  #photoCars g[data-drv]:hover .pcd{transform:scale(1.18);filter:drop-shadow(0 0 6px rgba(255,255,255,.35)) drop-shadow(0 1px 2px rgba(0,0,0,.6))}
  #photoCars .sec-lbl{fill:#FFAE42;font-family:var(--mono);font-weight:800;paint-order:stroke;stroke:#05070A}
  #photoMap[data-theme=day] .sec-line{stroke:#B8651A}
  #photoMap[data-theme=day] .sec-lbl{fill:#7A3F08;stroke:#FFFFFF}
  /* ---------- redesign additions ---------- */
  body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(120% 80% at 50% -18%,rgba(247,7,34,.10),transparent 50%),radial-gradient(70% 85% at 50% 133%,rgba(255,38,56,.22),rgba(247,7,34,.06) 32%,transparent 56%),radial-gradient(72% 62% at -8% 110%,rgba(247,7,34,.16),transparent 60%),radial-gradient(82% 72% at 108% 112%,rgba(255,38,56,.19),transparent 58%),linear-gradient(122deg,transparent 58%,rgba(247,7,34,.12) 76%,transparent 82%),linear-gradient(122deg,transparent 68%,rgba(255,38,56,.15) 85%,transparent 90%),linear-gradient(238deg,transparent 60%,rgba(247,7,34,.09) 78%,transparent 84%)}
  body::after{content:"";position:fixed;top:0;right:0;width:min(48vw,760px);height:min(40vh,360px);pointer-events:none;z-index:0;background:url(data:image/png;base64,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) right top/contain no-repeat;opacity:.085;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(225deg,#000,transparent 70%);mask-image:linear-gradient(225deg,#000,transparent 70%)}
  .panel.botpanel{background:radial-gradient(95% 120% at 114% 120%,rgba(247,7,34,.22),rgba(255,38,56,.06) 32%,transparent 55%),linear-gradient(180deg,rgba(255,255,255,.012),transparent 16%),var(--panel)}
  body>*{position:relative;z-index:1}
  .chip.livepill{color:var(--red-hot);border-color:rgba(247,7,34,.8);background:linear-gradient(180deg,rgba(255,38,56,.16),rgba(247,7,34,.05)),rgba(247,7,34,.07);box-shadow:var(--glow-red),inset 0 1px 0 rgba(255,255,255,.14)}
  .chip.vsc{color:#05070A;border-color:#FFAE42;background:linear-gradient(180deg,#FFD229,#FFAE42);box-shadow:0 0 14px rgba(255,174,66,.55),inset 0 1px 0 rgba(255,255,255,.35);animation:vscPulse 1.4s ease-in-out infinite}
  .chip.sc{color:#05070A;border-color:#FFD229;background:linear-gradient(180deg,#FFE566,#FFD229);box-shadow:0 0 14px rgba(255,210,41,.5),inset 0 1px 0 rgba(255,255,255,.35)}
  .chip.redflag{color:#fff;border-color:var(--red-hot);background:linear-gradient(180deg,#FF2638,#F70722);box-shadow:var(--glow-red);animation:vscPulse 1s ease-in-out infinite}
  .chip.yellowflag{color:#05070A;border-color:#FFD229;background:linear-gradient(180deg,#FFE566,#FFD229);box-shadow:0 0 10px rgba(255,210,41,.4)}
  @keyframes vscPulse{0%,100%{opacity:1;filter:brightness(1)}50%{opacity:.82;filter:brightness(1.12)}}
  .chip.tv{color:var(--amber);border-color:rgba(255,174,66,.55);background:linear-gradient(180deg,rgba(255,174,66,.14),rgba(255,174,66,.03));box-shadow:0 0 10px rgba(255,174,66,.18),inset 0 1px 0 rgba(255,255,255,.08);transition:box-shadow .2s,transform .2s}
  .chip.tv:hover{box-shadow:0 0 16px rgba(255,174,66,.35);transform:translateY(-1px)}
  .pipbtn{display:inline-flex;align-items:center;gap:6px;margin-right:8px;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--faint);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:4px 10px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s}
  .pipbtn:hover{color:var(--ink);border-color:rgba(255,255,255,.3)}
  .pipbtn.on{color:var(--amber);border-color:rgba(255,174,66,.6);box-shadow:0 0 12px rgba(255,174,66,.25),inset 0 1px 0 rgba(255,255,255,.08)}
  .pipbtn .pipInner{transition:transform .25s}
  .pipbtn.c-bl .pipInner{transform:translateX(-6px)} .pipbtn.c-tr .pipInner{transform:translateY(-4.5px)} .pipbtn.c-tl .pipInner{transform:translate(-6px,-4.5px)}
  @media (max-width:1280px){ .pipbtn{display:none} }
  .chip.tvoff{color:var(--faint);border-color:rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));transition:box-shadow .2s,transform .2s,color .2s}
  .chip.tvoff:hover{color:var(--amber);border-color:rgba(255,174,66,.45);box-shadow:0 0 12px rgba(255,174,66,.2);transform:translateY(-1px)}
  .chip.tv .tvb{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:5px;border-radius:4px;border:1px solid rgba(255,174,66,.45);background:rgba(255,174,66,.1);color:var(--amber);font-weight:700;font-size:12px;line-height:1;cursor:pointer;transition:all .15s}
  .chip.tv .tvb:first-of-type{margin-left:8px}
  .chip.tv .tvb:hover{background:var(--amber);color:#05070A;box-shadow:0 0 8px rgba(255,174,66,.5)}
  .chip.lagpill{color:var(--amber);border-color:rgba(255,174,66,.75);background:linear-gradient(180deg,rgba(255,174,66,.17),rgba(255,174,66,.05)),rgba(255,174,66,.07);box-shadow:0 0 12px rgba(255,174,66,.34),0 0 30px rgba(255,174,66,.1),inset 0 1px 0 rgba(255,255,255,.14);font-variant-numeric:tabular-nums;cursor:help;transition:box-shadow .2s,filter .2s}
  .chip.lagpill:hover{filter:brightness(1.1);box-shadow:0 0 16px rgba(255,174,66,.5),0 0 36px rgba(255,174,66,.16),inset 0 1px 0 rgba(255,255,255,.2)}
  .chip.lagpill::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber);margin-right:6px;vertical-align:middle;box-shadow:0 0 8px var(--amber);animation:breathe .9s ease-in-out infinite}
  .chip.livepill::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red-hot);margin-right:6px;vertical-align:middle;box-shadow:0 0 8px var(--red);animation:breathe 2s ease-in-out infinite}
  @keyframes breathe{0%,100%{opacity:1}50%{opacity:.3}}
  .hgantry{display:flex;gap:8px;align-items:center;padding:2px 4px}
  .hgantry .hl{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 38% 30%,#ffb3b8 0%,#ff2638 24%,#F70722 54%,#8A0715 100%);box-shadow:0 0 9px rgba(247,7,34,.85),0 0 22px rgba(247,7,34,.45),inset 0 -2px 3px rgba(0,0,0,.55);animation:ltbreath 2.6s ease-in-out infinite}
  .hgantry .hl:nth-child(2){animation-delay:.12s}.hgantry .hl:nth-child(3){animation-delay:.24s}.hgantry .hl:nth-child(4){animation-delay:.36s}.hgantry .hl:nth-child(5){animation-delay:.48s}
  @keyframes ltbreath{0%,100%{opacity:1}55%{opacity:.5}}
  input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--red-deep),var(--red) 55%,var(--red-hot))}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;border:2px solid var(--red);margin-top:-5px;box-shadow:0 0 8px rgba(247,7,34,.6);cursor:pointer}
  input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--line2)}
  input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--red)}
  input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#fff;border:2px solid var(--red);box-shadow:0 0 8px rgba(247,7,34,.6);cursor:pointer}
  /* ---- GO LIVE (playback bar): shown only in a live session that has left live-follow (lap-slider scrub, or ▶ replay). One tap snaps
     back to the live head; 60 s without touching the bar does it on its own (the white fill = time until then). Visible pill 26 px,
     ::after widens the touch target to ~45 px without growing the bar. ---- */
  #btnLive{display:none;position:relative;flex:none;align-items:center;gap:7px;height:26px;margin:-2px 0;padding:0 12px 0 10px;border-radius:8px;border:1px solid rgba(255,120,130,.7);
    background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0) 52%),linear-gradient(180deg,var(--red-hot),var(--red) 55%,var(--red-deep));color:#fff;
    font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.4);
    box-shadow:var(--glow-red),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.25);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
    transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
  #btnLive.on{display:inline-flex;animation:lvIn .28s ease-out}
  #btnLive::after{content:"";position:absolute;left:-6px;right:-6px;top:-12px;bottom:-10px}
  #btnLive::before{content:"";position:absolute;left:9px;right:9px;bottom:2px;height:2px;border-radius:1px;background:rgba(255,255,255,.85);box-shadow:0 0 6px rgba(255,255,255,.6);transform-origin:left center;transform:scaleX(var(--lvp,0));transition:transform 1s linear;pointer-events:none}
  #btnLive i{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff,0 0 12px rgba(255,255,255,.55);animation:breathe 1.4s ease-in-out infinite}
  #btnLive:hover{border-color:#FFB3B8;filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 0 16px rgba(247,7,34,.6),0 0 40px rgba(247,7,34,.24),inset 0 1px 0 rgba(255,255,255,.4)}
  #btnLive:active{transform:scale(.96);filter:brightness(.95)}
  #btnLive:focus-visible{outline:2px solid #fff;outline-offset:2px}
  @keyframes lvIn{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
  #sliderRow.lvb #lapSlider{min-width:0}
  body.fullmap #sliderRow.lvb{padding-top:10px!important;padding-bottom:10px!important}
  @media(max-width:480px){#btnLive{gap:5px;padding:0 9px 0 8px;font-size:12.5px;letter-spacing:.08em}}
  @media (prefers-reduced-motion: reduce){#btnLive.on,#btnLive i{animation:none!important}#btnLive::before{transition:none}}

  /* ---- cockpit tab (v2.18) ---- */
  .rlap{display:none}
  #radioPanel .ptitle span:first-child{font-size:9px;letter-spacing:1.5px}
  #radioMeta{display:none}
  .tvb.tvtap{font-size:8px;letter-spacing:1px;padding:0 5px;margin-left:4px;border:1px solid rgba(255,174,66,.5);border-radius:3px}
  .tvb.tvtap:hover{background:rgba(255,174,66,.18)}
  #btnScan{padding:2px 5px!important;font-size:8px!important}
  body.cockpit .botpanel{grid-column:1/-1}
  body.cockpit .grid > .panel:nth-child(3){grid-row:2}
  .ck-grid{display:grid;grid-template-columns:236px minmax(0,1fr) 262px 292px;gap:8px;height:100%;padding:2px}
  .ck-card{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 60%),#0B0F15;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.45);padding:10px 12px;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;transition:border-color .2s}
  .ck-card:hover{border-color:rgba(255,255,255,.16)}
  .ck-col{display:grid;grid-template-rows:minmax(0,auto) minmax(150px,1fr);gap:8px;min-width:0;min-height:0}
  .ck-title{font-family:var(--mono);font-size:8px;letter-spacing:2.2px;color:#7C8794;margin-bottom:6px;display:flex;justify-content:space-between}
  .ck-faint{color:#5B6570;font-family:var(--mono);font-size:8px;letter-spacing:1.5px}
  .ck-dial{width:100%;max-width:230px;margin:0 auto;display:block}
  .ck-tick{font-family:var(--mono);font-size:8px;fill:#5B6570}
  .ck-big{font-family:var(--font-display);font-weight:800;font-size:52px;fill:var(--ink)}
  .ck-unit{font-family:var(--mono);font-size:8px;letter-spacing:2px;fill:#7C8794}
  .ck-gear{font-family:var(--font-display);font-weight:800;font-size:34px;fill:var(--purple);filter:drop-shadow(0 0 8px rgba(198,139,255,.7))}
  .ck-chips{display:flex;gap:6px;justify-content:center;margin-top:6px}
  .ck-chip{font-family:var(--mono);font-size:8px;letter-spacing:1.5px;color:#5B6570;padding:3px 7px;border-radius:4px;border:1px solid rgba(255,255,255,.12);transition:all .15s}
  .ck-chip.on-green{color:#3AD676;border-color:#3AD676;background:rgba(58,214,118,.12);box-shadow:0 0 10px rgba(58,214,118,.3)}
  .ck-chip.on-red{color:var(--red-hot);border-color:var(--red-hot);background:rgba(247,7,34,.14);box-shadow:0 0 10px rgba(247,7,34,.35)}
  .ck-chip.on-amber{color:var(--amber);border-color:var(--amber);background:rgba(255,174,66,.12);box-shadow:0 0 10px rgba(255,174,66,.35)}
  .ck-trace{width:100%;flex:1;min-height:150px;display:block}
  .ck-lbl{font-family:var(--mono);font-size:8px;letter-spacing:1.5px;color:#5B6570}
  .ck-row{display:grid;grid-template-columns:18px 34px 1fr 56px;gap:8px;align-items:center;font-family:var(--mono);font-size:10px;padding:2px 0;cursor:pointer;border-radius:4px}
  .ck-row:hover{background:rgba(255,255,255,.04)}
  .ck-row b{font-family:var(--font-display);font-size:13px}
  .ck-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden}
  .ck-bar div{height:100%;transition:width .4s}
  .ck-foot{font-family:var(--mono);font-size:8px;letter-spacing:1.5px;color:#5B6570;margin-top:6px}
  .ck-wx{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center}
  .ck-wxg{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
  .ck-val{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink)} .ck-val.sm{font-size:18px}
  /* v2.34 temperature readouts: Chakra Petch digits, tabular, raised degree, amber glow on track */
  .tv{font-family:var(--font-temp);font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:12px}
  .tv.am{color:var(--amber);text-shadow:0 0 8px rgba(255,174,66,.45)}
  .tv sup,.ck-val.temp sup{font-size:.5em;vertical-align:top;position:relative;top:.15em;opacity:.75;margin-left:1px}
  .ck-val.temp{font-family:var(--font-temp);letter-spacing:.04em;font-variant-numeric:tabular-nums}
  .ck-val.temp.am{color:var(--amber);text-shadow:0 0 10px rgba(255,174,66,.4)}
  .ck-wind{font-family:var(--font-display);font-weight:700;font-size:12px;fill:var(--ink)}
  .ck-rain{grid-column:1/3;padding:4px 8px;border-radius:4px;border:1px solid #3AD676;color:#3AD676;background:rgba(58,214,118,.1);font-family:var(--mono);font-size:8px;letter-spacing:1.5px}
  .ck-radar{position:relative;flex:1;min-height:90px;margin-top:8px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#05070A;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
  .ck-radar-tiles{position:absolute;left:50%;top:50%;width:0;height:0}
  .ck-radar-tiles img{position:absolute;display:block;max-width:none}
  .ck-radar-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px dashed rgba(255,255,255,.28);pointer-events:none;transform:translate(-50%,-50%)}
  .ck-radar-ring::after{content:"50 KM";position:absolute;left:50%;top:-11px;transform:translateX(-50%);font-family:var(--mono);font-size:7px;letter-spacing:1px;color:#C9D1DA;text-shadow:0 1px 3px #000}
  .ck-radar-tiles img.osm{filter:invert(1) hue-rotate(180deg) saturate(.35) brightness(.72) contrast(1.05)}
  .ck-radar-dot{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--red-hot);box-shadow:0 0 0 3px rgba(247,7,34,.3),0 0 12px rgba(247,7,34,.9)}
  .ck-radar-lbl{position:absolute;left:8px;bottom:6px;font-family:var(--mono);font-size:8px;letter-spacing:1.5px;color:#C9D1DA;text-shadow:0 1px 3px #000}
  .ck-radar-att{position:absolute;right:6px;top:6px;font-family:var(--mono);font-size:7px;letter-spacing:.5px;color:#9AA4AF;text-shadow:0 1px 3px #000} .ck-radar-att a{color:#C9D1DA;text-decoration:none} .ck-radar-att a:hover{color:var(--amber)}
  .ck-radar-tog{position:absolute;right:6px;top:6px;display:flex;gap:3px}
  .ck-radar-tog span{font-family:var(--mono);font-size:8px;letter-spacing:1px;padding:2px 6px;border-radius:3px;border:1px solid rgba(255,255,255,.14);color:#7C8794;background:rgba(5,7,10,.7);cursor:pointer}
  .ck-radar-tog span.on{color:var(--amber);border-color:rgba(255,174,66,.6)}
  .ck-radar-tog span:hover{background:rgba(255,255,255,.08)}
  .ck-rain.wet{border-color:#4FA3FF;color:#4FA3FF;background:rgba(79,163,255,.12)}
  @media(max-width:1400px){.ck-grid{grid-template-columns:220px minmax(0,1fr) 240px 270px}}
  @media(max-width:1280px){.ck-grid{grid-template-columns:1fr 1fr;height:auto}}
  /* Tall tower: LIVE TIMING spans map + tabs + bottom panel on desktop (v2.11) */
  @media(min-width:1281px){
    body{grid-template-columns:118px minmax(0,1.7fr) minmax(510px,1fr) 54px;column-gap:6px}   /* v3.44: tower >= 570 px so TYRE + PIT fit without sideways scroll (1fr alone gave 455-530 px below ~1560 px wide) */
    .grid{display:contents}
    .hdr,.foot{grid-column:1/-1}
    #radioPanel{grid-column:1;grid-row:2;margin-bottom:4px}
    .grid > .panel:nth-child(2){grid-column:2;grid-row:2;margin-bottom:4px}
    .grid > .panel:nth-child(3){grid-column:3/5;grid-row:2/4;margin-bottom:4px}
    .botpanel{grid-column:1/3;grid-row:3;margin-bottom:4px}
    /* v2.69: PiP layouts — leave one corner of the grid empty for a floating video window (macOS PiP snaps to corners) */
    body.pip-br .grid > .panel:nth-child(3){grid-row:2}
    body.pip-bl #radioPanel{grid-row:2} body.pip-bl .botpanel{grid-column:3/5;grid-row:3} body.pip-bl .grid > .panel:nth-child(3){grid-row:2}
    body.pip-tr .grid > .panel:nth-child(3){grid-row:3} body.pip-tr .grid > .panel:nth-child(2){grid-row:2}
    body.pip-tl #radioPanel{display:none} body.pip-tl .grid > .panel:nth-child(2){grid-column:3/5;grid-row:2} body.pip-tl .grid > .panel:nth-child(3){grid-column:3/5;grid-row:3} body.pip-tl .botpanel{grid-column:1/3;grid-row:3}
    body[class*="pip-"]{grid-template-rows:auto minmax(0,1fr) minmax(200px,.85fr) auto}
    body[class*="pip-"] .botpanel{grid-row:3}
    body.cockpit{grid-template-rows:auto minmax(0,1fr) minmax(300px,.85fr) auto}   /* cockpit: taller bottom panel so all four cards get room */
  }
  @media (prefers-reduced-motion: reduce){.chip.livepill::before,.chip.lagpill::before,.hgantry .hl,.eq i,.onair{animation:none!important}}
  /* iPad / tablet: stop header + 3-col grid colliding */
  @media(max-width:1280px){
    body{padding:6px 10px 6px;grid-template-rows:auto minmax(0,1fr) minmax(170px,.5fr) auto}
    .grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:0}
    #radioPanel{grid-column:1/-1;order:3;height:auto;min-height:0;max-height:160px}
    .toppanel{min-height:0;height:auto}
    .botpanel{height:auto;min-height:0;max-height:none}
    .pw-logo{height:50px!important}
    .hgantry{margin-left:0}
    .promo{flex-wrap:wrap}
  }
  /* v3.16 iPad landscape (1000–1280 wide): desktop arrangement — radio rail | map over tabs | full-height timing tower */
  @media(min-width:1000px) and (max-width:1280px) and (orientation:landscape){
    body{grid-template-columns:112px minmax(0,1fr) clamp(500px,46vw,560px);grid-template-rows:auto minmax(0,1.12fr) minmax(176px,.88fr) auto;column-gap:6px}
    .grid{display:contents}
    .hdr,.foot{grid-column:1/-1}
    #radioPanel{grid-column:1;grid-row:2;order:0;max-height:none;margin-bottom:4px}
    .grid > .panel:nth-child(2){grid-column:2;grid-row:2;margin-bottom:4px}
    .grid > .panel:nth-child(3){grid-column:3;grid-row:2/4;margin-bottom:4px}
    .botpanel{grid-column:1/3;grid-row:3;margin-bottom:4px}
    .promo{flex-wrap:nowrap}
    .botpanel > .ptitle #tabMeta{display:none}
    .promo.ads-on .adslot{max-height:64px}
  }
  ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}
  @media(max-width:920px){
    html,body{height:auto;max-height:none;min-height:100dvh;overflow:auto}
    body{display:flex;flex-direction:column;padding:8px 10px}
    .grid{grid-template-columns:1fr}
    #radioPanel{grid-column:auto;order:3;height:220px;min-height:180px;max-height:none}
    .toppanel{min-height:240px;height:auto}
    .botpanel{height:280px;max-height:none}
    .hdr-meta{margin-left:0;width:100%;justify-content:flex-start}
    .hgantry{display:none}
    .clockwrap svg{width:42px!important;height:42px!important}
    .pw-logo{height:48px!important}
    .promo{gap:10px;padding:8px 12px;flex-wrap:wrap}
    .fstrip img{height:34px}
    .foot{align-self:stretch}
  }
  @media(max-width:700px){
    body{padding:8px}
    .hdr{padding:6px 2px 10px;gap:8px}
    .hdr-controls,.hdr-meta{width:100%;margin-left:0}
    .toppanel{min-height:220px;height:auto}
    .botpanel{height:260px}
    table{min-width:460px;font-size:10.5px}
  }
  .foot-meta{display:none}
  @media(max-height:920px){
    .pw-logo{height:48px!important}
    .clockwrap svg{width:40px!important;height:40px!important}
    .promo{padding:4px 10px}
    .fstrip img{height:24px}
    .hdr{padding:0 4px 2px;margin-bottom:4px}
    .grid{gap:5px;margin-bottom:4px}
    body{padding:3px 12px 5px}
  }

  /* ============ FULL MAP mode (v3.11) — map fills the window, stats float over it as glass ============ */
  #fmBar,#fmFocus{display:none}
  .mapbtns button#btnFull{font-size:15px}
  body.fullmap{overflow:hidden;--fm-tw:220px}
  body.fullmap .hdr, body.fullmap #radioPanel, body.fullmap .botpanel, body.fullmap .foot{display:none!important}
  body.fullmap .grid > .panel:nth-child(2){position:fixed!important;inset:0;z-index:60;border-radius:0;border:0;margin:0;height:100vh!important;height:100dvh!important;width:100vw!important;min-height:0;display:flex;flex-direction:column;background:#05070A;box-shadow:none}
  body.fullmap .grid > .panel:nth-child(2) > .ptitle{display:none}
  body.fullmap .grid > .panel:nth-child(2) > .pbody{flex:1;min-height:0;height:100%;position:relative}
  body.fullmap .mapstage{flex:1}
  body.fullmap .mapstage:not(:has(.mapbtns.is3d)){margin-top:66px}                       /* 2D: keep the circuit legend clear of the bar; 3D runs full-bleed under it */
  body.fullmap .mapstage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;
    background:linear-gradient(90deg,rgba(5,7,10,.72) 0,rgba(5,7,10,.22) 22%,transparent 34%),linear-gradient(180deg,rgba(5,7,10,.62) 0,transparent 14%,transparent 84%,rgba(5,7,10,.72) 100%)}
  body.fullmap .mapbtns{top:76px;right:18px;z-index:6;max-height:calc(100% - 76px - 270px)}
  body.fullmap .mapstage:not(:has(.mapbtns.is3d)) .mapbtns{top:10px}
  body.fullmap #flagRail{top:76px}
  body.fullmap #idleBanner{top:76px;left:calc(var(--fm-tw) + 32px)}
  body.fullmap .grid > .panel:nth-child(3){position:fixed!important;left:16px;top:72px;bottom:auto;max-height:calc(100vh - 146px);max-height:calc(100dvh - 146px);width:var(--fm-tw);z-index:70;margin:0;height:auto!important;min-height:0;
    background:linear-gradient(180deg,rgba(14,19,26,.74),rgba(7,10,14,.62));backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);
    border:1px solid rgba(255,255,255,.09);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.07);overflow:hidden;display:flex;flex-direction:column}
  body.fullmap .grid > .panel:nth-child(3) > .ptitle{background:linear-gradient(90deg,rgba(247,7,34,.22),transparent 70%);border-bottom:1px solid rgba(255,255,255,.08);padding:7px 10px;font-size:11px}
  body.fullmap .grid > .panel:nth-child(3) > .pbody{flex:1;min-height:0;background:transparent}
  body.fullmap #tower{height:100%;overflow:auto;scrollbar-width:none;background:transparent}
  body.fullmap #tower::-webkit-scrollbar{display:none}
  body.fullmap #tower table{width:100%;min-width:0!important;table-layout:auto;background:transparent}
  body.fullmap #tower th:nth-child(n+4):nth-child(-n+8), body.fullmap #tower td:nth-child(n+4):nth-child(-n+8),
  body.fullmap #tower th:nth-child(10), body.fullmap #tower td:nth-child(10){display:none}
  body.fullmap #tower table{font-family:var(--font-display);font-size:14.5px;font-weight:500;letter-spacing:.035em;font-variant-numeric:tabular-nums}   /* v3.12: condensed face, tighter rows, no team bar */
  body.fullmap #tower td{padding:0 5px;height:clamp(19px,calc((100vh - 72px - 74px - 58px)/22),25px);background:transparent;border-color:rgba(255,255,255,.05)}
  body.fullmap #tower td:first-child, body.fullmap #tower th:first-child{padding-left:10px;width:26px;font-weight:600!important}
  body.fullmap #tower td:nth-child(3){text-align:right;padding-right:8px;font-weight:500}
  body.fullmap #tower td.drv{padding-right:32px}                                   /* v3.13: the PIT / RET badge column was lost with the tighter padding */
  body.fullmap #tower .badge{right:4px}
  body.fullmap #tower th:nth-child(3){text-align:right;padding-right:8px}
  body.fullmap #tower td:nth-child(9), body.fullmap #tower th:nth-child(9){width:44px;padding-right:9px;white-space:nowrap}
  body.fullmap #tower .teambar{display:none}
  body.fullmap #tower .dlogo{width:22px;height:14px;margin-right:6px}
  body.fullmap #tower td.drv b{font-weight:600;letter-spacing:.05em}
  body.fullmap #tower .dnum{display:none}
  body.fullmap #tower .tyre{width:11px;height:11px;border-width:2.5px}
  body.fullmap #tower th{height:20px;padding:0 5px;background:rgba(9,13,18,.9);font-family:var(--mono)}
  body.fullmap #tower tbody tr{transition:background .18s ease,transform .18s ease}
  body.fullmap #tower tbody tr:hover{background:rgba(255,255,255,.07);transform:translateX(2px)}
  body.fullmap #sliderRow{position:fixed;left:calc(var(--fm-tw) + 32px);right:18px;bottom:16px;z-index:70;padding:8px 14px!important;border-radius:14px;
    background:linear-gradient(180deg,rgba(14,19,26,.76),rgba(7,10,14,.66));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.09);box-shadow:0 12px 36px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07)}
  body.fullmap #fmBar{display:flex;position:fixed;left:16px;right:18px;top:14px;height:46px;z-index:72;align-items:center;gap:12px;padding:0 8px 0 14px;border-radius:14px;
    background:linear-gradient(180deg,rgba(14,19,26,.76),rgba(7,10,14,.62));backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border:1px solid rgba(255,255,255,.09);
    box-shadow:0 12px 36px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07);font-family:var(--font-display);letter-spacing:.09em;color:var(--ink)}
  #fmBar img{height:26px;flex:none}
  #fmBar .fm-t{font-size:15px;font-weight:700;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
  #fmBar .fm-sp{flex:1}
  #fmBar .fm-chip{display:flex;align-items:baseline;gap:7px;padding:5px 11px;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:11px;color:var(--dim);white-space:nowrap;flex:none;font-family:var(--mono);letter-spacing:.04em}
  #fmBar .fm-chip:empty{display:none}
  #fmBar #fmLap{color:var(--ink);font-weight:700;font-size:12.5px}
  #fmBar #fmFlag{font-family:var(--font-display);font-weight:700;letter-spacing:.12em}
  #fmBar #fmFlag.green{background:linear-gradient(180deg,rgba(57,201,107,.24),rgba(57,201,107,.1));border-color:rgba(57,201,107,.5);color:var(--green);box-shadow:0 0 14px rgba(57,201,107,.22)}
  #fmBar #fmFlag.vsc,#fmBar #fmFlag.sc,#fmBar #fmFlag.yellowflag{color:#05070A;border-color:#FFD229;background:linear-gradient(180deg,#FFE566,#FFC229);box-shadow:0 0 14px rgba(255,210,41,.5)}
  #fmBar #fmFlag.redflag{color:#fff;border-color:var(--red-hot);background:linear-gradient(180deg,#FF2638,#F70722);box-shadow:var(--glow-red)}
  #fmBar #fmExit{padding:7px 13px;border-radius:9px;font-family:var(--font-display);font-weight:700;letter-spacing:.1em;font-size:12px;color:#05070A;background:linear-gradient(180deg,#FFC46B,#FFAE42);border:0;flex:none;
    box-shadow:0 4px 14px rgba(255,174,66,.35),inset 0 1px 0 rgba(255,255,255,.5);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
  #fmBar #fmExit:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(255,174,66,.5),inset 0 1px 0 rgba(255,255,255,.5)}
  body.fullmap #fmFocus.on{display:block;position:fixed;right:18px;bottom:74px;width:292px;z-index:71;border-radius:16px;overflow:hidden;font-family:var(--font-display);color:var(--ink);
    background:linear-gradient(180deg,rgba(14,19,26,.82),rgba(7,10,14,.7));backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border:1px solid rgba(255,255,255,.1);
    box-shadow:0 18px 50px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .2s ease,box-shadow .2s ease}
  #fmFocus:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.1)}
  #fmFocus .fm-h{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08);border-left:3px solid var(--fm-team,var(--amber))}
  #fmFocus .fm-pos{font-size:30px;font-weight:700;line-height:1}
  #fmFocus .fm-h img{height:22px;max-width:52px;object-fit:contain;flex:none}
  #fmFocus .fm-nm{font-size:20px;font-weight:700;letter-spacing:.08em;line-height:1.05}
  #fmFocus .fm-sub{font-size:9.5px;color:var(--dim);letter-spacing:.14em;font-family:var(--mono);white-space:nowrap}
  #fmFocus .fm-ty{margin-left:auto;font-family:var(--mono);font-size:12px;display:flex;align-items:center;gap:5px}
  #fmFocus .fm-g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(255,255,255,.06)}
  #fmFocus .fm-c{background:rgba(9,13,18,.74);padding:9px 12px;min-width:0}
  #fmFocus .fm-c span{display:block;font-size:9.5px;letter-spacing:.16em;color:var(--faint);font-family:var(--mono)}
  #fmFocus .fm-c b{font-family:var(--mono);font-size:15px;font-weight:700;white-space:nowrap}
  /* v3.18 Full Map: tower + focus card go see-through over the map (was 62–82% black glass) */
  body.fullmap .grid > .panel:nth-child(3){background:linear-gradient(180deg,rgba(8,11,15,.12),rgba(8,11,15,.04));backdrop-filter:none;-webkit-backdrop-filter:none;border-color:rgba(255,255,255,.16);box-shadow:0 10px 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.10)}
  body.fullmap .grid > .panel:nth-child(3) > .ptitle{background:linear-gradient(90deg,rgba(247,7,34,.14),transparent 70%)}
  body.fullmap #tower th{background:rgba(8,11,15,.14)}
  body.fullmap #tower td, body.fullmap #tower th, body.fullmap .grid > .panel:nth-child(3) > .ptitle, #fmFocus{text-shadow:0 1px 2px #000,0 0 5px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.6)}
  body.fullmap #tower td{border-color:rgba(255,255,255,.09)}
  body.fullmap #tower tr.sel{background:rgba(255,174,66,.16)}
  body.fullmap #fmFocus.on{background:linear-gradient(180deg,rgba(8,11,15,.12),rgba(8,11,15,.05));backdrop-filter:none;-webkit-backdrop-filter:none;border-color:rgba(255,255,255,.16);box-shadow:0 10px 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.10)}
  #fmFocus .fm-g{background:rgba(255,255,255,.10)}
  #fmFocus .fm-c{background:rgba(8,11,15,.10)}
  /* Full Map 2D: the boxes step aside from the circuit legend baked into the pack image. fmLayout() sets these classes + vars; 3D (.is3d) never uses them */
  body.fullmap.fm-lgfit .mapstage:not(:has(.mapbtns.is3d)) #photoImg, body.fullmap.fm-lgfit .mapstage:not(:has(.mapbtns.is3d)) #photoCars{left:var(--fm-il,0px)!important;top:0!important;width:calc(100% - var(--fm-il,0px))!important;height:calc(100% - var(--fm-ib,0px))!important}
  body.fullmap.fm-lgbtn .mapstage:not(:has(.mapbtns.is3d)) .mapbtns{top:var(--fm-bt,10px);max-height:var(--fm-bh,none)}
  body.fullmap.fm-lgcard:not(:has(.mapbtns.is3d)) #fmFocus.on{right:var(--fm-cr,18px);bottom:var(--fm-cb,74px)}
  @media(max-width:920px){
    body.fullmap .grid > .panel:nth-child(3), body.fullmap #fmFocus.on, #fmBar .fm-wx{display:none!important}
    body.fullmap #sliderRow{left:10px;right:10px;bottom:10px}
    body.fullmap #fmBar{left:10px;right:10px;top:10px;gap:8px}
    body.fullmap #idleBanner{left:10px}
    #fmBar .fm-t{display:none}
    #fmBar #fmExit{font-size:0;padding:7px 11px}
    #fmBar #fmExit::before{content:"✕";font-size:14px}
    body.fullmap #sliderRow{overflow:hidden}
    body.fullmap #sliderRow #rcLocal, body.fullmap #sliderRow #rcLabel{display:none}
    body.fullmap .mapbtns{right:10px;max-height:calc(100% - 76px - 70px)}
  }
  /* ---- INTRO (v3.33): first-visit walkthrough overlay; scenes are scripted HTML/SVG, cues toggle classes by scene time ---- */
  #intro{position:fixed;inset:0;z-index:85;display:flex;align-items:center;justify-content:center;padding:16px;
    background:radial-gradient(80% 70% at 50% 40%,rgba(247,7,34,.12),transparent 70%),rgba(5,7,10,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:inFade .35s ease both}
  #intro[hidden]{display:none}
  @keyframes inFade{from{opacity:0}to{opacity:1}}
  .in-card{position:relative;width:min(920px,100%);max-height:calc(100dvh - 32px);overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.1);padding:14px 14px 16px;
    background:radial-gradient(120% 60% at 50% 0%,rgba(247,7,34,.10),transparent 60%),linear-gradient(180deg,rgba(14,19,26,.97),rgba(6,8,11,.98));
    box-shadow:0 30px 80px rgba(0,0,0,.65),0 0 0 1px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.07);animation:inPop .6s cubic-bezier(.2,1.2,.3,1) both}
  @keyframes inPop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
  .in-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .in-bars{flex:1;display:flex;gap:5px}
  .in-bars button{flex:1;height:5px;padding:0;border:0;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden;box-shadow:none;transition:background .2s}
  .in-bars button:hover{background:rgba(255,255,255,.24)}
  .in-bars i{display:block;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--red),var(--red-hot));box-shadow:0 0 8px rgba(247,7,34,.6)}
  .in-skip{font:700 10px/1 var(--mono);letter-spacing:.14em;padding:7px 11px;border-radius:7px;color:var(--dim);transition:color .2s,border-color .2s,box-shadow .2s}
  .in-skip:hover,.in-skip:focus-visible{color:var(--ink);border-color:var(--red);box-shadow:var(--glow-red);outline:none}
  .in-wrap{position:relative}
  .in-stage{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line2);container-type:inline-size;
    background:radial-gradient(ellipse at 50% 30%,#111a24 0%,#05070A 75%);box-shadow:inset 0 0 60px rgba(0,0,0,.6)}
  .in-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px)}
  .in-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;padding:0;font-size:18px;opacity:0;transition:opacity .2s,box-shadow .2s,border-color .2s}
  .in-wrap:hover .in-nav,.in-nav:focus-visible{opacity:1} .in-nav:hover{border-color:var(--red);box-shadow:var(--glow-red)}
  .in-prev{left:10px} .in-next{right:10px}
  .in-cap{margin:12px 4px 0;min-height:56px}
  .in-cap b{display:block;font:800 clamp(17px,2.4vw,24px)/1.1 var(--font-display);letter-spacing:.08em;color:var(--ink);text-shadow:0 0 18px rgba(247,7,34,.25)}
  .in-cap span{display:block;margin-top:4px;font:500 13px/1.45 var(--font-ui);color:var(--dim)}
  .in-cap.swap b,.in-cap.swap span{animation:inCap .45s ease both} .in-cap.swap span{animation-delay:.08s}
  @keyframes inCap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  #intro.paused .in-stage::before{content:"❚❚ PAUSED";position:absolute;right:12px;bottom:10px;z-index:4;font:700 10px var(--mono);letter-spacing:.14em;color:var(--dim)}
  .in-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s .45s}
  .in-scene.on{opacity:1;visibility:visible;transition:opacity .45s ease}
  .in-svg{position:absolute;inset:0;width:100%;height:100%}
  .in-trk{fill:none;stroke:#2a333d;stroke-width:30;stroke-linejoin:round}
  .in-trk2{fill:none;stroke:#9aa5b1;stroke-opacity:.55;stroke-width:5;stroke-linejoin:round}
  .in-trk2.draw{stroke:#fff;stroke-opacity:.9;filter:drop-shadow(0 0 10px rgba(255,255,255,.35))}
  .in-dot{stroke:#05070A;stroke-width:3;filter:drop-shadow(0 0 8px rgba(0,0,0,.6))}
  .in-dot.sel{stroke:#fff;stroke-width:5;filter:drop-shadow(0 0 12px rgba(247,7,34,.9))}
  .in-dot.hit{stroke:var(--amber);stroke-width:5}
  /* scene 0: lights out */
  .in-lts{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);display:flex;gap:2.2cqw;padding:1.6cqw 2.6cqw;border-radius:1.6cqw;background:#05070a;border:1px solid #242d37;
    box-shadow:0 10px 30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.05);transition:opacity .6s ease .1s,transform .6s cubic-bezier(.3,1.4,.5,1)}
  .in-lts i{width:4.4cqw;height:4.4cqw;border-radius:50%;background:#38090d;box-shadow:inset 0 0 6px #000;transition:background .08s,box-shadow .08s}
  .in-lts i.on{background:var(--red);box-shadow:0 0 1.6cqw rgba(247,7,34,.85),0 0 4cqw rgba(247,7,34,.35)}
  .in-lts.out{opacity:0;transform:translate(-50%,-80%) scale(.9)} .in-lts.out i{background:#38090d;box-shadow:inset 0 0 6px #000}
  .in-out{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(1.4);font:900 italic 7cqw/1 Saira,var(--font-display);letter-spacing:.06em;color:#fff;opacity:0;pointer-events:none;
    text-shadow:0 0 3cqw rgba(247,7,34,.9)}
  .in-out.on{animation:inOut 1.1s ease-out both}
  @keyframes inOut{0%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-70%) scale(.96)}}
  .in-logo{position:absolute;left:50%;top:46%;width:44cqw;transform:translate(-50%,-30%);opacity:0;filter:blur(8px) drop-shadow(0 0 2cqw rgba(247,7,34,.5));transition:opacity .7s ease,transform .8s cubic-bezier(.2,1.3,.3,1),filter .7s ease}
  .in-logo.on{opacity:1;transform:translate(-50%,-50%);filter:blur(0) drop-shadow(0 0 2cqw rgba(247,7,34,.45))}
  .in-logot{font:900 italic 8cqw/1 Saira,var(--font-display);color:var(--red);text-align:center}
  .in-tagl{position:absolute;left:0;right:0;top:66%;text-align:center;font:700 1.6cqw/1 var(--mono);letter-spacing:.32em;color:var(--dim);opacity:0;transform:translateY(1cqw);transition:opacity .6s,transform .6s}
  .in-tagl.on{opacity:1;transform:none}
  /* scene 1: replay + NEXT */
  .in-ban{position:absolute;left:2.4%;top:4%;display:flex;align-items:center;gap:1.1cqw;padding:.7cqw .9cqw .7cqw .7cqw;border-radius:1cqw;font:600 1.35cqw/1 var(--mono);color:var(--dim);white-space:nowrap;
    background:linear-gradient(180deg,rgba(14,20,27,.94),rgba(5,7,10,.92));border:1px solid rgba(255,174,66,.4);box-shadow:0 .8cqw 2.4cqw rgba(0,0,0,.55),0 0 2cqw rgba(255,174,66,.14);
    opacity:0;transform:translateY(-1cqw);transition:opacity .5s,transform .5s cubic-bezier(.3,1.4,.5,1)}
  .in-ban.on{opacity:1;transform:none}
  .in-ban .t{font:800 1.3cqw/1 var(--font-display);letter-spacing:.16em;color:#05070A;padding:.45cqw .8cqw;border-radius:.6cqw;background:linear-gradient(180deg,#FFC46B,var(--amber));box-shadow:0 0 1.2cqw rgba(255,174,66,.4)}
  .in-ban .n{color:var(--ink)} .in-ban .sep{width:1px;height:1.6cqw;background:rgba(255,255,255,.14)} .in-ban .x{color:var(--faint)}
  .in-ban .go{font:800 1.4cqw/1 var(--font-display);letter-spacing:.12em;color:#fff;padding:.6cqw 1cqw;border-radius:.7cqw;border:1px solid rgba(255,80,96,.7);
    background:linear-gradient(180deg,var(--red-hot),#B5051A);box-shadow:0 .4cqw 1.2cqw rgba(247,7,34,.35);transition:transform .15s,box-shadow .3s}
  .in-ban .go em{font-style:normal;display:inline-block;transition:transform .3s}
  .in-ban .go.press{transform:scale(.92)} .in-ban .go.lit{transform:none;box-shadow:var(--glow-red),0 0 3cqw rgba(247,7,34,.6)} .in-ban .go.lit em{transform:translateX(.5cqw)}
  .in-cd{display:inline-flex;align-items:baseline;gap:.25cqw;margin-left:.4cqw} .in-cd b{color:var(--amber);font-weight:800} .in-cd i{font-style:normal;color:var(--faint);font-size:.85em;margin-right:.35cqw}
  .in-cur{position:absolute;left:0;top:0;width:3.2cqw;height:3.2cqw;z-index:2;opacity:0;filter:drop-shadow(0 .3cqw .6cqw rgba(0,0,0,.7));
    transform:translate(80cqw,44cqw);transition:opacity .3s,transform 1.15s cubic-bezier(.45,0,.2,1)}
  .in-cur.on{opacity:1} .in-cur.go{transform:translate(var(--cx),var(--cy))}
  .in-rip{position:absolute;width:6cqw;height:6cqw;margin:-3cqw 0 0 -3cqw;border-radius:50%;border:.35cqw solid #fff;opacity:0;pointer-events:none}
  .in-rip.on{animation:inRip .7s ease-out both}
  @keyframes inRip{from{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.6)}}
  /* scene 2: track preview */
  .in-strip{position:absolute;left:2.4%;right:2.4%;top:3.5%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l cd" "r r";gap:.6cqw 2cqw;align-items:center;padding:1.2cqw 1.6cqw;border-radius:1.2cqw;
    background:radial-gradient(90% 160% at 0% 0%,rgba(255,174,66,.12),transparent 60%),linear-gradient(180deg,rgba(17,24,33,.97),rgba(8,11,15,.97));border:1px solid var(--line);
    box-shadow:0 1cqw 2.6cqw rgba(0,0,0,.5);opacity:0;transform:translateY(-1.2cqw);transition:opacity .5s,transform .6s cubic-bezier(.3,1.3,.5,1)}
  .in-strip.on{opacity:1;transform:none}
  .in-strip .l{grid-area:l;min-width:0} .in-strip .l i{display:block;font:700 1.1cqw/1 var(--mono);font-style:normal;letter-spacing:.2em;color:var(--cyan);margin-bottom:.4cqw}
  .in-strip .l b{display:block;font:900 2.3cqw/1.1 var(--font-ui);letter-spacing:.12em;color:var(--amber);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .in-strip .l span{display:block;font:500 1.15cqw/1.3 var(--font-ui);letter-spacing:.14em;color:var(--dim)}
  .in-strip .in-cd{grid-area:cd;font:800 2.8cqw/1 var(--mono)} .in-strip .in-cd b{color:var(--ink)} .in-strip .in-cd i{font-size:1.1cqw}
  .in-strip .r{grid-area:r;display:flex;align-items:center;gap:.8cqw;padding-top:.8cqw;border-top:1px solid rgba(255,255,255,.07)}
  .in-strip .lbl{font:600 1cqw/1 var(--mono);letter-spacing:.18em;color:var(--faint);margin-right:.4cqw}
  .in-strip .pri,.in-strip .chip{font:800 1.3cqw/1 var(--font-display);letter-spacing:.12em;padding:.7cqw 1.1cqw;border-radius:.7cqw;border:1px solid var(--line);color:var(--ink);background:var(--panel2)}
  .in-strip .pri{color:#fff;border-color:rgba(255,80,96,.75);background:linear-gradient(180deg,var(--red-hot),#B5051A);box-shadow:0 .5cqw 1.4cqw rgba(247,7,34,.35)}
  .in-strip .pri.pulse{animation:inPulse 1.2s ease-in-out infinite}
  @keyframes inPulse{50%{box-shadow:var(--glow-red),0 0 3cqw rgba(247,7,34,.65);transform:scale(1.04)}}
  /* scene 3: ghost ring */
  .in-ring{fill:none;stroke:rgba(38,48,59,.95);stroke-width:26;opacity:0;transition:opacity .6s} .in-ring.on{opacity:1}
  .in-ring2{fill:none;stroke:rgba(138,150,166,.3);stroke-width:2}
  .in-arc{fill:none;stroke:var(--purple);stroke-opacity:.6;stroke-width:28;stroke-linecap:round;filter:drop-shadow(0 0 14px rgba(198,139,255,.6))}
  .in-gh{opacity:0;transition:opacity .4s} .in-gh.on{opacity:1}
  .in-gh .c{fill:rgba(247,7,34,.55);stroke:#fff;stroke-width:4;stroke-dasharray:7 5;filter:drop-shadow(0 0 14px rgba(247,7,34,.9))}
  .in-gh .p{fill:none;stroke:var(--red-hot);stroke-width:4;transform-box:fill-box;transform-origin:center;animation:ghPulse 1.6s ease-out infinite}
  .in-ght{opacity:0;transform-box:fill-box;transition:opacity .4s} .in-ght.on{opacity:1}
  .in-ght rect{fill:#B5051A;stroke:rgba(255,120,130,.8);stroke-width:2;filter:drop-shadow(0 4px 10px rgba(247,7,34,.6))}
  .in-ght text{fill:#fff;font:800 22px var(--mono);text-anchor:middle;dominant-baseline:middle}
  .in-rl{fill:var(--ink);font:800 74px var(--font-display);text-anchor:middle} .in-rs{fill:#9BF0B8;font:700 20px var(--mono);letter-spacing:.12em;text-anchor:middle}
  .in-tab{position:absolute;right:0;top:50%;transform:translate(100%,-50%);width:3.6cqw;height:17cqw;display:flex;align-items:center;justify-content:center;border-radius:1.4cqw 0 0 1.4cqw;
    border:1px solid rgba(198,139,255,.5);border-right:0;background:linear-gradient(270deg,rgba(12,17,23,.96),rgba(34,22,50,.96));box-shadow:-.8cqw 0 2.6cqw rgba(198,139,255,.3);transition:transform .7s cubic-bezier(.2,1.3,.3,1)}
  .in-tab.on{transform:translate(0,-50%)}
  .in-tab span{writing-mode:vertical-rl;transform:rotate(180deg);font:800 1.4cqw/1 var(--font-display);letter-spacing:.22em;color:var(--ink);text-shadow:0 0 1cqw rgba(198,139,255,.6)}
  .in-key{position:absolute;right:7cqw;top:50%;transform:translate(0,-50%) scale(.6);width:5.4cqw;height:5.4cqw;display:flex;align-items:center;justify-content:center;border-radius:1cqw;opacity:0;
    font:800 2.8cqw/1 var(--mono);color:var(--ink);background:linear-gradient(180deg,#1b2430,#0c1117);border:1px solid var(--line);box-shadow:0 .5cqw 0 #05070a,0 1cqw 2cqw rgba(0,0,0,.6);transition:opacity .3s,transform .4s cubic-bezier(.3,1.6,.5,1)}
  .in-key.on{opacity:1;transform:translate(0,-50%) scale(1);animation:inKey 1.4s ease-in-out .5s infinite}
  @keyframes inKey{50%{transform:translate(0,-42%) scale(1);box-shadow:0 .15cqw 0 #05070a,0 .6cqw 1.4cqw rgba(198,139,255,.35)}}
  /* scene 4: features */
  .in-tiles{position:absolute;inset:7% 5%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:1.6cqw}
  .in-tile{display:flex;flex-direction:column;justify-content:center;gap:.6cqw;padding:1.6cqw 1.8cqw;border-radius:1.2cqw;border:1px solid var(--line2);
    background:radial-gradient(120% 120% at 0% 0%,rgba(247,7,34,.10),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));box-shadow:0 1cqw 2.4cqw rgba(0,0,0,.4);
    opacity:0;transform:translateY(2cqw) scale(.94);transition:opacity .45s ease calc(var(--k)*.16s),transform .6s cubic-bezier(.2,1.4,.3,1) calc(var(--k)*.16s)}
  .in-tiles.on .in-tile{opacity:1;transform:none}
  .in-tile svg{width:3.4cqw;height:3.4cqw;fill:none;stroke:var(--red-hot);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 .8cqw rgba(247,7,34,.55))}
  .in-tile b{font:800 2cqw/1 var(--font-display);letter-spacing:.12em;color:var(--ink)} .in-tile span{font:500 1.3cqw/1.35 var(--font-ui);color:var(--dim)}
  /* scene 5: buttons */
  .in-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqw;opacity:0;transform:scale(.96);transition:opacity .5s,transform .6s cubic-bezier(.2,1.3,.3,1)}
  .in-end.on{opacity:1;transform:none}
  .in-logo2{width:34cqw;filter:drop-shadow(0 0 2cqw rgba(247,7,34,.45))}
  .in-btns{display:flex;flex-wrap:wrap;gap:1.4cqw;justify-content:center;padding:0 3cqw}
  .in-b1,.in-b2{font:800 clamp(12px,1.9cqw,17px)/1 var(--font-display);letter-spacing:.12em;padding:clamp(10px,1.5cqw,15px) clamp(14px,2.4cqw,24px);border-radius:10px;transition:transform .15s cubic-bezier(.3,1.6,.5,1),box-shadow .2s,border-color .2s}
  .in-b1{color:#fff;border-color:rgba(255,80,96,.8);background:linear-gradient(180deg,var(--red-hot),#B5051A);box-shadow:0 8px 22px rgba(247,7,34,.4),inset 0 1px 0 rgba(255,255,255,.25)}
  .in-b1:hover,.in-b1:focus-visible{border-color:#fff;box-shadow:var(--glow-red),0 10px 26px rgba(247,7,34,.5);transform:translateY(-2px) scale(1.03);outline:none}
  .in-b2:hover,.in-b2:focus-visible{border-color:var(--amber);box-shadow:0 0 14px rgba(255,174,66,.3);transform:translateY(-2px);outline:none}
  .in-again{font:600 11px var(--mono);letter-spacing:.1em;color:var(--faint);background:none;border:0;box-shadow:none;padding:4px 8px}
  .in-again:hover{color:var(--ink)}
  @media(max-width:700px){ .in-card{padding:10px 10px 12px} .in-cap span{font-size:12px} .in-nav{opacity:1;width:30px;height:30px;font-size:14px} }
  @media (prefers-reduced-motion: reduce){ .in-card,#intro{animation:none} .in-key.on,.in-strip .pri.pulse,.in-gh .p{animation:none} }
  /* replay banner: a labelled way on to the next circuit (was a bare ×) */
  #idleBanner .ib-go{margin-left:2px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;font:800 11px/1 var(--font-display);letter-spacing:.12em;color:#fff;cursor:pointer;
    border:1px solid rgba(255,80,96,.7);background:linear-gradient(180deg,var(--red-hot),#B5051A);box-shadow:0 3px 10px rgba(247,7,34,.35),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .15s cubic-bezier(.3,1.6,.5,1),box-shadow .2s,border-color .2s}
  #idleBanner .ib-go span{display:inline-block;transition:transform .25s}
  #idleBanner .ib-go:hover,#idleBanner .ib-go:focus-visible{border-color:#fff;box-shadow:var(--glow-red);transform:translateY(-1px);outline:none} #idleBanner .ib-go:hover span{transform:translateX(3px)}
  @media(max-width:700px){ #idleBanner .ib-next,#idleBanner .ib-sep{display:none} }
  /* ---- GHOST RING (v3.30): pit-rejoin predictor. #ghRib = ribbon under the header (the ring unrolled), #ghDock = ring panel sliding in from the right ---- */
  .gh-rib{flex:1 1 100%;order:9;position:relative;height:40px;margin:3px 0 4px;display:flex;align-items:stretch;border-radius:11px;border:1px solid var(--line);overflow:hidden;
    background:radial-gradient(120% 180% at 50% -60%,var(--gh-tint),transparent 60%),linear-gradient(180deg,rgba(17,24,33,.96),rgba(7,10,14,.96));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.6),0 6px 18px rgba(0,0,0,.45);transition:border-color .4s,box-shadow .4s}
  .gh-rib[hidden]{display:none}
  .gh-rib:hover{border-color:rgba(198,139,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 18px rgba(198,139,255,.10),0 6px 18px rgba(0,0,0,.45)}
  .gh-rib.sc{border-color:rgba(255,174,66,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 18px rgba(255,174,66,.18),0 6px 18px rgba(0,0,0,.45);
    background:radial-gradient(120% 180% at 50% -60%,rgba(255,174,66,.18),transparent 60%),linear-gradient(180deg,rgba(26,20,12,.96),rgba(10,8,5,.96))}
  .gh-rib.red{border-color:rgba(247,7,34,.6);box-shadow:0 0 18px rgba(247,7,34,.2),0 6px 18px rgba(0,0,0,.45)}
  .gh-rib .gh-rbtn{display:flex;align-items:center;gap:8px;padding:0 12px 0 9px;border:0;border-right:1px solid var(--line2);border-radius:0;box-shadow:none;color:var(--ink);text-align:left;
    background:linear-gradient(90deg,rgba(198,139,255,.16),rgba(198,139,255,.02));transition:background .2s,box-shadow .2s}
  .gh-rib .gh-rbtn:hover,.gh-rib .gh-rbtn:focus-visible{border-color:var(--line2);outline:none;background:linear-gradient(90deg,rgba(198,139,255,.32),rgba(198,139,255,.05));box-shadow:inset 0 0 18px rgba(198,139,255,.25)}
  .gh-rbtn svg{flex:0 0 auto;transition:transform .6s cubic-bezier(.3,1.5,.5,1)}
  .gh-rbtn:hover svg{transform:rotate(120deg)}
  .gh-rbtn b{display:block;font:800 13px/1 var(--font-display);letter-spacing:.14em;text-shadow:0 0 12px rgba(198,139,255,.55)}
  .gh-rbtn small{display:block;font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--dim);margin-top:3px;white-space:nowrap}
  .gh-rtrack{position:relative;flex:1 1 auto;margin:0 30px 0 24px;min-width:0;cursor:default}
  .gh-rline{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);border-radius:2px;background:linear-gradient(90deg,rgba(138,150,166,.10),rgba(138,150,166,.38) 70%,rgba(246,247,248,.55))}
  .gh-rcap{position:absolute;right:-17px;top:7px;bottom:7px;width:7px;border-radius:2px;background:repeating-conic-gradient(#fff 0 25%,#111 0 50%) 0 0/4px 4px;box-shadow:0 0 8px rgba(255,255,255,.35)}
  .gh-rtick{position:absolute;top:calc(50% - 3px);width:1px;height:6px;background:rgba(138,150,166,.28)}
  .gh-rtick.maj{height:10px;top:calc(50% - 5px);background:rgba(138,150,166,.5)}
  .gh-rmsg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:600 9px var(--mono);letter-spacing:.16em;color:var(--dim)}
  .gh-rlay{position:absolute;inset:0}
  .gh-rarc{position:absolute;top:calc(50% - 5px);height:10px;border-radius:5px;background:linear-gradient(90deg,rgba(198,139,255,.18),rgba(198,139,255,.55));
    box-shadow:0 0 14px var(--gh-glow),inset 0 0 0 1px rgba(198,139,255,.6);transition:left .3s linear,width .3s linear}
  .gh-rhatch{position:absolute;top:calc(50% - 5px);width:7px;height:10px;margin-left:-3.5px;border-radius:2px;background:repeating-linear-gradient(135deg,var(--amber) 0 2px,transparent 2px 4px);transition:left .3s linear}
  .gh-rbat{position:absolute;top:calc(50% - 1.5px);height:3px;border-radius:2px;background:var(--purple);box-shadow:0 0 8px var(--purple);transition:left .3s linear,width .3s linear}
  .gh-rwhat{position:absolute;top:50%;width:1px;height:12px;margin-top:-2px;background:var(--amber);opacity:.85;transition:left .3s linear}
  .gh-rwhat span{position:absolute;top:11px;left:50%;transform:translateX(-50%);font:700 7px/1 var(--mono);color:var(--amber);white-space:nowrap;text-shadow:0 1px 2px #000}
  .gh-rwhat.grn{background:var(--green)} .gh-rwhat.grn span{color:var(--green)}
  .gh-rcar{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--c);border:1px solid rgba(0,0,0,.7);cursor:pointer;
    box-shadow:0 0 8px var(--c),0 0 2px var(--c);transition:left .3s linear,transform .18s cubic-bezier(.3,1.6,.5,1)}
  .gh-rcar.jump{transition:transform .18s}
  .gh-rcar:hover{transform:scale(1.7);z-index:6}
  .gh-rcar.lead{width:11px;height:11px;margin:-5.5px 0 0 -5.5px}
  .gh-rcar.lap{opacity:.4;box-shadow:none;width:7px;height:7px;margin:-3.5px 0 0 -3.5px}
  .gh-rcar.pit{background:#0B1016;border:2px solid var(--c)}
  .gh-rcar.sel{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border:2px solid #fff;box-shadow:0 0 0 3px rgba(247,7,34,.35),0 0 16px var(--c);z-index:5}
  .gh-rl{position:absolute;left:50%;transform:translateX(-50%);font:600 8.5px/1 var(--mono);letter-spacing:.04em;color:var(--ink);white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9)}
  .gh-rl.up{bottom:10px} .gh-rl.dn{top:10px} .gh-rl.hid{display:none}
  .gh-rl i{display:none;font-style:normal;margin-left:4px;color:var(--purple)}
  .gh-rcar:hover .gh-rl{display:block;top:auto;bottom:10px;padding:2px 5px;border-radius:4px;background:rgba(5,7,10,.92);border:1px solid var(--line);transform:translateX(-50%) scale(.6);transform-origin:bottom center}
  .gh-rcar:hover .gh-rl i{display:inline}
  .gh-rcar.sel .gh-rl{font-weight:800;color:#fff} .gh-rcar.lap .gh-rl{color:var(--dim)}
  .gh-rghost{position:absolute;top:50%;width:17px;height:17px;margin:-8.5px 0 0 -8.5px;border-radius:50%;border:2px dashed rgba(255,255,255,.9);pointer-events:none;z-index:4;
    background:radial-gradient(circle,rgba(247,7,34,.65),rgba(247,7,34,.15) 70%);box-shadow:0 0 0 4px rgba(247,7,34,.18),0 0 20px rgba(247,7,34,.75);transition:left .3s linear}
  .gh-rghost::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--red-hot);opacity:0;animation:ghPulse 1.6s ease-out infinite}
  .gh-rtag{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);white-space:nowrap;font:800 9px/1 var(--mono);letter-spacing:.06em;color:#fff;padding:2px 5px;border-radius:4px;
    background:linear-gradient(180deg,var(--red-hot),var(--red-deep));box-shadow:0 2px 8px rgba(247,7,34,.55)}
  .gh-rghost.sc{border-color:#fff;background:radial-gradient(circle,rgba(255,174,66,.7),rgba(255,174,66,.15) 70%);box-shadow:0 0 0 4px rgba(255,174,66,.2),0 0 20px rgba(255,174,66,.75)}
  .gh-rghost.sc .gh-rtag{background:linear-gradient(180deg,#FFC46B,#B8721C);color:#05070A}
  .gh-rread{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;min-width:176px;padding:0 12px 0 20px;border-left:1px solid var(--line2);white-space:nowrap;
    font:800 11px/1.25 var(--mono);color:var(--ink);background:linear-gradient(270deg,rgba(255,255,255,.035),transparent)}
  .gh-rread span{font:600 7.5px/1.3 var(--mono);color:var(--faint);letter-spacing:.1em}
  .gh-rread em{font-style:normal;color:var(--purple);text-shadow:0 0 10px var(--gh-glow)}
  .gh-rib.sc .gh-rread em{color:var(--amber);text-shadow:0 0 10px rgba(255,174,66,.5)}
  @keyframes ghPulse{0%{transform:scale(.7);opacity:.85}100%{transform:scale(1.55);opacity:0}}
  @keyframes ghSpin{to{transform:rotate(360deg)}}
  /* dock: tab on the right edge + the ring panel; closed = parked off-screen with only the tab showing */
  #ghDock{position:fixed;top:10px;bottom:10px;right:10px;width:clamp(360px,34vw,500px);z-index:39;transform:translateX(calc(100% + 10px));transition:transform .62s cubic-bezier(.2,1.18,.32,1)}
  #ghDock[hidden]{display:none}
  #ghDock.open{transform:none}
  body.fullmap #ghDock{z-index:73}
  /* v3.43 (JDVB): outside Full Map the tab rests as a glowing line at the screen edge (it fits in the ~13 px right of the
     PIT column) and pops out as the original full-size tab, a touch see-through: every 20 s for 3 s, while the mouse is
     near the right edge, and on touch the first tap pops it out (a second tap opens the ring). ghPeek in app.js sets .peek.
     Full Map keeps the full tab. */
  body:not(.fullmap) #ghTab{transform:translateY(-50%) translateX(17px);background:transparent;border-color:transparent;box-shadow:none;
    transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .3s,border-color .3s,box-shadow .3s}
  body:not(.fullmap) #ghTab>*{opacity:0;transition:opacity .18s}
  body:not(.fullmap) #ghTab::before{content:"";position:absolute;left:5px;top:50%;width:4px;height:64px;margin-top:-32px;border-radius:2px;
    background:linear-gradient(180deg,rgba(198,139,255,.25),var(--purple) 30%,var(--purple) 70%,rgba(198,139,255,.25));
    box-shadow:0 0 10px rgba(198,139,255,.75),0 0 22px rgba(198,139,255,.35);animation:ghLine 2.6s ease-in-out infinite;transition:opacity .2s}
  body:not(.fullmap) #ghTab.peek,body:not(.fullmap) #ghTab:focus-visible{transform:translateY(-50%) translateX(0);border-color:rgba(198,139,255,.6);
    background:linear-gradient(270deg,rgba(12,17,23,.72),rgba(34,22,50,.78));box-shadow:-8px 0 26px rgba(198,139,255,.35),inset 1px 0 0 rgba(255,255,255,.08)}
  body:not(.fullmap) #ghTab.peek:hover{transform:translateY(-50%) translateX(-5px);border-color:rgba(198,139,255,.85);box-shadow:-10px 0 30px rgba(198,139,255,.48),inset 1px 0 0 rgba(255,255,255,.1)}
  body:not(.fullmap) #ghTab.peek>*,body:not(.fullmap) #ghTab:focus-visible>*{opacity:1;transition-delay:.1s}
  body:not(.fullmap) #ghTab.peek::before,body:not(.fullmap) #ghTab:focus-visible::before{opacity:0;animation:none}
  #ghDock.sc #ghTab::before{background:var(--amber);box-shadow:0 0 10px rgba(255,174,66,.75),0 0 22px rgba(255,174,66,.3)}
  @keyframes ghLine{0%,100%{opacity:.6;transform:scaleY(.84)}50%{opacity:1;transform:scaleY(1)}}
  #ghTab{position:absolute;left:-31px;top:50%;transform:translateY(-50%);width:31px;height:150px;padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:9px;
    border-radius:12px 0 0 12px;border:1px solid rgba(198,139,255,.42);border-right:0;color:var(--ink);
    background:linear-gradient(270deg,rgba(12,17,23,.8),rgba(34,22,50,.84));box-shadow:-6px 0 22px rgba(198,139,255,.22),inset 1px 0 0 rgba(255,255,255,.07);
    transition:transform .25s cubic-bezier(.3,1.5,.5,1),box-shadow .25s,border-color .25s}
  #ghTab:hover,#ghTab:focus-visible{transform:translateY(-50%) translateX(-5px);border-color:rgba(198,139,255,.75);box-shadow:-10px 0 30px rgba(198,139,255,.42),inset 1px 0 0 rgba(255,255,255,.1);outline:none}
  #ghTab svg{animation:ghSpin 9s linear infinite}
  #ghTab span{writing-mode:vertical-rl;transform:rotate(180deg);font:800 12px/1 var(--font-display);letter-spacing:.22em;text-shadow:0 0 10px rgba(198,139,255,.6)}
  #ghDock.sc #ghTab{border-color:rgba(255,174,66,.6);box-shadow:-6px 0 22px rgba(255,174,66,.25)}
  #ghPanel{height:100%;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;border-radius:16px;border:1px solid rgba(198,139,255,.28);
    background:radial-gradient(120% 50% at 50% 0%,var(--gh-tint),transparent 60%),linear-gradient(180deg,rgba(12,17,23,.97),rgba(5,7,10,.98));
    box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.5),-8px 0 40px rgba(198,139,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  #ghDock.sc #ghPanel{border-color:rgba(255,174,66,.45)} #ghDock.red #ghPanel{border-color:rgba(247,7,34,.5)}
  .gh-ph{display:flex;align-items:center;gap:10px;padding:11px 12px 11px 14px;border-bottom:1px solid var(--line2);background:linear-gradient(90deg,rgba(198,139,255,.14),transparent 70%)}
  .gh-ph b{display:block;font:800 17px/1 var(--font-display);letter-spacing:.16em;text-shadow:0 0 14px rgba(198,139,255,.55)}
  .gh-ph small{display:block;margin-top:3px;font:500 8.5px/1 var(--mono);letter-spacing:.14em;color:var(--dim)}
  #ghClose{margin-left:auto;width:30px;height:30px;padding:0;border-radius:8px;font-size:13px;transition:border-color .2s,box-shadow .2s,transform .2s}
  #ghClose:hover{border-color:var(--red);box-shadow:var(--glow-red);transform:rotate(90deg)}
  .gh-ringbox{position:relative;flex:0 0 auto;width:100%;aspect-ratio:1;container-type:inline-size}
  #ghSvg{display:block;width:100%;height:100%;overflow:visible}
  #ghSvg.wait #ghCars,#ghSvg.wait #ghTags,#ghSvg.wait #ghLines,#ghSvg.wait #ghArc,#ghSvg.wait #ghGhost,#ghSvg.wait #ghHatches,#ghSvg.wait #ghWhat,#ghSvg.wait #ghRivals{display:none}
  .gh-track{fill:none;stroke:rgba(38,48,59,.95);stroke-width:14}
  .gh-track2{fill:none;stroke:rgba(138,150,166,.3);stroke-width:1}
  .gh-pitring{fill:none;stroke:rgba(138,150,166,.14);stroke-width:1;stroke-dasharray:2 5}
  .gh-tk{stroke:rgba(138,150,166,.35);stroke-width:1} .gh-tk.maj{stroke:rgba(138,150,166,.7);stroke-width:1.6}
  .gh-tkl{fill:var(--faint);font:600 8px var(--mono);text-anchor:middle}
  .gh-sec{stroke:var(--yellow);stroke-opacity:.6;stroke-width:1.5} .gh-secl{fill:var(--yellow);fill-opacity:.7;font:700 8px var(--mono);text-anchor:middle}
  .gh-sf{filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}
  .gh-arc{fill:none;stroke:var(--purple);stroke-opacity:.58;stroke-width:15;stroke-linecap:round}
  #ghDock.sc .gh-arc{stroke:var(--amber)}
  .gh-what line{stroke:var(--amber);stroke-width:1.2;stroke-dasharray:2 2} .gh-what rect{fill:rgba(255,174,66,.16);stroke:var(--amber);stroke-width:1}
  .gh-what text{fill:var(--amber);font:700 7.5px var(--mono);text-anchor:middle}
  .gh-what.grn line,.gh-what.grn rect{stroke:var(--green)} .gh-what.grn rect{fill:rgba(57,201,107,.14)} .gh-what.grn text{fill:var(--green)}
  .gh-rival{fill:none;stroke-width:1.6;stroke-dasharray:2.5 2;opacity:.75}
  .gh-car{stroke:rgba(0,0,0,.75);stroke-width:1.4;cursor:pointer;transition:stroke-width .15s}
  .gh-car:hover{stroke:#fff;stroke-width:2.4}
  .gh-car.sel{stroke:#fff;stroke-width:2.6;filter:drop-shadow(0 0 6px rgba(247,7,34,.85))}
  .gh-car.lap{opacity:.45} .gh-car.pit{stroke-width:2.2}
  .gh-ln{stroke-width:1;stroke-opacity:.5}
  .gh-tag{cursor:pointer}
  .gh-ti{transform-box:fill-box;transform-origin:center;transition:transform .18s cubic-bezier(.3,1.6,.5,1)}
  .gh-tag:hover .gh-ti{transform:scale(1.2)}
  .gh-tag rect{stroke:rgba(0,0,0,.55);stroke-width:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
  .gh-tc{font:800 10px var(--mono);text-anchor:middle;letter-spacing:.04em} .gh-tg{font:600 8px var(--mono);text-anchor:middle}
  .gh-tag.sel rect{stroke:#fff;stroke-width:2} .gh-tag.lap{opacity:.5} .gh-tag.hit rect{stroke:var(--amber);stroke-width:1.8}
  .gh-gcore{stroke:#fff;stroke-width:2;stroke-dasharray:3.2 2.4;filter:drop-shadow(0 0 6px rgba(247,7,34,.9))}
  .gh-gpulse{fill:none;stroke:var(--red-hot);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ghPulse 1.6s ease-out infinite}
  .gh-gtxt{fill:#fff;font:800 9px var(--mono);text-anchor:middle;pointer-events:none}
  #ghGhost{pointer-events:none} #ghGhost.sc .gh-gpulse{stroke:var(--amber)} #ghGhost.sc .gh-gcore{filter:drop-shadow(0 0 6px rgba(255,174,66,.9))}
  .gh-ctr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40%;text-align:center;pointer-events:none}
  .gh-lap{font:800 12.5cqw/.9 var(--font-display);color:var(--ink);letter-spacing:.02em;text-shadow:0 0 22px rgba(198,139,255,.35)}
  .gh-lap::before{content:"LAP";display:block;font:600 2.2cqw/1 var(--mono);letter-spacing:.3em;color:var(--faint);margin-bottom:1cqw}
  .gh-st{display:inline-block;margin:1.8cqw 0 1.6cqw;padding:.6cqw 1.8cqw;border-radius:1cqw;font:700 2.3cqw/1.2 var(--mono);letter-spacing:.08em}
  .gh-st.grn{color:#9BF0B8;background:rgba(57,201,107,.16);box-shadow:inset 0 0 0 1px rgba(57,201,107,.45)}
  .gh-st.sc,.gh-st.vsc{color:#05070A;background:linear-gradient(180deg,#FFC46B,var(--amber));box-shadow:0 0 14px rgba(255,174,66,.45)}
  .gh-st.red{color:#fff;background:linear-gradient(180deg,var(--red-hot),var(--red-deep));box-shadow:var(--glow-red)}
  .gh-st.wait{color:var(--dim);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line)}
  .gh-ref b{display:block;font:600 2.4cqw/1.3 var(--mono);color:#c7d0da}
  .gh-ref small{display:block;font:500 1.9cqw/1.2 var(--mono);color:var(--faint)}
  .gh-gapto{margin-top:1.4cqw;font:700 2cqw/1 var(--mono);letter-spacing:.12em;color:var(--purple)}
  .gh-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:2px 12px 10px}
  .gh-card{min-width:0;padding:8px 10px 9px;border-radius:10px;border:1px solid var(--line2);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 12px rgba(0,0,0,.25);transition:border-color .2s,transform .2s,box-shadow .2s}
  .gh-card:hover{border-color:rgba(198,139,255,.35);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.35),0 0 14px rgba(198,139,255,.1)}
  .gh-card.hero,.gh-card.wide{grid-column:1/-1;background:radial-gradient(120% 140% at 0% 0%,rgba(247,7,34,.16),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01))}
  .gh-card.span{grid-column:1/-1}
  .gh-card i{display:block;font:600 8.5px/1 var(--mono);font-style:normal;letter-spacing:.12em;color:var(--faint);margin-bottom:5px}
  .gh-card em{display:block;font:800 26px/1 var(--font-display);font-style:normal;color:var(--ink)}
  .gh-card.hero em{font-size:40px;color:#fff;text-shadow:0 0 18px rgba(247,7,34,.55)}
  .gh-card small{display:block;margin-top:3px;font:500 11px/1.35 var(--font-ui);color:var(--dim)} .gh-card small b{color:var(--ink)}
  .gh-chips{display:flex;flex-wrap:wrap;gap:4px}
  .gh-chip{padding:2px 6px;border-radius:5px;background:var(--c);font:800 10px/1.3 var(--mono);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85);box-shadow:0 0 8px color-mix(in srgb,var(--c) 45%,transparent)}
  .gh-none{font:500 11px var(--font-ui);color:var(--green)}
  .gh-what2{display:flex;gap:10px;flex-wrap:wrap;font:800 13px/1.3 var(--mono)} .gh-what2 .amb{color:var(--amber)} .gh-what2 .grn{color:var(--green)}
  .gh-hint{padding:0 14px 12px;font:500 9.5px var(--mono);color:var(--faint)} .gh-hint kbd{font:700 9px var(--mono);padding:1px 4px;border-radius:3px;border:1px solid var(--line);color:var(--dim)}
  @media(max-height:920px){ .gh-rib{height:36px;margin:2px 0 3px} }
  @media(max-width:920px){ .gh-rib{height:36px} .gh-rread span:first-child{display:none} }
  @media(max-width:920px){ .gh-rread{min-width:0} }
  @media(max-width:700px){
    .gh-rread,.gh-rbtn small{display:none}
    .gh-rib .gh-rbtn{padding:0 9px 0 7px} .gh-rbtn b{font-size:11px}
    .gh-rtrack{margin:0 14px 0 12px}
    .gh-rl.up,.gh-rl.dn{display:none} .gh-rcar.sel .gh-rl,.gh-rcar.lead .gh-rl{display:block}
    #ghDock{width:auto;left:10px}
    #ghDock.open #ghTab{opacity:0;pointer-events:none}
  }
  @media (prefers-reduced-motion: reduce){ #ghDock,.gh-rcar,.gh-rarc,.gh-rghost,.gh-rhatch,.gh-rbat,.gh-rwhat{transition:none} .gh-gpulse,.gh-rghost::after,#ghTab svg{animation:none} body:not(.fullmap) #ghTab::before{animation:none} body:not(.fullmap) #ghTab{transition:none} }

  /* ---- v3.46 phone pass (≤700 px). Before: a 225 px header, the REPLAY banner sitting on the map's buttons, a ~150 px map, a scrub bar
     with no width (only its thumb showed), clipped clock text, a fixed 220 px radio box and a timing table that scrolled sideways with no
     cue and no driver names in view. Nothing is removed: things are re-ordered, tightened or made to scroll with a cue. ---- */
  @media(max-width:700px){
    /* header: logo · clock · refresh on one row, then the selectors, then the ribbon */
    .hdr{gap:6px 8px;padding:2px 2px 6px}
    .hdr-meta{display:contents}
    .hdr-brand{order:0;flex:none}
    .pw-logo{height:34px!important}
    .clockwrap{order:1;margin-left:auto;gap:6px;min-width:0}
    .clockwrap svg{width:30px!important;height:30px!important;flex:none}
    .clockwrap > div{min-width:0}
    #clockDigits,#sessDigits{font-size:13px!important;line-height:1.15}
    #clockLabel,#sessLabel{font-size:7px!important;letter-spacing:.6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:92px}
    #sessClock{margin-left:2px!important;padding-left:8px!important}
    #btnRefresh{order:3;flex:none;align-self:flex-start;font-size:0;width:34px;height:34px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
    #btnRefresh::before{content:"↻";font-size:17px;line-height:1}
    .hdr-controls{order:2;flex:1 1 calc(100% - 42px);width:auto!important;gap:6px}   /* own row, with refresh beside it */
    #selMeeting{flex:1 1 150px;max-width:none;min-width:0}
    #selSession{flex:0 1 auto;max-width:128px;min-width:0}
    /* map: a real height, the REPLAY strip above it instead of over its buttons */
    body:not(.fullmap) #mapStage{flex:0 0 auto;height:70vw;min-height:250px}
    body:not(.fullmap) #idleBanner{position:relative;top:auto;left:auto;margin:8px 8px 6px;gap:8px}
    body:not(.fullmap) #idleBanner .ib-sess{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    body:not(.fullmap) #idleBanner .ib-go{flex:none}
    body.fullmap #idleBanner{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 98px);right:10px}   /* Full Map: in the empty band above the playback bar, off the zoom buttons */
    /* transport: play · scrubber · speed on line 1, clock and lap on line 2 */
    #sliderRow{flex-wrap:wrap;row-gap:0!important;padding:6px 10px 8px!important}   /* the inline gap:10px would put 20 px between the lines */
    #sliderRow::before{content:"";order:4;flex-basis:100%;height:0}
    #btnPlay{order:1} #lapSlider{order:2;flex:1 1 0;min-width:0} #lapLabel{order:3;min-width:0!important} #btnSpeed{order:3}
    #replayClock{order:5;margin-top:7px;font-size:10px!important;min-width:0}
    #rcLocal{margin-left:6px!important;padding-left:6px!important}
    #btnLive{order:6;margin-top:7px;margin-left:auto}
    /* timing: position + driver stay put while the rest swipes sideways; a fade on the right says there is more */
    #tower th:first-child,#tower td:first-child{position:sticky;left:0;z-index:2;width:26px;min-width:26px;max-width:26px;box-sizing:border-box;background:var(--panel)}
    #tower th:nth-child(2),#tower td:nth-child(2){position:sticky;left:26px;z-index:2;background:var(--panel);box-shadow:8px 0 10px -8px rgba(0,0,0,.9)}
    #tower th:first-child,#tower th:nth-child(2){z-index:3}
    #tower tr.sel td:first-child,#tower tr.sel td:nth-child(2){background:linear-gradient(rgba(255,174,66,.09),rgba(255,174,66,.09)),var(--panel)}
    #tower tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--amber)}
    #tower tr:hover td:first-child,#tower tr:hover td:nth-child(2){background:var(--panel-hover)}
    .grid > .panel:nth-child(3) > .pbody::after{content:"";position:absolute;top:0;right:0;bottom:0;width:22px;pointer-events:none;z-index:4;
      background:linear-gradient(90deg,transparent,rgba(5,7,10,.85));transition:opacity .25s}
    .grid > .panel:nth-child(3) > .pbody.tw-end::after{opacity:0}
    /* GHOST RING ribbon: the VSC / SC what-if labels sit a few px apart at phone width; first one reads left of its tick, the next right */
    .gh-rwhat span{transform:translateX(-100%);padding-right:2px}
    .gh-rwhat ~ .gh-rwhat span{transform:none;padding-left:2px}
    /* radio: as tall as its clips, up to 200 px */
    #radioPanel{height:auto!important;min-height:0!important;max-height:none}
    #radioPanel > .pbody{flex:none;height:auto}
    #radioBox{height:auto;max-height:200px}
  }
